3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | List of all members
Dumux::TestMultTwoPTwoCProblem< TypeTag > Class Template Reference

test problem for the multiphysics 2p2c model More...

#include <test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh>

Inheritance diagram for Dumux::TestMultTwoPTwoCProblem< TypeTag >:
Inheritance graph

Description

template<class TypeTag>
class Dumux::TestMultTwoPTwoCProblem< TypeTag >

test problem for the multiphysics 2p2c model

test problem for the sequential 2p2c model with multiphysics

The domain is box shaped (3D). All sides are closed (Neumann 0 boundary) except the top and bottom boundaries (Dirichlet). A Gas (Nitrogen) is injected over a vertical well in the center of the domain.

A multiphysics approach is used to adapt model complexity (see description in the pressure module)

To run the simulation execute the following line in shell: ./test_multiphyiscs2p2c Optionally, simulation endtime and first timestep size can be specified by programm arguments.

Public Member Functions

 TestMultTwoPTwoCProblem (TimeManager &timeManager, Grid &grid, const GlobalPosition &upperRight=0)
 
void preTimeStep ()
 Called by TimeManager just before the time integration. More...
 
void postTimeStep ()
 Called by the time manager after everything which can be done about the current time step is finished and the model should be prepared to do the next time integration. More...
 
void boundaryTypes (BoundaryTypes &bcTypes, const Intersection &intersection) const
 Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
 
void boundaryTypesAtPos (BoundaryTypes &bcTypes, const GlobalPosition &globalPos) const
 Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
 
void dirichlet (PrimaryVariables &values, const Intersection &intersection) const
 Evaluate the boundary conditions for a dirichlet control volume. More...
 
void dirichletAtPos (PrimaryVariables &values, const GlobalPosition &globalPos) const
 Evaluate the boundary conditions for a dirichlet control volume. More...
 
void neumann (PrimaryVariables &values, const Intersection &intersection) const
 Evaluate the boundary conditions for a neumann boundary segment. More...
 
void neumannAtPos (PrimaryVariables &values, const GlobalPosition &globalPos) const
 Evaluate the boundary conditions for a neumann boundary segment. More...
 
void source (PrimaryVariables &values, const Element &element) const
 Evaluate the source term. More...
 
void sourceAtPos (PrimaryVariables &values, const GlobalPosition &globalPos) const
 Evaluate the source term for all phases within a given sub-control-volume. More...
 
void initial (PrimaryVariables &values, const Element &element) const
 Evaluate the initial value for a control volume. More...
 
void initialAtPos (PrimaryVariables &values, const GlobalPosition &globalPos) const
 Evaluate the initial value for a control volume. More...
 
void init ()
 Called by the TimeManager in order to initialize the problem. More...
 
void timeIntegration ()
 Called by TimeManager in order to do a time integration on the model. More...
 
void advanceTimeLevel ()
 Called by the time manager after everything which can be done about the current time step is finished and the model should be prepared to do the next time integration. More...
 
Scalar timeStepSize () const
 Returns the current time step size [seconds]. More...
 
void setTimeStepSize (const Scalar dt)
 Sets the current time step size [seconds]. More...
 
Scalar nextTimeStepSize (const Scalar dt)
 Called by TimeManager whenever a solution for a timestep has been computed and the simulation time has been updated. More...
 
Scalar maxTimeStepSize () const
 Returns the maximum allowed time step size [s]. More...
 
void setOutputTimeInterval (const Scalar timeInterval)
 Sets a time interval for Output. More...
 
void setOutputInterval (const int interval)
 Sets the interval for Output. More...
 
bool shouldWriteOutput () const
 Returns true if the current solution should be written to disk (i.e. as a VTK file) More...
 
void episodeEnd ()
 Called when the end of an simulation episode is reached. More...
 
void setName (std::string newName)
 Set the problem name. More...
 
const GridView & gridView () const
 The GridView which used by the problem. More...
 
Grid & grid ()
 Returns the current grid which used by the problem. More...
 
void setGrid (Grid &grid)
 Specifies the grid from outside the problem. More...
 
GridAdaptModel & gridAdapt ()
 Returns adaptivity model used for the problem. More...
 
void preAdapt ()
 Capability to introduce problem-specific routines at the beginning of the grid adaptation. More...
 
void postAdapt ()
 Capability to introduce problem-specific routines after grid adaptation. More...
 
const VertexMapper & vertexMapper () const
 Returns the mapper for vertices to indices. More...
 
const ElementMapper & elementMapper () const
 Returns the mapper for elements to indices. More...
 
const GlobalPosition & bBoxMin () const
 The coordinate of the corner of the GridView's bounding box with the smallest values. More...
 
const GlobalPosition & bBoxMax () const
 The coordinate of the corner of the GridView's bounding box with the largest values. More...
 
Problem parameters
Scalar temperature (const Element &element) const
 Returns the temperature within the domain. More...
 
Scalar referencePressure (const Element &element) const
 Returns the reference pressure for evaluation of constitutive relations. More...
 
const GravityVector & gravity () const
 Returns the acceleration due to gravity. More...
 
SpatialParams & spatialParams ()
 Returns the spatial parameters object. More...
 
const SpatialParams & spatialParams () const
 Returns the spatial parameters object. More...
 
Access functions
TimeManager & timeManager ()
 Returns TimeManager object used by the simulation. More...
 
const TimeManager & timeManager () const
 Returns TimeManager object used by the simulation. More...
 
Variables & variables ()
 Returns variables container. More...
 
const Variables & variables () const
 Returns variables container. () More...
 
IMPETModel & model ()
 Returns numerical model used for the problem. More...
 
const IMPETModel & model () const
 Returns numerical model used for the problem. More...
 
PressureModel & pressureModel ()
 Returns the pressure model used for the problem. More...
 
const PressureModel & pressureModel () const
 Returns the pressure model used for the problem. More...
 
TransportModel & transportModel ()
 Returns transport model used for the problem. More...
 
const TransportModel & transportModel () const
 Returns transport model used for the problem. More...
 

Problem parameters

std::string name () const
 The problem name. More...
 
bool shouldWriteRestartFile () const
 Returns true if a restart file should be written. More...
 
Scalar temperatureAtPos (const GlobalPosition &globalPos) const
 Returns the temperature within the domain. More...
 
Scalar referencePressureAtPos (const GlobalPosition &globalPos) const
 Returns the reference pressure. More...
 
void boundaryTypesAtPos (BoundaryTypes &bcTypes, const GlobalPosition &globalPos) const
 Type of boundary condition. More...
 
void boundaryFormulation (typename Indices::BoundaryFormulation &bcFormulation, const Intersection &intersection) const
 Flag for the type of Dirichlet conditions. More...
 
void dirichletAtPos (PrimaryVariables &bcValues, const GlobalPosition &globalPos) const
 Values for dirichlet boundary condition \( [Pa] \) for pressure and \( \frac{mass}{totalmass} \) or \( S_{\alpha} \) for transport. More...
 
void neumannAtPos (PrimaryVariables &neumannValues, const GlobalPosition &globalPos) const
 Value for neumann boundary condition \( [\frac{kg}{m^3 \cdot s}] \). More...
 
void sourceAtPos (PrimaryVariables &sourceValues, const GlobalPosition &globalPos) const
 Source of mass \( [\frac{kg}{m^3 \cdot s}] \). More...
 
void initialFormulation (typename Indices::BoundaryFormulation &initialFormulation, const Element &element) const
 Flag for the type of initial conditions. More...
 
Scalar initConcentrationAtPos (const GlobalPosition &globalPos) const
 Concentration initial condition (dimensionless) More...
 

Problem parameters

Scalar initSat (const Element &element) const
 Saturation initial condition (dimensionless) More...
 
Scalar initSatAtPos (const GlobalPosition &globalPos) const
 Saturation initial condition (dimensionless) at given position. More...
 
Scalar initConcentration (const Element &element) const
 Concentration initial condition (dimensionless) More...
 
void setZero (typename GET_PROP_TYPE(TypeTag, PrimaryVariables) &values, const int equation=-1) const
 Sets entries of the primary variable vector to zero. More...
 

Restart mechanism

void serialize ()
 This method writes the complete state of the problem to the harddisk. More...
 
void restart (const double tRestart)
 This method restores the complete state of the problem from disk. More...
 
void addOutputVtkFields ()
 
int vtkOutputLevel () const
 Returns the vtk output verbosity level. More...
 
void writeOutput (bool verbose=true)
 Write the fields current solution into an VTK output file. More...
 
VtkMultiWriterresultWriter ()
 Returns the applied VTK-writer for the output. More...
 
VtkMultiWriterresultWriter () const
 Returns the applied VTK-writer for the output. More...
 

Constructor & Destructor Documentation

◆ TestMultTwoPTwoCProblem()

template<class TypeTag >
Dumux::TestMultTwoPTwoCProblem< TypeTag >::TestMultTwoPTwoCProblem ( TimeManager &  timeManager,
Grid &  grid,
const GlobalPosition &  upperRight = 0 
)
inline

Member Function Documentation

◆ addOutputVtkFields()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::addOutputVtkFields ( )
inlineinherited

◆ advanceTimeLevel()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::advanceTimeLevel ( )
inlineinherited

Called by the time manager after everything which can be done about the current time step is finished and the model should be prepared to do the next time integration.

◆ bBoxMax()

template<class TypeTag >
const GlobalPosition & Dumux::IMPETProblem< TypeTag >::bBoxMax ( ) const
inlineinherited

The coordinate of the corner of the GridView's bounding box with the largest values.

◆ bBoxMin()

template<class TypeTag >
const GlobalPosition & Dumux::IMPETProblem< TypeTag >::bBoxMin ( ) const
inlineinherited

The coordinate of the corner of the GridView's bounding box with the smallest values.

◆ boundaryFormulation()

template<class TypeTag >
void Dumux::TestMultTwoPTwoCProblem< TypeTag >::boundaryFormulation ( typename Indices::BoundaryFormulation &  bcFormulation,
const Intersection &  intersection 
) const
inline

Flag for the type of Dirichlet conditions.

The Dirichlet BCs can be specified by a given concentration (mass of a component per total mass inside the control volume) or by means of a saturation.

Parameters
bcFormulationThe boundary formulation for the conservation equations.
intersectionThe intersection on the boundary.

◆ boundaryTypes()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::boundaryTypes ( BoundaryTypes &  bcTypes,
const Intersection &  intersection 
) const
inlineinherited

Specifies which kind of boundary condition should be used for which equation on a given boundary segment.

Parameters
bcTypesThe boundary types for the conservation equations
intersectionThe intersection for which the boundary type is set

◆ boundaryTypesAtPos() [1/2]

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::boundaryTypesAtPos ( BoundaryTypes &  bcTypes,
const GlobalPosition &  globalPos 
) const
inlineinherited

Specifies which kind of boundary condition should be used for which equation on a given boundary segment.

Parameters
bcTypesThe boundary types for the conservation equations
globalPosThe position of the center of the boundary intersection

◆ boundaryTypesAtPos() [2/2]

template<class TypeTag >
void Dumux::TestMultTwoPTwoCProblem< TypeTag >::boundaryTypesAtPos ( BoundaryTypes &  bcTypes,
const GlobalPosition &  globalPos 
) const
inline

Type of boundary condition.

Defines the type the boundary condition for the conservation equation, e.g. Dirichlet or Neumann. The Pressure equation is acessed via Indices::pressureEqIdx, while the transport (or mass conservation -) equations are reached with Indices::contiWEqIdx and Indices::contiNEqIdx

Parameters
bcTypesThe boundary types for the conservation equations
globalPosThe global Position

◆ dirichlet()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::dirichlet ( PrimaryVariables &  values,
const Intersection &  intersection 
) const
inlineinherited

Evaluate the boundary conditions for a dirichlet control volume.

Parameters
valuesThe dirichlet values for the primary variables
intersectionThe boundary intersection

For this method, the values parameter stores primary variables.

◆ dirichletAtPos() [1/2]

template<class TypeTag >
void Dumux::TestMultTwoPTwoCProblem< TypeTag >::dirichletAtPos ( PrimaryVariables &  bcValues,
const GlobalPosition &  globalPos 
) const
inline

Values for dirichlet boundary condition \( [Pa] \) for pressure and \( \frac{mass}{totalmass} \) or \( S_{\alpha} \) for transport.

In case of a dirichlet BC, values for all primary variables have to be set. In the sequential 2p2c model, a pressure is required for the pressure equation and component fractions for the transport equations. Although one BC for the two transport equations can be deduced by the other, it is seperately defined for consistency reasons with other models. Depending on the boundary Formulation, either saturation or total mass fractions can be defined.

Parameters
bcValuesVector holding values for all equations (pressure and transport).
globalPosThe global Position

◆ dirichletAtPos() [2/2]

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::dirichletAtPos ( PrimaryVariables &  values,
const GlobalPosition &  globalPos 
) const
inlineinherited

Evaluate the boundary conditions for a dirichlet control volume.

Parameters
valuesThe dirichlet values for the primary variables
globalPosThe position of the center of the boundary intersection

For this method, the values parameter stores primary variables.

◆ elementMapper()

template<class TypeTag >
const ElementMapper & Dumux::IMPETProblem< TypeTag >::elementMapper ( ) const
inlineinherited

Returns the mapper for elements to indices.

◆ episodeEnd()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::episodeEnd ( )
inlineinherited

Called when the end of an simulation episode is reached.

◆ gravity()

template<class TypeTag >
const GravityVector & Dumux::IMPESProblem2P< TypeTag >::gravity ( ) const
inlineinherited

Returns the acceleration due to gravity.

If the EnableGravity property is true, this means \(\boldsymbol{g} = ( 0,\dots,\ -9.81)^T \), else \(\boldsymbol{g} = ( 0,\dots, 0)^T \)

◆ grid()

template<class TypeTag >
Grid & Dumux::IMPETProblem< TypeTag >::grid ( )
inlineinherited

Returns the current grid which used by the problem.

◆ gridAdapt()

template<class TypeTag >
GridAdaptModel & Dumux::IMPETProblem< TypeTag >::gridAdapt ( )
inlineinherited

Returns adaptivity model used for the problem.

◆ gridView()

template<class TypeTag >
const GridView & Dumux::IMPETProblem< TypeTag >::gridView ( ) const
inlineinherited

The GridView which used by the problem.

◆ init()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::init ( )
inlineinherited

Called by the TimeManager in order to initialize the problem.

◆ initConcentration()

template<class TypeTag >
Scalar Dumux::IMPETProblem2P2C< TypeTag >::initConcentration ( const Element &  element) const
inlineinherited

Concentration initial condition (dimensionless)

The problem is initialized with a feed mass fraction: Mass of component 1 per total mass \(\mathrm{[-]}\). This directly enters the flash calucalation.

Parameters
elementThe element.

◆ initConcentrationAtPos()

template<class TypeTag >
Scalar Dumux::TestMultTwoPTwoCProblem< TypeTag >::initConcentrationAtPos ( const GlobalPosition &  globalPos) const
inline

Concentration initial condition (dimensionless)

The problem is initialized with the following concentration.

◆ initial()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::initial ( PrimaryVariables &  values,
const Element &  element 
) const
inlineinherited

Evaluate the initial value for a control volume.

Parameters
valuesThe initial values for the primary variables
elementThe element

For this method, the values parameter stores primary variables.

◆ initialAtPos()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::initialAtPos ( PrimaryVariables &  values,
const GlobalPosition &  globalPos 
) const
inlineinherited

Evaluate the initial value for a control volume.

Parameters
valuesThe dirichlet values for the primary variables
globalPosThe position of the center of the finite volume for which the initial values ought to be set (in global coordinates)

For this method, the values parameter stores primary variables.

◆ initialFormulation()

template<class TypeTag >
void Dumux::TestMultTwoPTwoCProblem< TypeTag >::initialFormulation ( typename Indices::BoundaryFormulation &  initialFormulation,
const Element &  element 
) const
inline

Flag for the type of initial conditions.

The problem can be initialized by a given concentration (mass of a component per total mass inside the control volume) or by means of a saturation.

◆ initSat()

template<class TypeTag >
Scalar Dumux::IMPETProblem2P2C< TypeTag >::initSat ( const Element &  element) const
inlineinherited

Saturation initial condition (dimensionless)

The problem is initialized with the following saturation. Both phases are assumed to contain an equilibrium concentration of the correspondingly other component.

Parameters
elementThe element.

◆ initSatAtPos()

template<class TypeTag >
Scalar Dumux::IMPETProblem2P2C< TypeTag >::initSatAtPos ( const GlobalPosition &  globalPos) const
inlineinherited

Saturation initial condition (dimensionless) at given position.

Has to be provided if initSat() is not used in the specific problem.

Parameters
globalPosThe global position.

◆ maxTimeStepSize()

template<class TypeTag >
Scalar Dumux::IMPETProblem< TypeTag >::maxTimeStepSize ( ) const
inlineinherited

Returns the maximum allowed time step size [s].

By default this the time step size is unrestricted.

◆ model() [1/2]

template<class TypeTag >
IMPETModel & Dumux::IMPETProblem< TypeTag >::model ( )
inlineinherited

Returns numerical model used for the problem.

◆ model() [2/2]

template<class TypeTag >
const IMPETModel & Dumux::IMPETProblem< TypeTag >::model ( ) const
inlineinherited

Returns numerical model used for the problem.

◆ name()

template<class TypeTag >
std::string Dumux::TestMultTwoPTwoCProblem< TypeTag >::name ( ) const
inline

The problem name.

This is used as a prefix for files generated by the simulation.

◆ neumann()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::neumann ( PrimaryVariables &  values,
const Intersection &  intersection 
) const
inlineinherited

Evaluate the boundary conditions for a neumann boundary segment.

Parameters
valuesThe neumann values for the conservation equations [kg / (m^2 *s )]
intersectionThe boundary intersection

For this method, the values parameter stores the mass flux in normal direction of each phase. Negative values mean influx.

◆ neumannAtPos() [1/2]

template<class TypeTag >
void Dumux::TestMultTwoPTwoCProblem< TypeTag >::neumannAtPos ( PrimaryVariables &  neumannValues,
const GlobalPosition &  globalPos 
) const
inline

Value for neumann boundary condition \( [\frac{kg}{m^3 \cdot s}] \).

In case of a neumann boundary condition, the flux of matter is returned. Both pressure and transport module regard the neumann-bc values with the tranport (mass conservation -) equation indices. So the first entry of the vector is superflous. An influx into the domain has negative sign.

Parameters
neumannValuesVector holding values for all equations (pressure and transport).
globalPosThe global Position

◆ neumannAtPos() [2/2]

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::neumannAtPos ( PrimaryVariables &  values,
const GlobalPosition &  globalPos 
) const
inlineinherited

Evaluate the boundary conditions for a neumann boundary segment.

Parameters
valuesThe neumann values for the conservation equations [kg / (m^2 *s )]
globalPosThe position of the center of the boundary intersection

For this method, the values parameter stores the mass flux in normal direction of each phase. Negative values mean influx.

◆ nextTimeStepSize()

template<class TypeTag >
Scalar Dumux::IMPETProblem< TypeTag >::nextTimeStepSize ( const Scalar  dt)
inlineinherited

Called by TimeManager whenever a solution for a timestep has been computed and the simulation time has been updated.

◆ postAdapt()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::postAdapt ( )
inlineinherited

Capability to introduce problem-specific routines after grid adaptation.

Function is called at the end of the standard grid modification routine, GridAdapt::adaptGrid() , to allow for problem-specific output etc.

◆ postTimeStep()

template<class TypeTag >
void Dumux::IMPETProblem2P2C< TypeTag >::postTimeStep ( )
inlineinherited

Called by the time manager after everything which can be done about the current time step is finished and the model should be prepared to do the next time integration.

In compositional/compressible models, the secondary variables should be updated for output and the next time step via updateMaterialLaws. The boolean indicates that it is a call from postTimeStep().

◆ preAdapt()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::preAdapt ( )
inlineinherited

Capability to introduce problem-specific routines at the beginning of the grid adaptation.

Function is called at the beginning of the standard grid modification routine, GridAdapt::adaptGrid() .

◆ pressureModel() [1/2]

template<class TypeTag >
PressureModel & Dumux::IMPETProblem< TypeTag >::pressureModel ( )
inlineinherited

Returns the pressure model used for the problem.

◆ pressureModel() [2/2]

template<class TypeTag >
const PressureModel & Dumux::IMPETProblem< TypeTag >::pressureModel ( ) const
inlineinherited

Returns the pressure model used for the problem.

◆ preTimeStep()

template<class TypeTag >
void Dumux::IMPETProblem2P2C< TypeTag >::preTimeStep ( )
inlineinherited

Called by TimeManager just before the time integration.

In compositional/compressible models, the secondary variables should be updated after each time step. Hence, another update is only necessary if the grid is adapted.

◆ referencePressure()

template<class TypeTag >
Scalar Dumux::IMPESProblem2P< TypeTag >::referencePressure ( const Element &  element) const
inlineinherited

Returns the reference pressure for evaluation of constitutive relations.

Parameters
elementThe element

◆ referencePressureAtPos()

template<class TypeTag >
Scalar Dumux::TestMultTwoPTwoCProblem< TypeTag >::referencePressureAtPos ( const GlobalPosition &  globalPos) const
inline

Returns the reference pressure.

◆ restart()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::restart ( const double  tRestart)
inlineinherited

This method restores the complete state of the problem from disk.

It is the inverse of the serialize() method.

Parameters
tRestartRestart time

◆ resultWriter() [1/2]

template<class TypeTag >
VtkMultiWriter & Dumux::IMPETProblem< TypeTag >::resultWriter ( )
inlineprotectedinherited

Returns the applied VTK-writer for the output.

◆ resultWriter() [2/2]

template<class TypeTag >
VtkMultiWriter & Dumux::IMPETProblem< TypeTag >::resultWriter ( ) const
inlineprotectedinherited

Returns the applied VTK-writer for the output.

◆ serialize()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::serialize ( )
inlineinherited

This method writes the complete state of the problem to the harddisk.

The file will start with the prefix returned by the name() method, has the current time of the simulation clock in it's name and uses the extension .drs. (Dumux ReStart file.) See Restart for details.

◆ setGrid()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::setGrid ( Grid &  grid)
inlineinherited

Specifies the grid from outside the problem.

Parameters
gridThe grid used by the problem.

◆ setName()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::setName ( std::string  newName)
inlineinherited

Set the problem name.

This function sets the simulation name, which should be called before the application porblem is declared! If not, the default name "sim" will be used.

Parameters
newNameThe problem's name

◆ setOutputInterval()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::setOutputInterval ( const int  interval)
inlineinherited

Sets the interval for Output.

The default is 1 -> Output every time step

◆ setOutputTimeInterval()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::setOutputTimeInterval ( const Scalar  timeInterval)
inlineinherited

Sets a time interval for Output.

The default is 0.0 -> Output determined by output number interval (setOutputInterval(int))

◆ setTimeStepSize()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::setTimeStepSize ( const Scalar  dt)
inlineinherited

Sets the current time step size [seconds].

◆ setZero()

template<class TypeTag >
void Dumux::IMPETProblem2P2C< TypeTag >::setZero ( typename GET_PROP_TYPE(TypeTag, PrimaryVariables) &  values,
const int  equation = -1 
) const
inlineprotectedinherited

Sets entries of the primary variable vector to zero.

◆ shouldWriteOutput()

template<class TypeTag >
bool Dumux::IMPETProblem< TypeTag >::shouldWriteOutput ( ) const
inlineinherited

Returns true if the current solution should be written to disk (i.e. as a VTK file)

The default behaviour is to write out every the solution for very time step. This file is intented to be overwritten by the implementation.

◆ shouldWriteRestartFile()

template<class TypeTag >
bool Dumux::TestMultTwoPTwoCProblem< TypeTag >::shouldWriteRestartFile ( ) const
inline

Returns true if a restart file should be written.

◆ source()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::source ( PrimaryVariables &  values,
const Element &  element 
) const
inlineinherited

Evaluate the source term.

Parameters
valuesThe source and sink values for the conservation equations
elementThe element

For this method, the values parameter stores the rate mass generated or annihilate per volume unit. Positive values mean that mass is created, negative ones mean that it vanishes.

◆ sourceAtPos() [1/2]

template<class TypeTag >
void Dumux::TestMultTwoPTwoCProblem< TypeTag >::sourceAtPos ( PrimaryVariables &  sourceValues,
const GlobalPosition &  globalPos 
) const
inline

Source of mass \( [\frac{kg}{m^3 \cdot s}] \).

Evaluate the source term for all phases within a given volume. The method returns the mass generated (positive) or annihilated (negative) per volume unit. Both pressure and transport module regard the neumann-bc values with the tranport (mass conservation -) equation indices. So the first entry of the vector is superflous.

Parameters
sourceValuesVector holding values for all equations (pressure and transport).
globalPosThe global Position

◆ sourceAtPos() [2/2]

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::sourceAtPos ( PrimaryVariables &  values,
const GlobalPosition &  globalPos 
) const
inlineinherited

Evaluate the source term for all phases within a given sub-control-volume.

Parameters
valuesThe source and sink values for the conservation equations
globalPosThe position of the center of the finite volume for which the source term ought to be specified in global coordinates

For this method, the values parameter stores the rate mass generated or annihilate per volume unit. Positive values mean that mass is created, negative ones mean that it vanishes.

◆ spatialParams() [1/2]

template<class TypeTag >
SpatialParams & Dumux::IMPESProblem2P< TypeTag >::spatialParams ( )
inlineinherited

Returns the spatial parameters object.

◆ spatialParams() [2/2]

template<class TypeTag >
const SpatialParams & Dumux::IMPESProblem2P< TypeTag >::spatialParams ( ) const
inlineinherited

Returns the spatial parameters object.

◆ temperature()

template<class TypeTag >
Scalar Dumux::IMPESProblem2P< TypeTag >::temperature ( const Element &  element) const
inlineinherited

Returns the temperature within the domain.

Parameters
elementThe element

◆ temperatureAtPos()

template<class TypeTag >
Scalar Dumux::TestMultTwoPTwoCProblem< TypeTag >::temperatureAtPos ( const GlobalPosition &  globalPos) const
inline

Returns the temperature within the domain.

This problem assumes a temperature of 10 degrees Celsius.

Parameters
globalPosThe global Position

◆ timeIntegration()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::timeIntegration ( )
inlineinherited

Called by TimeManager in order to do a time integration on the model.

Note
timeStepSize and nextStepSize are references and may be modified by the timeIntegration(). On exit of this function timeStepSize must contain the step size actually used by the time integration for the current steo, and nextStepSize must contain a suggestion for the next time step size.

◆ timeManager() [1/2]

template<class TypeTag >
TimeManager & Dumux::IMPETProblem< TypeTag >::timeManager ( )
inlineinherited

Returns TimeManager object used by the simulation.

◆ timeManager() [2/2]

template<class TypeTag >
const TimeManager & Dumux::IMPETProblem< TypeTag >::timeManager ( ) const
inlineinherited

Returns TimeManager object used by the simulation.

◆ timeStepSize()

template<class TypeTag >
Scalar Dumux::IMPETProblem< TypeTag >::timeStepSize ( ) const
inlineinherited

Returns the current time step size [seconds].

◆ transportModel() [1/2]

template<class TypeTag >
TransportModel & Dumux::IMPETProblem< TypeTag >::transportModel ( )
inlineinherited

Returns transport model used for the problem.

◆ transportModel() [2/2]

template<class TypeTag >
const TransportModel & Dumux::IMPETProblem< TypeTag >::transportModel ( ) const
inlineinherited

Returns transport model used for the problem.

◆ variables() [1/2]

template<class TypeTag >
Variables & Dumux::IMPETProblem< TypeTag >::variables ( )
inlineinherited

Returns variables container.

This provides access to the important variables that are used in the simulation process, such as pressure, saturation etc.

◆ variables() [2/2]

template<class TypeTag >
const Variables & Dumux::IMPETProblem< TypeTag >::variables ( ) const
inlineinherited

Returns variables container. ()

This provides access to the important variables that are used in the simulation process, such as pressure, saturation etc. ()

◆ vertexMapper()

template<class TypeTag >
const VertexMapper & Dumux::IMPETProblem< TypeTag >::vertexMapper ( ) const
inlineinherited

Returns the mapper for vertices to indices.

◆ vtkOutputLevel()

template<class TypeTag >
int Dumux::IMPETProblem< TypeTag >::vtkOutputLevel ( ) const
inlineinherited

Returns the vtk output verbosity level.

Level is set by property or input file.

◆ writeOutput()

template<class TypeTag >
void Dumux::IMPETProblem< TypeTag >::writeOutput ( bool  verbose = true)
inlineinherited

Write the fields current solution into an VTK output file.


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