The base class for spatial parameters of one-phase problems using a fully implicit discretization method.
More...
#include <dumux/material/spatialparams/fv1p.hh>
Inherited by Dumux::FVSpatialParams< GridGeometry, Scalar, TwoPTwoCSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, InjectionProblemSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, InjectionSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, TwoPTwoCComparisonSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, WaterAirSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, TwoPNCDiffusionSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, FuelCellSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, DissolutionSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< FVGridGeometry, Scalar, SalinizationSpatialParams< FVGridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, ThreePNISpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, InfiltrationThreePSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, ColumnSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, InfiltrationThreePThreeCSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, KuevetteSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, SagdSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, HeterogeneousSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, MPNCComparisonSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, ObstacleSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, RichardsAnalyticalSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, RichardsNISpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, RichardsWellTracerSpatialParams< GridGeometry, Scalar > >, Dumux::FVSpatialParams< GridGeometry, Scalar, TwoPTracerTestSpatialParams< GridGeometry, Scalar > >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, Dumux::OnePTestSpatialParams< TypeTag >, and Dumux::FVSpatialParams< GridGeometry, Scalar, Implementation >.
template<class GridGeometry, class Scalar, class Implementation>
class Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >
The base class for spatial parameters of one-phase problems using a fully implicit discretization method.
|
| | FVSpatialParamsOneP (std::shared_ptr< const GridGeometry > gridGeometry) |
| const GlobalPosition & | gravity (const GlobalPosition &pos) const |
| | Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\).
|
| Scalar | harmonicMean (const Scalar T1, const Scalar T2, const GlobalPosition &normal) const |
| | Harmonic average of a discontinuous scalar field at discontinuity interface (for compatibility reasons with the function below).
|
| DimWorldMatrix | harmonicMean (const DimWorldMatrix &T1, const DimWorldMatrix &T2, const GlobalPosition &normal) const |
| | Harmonic average of a discontinuous tensorial field at discontinuity interface.
|
| template<class ElementSolution> |
| decltype(auto) | permeability (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Function for defining the (intrinsic) permeability \([m^2]\).
|
| template<class ElementSolution> |
| Scalar | porosity (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Function for defining the porosity. That is possibly solution dependent.
|
| template<class SolidSystem, class ElementSolution, typename std::enable_if_t< SolidSystem::isInert() &&SolidSystem::numInertComponents==1 &&!decltype(isValid(Detail::hasInertVolumeFractionAtPos< GlobalPosition, SolidSystem >())(std::declval< Implementation >()))::value, int > = 0> |
| Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
| | Function for defining the solid volume fraction. That is possibly solution dependent.
|
| template<class SolidSystem, class ElementSolution, typename std::enable_if_t< SolidSystem::numInertComponents==0, int > = 0> |
| Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
| template<class SolidSystem, class ElementSolution, typename std::enable_if_t<(SolidSystem::numInertComponents > 1)||((SolidSystem::numInertComponents > 0) &&(!SolidSystem::isInert()||decltype(isValid(Detail::hasInertVolumeFractionAtPos< GlobalPosition, SolidSystem >())(std::declval< Implementation >()))::value)), int > = 0> |
| Scalar | inertVolumeFraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol, int compIdx) const |
| Scalar | beaversJosephCoeffAtPos (const GlobalPosition &globalPos) const |
| | Function for defining the Beavers-Joseph coefficient for multidomain problems \(\mathrm{[-]}\).
|
| Scalar | forchCoeff (const SubControlVolumeFace &scvf) const |
| | Apply the Forchheimer coefficient for inertial forces calculation.
|
| const GridGeometry & | fvGridGeometry () const |
| | The finite volume grid geometry.
|
| const GridGeometry & | gridGeometry () const |
| | The finite volume grid geometry.
|
|
| static constexpr bool | evaluatePermeabilityAtScvfIP () |
| | If the permeability should be evaluated directly at the scvf integration point (for convergence tests with analytical and continuous perm functions) or is evaluated at the scvs (for permeability fields with discontinuities) -> default.
|
|
| Implementation & | asImp_ () |
| const Implementation & | asImp_ () const |
◆ FVSpatialParamsOneP()
template<class GridGeometry, class Scalar, class Implementation>
| Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::FVSpatialParamsOneP |
( |
std::shared_ptr< const GridGeometry > | gridGeometry | ) |
|
|
inline |
◆ asImp_() [1/2]
template<class GridGeometry, class Scalar, class Implementation>
◆ asImp_() [2/2]
template<class GridGeometry, class Scalar, class Implementation>
◆ beaversJosephCoeffAtPos()
template<class GridGeometry, class Scalar, class Implementation>
| Scalar Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::beaversJosephCoeffAtPos |
( |
const GlobalPosition & | globalPos | ) |
const |
|
inline |
Function for defining the Beavers-Joseph coefficient for multidomain problems \(\mathrm{[-]}\).
- Returns
- Beavers-Joseph coefficient \(\mathrm{[-]}\)
- Parameters
-
| globalPos | The global position |
◆ evaluatePermeabilityAtScvfIP()
template<class GridGeometry, class Scalar, class Implementation>
If the permeability should be evaluated directly at the scvf integration point (for convergence tests with analytical and continuous perm functions) or is evaluated at the scvs (for permeability fields with discontinuities) -> default.
◆ forchCoeff()
template<class GridGeometry, class Scalar, class Implementation>
Apply the Forchheimer coefficient for inertial forces calculation.
- Parameters
-
| scvf | The sub-control volume face where the intrinsic velocity ought to be calculated. |
◆ fvGridGeometry()
template<class GridGeometry, class Scalar, class Implementation>
The finite volume grid geometry.
◆ gravity()
template<class GridGeometry, class Scalar, class Implementation>
| const GlobalPosition & Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::gravity |
( |
const GlobalPosition & | pos | ) |
const |
|
inline |
Returns the acceleration due to gravity \(\mathrm{[m/s^2]}\).
The default behaviour is a constant gravity vector; if the Problem.EnableGravity parameter is true, \(\boldsymbol{g} = ( 0,\dots,\ -9.81)^T \), else \(\boldsymbol{g} = ( 0,\dots, 0)^T \).
- Parameters
-
| pos | the spatial position at which to evaulate the gravity vector |
◆ gridGeometry()
template<class GridGeometry, class Scalar, class Implementation>
The finite volume grid geometry.
◆ harmonicMean() [1/2]
template<class GridGeometry, class Scalar, class Implementation>
| DimWorldMatrix Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::harmonicMean |
( |
const DimWorldMatrix & | T1, |
|
|
const DimWorldMatrix & | T2, |
|
|
const GlobalPosition & | normal ) const |
|
inline |
Harmonic average of a discontinuous tensorial field at discontinuity interface.
- Note
- We do a harmonic average of the part normal to the interface (alpha*I) and an arithmetic average of the tangential part (T - alpha*I).
- Returns
- the averaged tensor
- Parameters
-
| T1 | first tensor |
| T2 | second tensor |
| normal | The unit normal vector of the interface |
◆ harmonicMean() [2/2]
template<class GridGeometry, class Scalar, class Implementation>
| Scalar Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::harmonicMean |
( |
const Scalar | T1, |
|
|
const Scalar | T2, |
|
|
const GlobalPosition & | normal ) const |
|
inline |
Harmonic average of a discontinuous scalar field at discontinuity interface (for compatibility reasons with the function below).
- Returns
- the averaged scalar
- Parameters
-
| T1 | first scalar parameter |
| T2 | second scalar parameter |
| normal | The unit normal vector of the interface |
◆ inertVolumeFraction() [1/3]
template<class GridGeometry, class Scalar, class Implementation>
template<class SolidSystem, class ElementSolution, typename std::enable_if_t<(SolidSystem::numInertComponents > 1)||((SolidSystem::numInertComponents > 0) &&(!SolidSystem::isInert()||decltype(
isValid(Detail::hasInertVolumeFractionAtPos< GlobalPosition, SolidSystem >())(std::declval< Implementation >()))::value)), int > = 0>
| Scalar Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::inertVolumeFraction |
( |
const Element & | element, |
|
|
const SubControlVolume & | scv, |
|
|
const ElementSolution & | elemSol, |
|
|
int | compIdx ) const |
|
inline |
◆ inertVolumeFraction() [2/3]
template<class GridGeometry, class Scalar, class Implementation>
template<class SolidSystem, class ElementSolution, typename std::enable_if_t< SolidSystem::numInertComponents==0, int > = 0>
| Scalar Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::inertVolumeFraction |
( |
const Element & | element, |
|
|
const SubControlVolume & | scv, |
|
|
const ElementSolution & | elemSol, |
|
|
int | compIdx ) const |
|
inline |
◆ inertVolumeFraction() [3/3]
template<class GridGeometry, class Scalar, class Implementation>
template<class SolidSystem, class ElementSolution, typename std::enable_if_t< SolidSystem::isInert() &&SolidSystem::numInertComponents==1 &&!decltype(
isValid(Detail::hasInertVolumeFractionAtPos< GlobalPosition, SolidSystem >())(std::declval< Implementation >()))::value, int > = 0>
| Scalar Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::inertVolumeFraction |
( |
const Element & | element, |
|
|
const SubControlVolume & | scv, |
|
|
const ElementSolution & | elemSol, |
|
|
int | compIdx ) const |
|
inline |
Function for defining the solid volume fraction. That is possibly solution dependent.
- Parameters
-
| element | The current element |
| scv | The sub-control volume inside the element. |
| elemSol | The solution at the dofs connected to the element. |
| compIdx | The solid component index |
- Returns
- the volume fraction of the inert solid component with index compIdx
- Note
- this overload is enable if there is only one inert solid component and the user didn't choose to implement a inertVolumeFractionAtPos overload. It then forwards to the simpler porosity interface. With more than one solid components or active solid components (i.e. dissolution) please overload the more general inertVolumeFraction/inertVolumeFractionAtPos interface.
◆ permeability()
template<class GridGeometry, class Scalar, class Implementation>
template<class ElementSolution>
| decltype(auto) Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::permeability |
( |
const Element & | element, |
|
|
const SubControlVolume & | scv, |
|
|
const ElementSolution & | elemSol ) const |
|
inline |
Function for defining the (intrinsic) permeability \([m^2]\).
- Note
- It is possibly solution dependent.
- Parameters
-
| element | The current element |
| scv | The sub-control volume inside the element. |
| elemSol | The solution at the dofs connected to the element. |
- Returns
- permeability
◆ porosity()
template<class GridGeometry, class Scalar, class Implementation>
template<class ElementSolution>
| Scalar Dumux::FVSpatialParamsOneP< GridGeometry, Scalar, Implementation >::porosity |
( |
const Element & | element, |
|
|
const SubControlVolume & | scv, |
|
|
const ElementSolution & | elemSol ) const |
|
inline |
Function for defining the porosity. That is possibly solution dependent.
- Note
- this can only be used for solids with one inert component (see inertVolumeFraction for the more general interface)
- Parameters
-
| element | The current element |
| scv | The sub-control volume inside the element. |
| elemSol | The solution at the dofs connected to the element. |
- Returns
- the porosity
The documentation for this class was generated from the following file: