GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: dumux/dumux/material/components/granite.hh
Date: 2025-04-12 19:19:20
Exec Total Coverage
Lines: 2 2 100.0%
Functions: 0 0 -%
Branches: 17 27 63.0%

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-FileCopyrightText: 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 granite.
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::Components {
21
22 /*!
23 * \ingroup Components
24 * \brief Properties of granite
25 *
26 * \tparam Scalar The type used for scalar values
27 */
28 template <class Scalar>
29 class Granite : public Components::Base<Scalar, Granite<Scalar> >
30 , public Components::Solid<Scalar, Granite<Scalar> >
31
32 {
33 public:
34 /*!
35 * \brief A human readable name for the solid.
36 */
37
7/12
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 5 not taken.
✗ Branch 8 not taken.
12 static std::string name()
38
10/15
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 11 taken 1 times.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 1 times.
12 { return "Granite"; }
39
40 /*!
41 * \brief Returns true if the solid phase is assumed to be compressible
42 */
43 static constexpr bool solidIsCompressible()
44 {
45 return false; // iso c++ requires a return statement for constexpr functions
46 }
47
48 /*!
49 * \brief The molar mass of Siliciumoxide which is 70 % of granite in \f$\mathrm{[kg/mol]}\f$.
50 */
51 static constexpr Scalar molarMass()
52 {
53 return 60.08e-3;
54 }
55
56 /*!
57 * \brief The density in \f$\mathrm{[kg/m^3]}\f$ of the component at a given pressure in
58 * \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
59 *
60 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
61 */
62 static Scalar solidDensity(Scalar temperature)
63 {
64 return 2700;
65 }
66
67 /*!
68 * \brief Thermal conductivity of the component \f$\mathrm{[W/(m*K)]}\f$ as a solid.
69 * \note Birch & Clark (1940) \cite Birch1940
70 * Table 6: lambda(T=273.15 K)=6.6 cal/(cm*s*degC) and 1 cal/(cm*s*degC)=418.4 W/(m*K)
71 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
72 */
73 static Scalar solidThermalConductivity(Scalar temperature)
74 {
75 return 2.8;
76 }
77
78 /*!
79 * \brief Specific isobaric heat capacity of the component \f$\mathrm{[J/(kg*K)]}\f$ as a solid.
80 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
81 */
82 static Scalar solidHeatCapacity(Scalar temperature)
83 {
84 return 790;
85 }
86
87 };
88
89 } // end namespace Dumux::Components
90
91 #endif
92