template<class TypeTag>
class Dumux::RootProblem< TypeTag >
Exact solution 1D-3D.
|
template<class SpatialParams > |
| RootProblem (std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< SpatialParams > spatialParams, std::shared_ptr< CouplingManager > couplingManager) |
|
template<class ElementSolution > |
Scalar | extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| Returns how much the domain is extruded at a given sub-control volume. More...
|
|
template<class SpatialParams > |
| RootProblem (std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< SpatialParams > spatialParams, std::shared_ptr< CouplingManager > couplingManager) |
|
template<class ElementSolution > |
Scalar | extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| Returns how much the domain is extruded at a given sub-control volume. More...
|
|
void | setName (const std::string &newName) |
| Set the problem name. More...
|
|
|
const std::string & | name () const |
| The problem name. More...
|
|
Scalar | temperature () const |
| Returns the temperature within the domain in [K]. More...
|
|
const std::string & | name () const |
| The problem name. More...
|
|
Scalar | temperature () const |
| Returns the temperature within the domain in [K]. More...
|
|
|
BoundaryTypes | boundaryTypesAtPos (const GlobalPosition &globalPos) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
PrimaryVariables | dirichletAtPos (const GlobalPosition &globalPos) const |
| Evaluates the boundary conditions for a Dirichlet control volume. More...
|
|
template<class ElementVolumeVariables , class ElementFluxVarsCache > |
NeumannFluxes | neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolvars, const ElementFluxVarsCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const |
| Evaluates the boundary conditions for a Neumann boundary segment. More...
|
|
BoundaryTypes | boundaryTypesAtPos (const GlobalPosition &globalPos) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
PrimaryVariables | dirichletAtPos (const GlobalPosition &globalPos) const |
| Evaluates the boundary conditions for a Dirichlet control volume. More...
|
|
template<class ElementVolumeVariables , class ElementFluxVarsCache > |
NeumannFluxes | neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolvars, const ElementFluxVarsCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const |
| Evaluates the boundary conditions for a Neumann boundary segment. More...
|
|
|
void | addPointSources (std::vector< PointSource > &pointSources) const |
| Applies a vector of point sources which are possibly solution dependent. More...
|
|
template<class ElementVolumeVariables > |
void | pointSource (PointSource &source, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Evaluates the point sources (added by addPointSources) for all phases within a given sub control volume. More...
|
|
PrimaryVariables | initialAtPos (const GlobalPosition &globalPos) const |
| Evaluates the initial value for a control volume. More...
|
|
template<class VtkOutputModule > |
void | addVtkOutputFields (VtkOutputModule &vtk) const |
| Adds additional VTK output data to the VTKWriter. More...
|
|
const CouplingManager & | couplingManager () const |
| Get the coupling manager. More...
|
|
void | addPointSources (std::vector< PointSource > &pointSources) const |
| Applies a vector of point sources which are possibly solution dependent. More...
|
|
template<class ElementVolumeVariables > |
void | pointSource (PointSource &source, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Evaluates the point sources (added by addPointSources) for all phases within a given sub control volume. More...
|
|
PrimaryVariables | initialAtPos (const GlobalPosition &globalPos) const |
| Evaluates the initial value for a control volume. More...
|
|
void | computeSourceIntegral (const SolutionVector &sol, const GridVariables &gridVars) |
|
template<class VtkOutputModule > |
void | addVtkOutputFields (VtkOutputModule &vtk) const |
| Adds additional VTK output data to the VTKWriter. More...
|
|
const CouplingManager & | couplingManager () const |
| Get the coupling manager. More...
|
|
|
BoundaryTypes | boundaryTypes (const Element &element, const SubControlVolume &scv) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
BoundaryTypes | boundaryTypes (const Element &element, const SubControlVolumeFace &scvf) const |
| Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
|
|
PrimaryVariables | dirichlet (const Element &element, const SubControlVolumeFace &scvf) const |
| Evaluate the boundary conditions for a dirichlet control volume face. More...
|
|
PrimaryVariables | dirichlet (const Element &element, const SubControlVolume &scv) const |
| Evaluate the boundary conditions for a dirichlet control volume. More...
|
|
NumEqVector | neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const |
| Evaluate the boundary conditions for a neumann boundary segment. More...
|
|
NumEqVector | neumannAtPos (const GlobalPosition &globalPos) const |
| Evaluate the boundary conditions for a neumann boundary segment. More...
|
|
NumEqVector | source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Evaluate the source term for all phases within a given sub-control-volume. More...
|
|
NumEqVector | sourceAtPos (const GlobalPosition &globalPos) const |
| Evaluate the source term for all phases within a given sub-control-volume. More...
|
|
void | pointSourceAtPos (PointSource &pointSource, const GlobalPosition &globalPos) const |
| Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume. More...
|
|
template<class MatrixBlock > |
void | addSourceDerivatives (MatrixBlock &block, const Element &element, const FVElementGeometry &fvGeometry, const VolumeVariables &volVars, const SubControlVolume &scv) const |
| Add source term derivative to the Jacobian. More...
|
|
NumEqVector | scvPointSources (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const |
| Adds contribution of point sources for a specific sub control volume to the values. Caution: Only overload this method in the implementation if you know what you are doing. More...
|
|
void | computePointSourceMap () |
| Compute the point source map, i.e. which scvs have point source contributions. More...
|
|
const PointSourceMap & | pointSourceMap () const |
| Get the point source map. It stores the point sources per scv. More...
|
|
void | applyInitialSolution (SolutionVector &sol) const |
| Applies the initial solution for all degrees of freedom of the grid. More...
|
|
template<class Entity > |
PrimaryVariables | initial (const Entity &entity) const |
| Evaluate the initial value for an element (for cell-centered models) or vertex (for box / vertex-centered models) More...
|
|
Scalar | extrusionFactorAtPos (const GlobalPosition &globalPos) const |
| Return how much the domain is extruded at a given position. More...
|
|
const GridGeometry & | fvGridGeometry () const |
| The finite volume grid geometry. More...
|
|
const GridGeometry & | gridGeometry () const |
| The finite volume grid geometry. More...
|
|
const std::string & | paramGroup () const |
| The parameter group in which to retrieve runtime parameters. More...
|
|
static constexpr bool | enableInternalDirichletConstraints () |
| If internal Dirichlet contraints are enabled Enables / disables internal (non-boundary) Dirichlet constraints. If this is overloaded to return true, the assembler calls problem.hasInternalDirichletConstraint(element, scv). This means you have to implement the following member function. More...
|
|
Implementation & | asImp_ () |
| Returns the implementation of the problem (i.e. static polymorphism) More...
|
|
const Implementation & | asImp_ () const |
| Returns the implementation of the problem (i.e. static polymorphism) More...
|
|
template<class TypeTag >
static constexpr bool Dumux::FVProblem< TypeTag >::enableInternalDirichletConstraints |
( |
| ) |
|
|
inlinestaticconstexprinherited |
If internal Dirichlet contraints are enabled Enables / disables internal (non-boundary) Dirichlet constraints. If this is overloaded to return true, the assembler calls problem.hasInternalDirichletConstraint(element, scv). This means you have to implement the following member function.
bool hasInternalDirichletConstraint(const Element& element, const SubControlVolume& scv) const;
which returns a bool signifying whether the dof associated with the element/scv pair is contraint. If true is returned for a dof, the assembler calls problem.internalDiririchlet(element, scv). This means you have to additionally implement the following member function
PrimaryVariables internalDiririchlet(const Element& element, const SubControlVolume& scv) const;
which returns the enforced Dirichlet values the dof associated with the element/scv pair.
template<class TypeTag >
template<class ElementVolumeVariables >
void Dumux::RootProblem< TypeTag >::pointSource |
( |
PointSource & |
source, |
|
|
const Element & |
element, |
|
|
const FVElementGeometry & |
fvGeometry, |
|
|
const ElementVolumeVariables & |
elemVolVars, |
|
|
const SubControlVolume & |
scv |
|
) |
| const |
|
inline |
Evaluates the point sources (added by addPointSources) for all phases within a given sub control volume.
This is the method for the case where the point source is solution dependent and requires some quantities that are specific to the fully-implicit method.
- Parameters
-
source | A single point source |
element | The finite element |
fvGeometry | The finite-volume geometry |
elemVolVars | All volume variables for the element |
scv | The sub control volume within the element |
For this method, the values() method of the point sources returns the absolute rate mass generated or annihilated in kg/s. Positive values mean that mass is created, negative ones mean that it vanishes.
Advective transport over root wall
Diffusive transport over root wall
template<class TypeTag >
template<class ElementVolumeVariables >
void Dumux::RootProblem< TypeTag >::pointSource |
( |
PointSource & |
source, |
|
|
const Element & |
element, |
|
|
const FVElementGeometry & |
fvGeometry, |
|
|
const ElementVolumeVariables & |
elemVolVars, |
|
|
const SubControlVolume & |
scv |
|
) |
| const |
|
inline |
Evaluates the point sources (added by addPointSources) for all phases within a given sub control volume.
This is the method for the case where the point source is solution dependent and requires some quantities that are specific to the fully-implicit method.
- Parameters
-
source | A single point source |
element | The finite element |
fvGeometry | The finite-volume geometry |
elemVolVars | All volume variables for the element |
scv | The sub control volume within the element |
For this method, the values() method of the point sources returns the absolute rate mass generated or annihilated in kg/s. Positive values mean that mass is created, negative ones mean that it vanishes.