3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
calcite.hh
Go to the documentation of this file.
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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
24#ifndef DUMUX_CALCITE_HH
25#define DUMUX_CALCITE_HH
26
29
32
33namespace Dumux {
34namespace Components {
35
40template <class Scalar>
42: public Components::Base<Scalar, Calcite<Scalar> >
43, public Components::Solid<Scalar, Calcite<Scalar> >
44{
45
46public:
52 static std::string name()
53 { return "Calcite"; }
54
58 static constexpr Scalar molarMass()
59 { return CalciumIon::molarMass() + CarbonateIon::molarMass(); } // kg/mol
60
64 static constexpr bool solidIsCompressible()
65 { return false; }
66
74 { return 2.71e3; }
75
82 { return 3.849; }
83
90 { return 837; }
91};
92
93} // end namespace Components
94} // end namespace Dumux
95
96#endif
A class for the Ca2+ (Calcium ion) component properties.
A class for the CO3 ion properties.
Interface for components that have a solid state.
Definition: adapt.hh:29
std::string temperature() noexcept
I/O name of temperature for equilibrium models.
Definition: name.hh:51
Base class for all components Components provide the thermodynamic relations for the liquid,...
Definition: components/base.hh:59
Scalar Scalar
export the scalar type used by the component
Definition: components/base.hh:63
A class for the CaCO3 mineral phase properties.
Definition: calcite.hh:44
static constexpr Scalar solidDensity(Scalar temperature)
The density in of the component at a given pressure in and temperature in .
Definition: calcite.hh:73
static constexpr bool solidIsCompressible()
Returns true if the solid phase is assumed to be compressible.
Definition: calcite.hh:64
static Scalar solidThermalConductivity(Scalar temperature)
Thermal conductivity of the component as a solid.
Definition: calcite.hh:81
static std::string name()
A human readable name for calcite.
Definition: calcite.hh:52
static constexpr Scalar molarMass()
The molar mass in of calcite.
Definition: calcite.hh:58
static Scalar solidHeatCapacity(Scalar temperature)
Specific isobaric heat capacity of the component as a solid.
Definition: calcite.hh:89
A class for the Ca2+ (Calcium ion) component properties.
Definition: calciumion.hh:41
static constexpr Scalar molarMass()
The molar mass in of the Ca ion.
Definition: calciumion.hh:52
A class for the CO3 fluid properties.
Definition: carbonateion.hh:41
static constexpr Scalar molarMass()
The molar mass in of the CO3 ion.
Definition: carbonateion.hh:52
Interface for components that have a solid state.
Definition: solid.hh:41
Base class for all components Components provide the thermodynamic relations for the liquid,...