GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: /builds/dumux-repositories/dumux/dumux/material/components/granite.hh
Date: 2024-09-21 20:52:54
Exec Total Coverage
Lines: 1 7 14.3%
Functions: 0 3 0.0%
Branches: 27 43 62.8%

Line Branch Exec Source
1 // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 // vi: set et ts=4 sw=4 sts=4:
3 //
4 // SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 /*!
8 * \file
9 * \ingroup Components
10 * \brief Properties of pure molecular oxygen \f$O_2\f$.
11 */
12 #ifndef DUMUX_GRANITE_HH
13 #define DUMUX_GRANITE_HH
14
15 #include <dumux/material/components/base.hh>
16 #include <dumux/material/components/solid.hh>
17
18 #include <cmath>
19
20 namespace Dumux {
21 namespace Components {
22
23 /*!
24 * \ingroup Components
25 * \brief Properties of granite
26 *
27 * \tparam Scalar The type used for scalar values
28 */
29 template <class Scalar>
30 class Granite : public Components::Base<Scalar, Granite<Scalar> >
31 , public Components::Solid<Scalar, Granite<Scalar> >
32
33 {
34 public:
35 /*!
36 * \brief A human readable name for the solid.
37 */
38 static std::string name()
39
27/43
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 1 times.
✓ Branch 19 taken 2 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 1 times.
✓ Branch 28 taken 1 times.
✓ Branch 29 taken 1 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 1 times.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 1 times.
✓ Branch 39 taken 1 times.
✗ Branch 40 not taken.
✓ Branch 42 taken 1 times.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 1 times.
24 { return "Granite"; }
40
41 /*!
42 * \brief Returns true if the solid phase is assumed to be compressible
43 */
44 static constexpr bool solidIsCompressible()
45 {
46 return false; // iso c++ requires a return statement for constexpr functions
47 }
48
49 /*!
50 * \brief The molar mass of Siliciumoxide which is 70 % of granite in \f$\mathrm{[kg/mol]}\f$.
51 */
52 static constexpr Scalar molarMass()
53 {
54 return 60.08e-3;
55 }
56
57 /*!
58 * \brief The density in \f$\mathrm{[kg/m^3]}\f$ of the component at a given pressure in
59 * \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
60 *
61 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
62 */
63 static Scalar solidDensity(Scalar temperature)
64 {
65 return 2700;
66 }
67
68 /*!
69 * \brief Thermal conductivity of the component \f$\mathrm{[W/(m*K)]}\f$ as a solid.
70 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
71 */
72 static Scalar solidThermalConductivity(Scalar temperature)
73 {
74 return 2.8;
75 }
76
77 /*!
78 * \brief Specific isobaric heat capacity of the component \f$\mathrm{[J/(kg*K)]}\f$ as a solid.
79 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
80 */
81 static Scalar solidHeatCapacity(Scalar temperature)
82 {
83 return 790;
84 }
85
86 };
87
88 } // end namespace Components
89
90 } // end namespace Dumux
91
92 #endif
93