GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: /builds/dumux-repositories/dumux/dumux/material/components/calcite.hh
Date: 2024-05-04 19:09:25
Exec Total Coverage
Lines: 1 7 14.3%
Functions: 0 3 0.0%
Branches: 14 26 53.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 A class for the CaCO3 mineral phase properties
11 */
12 #ifndef DUMUX_CALCITE_HH
13 #define DUMUX_CALCITE_HH
14
15 #include <dumux/material/components/base.hh>
16 #include <dumux/material/components/solid.hh>
17
18 #include <dumux/material/components/calciumion.hh>
19 #include <dumux/material/components/carbonateion.hh>
20
21 namespace Dumux {
22 namespace Components {
23
24 /*!
25 * \ingroup Components
26 * \brief A class for the CaCO3 mineral phase properties
27 */
28 template <class Scalar>
29 class Calcite
30 : public Components::Base<Scalar, Calcite<Scalar> >
31 , public Components::Solid<Scalar, Calcite<Scalar> >
32 {
33
34 public:
35 using CalciumIon = Components::CalciumIon<Scalar>;
36 using CarbonateIon = Components::CarbonateIon<Scalar>;
37 /*!
38 * \brief A human readable name for calcite.
39 */
40 static std::string name()
41
14/26
✓ 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 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
10 { return "Calcite"; }
42
43 /*!
44 * \brief The molar mass in \f$\mathrm{[kg/mol]}\f$ of calcite.
45 */
46 static constexpr Scalar molarMass()
47 { return CalciumIon::molarMass() + CarbonateIon::molarMass(); } // kg/mol
48
49 /*!
50 * \brief Returns true if the solid phase is assumed to be compressible
51 */
52 static constexpr bool solidIsCompressible()
53 { return false; }
54
55 /*!
56 * \brief The density in \f$\mathrm{[kg/m^3]}\f$ of the component at a given pressure in
57 * \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
58 *
59 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
60 */
61 static constexpr Scalar solidDensity(Scalar temperature)
62 { return 2.71e3; }
63
64 /*!
65 * \brief Thermal conductivity of the component \f$\mathrm{[W/(m*K)]}\f$ as a solid.
66 *
67 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
68 */
69 static Scalar solidThermalConductivity(Scalar temperature)
70 { return 3.849; }
71
72 /*!
73 * \brief Specific isobaric heat capacity of the component \f$\mathrm{[J/(kg*K)]}\f$ as a solid.
74 *
75 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
76 */
77 static Scalar solidHeatCapacity(Scalar temperature)
78 { return 837; }
79 };
80
81 } // end namespace Components
82 } // end namespace Dumux
83
84 #endif
85