GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: dumux/dumux/material/components/nacl.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 Material properties of pure salt \f$NaCl\f$.
11 */
12 #ifndef DUMUX_NACL_HH
13 #define DUMUX_NACL_HH
14
15 #include <dumux/common/exceptions.hh>
16
17 #include <cmath>
18 #include <iostream>
19
20 #include <dumux/material/components/base.hh>
21 #include <dumux/material/components/liquid.hh>
22 #include <dumux/material/components/solid.hh>
23
24 namespace Dumux::Components {
25
26 /*!
27 * \ingroup Components
28 * \brief A class for the NaCl properties
29 */
30 template <class Scalar>
31 class NaCl
32 : public Components::Base<Scalar, NaCl<Scalar> >
33 , public Components::Solid<Scalar, NaCl<Scalar> >
34 {
35 public:
36 /*!
37 * \brief A human readable name for the NaCl.
38 */
39
7/12
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 1 times.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 1 times.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 5 not taken.
✗ Branch 8 not taken.
48 static std::string name()
40 {
41
10/15
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✓ Branch 11 taken 2 times.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 3 taken 2 times.
✗ Branch 12 not taken.
✓ Branch 15 taken 2 times.
48 return "NaCl";
42 }
43
44 /*!
45 * \brief The molar mass of NaCl in \f$\mathrm{[kg/mol]}\f$.
46 */
47 static constexpr Scalar molarMass()
48 {
49 return 58.4428e-3 ;
50 }
51
52 /*!
53 * \brief The mass density \f$\mathrm{[kg/m^3]}\f$ of NaCl.
54 */
55 static Scalar solidDensity(Scalar temperature)
56 {
57 return 2165.0;
58 }
59
60 /*!
61 * \brief The mass density \f$\mathrm{[kg/m^3]}\f$ of NaCl.
62 */
63 static Scalar solidMolarDensity(Scalar temperature)
64 {
65 return solidDensity(temperature)/molarMass();
66 }
67
68 /*!
69 * \brief The specific heat capacity \f$\mathrm{[J/kg K]}\f$ of NaCl.
70 */
71 static Scalar solidHeatCapacity(Scalar temperature)
72 {
73 return 50.50/molarMass();
74 }
75
76 /*!
77 * \brief Thermal conductivity of the component \f$\mathrm{[W/(m*K)]}\f$ as a solid.
78 * \param temperature temperature of component in \f$\mathrm{[K]}\f$
79 */
80 static Scalar solidThermalConductivity(Scalar temperature)
81 {
82 return 6.49;
83 }
84 };
85
86 } // end namespace Dumux::Components
87
88 #endif
89