My Project
Loading...
Searching...
No Matches
Opm::LensProblem< TypeTag > Class Template Reference

Soil contamination problem where DNAPL infiltrates a fully water saturated medium. More...

#include <lensproblem.hh>

Inheritance diagram for Opm::LensProblem< TypeTag >:

Public Member Functions

 LensProblem (Simulator &simulator)
 
void finishInit ()
 
Soil parameters
template<class Context >
const DimMatrix & intrinsicPermeability (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
Scalar porosity (const Context &, unsigned, unsigned) const
 
template<class Context >
const MaterialLawParams & materialLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
Scalar temperature (const Context &, unsigned, unsigned) const
 
Auxiliary methods
std::string name () const
 
void beginTimeStep ()
 
void beginIteration ()
 
void endTimeStep ()
 
Boundary conditions
template<class Context >
void boundary (BoundaryRateVector &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
Volumetric terms
template<class Context >
void initial (PrimaryVariables &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const
 
template<class Context >
void source (RateVector &rate, const Context &, unsigned, unsigned) const
 

Static Public Member Functions

static void registerParameters ()
 
static std::string briefDescription ()
 

Detailed Description

template<class TypeTag>
class Opm::LensProblem< TypeTag >

Soil contamination problem where DNAPL infiltrates a fully water saturated medium.

The domain is sized 6m times 4m and features a rectangular lens with low permeablility which spans from (1 m , 2 m) to (4 m, 3 m) and is surrounded by a medium with higher permability. Note that this problem is discretized using only two dimensions, so from the point of view of the model, the depth of the domain is implicitly assumed to be 1 m everywhere.

On the top and the bottom of the domain no-flow boundary conditions are used, while free-flow conditions apply on the left and right boundaries; DNAPL is injected at the top boundary from 3m to 4m at a rate of 0.04 kg/(s m^2).

At the boundary on the left, a free-flow condition using the hydrostatic pressure scaled by a factor of 1.125 is imposed, while on the right, it is just the hydrostatic pressure. The DNAPL saturation on both sides is zero.

Constructor & Destructor Documentation

◆ LensProblem()

template<class TypeTag >
Opm::LensProblem< TypeTag >::LensProblem ( Simulator &  simulator)
inline

Member Function Documentation

◆ beginIteration()

template<class TypeTag >
void Opm::LensProblem< TypeTag >::beginIteration ( )
inline

◆ beginTimeStep()

template<class TypeTag >
void Opm::LensProblem< TypeTag >::beginTimeStep ( )
inline

◆ boundary()

template<class TypeTag >
template<class Context >
void Opm::LensProblem< TypeTag >::boundary ( BoundaryRateVector &  values,
const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ briefDescription()

template<class TypeTag >
static std::string Opm::LensProblem< TypeTag >::briefDescription ( )
inlinestatic

◆ endTimeStep()

template<class TypeTag >
void Opm::LensProblem< TypeTag >::endTimeStep ( )
inline

◆ finishInit()

template<class TypeTag >
void Opm::LensProblem< TypeTag >::finishInit ( )
inline

◆ initial()

template<class TypeTag >
template<class Context >
void Opm::LensProblem< TypeTag >::initial ( PrimaryVariables &  values,
const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ intrinsicPermeability()

template<class TypeTag >
template<class Context >
const DimMatrix & Opm::LensProblem< TypeTag >::intrinsicPermeability ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ materialLawParams()

template<class TypeTag >
template<class Context >
const MaterialLawParams & Opm::LensProblem< TypeTag >::materialLawParams ( const Context &  context,
unsigned  spaceIdx,
unsigned  timeIdx 
) const
inline

◆ name()

template<class TypeTag >
std::string Opm::LensProblem< TypeTag >::name ( ) const
inline

◆ porosity()

template<class TypeTag >
template<class Context >
Scalar Opm::LensProblem< TypeTag >::porosity ( const Context &  ,
unsigned  ,
unsigned   
) const
inline

◆ registerParameters()

template<class TypeTag >
static void Opm::LensProblem< TypeTag >::registerParameters ( )
inlinestatic

◆ source()

template<class TypeTag >
template<class Context >
void Opm::LensProblem< TypeTag >::source ( RateVector &  rate,
const Context &  ,
unsigned  ,
unsigned   
) const
inline

For this problem, the source term of all components is 0 everywhere.

◆ temperature()

template<class TypeTag >
template<class Context >
Scalar Opm::LensProblem< TypeTag >::temperature ( const Context &  ,
unsigned  ,
unsigned   
) const
inline


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