Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dumux-repositories
dumux
Commits
e69730ba
Commit
e69730ba
authored
Dec 17, 2018
by
Sina Ackermann
Committed by
Simon Scholz
Dec 18, 2018
Browse files
[doxygen] Adapt documentation for boxdfm, co2, mpnc, mineralization models
parent
df53d24c
Changes
20
Hide whitespace changes
Inline
Side-by-side
dumux/porousmediumflow/boxdfm/fluxvariablescache.hh
View file @
e69730ba
...
...
@@ -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:
}
}
//!
r
eturn the Jacobian of the shape functions at the integration point
//!
R
eturn
s
the Jacobian of the shape functions at the integration point
.
const
std
::
vector
<
ShapeJacobian
>&
shapeJacobian
()
const
{
return
shapeJacobian_
;
}
//!
r
eturn the shape values for all scvs at the integration point
//!
R
eturn
s
the shape values for all scvs at the integration point
.
const
std
::
vector
<
ShapeValue
>&
shapeValues
()
const
{
return
shapeValues_
;
}
//!
r
eturn the shape value gradients for all scvs at the integration point
//!
R
eturn
s
the shape value gradients for all scvs at the integration point
.
const
JacobianInverseTransposed
&
jacInvT
()
const
{
return
jacInvT_
;
}
//!
r
eturn the shape value gradients corresponding to an scv
//!
R
eturn
s
the shape value gradients corresponding to an scv
.
const
GlobalPosition
&
gradN
(
unsigned
int
scvIdxInElement
)
const
{
return
gradN_
[
scvIdxInElement
];
}
private:
...
...
dumux/porousmediumflow/boxdfm/fvelementgeometry.hh
View file @
e69730ba
...
...
@@ -18,11 +18,14 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxD
iscretization
* \ingroup BoxD
FMModel
* \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
;
//!
s
pecialization in case the FVElementGeometries are stored
//!
S
pecialization 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:
//!
e
xport type of subcontrol volume
//!
E
xport type of subcontrol volume
using
SubControlVolume
=
typename
GG
::
SubControlVolume
;
//!
e
xport type of subcontrol volume face
//!
E
xport type of subcontrol volume face
using
SubControlVolumeFace
=
typename
GG
::
SubControlVolumeFace
;
//!
e
xport type of finite volume grid geometry
//!
E
xport type of finite volume grid geometry
using
FVGridGeometry
=
GG
;
//!
t
he maximum number of scvs per element (2^dim for cubes)
//!
T
he 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_
;
};
//!
s
pecialization in case the FVElementGeometries are not stored
//!
S
pecialization 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:
//!
e
xport type of subcontrol volume
//!
E
xport type of subcontrol volume
using
SubControlVolume
=
typename
GG
::
SubControlVolume
;
//!
e
xport type of subcontrol volume face
//!
E
xport type of subcontrol volume face
using
SubControlVolumeFace
=
typename
GG
::
SubControlVolumeFace
;
//!
e
xport type of finite volume grid geometry
//!
E
xport type of finite volume grid geometry
using
FVGridGeometry
=
GG
;
//!
t
he maximum number of scvs per element (2^dim for cubes)
//!
T
he 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_
;
};
...
...
dumux/porousmediumflow/boxdfm/fvgridgeometry.hh
View file @
e69730ba
...
...
@@ -18,12 +18,14 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxD
iscretization
* \ingroup BoxD
FMModel
* \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 BoxD
iscretization
* \ingroup BoxD
FMModel
* \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 BoxD
iscretization
* \ingroup BoxD
FMModel
* \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 BoxD
iscretization
* \ingroup BoxD
FMModel
* \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:
//!
e
xport discretization method
//!
E
xport discretization method
static
constexpr
DiscretizationMethod
discMethod
=
DiscretizationMethod
::
box
;
//!
e
xport the type of the fv element geometry (the local view type)
//!
E
xport the type of the fv element geometry (the local view type)
using
LocalView
=
typename
Traits
::
template
LocalView
<
ThisType
,
true
>;
//!
e
xport the type of sub control volume
//!
E
xport the type of sub control volume
using
SubControlVolume
=
typename
Traits
::
SubControlVolume
;
//!
e
xport the type of sub control volume
//!
E
xport the type of sub control volume
using
SubControlVolumeFace
=
typename
Traits
::
SubControlVolumeFace
;
//!
e
xport dof mapper type
//!
E
xport dof mapper type
using
DofMapper
=
typename
Traits
::
VertexMapper
;
//!
e
xport the finite element cache type
//!
E
xport the finite element cache type
using
FeCache
=
Dune
::
PQkLocalFiniteElementCache
<
CoordScalar
,
Scalar
,
dim
,
1
>
;
//!
e
xport the grid view type
//!
E
xport the grid view type
using
GridView
=
GV
;
//! Constructor
BoxDfmFVGridGeometry
(
const
GridView
gridView
)
:
ParentType
(
gridView
)
{}
//!
t
he vertex mapper is the dofMapper
//!
t
his is convenience to have better chance to have the same main files for box/tpfa/mpfa...
//!
T
he vertex mapper is the dofMapper
//!
T
his 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
);
}
//!
u
pdate all fvElementGeometries (do this again after grid adaption)
//!
U
pdate all fvElementGeometries (do this again after grid adaption)
template
<
class
FractureGridAdapter
>
void
update
(
const
FractureGridAdapter
&
fractureGridAdapter
)
{
...
...
dumux/porousmediumflow/boxdfm/geometryhelper.hh
View file @
e69730ba
...
...
@@ -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.
*/
...
...
dumux/porousmediumflow/boxdfm/model.hh
View file @
e69730ba
...
...
@@ -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.
*/
...
...
dumux/porousmediumflow/boxdfm/subcontrolvolume.hh
View file @
e69730ba
...
...
@@ -18,9 +18,10 @@
*****************************************************************************/
/*!
* \file
* \ingroup BoxD
iscretization
* \ingroup BoxD
FMModel
* \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 BoxD
iscretization
* \ingroup BoxD
FMModel
* \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 BoxD
iscretization
* \ingroup BoxD
FMModel
* \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:
//!
s
tate the traits public and thus export all types
//!
S
tate 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
,
...
...
dumux/porousmediumflow/boxdfm/subcontrolvolumeface.hh
View file @
e69730ba
...
...
@@ -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 BoxD
iscretization
* \ingroup BoxD
FMModel
* \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:
//!
s
tate the traits public and thus export all types
//!
S
tate 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
//! Return
s
the boundary flag
typename
BoundaryFlag
::
value_type
boundaryFlag
()
const
{
return
boundaryFlag_
.
get
();
}
//!
i
ndex of the inside sub control volume for spatial param evaluation
//!
I
ndex of the inside sub control volume for spatial param evaluation
LocalIndexType
insideScvIdx
()
const
{
return
scvIndices_
[
0
];
}
//!
i
ndex of the outside sub control volume for spatial param evaluation
//!
I
ndex of the outside sub control volume for spatial param evaluation
// This results in undefined behaviour if boundary is true
LocalIndexType
outsideScvIdx
()
const
{
...
...
dumux/porousmediumflow/boxdfm/vtkoutputmodule.hh
View file @
e69730ba
...
...
@@ -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.
*/
...
...
dumux/porousmediumflow/co2/model.hh
View file @
e69730ba
...
...
@@ -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
{
...
...
dumux/porousmediumflow/co2/primaryvariableswitch.hh
View file @
e69730ba
...
...
@@ -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.
*