Commit e69730ba authored by Sina Ackermann's avatar Sina Ackermann Committed by Simon Emmert

[doxygen] Adapt documentation for boxdfm, co2, mpnc, mineralization models

parent df53d24c
......@@ -18,9 +18,11 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxDFMModel
* \brief Cache class for the flux variables to be used
* in conjunction with the box discrete fracture scheme
* in conjunction with the box discrete fracture scheme.
*/
#ifndef DUMUX_POROUSMEDIUM_BOXDFM_FLUXVARIABLESCACHE_HH
#define DUMUX_POROUSMEDIUM_BOXDFM_FLUXVARIABLESCACHE_HH
......@@ -33,8 +35,7 @@
namespace Dumux {
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFM
* \ingroup BoxDFMModel
* \brief We only store discretization-related quantities for the box method.
* However, we cannot reuse the cache of the standard box method as we have
* to take into account the scvs that lie on fracture facets.
......@@ -131,13 +132,13 @@ public:
}
}
//! return the Jacobian of the shape functions at the integration point
//! Returns the Jacobian of the shape functions at the integration point.
const std::vector<ShapeJacobian>& shapeJacobian() const { return shapeJacobian_; }
//! return the shape values for all scvs at the integration point
//! Returns the shape values for all scvs at the integration point.
const std::vector<ShapeValue>& shapeValues() const { return shapeValues_; }
//! return the shape value gradients for all scvs at the integration point
//! Returns the shape value gradients for all scvs at the integration point.
const JacobianInverseTransposed& jacInvT() const { return jacInvT_; }
//! return the shape value gradients corresponding to an scv
//! Returns the shape value gradients corresponding to an scv.
const GlobalPosition& gradN(unsigned int scvIdxInElement) const { return gradN_[scvIdxInElement]; }
private:
......
......@@ -18,11 +18,14 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief Base class for the local finite volume geometry for the box discrete
* fracture model. This builds up the sub control volumes and sub control
* volume faces for an element.
* fracture model.
*
* This builds up the sub control volumes and sub control
* volume faces for an element.
*/
#ifndef DUMUX_POROUSMEDIUMFLOW_BOXDFM_FV_ELEMENT_GEOMETRY_HH
#define DUMUX_POROUSMEDIUMFLOW_BOXDFM_FV_ELEMENT_GEOMETRY_HH
......@@ -36,9 +39,10 @@
namespace Dumux {
/*!
* \ingroup BoxDiscretization
* \brief Base class for the finite volume geometry vector for box discrete fracture model
* This builds up the sub control volumes and sub control volume faces for each element.
* \ingroup BoxDFMModel
* \brief Base class for the finite volume geometry vector for box discrete fracture model.
*
* This builds up the sub control volumes and sub control volume faces for each element.
*
* \tparam GG the finite volume grid geometry type
* \tparam enableFVGridGeometryCache if the grid geometry is cached or not
......@@ -46,7 +50,7 @@ namespace Dumux {
template<class GG, bool enableFVGridGeometryCache>
class BoxDfmFVElementGeometry;
//! specialization in case the FVElementGeometries are stored
//! Specialization in case the FVElementGeometries are stored
template<class GG>
class BoxDfmFVElementGeometry<GG, true>
{
......@@ -59,13 +63,13 @@ class BoxDfmFVElementGeometry<GG, true>
using FeLocalBasis = typename GG::FeCache::FiniteElementType::Traits::LocalBasisType;
using ReferenceElements = typename Dune::ReferenceElements<CoordScalar, dim>;
public:
//! export type of subcontrol volume
//! Export type of subcontrol volume
using SubControlVolume = typename GG::SubControlVolume;
//! export type of subcontrol volume face
//! Export type of subcontrol volume face
using SubControlVolumeFace = typename GG::SubControlVolumeFace;
//! export type of finite volume grid geometry
//! Export type of finite volume grid geometry
using FVGridGeometry = GG;
//! the maximum number of scvs per element (2^dim for cubes)
//! The maximum number of scvs per element (2^dim for cubes)
//! multiplied by 3 for the maximum number of fracture scvs per vertex
static constexpr std::size_t maxNumElementScvs = (1<<dim)*3;
......@@ -81,11 +85,14 @@ public:
const SubControlVolumeFace& scvf(std::size_t scvfIdx) const
{ return fvGridGeometry().scvfs(eIdx_)[scvfIdx]; }
//! iterator range for sub control volumes. Iterates over
//! all scvs of the bound element.
//! This is a free function found by means of ADL
//! To iterate over all sub control volumes of this FVElementGeometry use
//! for (auto&& scv : scvs(fvGeometry))
/*!
* \brief Iterator range for sub control volumes.
*
* Iterates over all scvs of the bound element.
* This is a free function found by means of ADL.
* To iterate over all sub control volumes of this FVElementGeometry use
* for (auto&& scv : scvs(fvGeometry)).
*/
friend inline Dune::IteratorRange<typename std::vector<SubControlVolume>::const_iterator>
scvs(const BoxDfmFVElementGeometry& fvGeometry)
{
......@@ -94,11 +101,14 @@ public:
return Dune::IteratorRange<Iter>(g.scvs(fvGeometry.eIdx_).begin(), g.scvs(fvGeometry.eIdx_).end());
}
//! iterator range for sub control volumes faces. Iterates over
//! all scvfs of the bound element.
//! This is a free function found by means of ADL
//! To iterate over all sub control volume faces of this FVElementGeometry use
//! for (auto&& scvf : scvfs(fvGeometry))
/*!
* \brief Iterator range for sub control volumes faces.
*
* Iterates over all scvfs of the bound element.
* This is a free function found by means of ADL.
* To iterate over all sub control volume faces of this FVElementGeometry use
* for (auto&& scvf : scvfs(fvGeometry)).
*/
friend inline Dune::IteratorRange<typename std::vector<SubControlVolumeFace>::const_iterator>
scvfs(const BoxDfmFVElementGeometry& fvGeometry)
{
......@@ -119,17 +129,19 @@ public:
std::size_t numScvf() const
{ return fvGridGeometry().scvfs(eIdx_).size(); }
//! this function is for compatibility reasons with cc methods
//! The box stencil is always element-local so bind and bindElement
//! are identical.
//! This function is for compatibility reasons with cc methods
//! The box stencil is always element-local so bind and bindElement are identical.
void bind(const Element& element)
{
this->bindElement(element);
}
//! Binding of an element, has to be called before using the fvgeometries
//! Prepares all the volume variables within the element
//! For compatibility reasons with the FVGeometry cache being disabled
/*!
* \brief Binding of an element, has to be called before using the fvgeometries
*
* Prepares all the volume variables within the element.
* For compatibility reasons with the FVGeometry cache being disabled.
*/
void bindElement(const Element& element)
{
elementPtr_ = &element;
......@@ -146,7 +158,7 @@ private:
GridIndexType eIdx_;
};
//! specialization in case the FVElementGeometries are not stored
//! Specialization in case the FVElementGeometries are not stored
template<class GG>
class BoxDfmFVElementGeometry<GG, false>
{
......@@ -166,13 +178,13 @@ class BoxDfmFVElementGeometry<GG, false>
typename GG::SubControlVolume,
typename GG::SubControlVolumeFace>;
public:
//! export type of subcontrol volume
//! Export type of subcontrol volume
using SubControlVolume = typename GG::SubControlVolume;
//! export type of subcontrol volume face
//! Export type of subcontrol volume face
using SubControlVolumeFace = typename GG::SubControlVolumeFace;
//! export type of finite volume grid geometry
//! Export type of finite volume grid geometry
using FVGridGeometry = GG;
//! the maximum number of scvs per element (2^dim for cubes)
//! The maximum number of scvs per element (2^dim for cubes)
//! multiplied by 3 for the maximum number of fracture scvs per vertex
static constexpr std::size_t maxNumElementScvs = (1<<dim)*3;
......@@ -188,11 +200,14 @@ public:
const SubControlVolumeFace& scvf(std::size_t scvfIdx) const
{ return scvfs_[scvfIdx]; }
//! iterator range for sub control volumes. Iterates over
//! all scvs of the bound element.
//! This is a free function found by means of ADL
//! To iterate over all sub control volumes of this FVElementGeometry use
//! for (auto&& scv : scvs(fvGeometry))
/*!
* \brief Iterator range for sub control volumes.
*
* Iterates over all scvs of the bound element.
* This is a free function found by means of ADL.
* To iterate over all sub control volumes of this FVElementGeometry use
* for (auto&& scv : scvs(fvGeometry)).
*/
friend inline Dune::IteratorRange<typename std::vector<SubControlVolume>::const_iterator>
scvs(const BoxDfmFVElementGeometry& fvGeometry)
{
......@@ -200,11 +215,14 @@ public:
return Dune::IteratorRange<Iter>(fvGeometry.scvs_.begin(), fvGeometry.scvs_.end());
}
//! iterator range for sub control volumes faces. Iterates over
//! all scvfs of the bound element.
//! This is a free function found by means of ADL
//! To iterate over all sub control volume faces of this FVElementGeometry use
//! for (auto&& scvf : scvfs(fvGeometry))
/*!
* \brief Iterator range for sub control volumes faces.
*
* Iterates over all scvfs of the bound element.
* This is a free function found by means of ADL.
* To iterate over all sub control volume faces of this FVElementGeometry use
* for (auto&& scvf : scvfs(fvGeometry)).
*/
friend inline Dune::IteratorRange<typename std::vector<SubControlVolumeFace>::const_iterator>
scvfs(const BoxDfmFVElementGeometry& fvGeometry)
{
......@@ -224,17 +242,19 @@ public:
std::size_t numScvf() const
{ return scvfs_.size(); }
//! this function is for compatibility reasons with cc methods
//! The box stencil is always element-local so bind and bindElement
//! are identical.
//! This function is for compatibility reasons with cc methods
//! The box stencil is always element-local so bind and bindElement are identical.
void bind(const Element& element)
{
this->bindElement(element);
}
//! Binding of an element, has to be called before using the fvgeometries
//! Prepares all the volume variables within the element
//! For compatibility reasons with the FVGeometry cache being disabled
/*!
* \brief Binding of an element, has to be called before using the fvgeometries
*
* Prepares all the volume variables within the element.
* For compatibility reasons with the FVGeometry cache being disabled.
*/
void bindElement(const Element& element)
{
elementPtr_ = &element;
......@@ -415,7 +435,13 @@ private:
//! The global geometry this is a restriction of
const FVGridGeometry* fvGridGeometryPtr_;
//! vectors to store the geometries locally after binding an element
/*!
* \brief Binding of an element, has to be called before using the fvgeometries
*
* Prepares all the volume variables within the element.
* For compatibility reasons with the FVGeometry cache being disabled.
* vectors to store the geometries locally after binding an element
*/
std::vector<SubControlVolume> scvs_;
std::vector<SubControlVolumeFace> scvfs_;
};
......
......@@ -18,12 +18,14 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief Base class for the finite volume geometry vector for box schemes that consider
* extra connectivity between grid vertices on marked codim one entities. On these,
* an additional scvf is created accounting for the additional exchange fluxes between
* these degrees of freedom.
* extra connectivity between grid vertices on marked codim one entities.
*
* On these, an additional scvf is created accounting for the additional exchange fluxes
* between these degrees of freedom.
*/
#ifndef DUMUX_POROUSMEDIUMFLOW_BOXDFM_GRID_FVGEOMETRY_HH
#define DUMUX_POROUSMEDIUMFLOW_BOXDFM_GRID_FVGEOMETRY_HH
......@@ -47,9 +49,11 @@
namespace Dumux {
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief The default traits for the box finite volume grid geometry
* Defines the scv and scvf types and the mapper types
*
* Defines the scv and scvf types and the mapper types.
*
* \tparam the grid view type
*/
template<class GridView, class MapperTraits = DefaultMapperTraits<GridView>>
......@@ -67,9 +71,11 @@ struct BoxDfmDefaultGridGeometryTraits
};
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief Base class for the finite volume geometry vector for box schemes
* This builds up the sub control volumes and sub control volume faces
*
* This builds up the sub control volumes and sub control volume faces
*
* \note This class is specialized for versions with and without caching the fv geometries on the grid view
*/
template<class Scalar,
......@@ -79,11 +85,13 @@ template<class Scalar,
class BoxDfmFVGridGeometry;
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief Base class for the finite volume geometry vector for box schemes that consider
* extra connectivity between grid vertices on marked codim one entities. On these,
* an additional scvf is created accounting for the additional exchange fluxes between
* these degrees of freedom.
* extra connectivity between grid vertices on marked codim one entities.
*
* On these, an additional scvf is created accounting for the additional exchange fluxes
* between these degrees of freedom.
*
* \note For caching enabled we store the fv geometries for the whole grid view which is memory intensive but faster
*/
template<class Scalar, class GV, class Traits>
......@@ -108,28 +116,28 @@ class BoxDfmFVGridGeometry<Scalar, GV, true, Traits>
typename Traits::SubControlVolumeFace>;
public:
//! export discretization method
//! Export discretization method
static constexpr DiscretizationMethod discMethod = DiscretizationMethod::box;
//! export the type of the fv element geometry (the local view type)
//! Export the type of the fv element geometry (the local view type)
using LocalView = typename Traits::template LocalView<ThisType, true>;
//! export the type of sub control volume
//! Export the type of sub control volume
using SubControlVolume = typename Traits::SubControlVolume;
//! export the type of sub control volume
//! Export the type of sub control volume
using SubControlVolumeFace = typename Traits::SubControlVolumeFace;
//! export dof mapper type
//! Export dof mapper type
using DofMapper = typename Traits::VertexMapper;
//! export the finite element cache type
//! Export the finite element cache type
using FeCache = Dune::PQkLocalFiniteElementCache<CoordScalar, Scalar, dim, 1>;
//! export the grid view type
//! Export the grid view type
using GridView = GV;
//! Constructor
BoxDfmFVGridGeometry(const GridView gridView)
: ParentType(gridView) {}
//! the vertex mapper is the dofMapper
//! this is convenience to have better chance to have the same main files for box/tpfa/mpfa...
//! The vertex mapper is the dofMapper
//! This is convenience to have better chance to have the same main files for box/tpfa/mpfa...
const DofMapper& dofMapper() const
{ return this->vertexMapper(); }
......@@ -150,7 +158,7 @@ public:
std::size_t numDofs() const
{ return this->gridView().size(dim); }
//! update all fvElementGeometries (do this again after grid adaption)
//! Update all fvElementGeometries (do this again after grid adaption)
template< class FractureGridAdapter >
void update(const FractureGridAdapter& fractureGridAdapter)
{
......
......@@ -18,8 +18,7 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxDiscretization
* \ingroup BoxDFM
* \ingroup BoxDFMModel
* \brief Helper class constructing the dual grid finite volume geometries
* for the box discrete fracture model.
*/
......
......@@ -17,8 +17,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*****************************************************************************/
/*!
* \ingroup Properties
* \file
* \ingroup BoxDFMModel
* \brief Defines a type tag and some properties for porous medium
* flow models using the box scheme extended to discrete fractures.
*/
......
......@@ -18,9 +18,10 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief the sub control volume for the box discrete fracture scheme
*/
#ifndef DUMUX_POROUSMEDIUMFLOW_BOXDFM_SUBCONTROLVOLUME_HH
#define DUMUX_POROUSMEDIUMFLOW_BOXDFM_SUBCONTROLVOLUME_HH
......@@ -35,9 +36,10 @@
namespace Dumux {
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief Default traits class to be used for the sub-control volumes
* for the box discrete fracture scheme
*
* \tparam GV the type of the grid view
*
* \note We define new traits for the box-dfm sub-control volume face
......@@ -81,8 +83,9 @@ struct BoxDfmDefaultScvGeometryTraits
};
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief the sub control volume for the box discrete fracture scheme
*
* \tparam GV the type of the grid view
* \tparam T the scvf geometry traits
*/
......@@ -104,7 +107,7 @@ class BoxDfmSubControlVolume
static_assert(dim == 2 || dim == 3, "Box-Dfm sub-control volume only implemented in 2d or 3d");
public:
//! state the traits public and thus export all types
//! State the traits public and thus export all types
using Traits = T;
//! The default constructor
......@@ -132,12 +135,15 @@ public:
center_ /= corners_.size();
}
//! Constructor for fracture scvs
//! The corner computation is the same as for boundary scvfs.
//! Also, the scvf area of a boundary scvf is equal to the scv
//! volume (unscaled by the aperture) Thus, we reuse functionality here.
//! In order to get the right dimensions later, one must provide appropriate
//! extrusion factors in the problem corresponding to the fracture aperture.
/*!
* \brief Constructor for fracture scvs
*
* The corner computation is the same as for boundary scvfs.
* Also, the scvf area of a boundary scvf is equal to the scv
* volume (unscaled by the aperture) Thus, we reuse functionality here.
* In order to get the right dimensions later, one must provide appropriate
* extrusion factors in the problem corresponding to the fracture aperture. *
*/
template<class GeometryHelper, class Intersection>
BoxDfmSubControlVolume(const GeometryHelper& geometryHelper,
const Intersection& intersection,
......
......@@ -18,8 +18,10 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxDFMModel
* \brief The sub control volume face class for the box discrete fracture model.
*/
#ifndef DUMUX_POROUSMEDIUMFLOW_BOXDFM_SUBCONTROLVOLUMEFACE_HH
#define DUMUX_POROUSMEDIUMFLOW_BOXDFM_SUBCONTROLVOLUMEFACE_HH
......@@ -36,9 +38,10 @@
namespace Dumux {
/*!
* \ingroup BoxDiscretization
* \ingroup BoxDFMModel
* \brief Default traits class to be used for the sub-control volume faces
* for the box discrete fracture scheme
*
* \tparam GV the type of the grid view
*
* \note We define new traits for the box-dfm sub-control volume face
......@@ -107,7 +110,7 @@ class BoxDfmSubControlVolumeFace
static_assert(T::dim == 2 || T::dim == 3, "Box-Dfm sub-control volume face only implemented in 2d or 3d");
public:
//! state the traits public and thus export all types
//! State the traits public and thus export all types
using Traits = T;
//! The default constructor
......@@ -227,15 +230,15 @@ public:
LocalIndexType facetIndexInElement() const
{ assert(isFractureScvf_); return facetIdx_; }
//! Return the boundary flag
//! Returns the boundary flag
typename BoundaryFlag::value_type boundaryFlag() const
{ return boundaryFlag_.get(); }
//! index of the inside sub control volume for spatial param evaluation
//! Index of the inside sub control volume for spatial param evaluation
LocalIndexType insideScvIdx() const
{ return scvIndices_[0]; }
//! index of the outside sub control volume for spatial param evaluation
//! Index of the outside sub control volume for spatial param evaluation
// This results in undefined behaviour if boundary is true
LocalIndexType outsideScvIdx() const
{
......
......@@ -18,9 +18,10 @@
*****************************************************************************/
/*!
* \file
* \ingroup InputOutput
* \brief A VTK output module to simplify writing dumux simulation data to VTK format
* \ingroup BoxDFMModel
* \brief A VTK output module to simplify writing dumux simulation data to VTK format.
*/
#ifndef POROUSMEDIUMFLOW_BOXDFM_VTK_OUTPUT_MODULE_HH
#define POROUSMEDIUMFLOW_BOXDFM_VTK_OUTPUT_MODULE_HH
......@@ -35,18 +36,19 @@
namespace Dumux {
/*!
* \ingroup InputOutput
* \ingroup BoxDFMModel
* \brief A VTK output module to simplify writing dumux simulation data to VTK format.
* This output module is specialized for writing out data obtained by the box-dfm
* scheme. It writes out separate vtk files for the solution on the fracture. For
* this, a grid type to be used the fracture-conforming lower-dimensional grid has
* to be provided.
*
* This output module is specialized for writing out data obtained by the box-dfm
* scheme. It writes out separate vtk files for the solution on the fracture. For
* this, a grid type to be used the fracture-conforming lower-dimensional grid has
* to be provided.
*
* \tparam TypeTag The TypeTag of the problem implementation
* \tparam FractureGrid The Type used for the lower-dimensional grid
*
* Handles the output of scalar and vector fields to VTK formatted file for multiple
* variables and timesteps. Certain predefined fields can be registered on
* variables and time steps. Certain predefined fields can be registered on
* initialization and/or be turned on/off using the designated properties. Additionally
* non-standardized scalar and vector fields can be added to the writer manually.
*/
......
......@@ -18,9 +18,10 @@
*****************************************************************************/
/*!
* \file
*
* \ingroup CO2Model
* \brief Adaption of the fully implicit scheme to the CO2Model model.
*/
#ifndef DUMUX_TWOP_TWOC_CO2_MODEL_HH
#define DUMUX_TWOP_TWOC_CO2_MODEL_HH
......@@ -33,18 +34,18 @@
* \ingroup CO2Model
* \brief Adaption of the non-isothermal two-phase two-component flow model to problems with CO2
*
* TODO: Put a doxgyen link refernce here
* See TwoPTwoCModel for reference to the equations used.
* The CO2 model is derived from the 2p2c model. In the CO2 model the phase switch criterion
* is different from the 2p2c model.
* The phase switch occurs when the equilibrium concentration
* of a component in a phase is exceeded, instead of the sum of the components in the virtual phase
* (the phase which is not present) being greater that unity as done in the 2p2c model.
* The CO2VolumeVariables do not use a constraint solver for calculating the mole fractions as is the
* case in the 2p2c model. Instead mole fractions are calculated in the FluidSystem with a given
* temperature, pressure and salinity.
* The model is able to use either mole or mass fractions. The property useMoles can be set to either true or false in the
* problem file. Make sure that the according units are used in the problem setup. useMoles is set to false by default.
* TODO: Put a doxgyen link refernce here
* See TwoPTwoCModel for reference to the equations used.
* The CO2 model is derived from the 2p2c model. In the CO2 model the phase switch criterion
* is different from the 2p2c model.
* The phase switch occurs when the equilibrium concentration
* of a component in a phase is exceeded, instead of the sum of the components in the virtual phase
* (the phase which is not present) being greater that unity as done in the 2p2c model.
* The CO2VolumeVariables do not use a constraint solver for calculating the mole fractions as is the
* case in the 2p2c model. Instead mole fractions are calculated in the FluidSystem with a given
* temperature, pressure and salinity.
* The model is able to use either mole or mass fractions. The property useMoles can be set to either true or false in the
* problem file. Make sure that the according units are used in the problem setup. useMoles is set to false by default.
*
*/
namespace Dumux {
......
......@@ -18,9 +18,10 @@
*****************************************************************************/
/*!
* \file
*
* \ingroup CO2Model
* \brief The primary variable switch for the 2p2c-CO2 model
*/
#ifndef DUMUX_2P2C_CO2_PRIMARY_VARIABLE_SWITCH_HH
#define DUMUX_2P2C_CO2_PRIMARY_VARIABLE_SWITCH_HH
......@@ -33,7 +34,8 @@ namespace Dumux
{
/*!
* \ingroup CO2Model
* \brief The primary variable switch for the 2p2c-CO2 model controlling the phase presence state variable
* \brief The primary variable switch for the 2p2c-CO2 model controlling the phase presence state variable.
*
* The phase switch occurs when the equilibrium concentration
* of a component in a phase is exceeded, instead of the sum of the components in the virtual phase
* (the phase which is not present) being greater that unity as done in the 2p2c model.
......
......@@ -18,10 +18,11 @@
*****************************************************************************/
/*!
* \file
*
* \ingroup CO2Model
* \brief Contains the quantities which are constant within a
* finite volume in the CO2 model.
*/
#ifndef DUMUX_CO2_VOLUME_VARIABLES_HH
#define DUMUX_CO2_VOLUME_VARIABLES_HH
......@@ -89,17 +90,17 @@ public:
using FluidState = typename Traits::FluidState;
//! The fluid system used here
using FluidSystem = typename Traits::FluidSystem;
//! export type of solid state
//! Export type of solid state
using SolidState = typename Traits::SolidState;
//! export type of solid system
//! Export type of solid system
using SolidSystem = typename Traits::SolidSystem;
//! export the type of the primary variable switch
//! Export the type of the primary variable switch
using PrimaryVariableSwitch = TwoPTwoCCO2PrimaryVariableSwitch;
//! return whether moles or masses are balanced
//! Return whether moles or masses are balanced
static constexpr bool useMoles() { return ModelTraits::useMoles(); }
//! return the two-phase formulation used here
//! Return the two-phase formulation used here
static constexpr TwoPFormulation priVarFormulation() { return formulation; }
// check for permissive combinations
......@@ -108,7 +109,7 @@ public:
static_assert((formulation == TwoPFormulation::p0s1 || formulation == TwoPFormulation::p1s0), "Chosen TwoPFormulation not supported!");
/*!
* \brief Update all quantities for a given control volume
* \brief Updates all quantities for a given control volume.
*
* \param elemSol A vector containing all primary variables connected to the element
* \param problem The object specifying the problem which ought to
......@@ -148,7 +149,7 @@ public:
}
/*!
* \brief Complete the fluid state
* \brief Completes the fluid state.
*
* \note TODO: This is a lot of copy paste from the 2p2c: factor out code!
*
......@@ -449,13 +450,13 @@ public:
private:
FluidState fluidState_;
SolidState solidState_;
Scalar pc_; //!< The capillary pressure
PermeabilityType permeability_; //!< Effective permeability within the control volume
Scalar pc_; // The capillary pressure
PermeabilityType permeability_; // Effective permeability within the control volume
//!< Relative permeability within the control volume
// Relative permeability within the control volume
std::array<Scalar, ModelTraits::numFluidPhases()> relativePermeability_;
//!< Binary diffusion coefficients for the phases
// Binary diffusion coefficients for the phases
std::array<Scalar, ModelTraits::numFluidPhases()> diffCoeff_;
};
......
......@@ -22,6 +22,7 @@
* \brief Adds I/O fields specific to the models considering
* mineralization processes.
*/
#ifndef DUMUX_MINERALIZATION_IO_FIELDS_HH
#define DUMUX_MINERALIZATION_IO_FIELDS_HH
......@@ -32,7 +33,7 @@ namespace Dumux {
/*!
* \ingroup MineralizationModel
* \brief Adds I/O fields specific to a NCMin model
* \brief Adds I/O fields specific to a NCMin model.
*/
template<class NonMineralizationIOFields>
class MineralizationIOFields
......
......@@ -22,6 +22,7 @@
* \brief Element-wise calculation of the local residual for problems using a
* compositional model that also considers mineralization of solid phases.
*/
#ifndef DUMUX_COMPOSITIONAL_MINERALIZATION_LOCAL_RESIDUAL_HH
#define DUMUX_COMPOSITIONAL_MINERALIZATION_LOCAL_RESIDUAL_HH
......@@ -56,7 +57,7 @@ public:
using ParentType::ParentType;
/*!
* \brief Evaluate the amount of all conservation quantities
* \brief Evaluates the amount of all conservation quantities
* (e.g. phase mass) within a sub-control volume.
*
* We consider the volume-average here (e.g. phase mass inside a
......
......@@ -27,6 +27,7 @@
* Their mass balance consist only of a storage and a source term:
* \f$\frac{\partial \varrho_\lambda \phi_\lambda )} {\partial t} = q_\lambda\f$
*/
#ifndef DUMUX_MINERALIZATION_MODEL_HH
#define DUMUX_MINERALIZATION_MODEL_HH
......@@ -35,7 +36,7 @@
namespace Dumux {