From 2418c502e46ae3a495a5ac1d588c5de90fad1ab0 Mon Sep 17 00:00:00 2001 From: Beatrix Becker Date: Wed, 2 Mar 2016 15:43:51 -0500 Subject: [PATCH] [doxygen] add documentation and reorder modules according to new structure improve documentation for 2pnc and 2pncmin model and add description for classes rename modules (sequential) and reorder according to new structure (porousmediumflow...) --- doc/doxygen/modules.txt | 571 +++++++++--------- dumux/common/dimensionlessnumbers.hh | 4 +- dumux/geomechanics/el2p/newtoncontroller.hh | 12 +- dumux/implicit/adaptive/adaptionhelper.hh | 4 +- dumux/implicit/box/propertydefaults.hh | 3 + .../implicit/cellcentered/propertydefaults.hh | 3 + .../thermalconductivitysimplefluidlumping.hh | 2 +- dumux/porousmediumflow/2pnc/implicit/model.hh | 20 +- .../2pncmin/implicit/model.hh | 29 +- .../implicit/velocityoutput.hh | 5 +- .../sequential/cellcentered/transport.hh | 1 + 11 files changed, 346 insertions(+), 308 deletions(-) diff --git a/doc/doxygen/modules.txt b/doc/doxygen/modules.txt index 12b008f5e3..6b5fb75535 100644 --- a/doc/doxygen/modules.txt +++ b/doc/doxygen/modules.txt @@ -2,270 +2,251 @@ * \file * * \brief This file contains all module definitions for the doxygen documentation. + * */ -/* ***************** Common ******************/ +/* ***************** Porousmediaflow ******************/ /*! - * \defgroup Common Common Infrastucture + * \defgroup Porousmediaflow Porousmediumflow (fully implicit if not denoted otherwise) */ /*! - * \ingroup Common - * \defgroup BC Boundary Conditions + * \ingroup Porousmediaflow + * \defgroup OnePModels 1p (one-phase Darcy flow) */ + /*! + * \ingroup OnePModels + * \defgroup OnePModel Implicit + * + * \copydetails Dumux::OnePModel + */ + /*! + * \ingroup OnePModels + * \defgroup OnePhase Sequential + * + * \copydetails Dumux::FVPressure1P + */ /*! - * \ingroup Common - * \defgroup Math Elementary Math Functions + * \ingroup Porousmediaflow + * \defgroup OnePTwoCModel 1p2c (one-phase, two-component Darcy flow) + * + * \copydetails Dumux::OnePTwoCModel */ /*! - * \ingroup Common - * \defgroup Exception Exceptions + * \ingroup Porousmediaflow + * \defgroup TwoPModels 2p (two-phase Darcy flow) */ + /*! + * \ingroup TwoPModels + * \defgroup TwoPModel Implicit + * + * \copydetails Dumux::TwoPModel + */ + /*! + * \ingroup TwoPModels + * \defgroup IMPES Sequential + * + * \copydetails Dumux::FVPressure2P + *


+ * \copydetails Dumux::FVVelocity2P + *
+ * \copydetails Dumux::FVSaturation2P + */ /*! - * \ingroup Common - * \defgroup Linear Linear Solver Backends + * \ingroup Porousmediaflow + * \defgroup TwoPTwoCModels 2p2c (two-phase, two-component Darcy flow) + */ + /*! + * \ingroup TwoPTwoCModels + * \defgroup TwoPTwoCModel Implicit + * + * \copydetails Dumux::TwoPTwoCModel + */ + /*! + * \ingroup TwoPTwoCModels + * \defgroup IMPEC Sequential + * + * \copydetails Dumux::FVPressure2P2C + *


+ * \copydetails Dumux::FVTransport2PC + */ + /*! + * \ingroup Porousmediaflow + * \defgroup TwoPDFMModel 2pdfm (two-phase Darcy flow in discrete fracture-matrix) + * + * \copydetails Dumux::TwoPDFMModel */ /*! - * \ingroup Common - * \defgroup Newton Newton Solver + * \ingroup Porousmediaflow + * \defgroup TwoPMincModel 2pminc (two-phase Darcy flow dual continuum) + * + * \copydetails Dumux::TwoPMincModel */ /*! - * \ingroup Common - * \defgroup Parameter Parameters - * See the file parameterlist for available parameters. + * \ingroup Porousmediaflow + * \defgroup TwoPNCModel 2pnc (two-phase, n-component Darcy flow) + * + * \copydetails Dumux::TwoPNCModel */ /*! - * \ingroup Common - * \defgroup Properties Property System + * \ingroup Porousmediaflow + * \defgroup TwoPNCMinModel 2pncmin (two-phase, n-component Darcy flow with mineralization) + * + * \copydetails Dumux::TwoPNCMinModel */ /*! - * \ingroup Common - * \defgroup Spline Splines + * \ingroup Porousmediaflow + * \defgroup ThreePModel 3p (three-phase Darcy flow) + * + * \copydetails Dumux::ThreePModel */ /*! - * \ingroup Common - * \defgroup Start Starting the Simulation + * \ingroup Porousmediaflow + * \defgroup ThreePThreeCModel 3p3c (three-phase, three-component Darcy flow) + * + * \copydetails Dumux::ThreePThreeCModel */ /*! - * \ingroup Common - * \defgroup SimControl Time Manager + * \ingroup Porousmediaflow + * \defgroup CO2Model CO2 (2-phase, 2-component Darcy flow) + * + * \copydetails Dumux::CO2Model */ /*! - * \ingroup Common - * \defgroup Valgrind Valgrind + * \ingroup Porousmediaflow + * \defgroup MPNCModel Mpnc (m-phase, n-component Darcy flow) + * + * \copydetails Dumux::MPNCModel */ - -/* ***************** Material ******************/ + /*! + * \ingroup Porousmediaflow + * \defgroup NIModel Nonisothermal (non-isothermal model) + * + * \copydetails Dumux::NIModel + */ + /*! + * \ingroup Porousmediaflow + * \defgroup RichardsModel Richards (Richards flow) + * + * \copydetails Dumux::RichardsModel + */ + +/* ***************** Geomechanics ******************/ /*! - * \defgroup Material Material Properties and Laws + * \defgroup Geomechanics Geomechanics (fully implicit) */ /*! - * \ingroup Material - * \defgroup Binarycoefficients Binary Coefficients + * \ingroup Geomechanics + * \defgroup ElOnePTwoCBoxModel El1p2c (one-phase, two-component Darcy flow, linear elastic deformation model) + * + * \copydetails Dumux::ElOnePTwoCModel */ /*! - * \ingroup Material - * \defgroup Components Components + * \ingroup Geomechanics + * \defgroup ElTwoPBoxModel El2p (two-phase Darcy flow, linear elastic deformation model) + * + * \copydetails Dumux::ElTwoPModel */ - /*! - * \ingroup Components - * \defgroup IAPWS IAPWS - */ /*! - * \ingroup Material - * \defgroup Fluidsystems Fluid Systems + * \ingroup Geomechanics + * \defgroup ElasticBoxModel Elastic (linear elastic deformation model) + * + * \copydetails Dumux::ElasticModel */ + +/* ***************** Freeflow ******************/ +/*! + * \defgroup Freeflow Freeflow (fully implicit) + */ /*! - * \ingroup Material - * \defgroup FluidStates Fluid States + * \ingroup Freeflow + * \defgroup BoxStokesModel Stokes (one-phase Stokes model) + * + * \copydetails Dumux::StokesModel */ /*! - * \ingroup Material - * \defgroup fluidmatrixinteractions Fluid-Matrix Interactions + * \ingroup Freeflow + * \defgroup BoxStokesncModel Stokesnc (one-phase, n-component Stokes flow) + * + * \copydetails Dumux::StokesncModel */ - /*! - * \ingroup fluidmatrixinteractions - * \defgroup fluidmatrixinteractionslaws Laws for Fluid-Matrix Interactions - */ - /*! - * \ingroup fluidmatrixinteractions - * \defgroup fluidmatrixinteractionsparams Parameters for Fluid-Matrix Interactions - */ /*! - * \ingroup Material - * \defgroup SpatialParameters Spatial Parameters + * \ingroup Freeflow + * \defgroup BoxStokesncniModel Stokesncni (one-phase, n-component, non-isothermal Stokes flow) + * + * \copydetails Dumux::StokesncniModel */ - + /*! + * \ingroup Freeflow + * \defgroup BoxZeroEqModel Zeroeq (one-phase Stokes flow with zero-eq turbulence model) + * + * \copydetails Dumux::ZeroEqModel + */ + /*! + * \ingroup Freeflow + * \defgroup BoxZeroEqncModel Zeroeqnc (one-phase, n-component Stokes flow with zero-eq turbulence model) + * + * \copydetails Dumux::ZeroEqncModel + */ + /*! + * \ingroup Freeflow + * \defgroup BoxZeroEqncniModel Zeroeqncni (one-phase, n-component, non-isothermal Stokes flow with zero-eq turbulence model) + * + * \copydetails Dumux::ZeroEqncniModel + */ + +/* ***************** Multidomain ******************/ +/*! + * \defgroup Multidomain Multidomain (fully implicit) + */ + /*! + * \ingroup Multidomain + * \defgroup MultidomainModel Multidomain + */ + /*! + * \ingroup Multidomain + * \defgroup TwoPTwoCStokesTwoCModel 2cstokes2p2c (Stokes2c flow, coupled to two-phase, two-component Darcy flow) + * + * \copydetails Dumux::TwoCStokesTwoPTwoCLocalOperator + *


+ * \copydetails Dumux::TwoPTwoCModel + *
+ * \copydetails Dumux::StokesncModel + */ + /*! + * \ingroup Multidomain + * \defgroup TwoPTwoCNIStokesTwoCNIModel 2cnistokes2p2cni (Stokes2c flow, coupled to two-phase, two-component Darcy flow, non-isothermal) + * + * \copydetails Dumux::TwoCNIStokesTwoPTwoCNILocalOperator + *


+ * \copydetails Dumux::TwoPTwoCNIModel + *
+ * \copydetails Dumux::StokesncniModel + */ + /*! + * \ingroup Multidomain + * \defgroup TwoPTwoCZeroEqTwoCModel 2czeroeq2p2c (Stokes2c flow with zero-eq turbulence model, coupled to two-phase, two-component Darcy flow) + * + * \copydetails Dumux::TwoCStokesTwoPTwoCLocalOperator + *


+ * \copydetails Dumux::TwoPTwoCModel + *
+ * \copydetails Dumux::ZeroEqncModel + */ + /*! + * \ingroup Multidomain + * \defgroup TwoPTwoCNIZeroEqTwoCNIModel 2cnizeroeq2p2cni (Stokes2c flow with zero-eq turbulence model, coupled to two-phase, two-component Darcy flow, non-isothermal) + * + * \copydetails Dumux::TwoCNIStokesTwoPTwoCNILocalOperator + *


+ * \copydetails Dumux::TwoPTwoCNIModel + *
+ * \copydetails Dumux::ZeroEqncniModel + */ + /* ***************** Fully Implicit ******************/ /*! * \defgroup ImplicitModel Fully Implicit Scheme */ - /*! - * \ingroup ImplicitModel - * \defgroup ImplicitModels Models - */ - /*! - * \ingroup ImplicitModels - * \defgroup OnePModel One-phase - * - * \copydetails Dumux::OnePModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup OnePTwoCModel One-phase Two-component - * - * \copydetails Dumux::OnePTwoCModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup RichardsModel Richards - * - * \copydetails Dumux::RichardsModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup TwoPModel Two-phase - * - * \copydetails Dumux::TwoPModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup TwoPTwoCModel Two-phase, two-component - * - * \copydetails Dumux::TwoPTwoCModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup CO2Model CO2 - * - * \copydetails Dumux::CO2Model - */ - * \ingroup ImplicitModels - * \defgroup TwoPDFMModel Two-phase flow in discrete fracture-matrix - * - * \copydetails Dumux::TwoPDFMModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup ThreePModel Three-phase - * - * \copydetails Dumux::ThreePModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup ThreePThreeCModel Three-phase, three-component - * - * \copydetails Dumux::ThreePThreeCModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup MPNCModel M-phase N-component - * - * \copydetails Dumux::MPNCModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup NIModel Non-Isothermal - * - * \copydetails Dumux::NIModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup BoxStokesModel Stokes - * - * \copydetails Dumux::StokesModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup BoxStokesncModel N-component Stokes - * - * \copydetails Dumux::StokesncModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup BoxStokesncniModel Non-isothermal N-component Stokes - * - * \copydetails Dumux::StokesncniModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup BoxZeroEqModel ZeroEq - * - * \copydetails Dumux::ZeroEqModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup BoxZeroEqncModel N-component ZeroEq - * - * \copydetails Dumux::ZeroEqncModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup BoxZeroEqncniModel Non-isothermal N-component ZeroEq - * - * \copydetails Dumux::ZeroEqncniModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup ElasticBoxModel Linear elastic - * - * \copydetails Dumux::ElasticModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup ElOnePTwoCBoxModel One-phase two component linear elastic - * - * \copydetails Dumux::ElOnePTwoCModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup ElTwoPBoxModel Two-phase immiscible linear elastic - * - * \copydetails Dumux::ElTwoPModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup MultidomainModel Multidomain - */ - /*! - * \ingroup ImplicitModels - * \defgroup TwoPTwoCStokesTwoCModel Two-component, Stokes-Darcy - * - * \copydetails Dumux::TwoCStokesTwoPTwoCLocalOperator - *


- * \copydetails Dumux::TwoPTwoCModel - *
- * \copydetails Dumux::StokesncModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup TwoPTwoCNIStokesTwoCNIModel Non-isothermal, two-component, Stokes-Darcy - * - * \copydetails Dumux::TwoCNIStokesTwoPTwoCNILocalOperator - *


- * \copydetails Dumux::TwoPTwoCNIModel - *
- * \copydetails Dumux::StokesncniModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup TwoPTwoCZeroEqTwoCModel Two-component, ZeroEq turbulence-Darcy - * - * \copydetails Dumux::TwoCStokesTwoPTwoCLocalOperator - *


- * \copydetails Dumux::TwoPTwoCModel - *
- * \copydetails Dumux::ZeroEqncModel - */ - /*! - * \ingroup ImplicitModels - * \defgroup TwoPTwoCNIZeroEqTwoCNIModel Non-isothermal, two-component, ZeroEq turbulence-Darcy - * - * \copydetails Dumux::TwoCNIStokesTwoPTwoCNILocalOperator - *


- * \copydetails Dumux::TwoPTwoCNIModel - *
- * \copydetails Dumux::ZeroEqncniModel - */ /*! * \ingroup ImplicitModel * \defgroup ImplicitBaseProblems Base Problems @@ -306,10 +287,6 @@ * \ingroup ImplicitModel * \defgroup ImplicitProperties Properties */ - /*! - * \ingroup ImplicitModel - * \defgroup ImplicitTestProblems Test Problems - */ /*! * \ingroup ImplicitModel * \defgroup ImplicitVolumeVariables Volume Variables @@ -317,80 +294,104 @@ /* ***************** Sequential ******************/ /*! - * \defgroup Sequential Sequential Scheme: IMPET (Implicit Pressure Explicit Transport) + * \defgroup Sequential Sequential Scheme (Implicit Pressure Explicit Transport) */ - /*! * \ingroup Sequential - * \defgroup IMPET Models + * \defgroup IMPETproblems Base Problems + */ + /*! + * \ingroup Sequential + * \defgroup IMPETProperties Properties */ - /*! - * \ingroup IMPET - * \defgroup mpfa MPFA framework - */ - +/* ***************** Material ******************/ +/*! + * \defgroup Material Material Properties and Laws + */ + /*! + * \ingroup Material + * \defgroup Binarycoefficients Binary Coefficients + */ + /*! + * \ingroup Material + * \defgroup Components Components + */ /*! - * \ingroup IMPET - * \defgroup OnePhase Single Phase (FV) + * \ingroup Components + * \defgroup IAPWS IAPWS */ - /*! - * \ingroup OnePhase - * \defgroup Pressure1p Pressure Equation - */ - /*! - * \ingroup Pressure1p - * \defgroup FV1p Finite Volume - */ + /*! + * \ingroup Material + * \defgroup Fluidsystems Fluid Systems + */ + /*! + * \ingroup Material + * \defgroup FluidStates Fluid States + */ + /*! + * \ingroup Material + * \defgroup fluidmatrixinteractions Fluid-Matrix Interactions + */ /*! - * \ingroup IMPET - * \defgroup IMPES Immiscible IMPES + * \ingroup fluidmatrixinteractions + * \defgroup fluidmatrixinteractionslaws Laws for Fluid-Matrix Interactions */ - /*! - * \ingroup IMPES - * \defgroup Pressure2p Immiscible Pressure Equation - */ - /*! - * \ingroup Pressure2p - * \defgroup FVPressure2p Finite Volume - */ - /*! - * \ingroup Pressure2p - * \defgroup MimeticPressure2p Mimetic Finite Differences - */ - /*! - * \ingroup IMPES - * \defgroup Saturation2p Immiscible Saturation Transport - */ - /*! - * \ingroup Saturation2p - * \defgroup FVSaturation2p Finite Volume - */ - /*! - * \ingroup IMPET - * \defgroup IMPEC Miscible (Compositional) IMPEC + /*! + * \ingroup fluidmatrixinteractions + * \defgroup fluidmatrixinteractionsparams Parameters for Fluid-Matrix Interactions */ - /*! - * \ingroup IMPEC - * \defgroup multiphase Multiphase Compositional Models - */ - /*! - * \ingroup multiphase - * \defgroup Adaptive2p2c (Grid-)Adaptive Multiphase Compositional Models - */ - /*! - * \ingroup IMPEC - * \defgroup multiphysics Multiphysics Compositional Models - */ /*! - * \ingroup Sequential - * \defgroup IMPETproblems Base Problems + * \ingroup Material + * \defgroup SpatialParameters Spatial Parameters */ + +/* ***************** Common ******************/ +/*! + * \defgroup Common Common Infrastucture + */ /*! - * \ingroup Sequential - * \defgroup IMPETProperties Properties + * \ingroup Common + * \defgroup BC Boundary Conditions */ /*! - * \ingroup Sequential - * \defgroup IMPETtests Test Problems + * \ingroup Common + * \defgroup Math Elementary Math Functions + */ + /*! + * \ingroup Common + * \defgroup Exception Exceptions + */ + /*! + * \ingroup Common + * \defgroup Linear Linear Solver Backends + */ + /*! + * \ingroup Common + * \defgroup Newton Newton Solver + */ + /*! + * \ingroup Common + * \defgroup Parameter Parameters + * See the file parameterlist for available parameters. + */ + /*! + * \ingroup Common + * \defgroup Properties Property System + */ + /*! + * \ingroup Common + * \defgroup Spline Splines + */ + /*! + * \ingroup Common + * \defgroup Start Starting the Simulation + */ + /*! + * \ingroup Common + * \defgroup SimControl Time Manager + */ + /*! + * \ingroup Common + * \defgroup Valgrind Valgrind */ diff --git a/dumux/common/dimensionlessnumbers.hh b/dumux/common/dimensionlessnumbers.hh index 786fdc990e..702d492edc 100644 --- a/dumux/common/dimensionlessnumbers.hh +++ b/dumux/common/dimensionlessnumbers.hh @@ -31,8 +31,8 @@ namespace Dumux { -/* - * \brief Dimensionless Numbers +/*! + * \brief Collection of functions which calculate dimensionless numbers. * * Each number has it's own function. * All the parameters for the calculation have to be handed over. diff --git a/dumux/geomechanics/el2p/newtoncontroller.hh b/dumux/geomechanics/el2p/newtoncontroller.hh index 9787b1a8ae..c1e5febb35 100644 --- a/dumux/geomechanics/el2p/newtoncontroller.hh +++ b/dumux/geomechanics/el2p/newtoncontroller.hh @@ -18,11 +18,6 @@ *****************************************************************************/ /*! * \file - * \brief An el2p specific controller for the newton solver. - * - * This controller 'knows' what a 'physically meaningful' solution is - * which allows the newton method to abort quicker if the solution is - * way out of bounds. */ #ifndef DUMUX_EL2P_NEWTON_CONTROLLER_HH #define DUMUX_EL2P_NEWTON_CONTROLLER_HH @@ -31,6 +26,13 @@ namespace Dumux { +/*! +* \brief An el2p specific controller for the newton solver. +* +* This controller 'knows' what a 'physically meaningful' solution is +* which allows the newton method to abort quicker if the solution is +* way out of bounds. + */ template class ElTwoPNewtonController : public NewtonController { diff --git a/dumux/implicit/adaptive/adaptionhelper.hh b/dumux/implicit/adaptive/adaptionhelper.hh index 8e39023440..4e39c499ef 100644 --- a/dumux/implicit/adaptive/adaptionhelper.hh +++ b/dumux/implicit/adaptive/adaptionhelper.hh @@ -33,7 +33,6 @@ namespace Dumux { - namespace Properties { NEW_PROP_TAG(GridView); @@ -43,6 +42,9 @@ NEW_PROP_TAG(Problem); NEW_PROP_TAG(Scalar); } +/*! + * \brief Base class holding the variables for implicit models. + */ template class AdaptionHelper { diff --git a/dumux/implicit/box/propertydefaults.hh b/dumux/implicit/box/propertydefaults.hh index 8fc1ee2b77..2d6f8c2d77 100644 --- a/dumux/implicit/box/propertydefaults.hh +++ b/dumux/implicit/box/propertydefaults.hh @@ -36,6 +36,9 @@ namespace Dumux { +/*! + * \brief The box model combines the advantages of the finite-volume (FV) and finite-element (FE) methods on a dual grid + */ // forward declarations template class BoxModel; template class BoxLocalResidual; diff --git a/dumux/implicit/cellcentered/propertydefaults.hh b/dumux/implicit/cellcentered/propertydefaults.hh index 72f88bcca2..d55d931eae 100644 --- a/dumux/implicit/cellcentered/propertydefaults.hh +++ b/dumux/implicit/cellcentered/propertydefaults.hh @@ -37,6 +37,9 @@ namespace Dumux { +/*! + * \brief The cell centered finite-volume method uses the elements of the grid as control volumes. + */ // forward declarations template class CCModel; template class CCLocalResidual; diff --git a/dumux/material/fluidmatrixinteractions/2p/thermalconductivitysimplefluidlumping.hh b/dumux/material/fluidmatrixinteractions/2p/thermalconductivitysimplefluidlumping.hh index 9f3377b91f..660c44b96f 100644 --- a/dumux/material/fluidmatrixinteractions/2p/thermalconductivitysimplefluidlumping.hh +++ b/dumux/material/fluidmatrixinteractions/2p/thermalconductivitysimplefluidlumping.hh @@ -32,7 +32,7 @@ namespace Dumux /*! * \ingroup fluidmatrixinteractionslaws - * + * \brief Relation for the saturation-dependent effective thermal conductivity */ template class ThermalConductivitySimpleFluidLumping diff --git a/dumux/porousmediumflow/2pnc/implicit/model.hh b/dumux/porousmediumflow/2pnc/implicit/model.hh index 3686dd11d6..b91555dbfc 100644 --- a/dumux/porousmediumflow/2pnc/implicit/model.hh +++ b/dumux/porousmediumflow/2pnc/implicit/model.hh @@ -40,7 +40,8 @@ namespace Dumux * * This model implements two-phase n-component flow of two compressible and * partially miscible fluids \f$\alpha \in \{ w, n \}\f$ composed of the n components - * \f$\kappa \in \{ w, a,\cdots \}\f$. The standard multiphase Darcy + * \f$\kappa \in \{ w, n,\cdots \}\f$ in combination with mineral precipitation and dissolution. + * The solid phases. The standard multiphase Darcy * approach is used as the equation for the conservation of momentum: * \f[ v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mbox{\bf K} @@ -50,7 +51,7 @@ namespace Dumux * By inserting this into the equations for the conservation of the * components, one gets one transport equation for each component * \f{eqnarray} - && \phi \frac{\partial (\sum_\alpha \varrho_\alpha X_\alpha^\kappa S_\alpha )} + && \frac{\partial (\sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha )} {\partial t} - \sum_\alpha \text{div} \left\{ \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mbox{\bf K} @@ -61,6 +62,11 @@ namespace Dumux \alpha \in \{w, g\} \f} * + * The solid or mineral phases are assumed to consist of a single component. + * Their mass balance consist only of a storage and a source term: + * \f$\frac{\partial \varrho_\lambda \phi_\lambda )} {\partial t} + * = q_\lambda\f$ + * * All equations are discretized using a vertex-centered finite volume (box) * or cell-centered finite volume scheme (this is not done for 2pnc approach yet, however possible) as * spatial and the implicit Euler method as time discretization. @@ -83,11 +89,13 @@ namespace Dumux *
    *
  • Both phases are present: The saturation is used (either \f$S_n\f$ or \f$S_w\f$, dependent on the chosen Formulation), * as long as \f$ 0 < S_\alpha < 1\f$
  • . - *
  • Only wetting phase is present: The mass fraction of, e.g., air in the wetting phase \f$X^a_w\f$ is used, - * as long as the maximum mass fraction is not exceeded (\f$X^a_w - *
  • Only non-wetting phase is present: The mass fraction of, e.g., water in the non-wetting phase, \f$X^w_n\f$, is used, - * as long as the maximum mass fraction is not exceeded (\f$X^w_n + *
  • Only wetting phase is present: The mole fraction of, e.g., air in the wetting phase \f$x^a_w\f$ is used, + * as long as the maximum mole fraction is not exceeded (\f$x^a_w + *
  • Only non-wetting phase is present: The mole fraction of, e.g., water in the non-wetting phase, \f$x^w_n\f$, is used, + * as long as the maximum mole fraction is not exceeded (\f$x^w_n *
+ * + * For the other components, the mole fraction \f$x^\kappa_w\f$ is the primary variable. */ template diff --git a/dumux/porousmediumflow/2pncmin/implicit/model.hh b/dumux/porousmediumflow/2pncmin/implicit/model.hh index 27dcb4970c..acd2b434a7 100644 --- a/dumux/porousmediumflow/2pncmin/implicit/model.hh +++ b/dumux/porousmediumflow/2pncmin/implicit/model.hh @@ -38,11 +38,12 @@ namespace Dumux /*! * \ingroup TwoPNCMinModel * \brief Adaption of the fully implicit scheme to the - * two-phase n-component fully implicit model. + * two-phase n-component fully implicit model with additional solid/mineral phases. * * This model implements two-phase n-component flow of two compressible and * partially miscible fluids \f$\alpha \in \{ w, n \}\f$ composed of the n components - * \f$\kappa \in \{ w, a,\cdots \}\f$. The standard multiphase Darcy + * \f$\kappa \in \{ w, n,\cdots \}\f$ in combination with mineral precipitation and dissolution. + * The solid phases. The standard multiphase Darcy * approach is used as the equation for the conservation of momentum: * \f[ v_\alpha = - \frac{k_{r\alpha}}{\mu_\alpha} \mbox{\bf K} @@ -52,7 +53,7 @@ namespace Dumux * By inserting this into the equations for the conservation of the * components, one gets one transport equation for each component * \f{eqnarray} - && \phi \frac{\partial (\sum_\alpha \varrho_\alpha X_\alpha^\kappa S_\alpha )} + && \frac{\partial (\sum_\alpha \varrho_\alpha X_\alpha^\kappa \phi S_\alpha )} {\partial t} - \sum_\alpha \text{div} \left\{ \varrho_\alpha X_\alpha^\kappa \frac{k_{r\alpha}}{\mu_\alpha} \mbox{\bf K} @@ -63,6 +64,11 @@ namespace Dumux \alpha \in \{w, g\} \f} * + * The solid or mineral phases are assumed to consist of a single component. + * Their mass balance consist only of a storage and a source term: + * \f$\frac{\partial \varrho_\lambda \phi_\lambda )} {\partial t} + * = q_\lambda\f$ + * * All equations are discretized using a vertex-centered finite volume (box) * or cell-centered finite volume scheme (this is not done for 2pnc approach yet, however possible) as * spatial and the implicit Euler method as time discretization. @@ -85,11 +91,20 @@ namespace Dumux *
    *
  • Both phases are present: The saturation is used (either \f$S_n\f$ or \f$S_w\f$, dependent on the chosen Formulation), * as long as \f$ 0 < S_\alpha < 1\f$
  • . - *
  • Only wetting phase is present: The mass fraction of, e.g., air in the wetting phase \f$X^a_w\f$ is used, - * as long as the maximum mass fraction is not exceeded (\f$X^a_w - *
  • Only non-wetting phase is present: The mass fraction of, e.g., water in the non-wetting phase, \f$X^w_n\f$, is used, - * as long as the maximum mass fraction is not exceeded (\f$X^w_n + *
  • Only wetting phase is present: The mole fraction of, e.g., air in the wetting phase \f$x^a_w\f$ is used, + * as long as the maximum mole fraction is not exceeded (\f$x^a_w + *
  • Only non-wetting phase is present: The mole fraction of, e.g., water in the non-wetting phase, \f$x^w_n\f$, is used, + * as long as the maximum mole fraction is not exceeded (\f$x^w_n *
+ * + * For the other components, the mole fraction \f$x^\kappa_w\f$ is the primary variable. + * The primary variable of the solid phases is the volume fraction \f$\phi_\lambda = \frac{V_\lambda}{V_{total}}\f$. + * + * The source an sink terms link the mass balances of the n-transported component to the solid phases. + * The porosity \f$\phi\f$ is updated according to the reduction of the initial (or solid-phase-free porous medium) porosity \f$\phi_0\f$ + * by the accumulated volume fractions of the solid phases: + * \f$ \phi = \phi_0 - \sum (\phi_\lambda)\f$ + * Additionally, the permeability is updated depending on the current porosity. */ template diff --git a/dumux/porousmediumflow/implicit/velocityoutput.hh b/dumux/porousmediumflow/implicit/velocityoutput.hh index 7e36ed451b..4bb5c4530e 100644 --- a/dumux/porousmediumflow/implicit/velocityoutput.hh +++ b/dumux/porousmediumflow/implicit/velocityoutput.hh @@ -19,7 +19,7 @@ /*! * \file * - * \brief velocity output for implicit (porous media) models + * \brief Velocity output for implicit (porous media) models */ #ifndef DUMUX_IMPLICIT_VELOCITYOUTPUT_HH #define DUMUX_IMPLICIT_VELOCITYOUTPUT_HH @@ -40,6 +40,9 @@ namespace Properties NEW_PROP_TAG(VtkAddVelocity); //!< Returns whether velocity vectors are written into the vtk output } +/*! + * \brief Velocity output for implicit (porous media) models + */ template class ImplicitVelocityOutput { diff --git a/dumux/porousmediumflow/sequential/cellcentered/transport.hh b/dumux/porousmediumflow/sequential/cellcentered/transport.hh index f8d548f695..4f31f34802 100644 --- a/dumux/porousmediumflow/sequential/cellcentered/transport.hh +++ b/dumux/porousmediumflow/sequential/cellcentered/transport.hh @@ -41,6 +41,7 @@ SET_INT_PROP(DecoupledModel, TimeManagerSubTimestepVerbosity, 0); //! \ingroup IMPET /*!\brief The finite volume discretization of a transport equation + * * Base class for finite volume (FV) implementations of an explicitly treated transport equation. * The class provides a method to calculate the explicit update to get a new solution of the transported quantity: * \f[ -- GitLab