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

Storage container for discretized data of the constitutive relations for one element. More...

#include <dumux/porousmediumflow/2p2c/sequential/celldata.hh>

Inheritance diagram for Dumux::CellData2P2C< TypeTag >:

Description

template<class TypeTag>
class Dumux::CellData2P2C< TypeTag >

Storage container for discretized data of the constitutive relations for one element.

This class stores all cell-centered (FV-Scheme) values for sequential compositional two-phase flow models that are used by both pressure and transport model. All fluid data are already stored in the fluidstate, so the CellData contains the fluidstate object for the current element. At the moment, the compositional model does not use fluxVariables that are stored on the interfaces.

Template Parameters
TypeTagThe Type Tag

Public Member Functions

 CellData2P2C ()
 Constructor for a local CellData object. More...
 
FluxDatafluxData ()
 Acess to flux data, representing information living on the intersections. More...
 
const FluxDatafluxData () const
 Constant acess to flux data, representing information living on the intersections. More...
 
Acess to primary variables
Scalar pressure (int phaseIdx)
 Acess to the phase pressure. More...
 
const Scalar pressure (int phaseIdx) const
 Acess to the phase pressure. More...
 
const Scalar totalConcentration (int compIdx) const
 Returns the total mass concentration of a component \(\mathrm{[kg/m^3]}\). More...
 
const Scalar massConcentration (int compIdx) const
 Returns the total mass concentration of a component \(\mathrm{[kg/m^3]}\). More...
 
void setTotalConcentration (int compIdx, Scalar value)
 Sets the total mass concentration of a component \(\mathrm{[kg/m^3]}\). More...
 
void setMassConcentration (int compIdx, Scalar value)
 Sets the total mass concentration of a component \(\mathrm{[kg/m^3]}\). More...
 
void calculateMassConcentration (Scalar porosity)
 Calculate the total mass concentration of a component \(\mathrm{[kg/m^3]}\) for a given porosity (within the initialization procedure). More...
 
Acess to secondary variables
const Scalar & mobility (int phaseIdx) const
 Return phase mobilities. More...
 
void setMobility (int phaseIdx, Scalar value)
 Set phase mobilities. More...
 
Scalar & volumeError ()
 Return the volume error [-]. This quantity stands for the deviation of real fluid volume to available pore space. \( \epsilon = v_{real} - \phi\). More...
 
const Scalar & volumeError () const
 Return the volume error [-]. More...
 
Scalar & errorCorrection ()
 Return the error Correction This quantifies the damped error that actually entered the pressure equation: Damped Error from last time-step times last time step size. More...
 
const Scalar & errorCorrection () const
 Return the error Correction. More...
 
Scalar & dv_dp ()
 Return the derivative of specific volume w.r.t. pressure For details, see description of FVPressureCompositional<TypeTag>::volumeDerivatives() More...
 
const Scalar & dv_dp () const
 Return the derivative of specific volume w.r.t. pressure. More...
 
Scalar & dv (int compIdx)
 Return the derivative of spec. volume w.r.t. change of mass For details, see description of FVPressureCompositional<TypeTag>::volumeDerivatives() More...
 
const Scalar & dv (int compIdx) const
 Return the derivative of spec. volume w.r.t. change of mass For details, see description of FVPressureCompositional<TypeTag>::volumeDerivatives() More...
 
Scalar & perimeter ()
 Return cell perimeter (as weithing function) The cell perimeter is used in combination with the face Area as a weighting of the volume integral in the pressure equation. More...
 
const Scalar & perimeter () const
 Return cell perimeter (as weithing function) More...
 
const Scalar saturation (int phaseIdx) const
 DOC ME! More...
 
const Scalar viscosity (int phaseIdx) const
 DOC ME! More...
 
const Scalar capillaryPressure () const
 Returns the capillary pressure \(\mathrm{[Pa]}\). More...
 
const Scalar density (int phaseIdx) const
 DOC ME! More...
 
const Scalar massFraction (int phaseIdx, int compIdx) const
 DOC ME! More...
 
const Scalar moleFraction (int phaseIdx, int compIdx) const
 DOC ME! More...
 
const Scalar temperature (int phaseIdx) const
 DOC ME! More...
 
const Scalar phaseMassFraction (int phaseIdx) const
 DOC ME! More...
 
const FluidState & fluidState () const
 Returns a reference to the cells fluid state. More...
 
FluidState & manipulateFluidState ()
 Allows manipulation of the cells fluid state Fluidstate is stored as a pointer, initialized as a null-pointer. Ensure that if no FluidState is present, a new one is created. More...
 
int & globalIdx ()
 stores this cell datas index, only for debugging purposes!! More...
 
bool hasVolumeDerivatives () const
 Indicates if volume derivatives are computed and available. More...
 
void confirmVolumeDerivatives ()
 Specifies that volume derivatives are computed and available. More...
 
void volumeDerivativesAvailable (bool value)
 Specifies if volume derivatives are computed and available. More...
 
void reset ()
 Resets the cell data after a timestep was completed: No volume derivatives yet available. More...
 
bool & wasRefined ()
 Indicates if current cell was refined at this time step. More...
 
const bool & wasRefined () const
 Indicates if current cell was refined at this time step. More...
 
const bool & isUpwindCell (int indexInInside, int phaseIdx) const
 Indicates if current cell is the upwind cell for a given interface. More...
 
void setUpwindCell (int indexInInside, int phaseIdx, bool value)
 Specifies if current cell is the upwind cell for a given interface. More...
 

Protected Attributes

Scalar massConcentration_ [numComponents]
 
Scalar mobility_ [numPhases]
 
Scalar volumeError_
 
Scalar errorCorrection_
 
Scalar dv_dp_
 
Scalar dv_ [numComponents]
 
bool volumeDerivativesAvailable_
 
bool wasRefined_
 
int globalIdx_
 
Scalar perimeter_
 
std::shared_ptr< FluidState > fluidState_
 
FluxData fluxData_
 

Constructor & Destructor Documentation

◆ CellData2P2C()

template<class TypeTag >
Dumux::CellData2P2C< TypeTag >::CellData2P2C ( )
inline

Constructor for a local CellData object.

Member Function Documentation

◆ calculateMassConcentration()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::calculateMassConcentration ( Scalar  porosity)
inline

Calculate the total mass concentration of a component \(\mathrm{[kg/m^3]}\) for a given porosity (within the initialization procedure).

Parameters
porosityPorosity

◆ capillaryPressure()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::capillaryPressure ( ) const
inline

Returns the capillary pressure \(\mathrm{[Pa]}\).

◆ confirmVolumeDerivatives()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::confirmVolumeDerivatives ( )
inline

Specifies that volume derivatives are computed and available.

◆ density()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::density ( int  phaseIdx) const
inline

DOC ME!

◆ dv() [1/2]

template<class TypeTag >
Scalar & Dumux::CellData2P2C< TypeTag >::dv ( int  compIdx)
inline

Return the derivative of spec. volume w.r.t. change of mass For details, see description of FVPressureCompositional<TypeTag>::volumeDerivatives()

Parameters
compIdxindex of the Component

◆ dv() [2/2]

template<class TypeTag >
const Scalar & Dumux::CellData2P2C< TypeTag >::dv ( int  compIdx) const
inline

Return the derivative of spec. volume w.r.t. change of mass For details, see description of FVPressureCompositional<TypeTag>::volumeDerivatives()

Parameters
compIdxindex of the Component

◆ dv_dp() [1/2]

template<class TypeTag >
Scalar & Dumux::CellData2P2C< TypeTag >::dv_dp ( )
inline

Return the derivative of specific volume w.r.t. pressure For details, see description of FVPressureCompositional<TypeTag>::volumeDerivatives()

◆ dv_dp() [2/2]

template<class TypeTag >
const Scalar & Dumux::CellData2P2C< TypeTag >::dv_dp ( ) const
inline

Return the derivative of specific volume w.r.t. pressure.

◆ errorCorrection() [1/2]

template<class TypeTag >
Scalar & Dumux::CellData2P2C< TypeTag >::errorCorrection ( )
inline

Return the error Correction This quantifies the damped error that actually entered the pressure equation: Damped Error from last time-step times last time step size.

◆ errorCorrection() [2/2]

template<class TypeTag >
const Scalar & Dumux::CellData2P2C< TypeTag >::errorCorrection ( ) const
inline

Return the error Correction.

◆ fluidState()

template<class TypeTag >
const FluidState & Dumux::CellData2P2C< TypeTag >::fluidState ( ) const
inline

Returns a reference to the cells fluid state.

◆ fluxData() [1/2]

template<class TypeTag >
FluxData & Dumux::CellData2P2C< TypeTag >::fluxData ( )
inline

Acess to flux data, representing information living on the intersections.

◆ fluxData() [2/2]

template<class TypeTag >
const FluxData & Dumux::CellData2P2C< TypeTag >::fluxData ( ) const
inline

Constant acess to flux data, representing information living on the intersections.

◆ globalIdx()

template<class TypeTag >
int & Dumux::CellData2P2C< TypeTag >::globalIdx ( )
inline

stores this cell datas index, only for debugging purposes!!

◆ hasVolumeDerivatives()

template<class TypeTag >
bool Dumux::CellData2P2C< TypeTag >::hasVolumeDerivatives ( ) const
inline

Indicates if volume derivatives are computed and available.

◆ isUpwindCell()

template<class TypeTag >
const bool & Dumux::CellData2P2C< TypeTag >::isUpwindCell ( int  indexInInside,
int  phaseIdx 
) const
inline

Indicates if current cell is the upwind cell for a given interface.

Parameters
indexInInsideLocal face index seen from current cell
phaseIdxThe index of the phase

◆ manipulateFluidState()

template<class TypeTag >
FluidState & Dumux::CellData2P2C< TypeTag >::manipulateFluidState ( )
inline

Allows manipulation of the cells fluid state Fluidstate is stored as a pointer, initialized as a null-pointer. Ensure that if no FluidState is present, a new one is created.

◆ massConcentration()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::massConcentration ( int  compIdx) const
inline

Returns the total mass concentration of a component \(\mathrm{[kg/m^3]}\).

This is equivalent to the sum of the component concentrations for all phases multiplied with the phase density.

Parameters
compIdxthe index of the component

◆ massFraction()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::massFraction ( int  phaseIdx,
int  compIdx 
) const
inline

DOC ME!

◆ mobility()

template<class TypeTag >
const Scalar & Dumux::CellData2P2C< TypeTag >::mobility ( int  phaseIdx) const
inline

Return phase mobilities.

Parameters
phaseIdxindex of the Phase

◆ moleFraction()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::moleFraction ( int  phaseIdx,
int  compIdx 
) const
inline

DOC ME!

◆ perimeter() [1/2]

template<class TypeTag >
Scalar & Dumux::CellData2P2C< TypeTag >::perimeter ( )
inline

Return cell perimeter (as weithing function) The cell perimeter is used in combination with the face Area as a weighting of the volume integral in the pressure equation.

◆ perimeter() [2/2]

template<class TypeTag >
const Scalar & Dumux::CellData2P2C< TypeTag >::perimeter ( ) const
inline

Return cell perimeter (as weithing function)

◆ phaseMassFraction()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::phaseMassFraction ( int  phaseIdx) const
inline

DOC ME!

◆ pressure() [1/2]

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::pressure ( int  phaseIdx)
inline

Acess to the phase pressure.

Parameters
phaseIdxindex of the Phase

◆ pressure() [2/2]

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::pressure ( int  phaseIdx) const
inline

Acess to the phase pressure.

Parameters
phaseIdxindex of the Phase

◆ reset()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::reset ( )
inline

Resets the cell data after a timestep was completed: No volume derivatives yet available.

◆ saturation()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::saturation ( int  phaseIdx) const
inline

DOC ME!

◆ setMassConcentration()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::setMassConcentration ( int  compIdx,
Scalar  value 
)
inline

Sets the total mass concentration of a component \(\mathrm{[kg/m^3]}\).

Parameters
compIdxindex of the Component
valueValue to be stored

◆ setMobility()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::setMobility ( int  phaseIdx,
Scalar  value 
)
inline

Set phase mobilities.

Parameters
phaseIdxindex of the Phase
valueValue to be stored

◆ setTotalConcentration()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::setTotalConcentration ( int  compIdx,
Scalar  value 
)
inline

Sets the total mass concentration of a component \(\mathrm{[kg/m^3]}\).

Parameters
compIdxindex of the Component
valueValue to be stored

◆ setUpwindCell()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::setUpwindCell ( int  indexInInside,
int  phaseIdx,
bool  value 
)
inline

Specifies if current cell is the upwind cell for a given interface.

Parameters
indexInInsideLocal face index seen from current cell
phaseIdxThe index of the phase
valueValue: true (->outflow) or false (-> inflow)

◆ temperature()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::temperature ( int  phaseIdx) const
inline

DOC ME!

◆ totalConcentration()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::totalConcentration ( int  compIdx) const
inline

Returns the total mass concentration of a component \(\mathrm{[kg/m^3]}\).

This is equivalent to the sum of the component concentrations for all phases multiplied with the phase density.

Parameters
compIdxthe index of the component

◆ viscosity()

template<class TypeTag >
const Scalar Dumux::CellData2P2C< TypeTag >::viscosity ( int  phaseIdx) const
inline

DOC ME!

◆ volumeDerivativesAvailable()

template<class TypeTag >
void Dumux::CellData2P2C< TypeTag >::volumeDerivativesAvailable ( bool  value)
inline

Specifies if volume derivatives are computed and available.

◆ volumeError() [1/2]

template<class TypeTag >
Scalar & Dumux::CellData2P2C< TypeTag >::volumeError ( )
inline

Return the volume error [-]. This quantity stands for the deviation of real fluid volume to available pore space. \( \epsilon = v_{real} - \phi\).

◆ volumeError() [2/2]

template<class TypeTag >
const Scalar & Dumux::CellData2P2C< TypeTag >::volumeError ( ) const
inline

Return the volume error [-].

◆ wasRefined() [1/2]

template<class TypeTag >
bool & Dumux::CellData2P2C< TypeTag >::wasRefined ( )
inline

Indicates if current cell was refined at this time step.

◆ wasRefined() [2/2]

template<class TypeTag >
const bool & Dumux::CellData2P2C< TypeTag >::wasRefined ( ) const
inline

Indicates if current cell was refined at this time step.

Member Data Documentation

◆ dv_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::dv_[numComponents]
protected

◆ dv_dp_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::dv_dp_
protected

◆ errorCorrection_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::errorCorrection_
protected

◆ fluidState_

template<class TypeTag >
std::shared_ptr<FluidState> Dumux::CellData2P2C< TypeTag >::fluidState_
protected

◆ fluxData_

template<class TypeTag >
FluxData Dumux::CellData2P2C< TypeTag >::fluxData_
protected

◆ globalIdx_

template<class TypeTag >
int Dumux::CellData2P2C< TypeTag >::globalIdx_
protected

◆ massConcentration_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::massConcentration_[numComponents]
protected

◆ mobility_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::mobility_[numPhases]
protected

◆ perimeter_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::perimeter_
protected

◆ volumeDerivativesAvailable_

template<class TypeTag >
bool Dumux::CellData2P2C< TypeTag >::volumeDerivativesAvailable_
protected

◆ volumeError_

template<class TypeTag >
Scalar Dumux::CellData2P2C< TypeTag >::volumeError_
protected

◆ wasRefined_

template<class TypeTag >
bool Dumux::CellData2P2C< TypeTag >::wasRefined_
protected

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