diff --git a/doc/doxygen/modules.txt b/doc/doxygen/modules.txt index 4a90a1e389ba0f223a34cb9aff19b886037e980f..59598d983a6e9c11cb7ea97e194eb3c76f14722e 100644 --- a/doc/doxygen/modules.txt +++ b/doc/doxygen/modules.txt @@ -56,7 +56,67 @@ /* ***************** Material ******************/ /*! - * \defgroup Material Material Properties and Laws + * \defgroup Material Material and Fluid Framework + * Short description of the most important concepts of the material and fluid framework: + * + * - _Binary coefficient:_ Binary coefficients describe the relations + * of a mixture of two components. Typical binary coefficients are + * Henry coefficients or binary molecular diffusion + * coefficients. So far, the programming interface for accessing binary + * coefficients has not been standardized in Dumux. + * + * - _Component:_ Components are fluid systems which provide the + * thermodynamic relations for the liquid and gas phase of a single + * chemical species or a fixed mixture of species. Their main purpose + * is to provide a convenient way to access these quantities from + * full-fledged fluid systems. Components are not supposed to be used + * by models directly. + * + * - _Constraint solver:_ Constraint solvers are auxiliary tools to + * make sure that a fluid state is consistent with some thermodynamic + * constraints. All constraint solvers specify a well defined set of + * input variables and make sure that the resulting fluid state is + * consistent with a given set of thermodynamic equations. + * + * - _Equation of state:_ Equations of state (EOS) are auxiliary + * classes which provide relations between a fluid phase's temperature, + * pressure, composition and density. Since these classes are only used + * internally in fluid systems, their programming interface is + * currently ad-hoc. + * + * - _Fluid state:_ Fluid states are responsible for representing the + * complete thermodynamic configuration of a system at a given spatial + * and temporal position. A fluid state always provides access methods + * to __all__ thermodynamic quantities, but the concept of a fluid state does not + * mandate what assumptions are made to store these thermodynamic + * quantities. What fluid states also do __not__ do is to make sure + * that the thermodynamic state which they represent is physically + * possible. + * + * - _Fluid system:_ Fluid systems express the thermodynamic relations + * Strictly speaking, these relations are + * functions, mathematically.} between quantities. Since functions do + * not exhibit any internal state, fluid systems are stateless classes, + * i.e. all member functions are static. This is a conscious + * decision since the thermodynamic state of the system is expressed by + * a fluid state! + * + * - _Fluid-Matrix Interactions:_ Some parameters are functions of the fluid state as well as parameters of + * the matrix. For example the capillary pressure is a function of the phase saturation + * and the shape parameter \f$\lambda\f$ which is dependent on the material. All such relations + * are gathered in this module. + * + * - _Parameter cache:_ Fluid systems sometimes require + * computationally expensive parameters for multiple relations. Such + * parameters can be cached using a so-called parameter + * cache. Parameter cache objects are specific for each fluid system + * but they must provide a common interface to update the internal + * parameters depending on the quantities which changed since the last + * update. + * + * - _Spatial Parameters:_ All parameters which depend on the matrix and + * therefore on the position within the model domain are defined as spatial + * parameters. For example permeability, porosity etc. */ /*! * \ingroup Material @@ -72,11 +132,27 @@ */ /*! * \ingroup Material - * \defgroup Fluidsystems Fluid Systems + * \defgroup ConstraintSolver Constraint Solver + * Constraint solvers connect the thermodynamic relations expressed by + * fluid systems with the thermodynamic quantities stored by fluid + * states. Using them is not mandatory for models, but given the fact + * that some thermodynamic constraints can be quite complex to solve, + * sharing this code between models makes sense. + */ + /*! + * \ingroup Material + * \defgroup EOS Equation of State */ /*! * \ingroup Material * \defgroup FluidStates Fluid States + * Fluid state objects express the complete thermodynamic state of a system at a given spatial and + * temporal position. + */ + /*! + * \ingroup Material + * \defgroup Fluidsystems Fluid Systems + * Fluid systems express the thermodynamic relations between the quantities of a fluid state. */ /*! * \ingroup Material @@ -89,7 +165,21 @@ /*! * \ingroup fluidmatrixinteractions * \defgroup fluidmatrixinteractionsparams Parameters for Fluid-Matrix Interactions - */ + */ + /*! + * \ingroup Material + * \defgroup ParameterCache Parameter Cache + * All fluid systems must export a type for their __ParameterCache__ + * objects. Parameter caches can be used to cache parameter that are + * expensive to compute and are required in multiple thermodynamic + * relations. For fluid systems which do need to cache parameters, + * Dumux provides a __NullParameterCache__ class. + * The actual quantities stored by parameter cache objects are specific + * to the fluid system and no assumptions on what they provide should be + * made outside of their fluid system. Parameter cache objects provide a + * well-defined set of methods to make them coherent with a given fluid + *state, though. + */ /*! * \ingroup Material * \defgroup SpatialParameters Spatial Parameters diff --git a/dumux/material/constraintsolvers/compositionalflash.hh b/dumux/material/constraintsolvers/compositionalflash.hh index 5cf393102ea4cf610b62cf3e50ae618e4e998b14..a7d548b66218bdd09f15594b83bbd809940490e2 100644 --- a/dumux/material/constraintsolvers/compositionalflash.hh +++ b/dumux/material/constraintsolvers/compositionalflash.hh @@ -37,6 +37,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Flash calculation routines for compositional decoupled models * * Routines for isothermal and isobaric 2p2c and 1p2c flash. diff --git a/dumux/material/constraintsolvers/compositionfromfugacities.hh b/dumux/material/constraintsolvers/compositionfromfugacities.hh index 8c256fafbbabe44ffc865058def2fd4b28a622d8..9fe0c9811dbb93de38523a4ee66b5e8f01f5e61b 100644 --- a/dumux/material/constraintsolvers/compositionfromfugacities.hh +++ b/dumux/material/constraintsolvers/compositionfromfugacities.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Calculates the chemical equilibrium from the component * fugacities in a phase. */ diff --git a/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh b/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh index b9567905292e786e6a14f1b779117fac6046f4f9..1d17f538ff432d3ff866ba1ebe6093b8ff6586e6 100644 --- a/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh +++ b/dumux/material/constraintsolvers/compositionfromfugacities2pncmin.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Calculates the chemical equilibrium from the component * fugacities in a phase. */ diff --git a/dumux/material/constraintsolvers/computefromreferencephase.hh b/dumux/material/constraintsolvers/computefromreferencephase.hh index f6b54b68d6ef98ca0cc390f2852bbb54b4e71bb4..2f4430e6b28031e744a670dd32ddff6e5cb03301 100644 --- a/dumux/material/constraintsolvers/computefromreferencephase.hh +++ b/dumux/material/constraintsolvers/computefromreferencephase.hh @@ -40,6 +40,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes all quantities of a generic fluid state if a * reference phase has been specified. * diff --git a/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh b/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh index ad11b5d320ba1d524a314b8fdc01765dd57ef664..52def91eef9e67298fffb3ad84b9c78f267ad81a 100644 --- a/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh +++ b/dumux/material/constraintsolvers/computefromreferencephase2pnc.hh @@ -40,6 +40,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes all quantities of a generic fluid state if a * reference phase has been specified. * diff --git a/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh b/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh index ffb6b6de61d1d046e22203148cffc0080887385a..2164109dbd4a226c381fbb20381717ac64a93c7e 100644 --- a/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh +++ b/dumux/material/constraintsolvers/computefromreferencephase2pncmin.hh @@ -40,6 +40,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes all quantities of a generic fluid state if a * reference phase has been specified. * diff --git a/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh b/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh index 599e9bd72b8414c39c01d52daf7bdc7e3d4e6ff7..7b9966219617f861510847dbedf80172419ebbf8 100644 --- a/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh +++ b/dumux/material/constraintsolvers/fluidsystemcomputefromreferencephase.hh @@ -35,6 +35,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes the composition of all phases from a function in the fluidsystem. * * This is basically an interface in order to use ConstraintSolver with fluidsystems, diff --git a/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh b/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh index f516aeff5e670b676e0cd56f3becaf73f9a051b9..52dce277ad8fe91a498780b810daecbea922946a 100644 --- a/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh +++ b/dumux/material/constraintsolvers/fluidsystemconstraintsolver.hh @@ -35,6 +35,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes the composition of all phases from a function in the fluidsystem. * * This is basically an interface in order to use ConstraintSolver with fluidsystems, diff --git a/dumux/material/constraintsolvers/immiscibleflash.hh b/dumux/material/constraintsolvers/immiscibleflash.hh index d6047f9e893178ef5ef99d0239ca50ab37cd4906..cd42baff8faf28e6ba153b7be45426ec89707cf6 100644 --- a/dumux/material/constraintsolvers/immiscibleflash.hh +++ b/dumux/material/constraintsolvers/immiscibleflash.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Determines the pressures and saturations of all fluid phases * given the total mass of all components. * diff --git a/dumux/material/constraintsolvers/miscible2pnccomposition.hh b/dumux/material/constraintsolvers/miscible2pnccomposition.hh index 7a8567068412c1af242d8474e53c3a35b2510b55..fb561f7e042eeb5508a607e56c0190a675dde842 100644 --- a/dumux/material/constraintsolvers/miscible2pnccomposition.hh +++ b/dumux/material/constraintsolvers/miscible2pnccomposition.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes the composition of all phases of a N-phase, * N-component fluid system assuming that all N phases are * present diff --git a/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh b/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh index 9a23a0f5a50200fc99f443525e4560e8d49ce8aa..a28c87caa71ab0d43395b39db4957289bfbe561e 100644 --- a/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh +++ b/dumux/material/constraintsolvers/misciblemultiphasecomposition.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Computes the composition of all phases of a N-phase, * N-component fluid system assuming that all N phases are * present diff --git a/dumux/material/constraintsolvers/ncpflash.hh b/dumux/material/constraintsolvers/ncpflash.hh index ae9148d96a5b147176a68e0817243e277de14bbd..c13fd38274f430a2852fe72c4da3311a0f533199 100644 --- a/dumux/material/constraintsolvers/ncpflash.hh +++ b/dumux/material/constraintsolvers/ncpflash.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup ConstraintSolver * \brief Determines the phase compositions, pressures and saturations * given the total mass of all components. * diff --git a/dumux/material/eos/pengrobinson.hh b/dumux/material/eos/pengrobinson.hh index c45a7be5d297733660fe297c5445100db683dbff..cc4278f932653428a000501dfdfb787493afaaaf 100644 --- a/dumux/material/eos/pengrobinson.hh +++ b/dumux/material/eos/pengrobinson.hh @@ -43,6 +43,7 @@ namespace Dumux { /*! + * \ingroup EOS * \brief Implements the Peng-Robinson equation of state for liquids * and gases. * diff --git a/dumux/material/eos/pengrobinsonmixture.hh b/dumux/material/eos/pengrobinsonmixture.hh index d327668e7a462bf971c2b96283df0b42ae1a659e..18f98b5b6729899d88e0552d78efd4059c9382c6 100644 --- a/dumux/material/eos/pengrobinsonmixture.hh +++ b/dumux/material/eos/pengrobinsonmixture.hh @@ -33,6 +33,7 @@ namespace Dumux { /*! + * \ingroup EOS * \brief Implements the Peng-Robinson equation of state for a * mixture. */ diff --git a/dumux/material/eos/pengrobinsonparams.hh b/dumux/material/eos/pengrobinsonparams.hh index 203f0215adbe8fe9fd3645a440ca8a2902627125..4b582cf9d6b33b29deeb22d9f1c430e5df7b01a8 100644 --- a/dumux/material/eos/pengrobinsonparams.hh +++ b/dumux/material/eos/pengrobinsonparams.hh @@ -34,6 +34,7 @@ namespace Dumux { /*! + * \ingroup EOS * \brief Stores and provides access to the Peng-Robinson parameters * * See: diff --git a/dumux/material/eos/pengrobinsonparamsmixture.hh b/dumux/material/eos/pengrobinsonparamsmixture.hh index e8371b2e7aa86361b0568faed829564c0e27ecf4..6134240f435f0acb4a544987663b8e727e87206b 100644 --- a/dumux/material/eos/pengrobinsonparamsmixture.hh +++ b/dumux/material/eos/pengrobinsonparamsmixture.hh @@ -44,6 +44,7 @@ namespace Dumux { /*! + * \ingroup EOS * \brief The mixing rule for the oil and the gas phases of the SPE5 problem. * * This problem comprises \f$H_2O\f$, \f$C_1\f$, \f$C_3\f$, \f$C_6\f$, diff --git a/dumux/material/fluidsystems/parametercachebase.hh b/dumux/material/fluidsystems/parametercachebase.hh index 4d7018f9934f1f176f012e058598a45feb66a1a9..d4efca8511d34e9d094cea383b8ba0b500fa5ec5 100644 --- a/dumux/material/fluidsystems/parametercachebase.hh +++ b/dumux/material/fluidsystems/parametercachebase.hh @@ -27,6 +27,7 @@ namespace Dumux { /*! + * \ingroup ParameterCache * \brief The base class of the parameter cache classes for fluid systems */ template <class Implementation> diff --git a/dumux/material/fluidsystems/spe5parametercache.hh b/dumux/material/fluidsystems/spe5parametercache.hh index 16fab91feb1513bea4d5eebddc03cdd4aa645946..92c7a3ce27b6a7173dc31cad4b24e6a54995a68f 100644 --- a/dumux/material/fluidsystems/spe5parametercache.hh +++ b/dumux/material/fluidsystems/spe5parametercache.hh @@ -37,6 +37,7 @@ namespace Dumux { /*! * \ingroup Fluidsystems + * \ingroup ParameterCache * \brief Specifies the parameters required by the SPE5 problem which * are dependend on the thermodynamic state. */