3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse > Class Template Reference

Pc- and Kr-sw curves based on monotone splines through given data points. More...

#include <dumux/material/fluidmatrixinteractions/2p/datasplinemateriallaw.hh>

Inheritance diagram for Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >:

Description

template<class S, bool approximatePcSwInverse = false>
class Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >

Pc- and Kr-sw curves based on monotone splines through given data points.

Template Parameters
Sthe type for scalar numbers
approximatePcSwInverseif this is set true, the spline approximates sw(pc) and evaluating pc(sw) needs spline inversion. if this is false, the spline approximates pc(sw) and evaluating sw(pc) needs spline inversion. Spline inversion is rather expensive since it has to be done numerically.

Public Types

using Scalar = S
 

Public Member Functions

 DataSplineTwoPMaterialLaw ()=delete
 Deleted default constructor (so we are never in an undefined state) More...
 
 DataSplineTwoPMaterialLaw (const std::string &paramGroup)
 Construct from a subgroup from the global parameter tree. More...
 
 DataSplineTwoPMaterialLaw (const std::vector< Scalar > &swPc, const std::vector< Scalar > &pc, const std::vector< Scalar > &swKrw, const std::vector< Scalar > &krw, const std::vector< Scalar > &swKrn, const std::vector< Scalar > &krn)
 Construct from user data. More...
 
Scalar pc (const Scalar sw) const
 The capillary pressure-saturation curve. More...
 
Scalar dpc_dsw (const Scalar sw) const
 The partial derivative of the capillary pressure w.r.t. the saturation. More...
 
Scalar sw (const Scalar pc) const
 The saturation-capillary pressure curve. More...
 
Scalar dsw_dpc (const Scalar pc) const
 The partial derivative of the saturation to the capillary pressure. More...
 
Scalar krw (const Scalar sw) const
 The relative permeability for the wetting phase. More...
 
Scalar dkrw_dsw (const Scalar sw) const
 The derivative of the relative permeability for the wetting phase w.r.t. saturation. More...
 
Scalar krn (const Scalar sw) const
 The relative permeability for the non-wetting phase. More...
 
Scalar dkrn_dsw (const Scalar sw) const
 The derivative of the relative permeability for the non-wetting phase w.r.t. saturation. More...
 

Static Public Member Functions

static constexpr int numFluidPhases ()
 Return the number of fluid phases. More...
 
static constexpr bool isRegularized ()
 

Member Typedef Documentation

◆ Scalar

template<class S , bool approximatePcSwInverse = false>
using Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::Scalar = S

Constructor & Destructor Documentation

◆ DataSplineTwoPMaterialLaw() [1/3]

template<class S , bool approximatePcSwInverse = false>
Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::DataSplineTwoPMaterialLaw ( )
delete

Deleted default constructor (so we are never in an undefined state)

Note
store owning pointers to laws instead if you need default-constructible objects

◆ DataSplineTwoPMaterialLaw() [2/3]

template<class S , bool approximatePcSwInverse = false>
Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::DataSplineTwoPMaterialLaw ( const std::string &  paramGroup)
inlineexplicit

Construct from a subgroup from the global parameter tree.

◆ DataSplineTwoPMaterialLaw() [3/3]

template<class S , bool approximatePcSwInverse = false>
Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::DataSplineTwoPMaterialLaw ( const std::vector< Scalar > &  swPc,
const std::vector< Scalar > &  pc,
const std::vector< Scalar > &  swKrw,
const std::vector< Scalar > &  krw,
const std::vector< Scalar > &  swKrn,
const std::vector< Scalar > &  krn 
)
inline

Construct from user data.

Member Function Documentation

◆ dkrn_dsw()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::dkrn_dsw ( const Scalar  sw) const
inline

The derivative of the relative permeability for the non-wetting phase w.r.t. saturation.

◆ dkrw_dsw()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::dkrw_dsw ( const Scalar  sw) const
inline

The derivative of the relative permeability for the wetting phase w.r.t. saturation.

◆ dpc_dsw()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::dpc_dsw ( const Scalar  sw) const
inline

The partial derivative of the capillary pressure w.r.t. the saturation.

◆ dsw_dpc()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::dsw_dpc ( const Scalar  pc) const
inline

The partial derivative of the saturation to the capillary pressure.

◆ isRegularized()

template<class S , bool approximatePcSwInverse = false>
static constexpr bool Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::isRegularized ( )
inlinestaticconstexpr

◆ krn()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::krn ( const Scalar  sw) const
inline

The relative permeability for the non-wetting phase.

◆ krw()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::krw ( const Scalar  sw) const
inline

The relative permeability for the wetting phase.

◆ numFluidPhases()

template<class S , bool approximatePcSwInverse = false>
static constexpr int Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::numFluidPhases ( )
inlinestaticconstexpr

Return the number of fluid phases.

◆ pc()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::pc ( const Scalar  sw) const
inline

The capillary pressure-saturation curve.

◆ sw()

template<class S , bool approximatePcSwInverse = false>
Scalar Dumux::FluidMatrix::DataSplineTwoPMaterialLaw< S, approximatePcSwInverse >::sw ( const Scalar  pc) const
inline

The saturation-capillary pressure curve.


The documentation for this class was generated from the following file: