The base class for the coarse-level spatial parameters of the two-phase VE model.
More...
template<class GridGeometry, class FineGridGeometry, class Scalar, class SpatialParamsFine, class Implementation>
class Dumux::TwoPVESpatialParams< GridGeometry, FineGridGeometry, Scalar, SpatialParamsFine, Implementation >
The vertical integrals of fine-level permeability and porosity are stored per horizontal coarse element. The volume variables use column averages and the column height as extrusion factor. The fine-level spatial parameters have to provide permeabilityAtElement(fineElement) and porosityAtElement(fineElement), and the porosity has to be uniform within each column. The implementation has to provide fluidMatrixInteractionAtPos(globalPos) returning a Brooks-Corey material law and temperatureAtPos(globalPos).
- Template Parameters
-
| GridGeometry | the coarse-level grid geometry |
| FineGridGeometry | the full-dimensional reconstruction grid geometry |
| Scalar | the scalar type |
| SpatialParamsFine | the fine-level spatial parameters |
| Implementation | the class deriving from this class |
|
| | TwoPVESpatialParams (std::shared_ptr< const GridGeometry > gridGeometry, const ColumnMapping &columnMapping, std::shared_ptr< const SpatialParamsFine > spatialParamsFine, const Scalar fineCellHeight) |
| | Computes the coarse-level permeability and porosity of all columns.
|
| const SpatialParamsFine & | spatialParamsFine () const |
| | Returns the fine-level spatial parameters.
|
| template<class ElementSolution> |
| PermeabilityType | permeability (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Returns the column-average intrinsic permeability \(\mathrm{[m^2]}\).
|
| template<class ElementSolution> |
| Scalar | porosity (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Returns the dimensionless column-average porosity.
|
| template<class ElementSolution> |
| Scalar | extrusionFactor (const Element &element, const SubControlVolume &, const ElementSolution &) const |
| | Column height [m], used to extrude the horizontal cell and its faces.
|
| template<class FluidSystem> |
| int | wettingPhaseAtPos (const GlobalPosition &globalPos) const |
| | Returns the index of the wetting phase, which the VE model requires to be the first phase.
|
| Scalar | permeabilityIntegralAtElement (const Element &element) const |
| | Vertical integral of the intrinsic permeability [m^3].
|
| Scalar | porosityIntegralAtElement (const Element &element) const |
| | Vertical integral of porosity [m], used for storage per horizontal measure.
|
| Scalar | columnHeightAtElement (const Element &element) const |
| | Height of the reconstructed column [m].
|
| GlobalPosition | gravity (const GlobalPosition &) const |
| | Horizontal gravity is zero; vertical gravity enters through fine-level reconstruction.
|
| template<class ElementSolution> |
| decltype(auto) | fluidMatrixInteraction (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Function for defining the parameters needed by constitutive relationships (kr-sw, pc-sw, etc.).
|
| template<class FluidSystem, class ElementSolution> |
| int | wettingPhase (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Function for defining which phase is to be considered as the wetting phase.
|
| 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 ElementDiscretization, class IpData, class ElementSolution> |
| void | permeability (const ElementDiscretization &elemDisc, const IpData &ipData, const ElementSolution &elemSol) const |
| | Function for defining the (intrinsic) permeability \([m^2]\) at an interpolation point.
|
| 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.
|
| 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 ElementDiscretization, class IpData, class ElementSolution> |
| Scalar | porosity (const ElementDiscretization &elemDisc, const IpData &ipData, const ElementSolution &elemSol) const |
| | Function for defining the porosity at an interpolation point.
|
| 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 IpData, class ElementSolution> |
| Scalar | inertVolumeFraction (const FVElementGeometry &fvGeometry, const IpData &ipData, 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 IpData, class ElementSolution> |
| Scalar | inertVolumeFraction (const FVElementGeometry &fvGeometry, const IpData &ipData, 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 > 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 |
| template<class SolidSystem, class IpData, class ElementSolution> |
| Scalar | inertVolumeFraction (const FVElementGeometry &fvGeometry, const IpData &ipData, const ElementSolution &elemSol, int compIdx) const |
| | Function for defining the solid volume fraction. That is possibly solution dependent.
|
| template<class IpData, class ElementSolution> |
| Scalar | extrusionFactor (const FVElementGeometry &fvGeometry, const IpData &ipData, const ElementSolution &elemSol) const |
| | Return how much the domain is extruded at an integration point.
|
| template<class ElementSolution> |
| Scalar | extrusionFactor (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Return how much the domain is extruded at a given sub-control volume.
|
| Scalar | extrusionFactorAtPos (const GlobalPosition &globalPos) const |
| | Return how much the domain is extruded at a given position.
|
| template<class IpData, class ElementSolution> |
| Scalar | temperature (const FVElementGeometry &fvGeometry, const IpData &ipData, const ElementSolution &elemSol) const |
| | Return the temperature at an integration point.
|
| template<class ElementSolution> |
| Scalar | temperature (const Element &element, const SubControlVolume &scv, const ElementSolution &elemSol) const |
| | Return the temperature in the given sub-control volume.
|
| Scalar | temperatureAtPos (const GlobalPosition &globalPos) const |
| | Return the temperature in the domain at the given position.
|
| const GridGeometry & | gridGeometry () const |
| | The finite volume grid geometry.
|