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

Storage container for discretized data for multiphysics models. More...

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

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

Description

template<class TypeTag>
class Dumux::CellData2P2CMultiPhysics< TypeTag >

Storage container for discretized data for multiphysics models.

For multi-physics models, we divide the model in separate sub-domains. Being a cell-based information, this is also stored in the cellData. In addition, a simpler version of a fluidState can be stored in cells being in the simpler subdomain. Hence, acess functions either direct to the full fluidstate, or to the simple fluidstate.

Template Parameters
TypeTagThe Type Tag

Public Member Functions

 CellData2P2CMultiPhysics ()
 Constructor for a local storage 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)
 DOC ME! More...
 
const Scalar pressure (int phaseIdx) const
 DOC ME! More...
 
void setPressure (int phaseIdx, Scalar value)
 DOC ME! More...
 
int & subdomain ()
 Return subdomain information. More...
 
const int & subdomain () const
 Return subdomain information. More...
 
void setSubdomainAndFluidStateType (int index)
 Specify subdomain information and fluidStateType. More...
 
Acess to secondary variables
void setSaturation (int phaseIdx, Scalar value)
 DOC ME! More...
 
const Scalar saturation (int phaseIdx) const
 DOC ME! More...
 
void setViscosity (int phaseIdx, Scalar value)
 DOC ME! More...
 
const Scalar viscosity (int phaseIdx) const
 DOC ME! More...
 
const Scalar capillaryPressure () const
 DOC ME! 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 SimpleFluidStatesimpleFluidState () const
 Returns a reference to the cells simple fluid state. More...
 
void setSimpleFluidState (SimpleFluidState &simpleFluidState)
 Set a simple fluidstate for a cell in the simple domain Uses a simplified fluidstate with less storage capacity and functionality. Makes shure the fluidStateType_ flag is set appropriately in this cell. More...
 
SimpleFluidStatemanipulateSimpleFluidState ()
 Manipulates a simple fluidstate for a cell in the simple domain. More...
 
FluidState & manipulateFluidState ()
 Allows manipulation of the complex fluid state. More...
 
bool fluidStateType () const
 Returns the type of the fluidState. More...
 
Acess to primary variables
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 FluidState & fluidState () const
 Returns a reference to the cells fluid state. 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

◆ CellData2P2CMultiPhysics()

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

Constructor for a local storage object.

Member Function Documentation

◆ calculateMassConcentration()

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

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::CellData2P2CMultiPhysics< TypeTag >::capillaryPressure ( ) const
inline

DOC ME!

◆ confirmVolumeDerivatives()

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

Specifies that volume derivatives are computed and available.

◆ density()

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

DOC ME!

◆ dv() [1/2]

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

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
inlineinherited

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 ( )
inlineinherited

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
inlineinherited

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

◆ errorCorrection() [1/2]

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

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
inlineinherited

Return the error Correction.

◆ fluidState()

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

Returns a reference to the cells fluid state.

◆ fluidStateType()

template<class TypeTag >
bool Dumux::CellData2P2CMultiPhysics< TypeTag >::fluidStateType ( ) const
inline

Returns the type of the fluidState.

◆ fluxData() [1/2]

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

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

◆ fluxData() [2/2]

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

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

◆ globalIdx()

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

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

◆ hasVolumeDerivatives()

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

Indicates if volume derivatives are computed and available.

◆ isUpwindCell()

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

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::CellData2P2CMultiPhysics< TypeTag >::manipulateFluidState ( )
inline

Allows manipulation of the complex fluid state.

Fluidstate is stored as a pointer, initialized as a null-pointer. Enshure that if no FluidState is present, a new one is created. Also enshure that we are in the complex subdomain.

◆ manipulateSimpleFluidState()

template<class TypeTag >
SimpleFluidState & Dumux::CellData2P2CMultiPhysics< TypeTag >::manipulateSimpleFluidState ( )
inline

Manipulates a simple fluidstate for a cell in the simple domain.

◆ massConcentration()

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

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::CellData2P2CMultiPhysics< TypeTag >::massFraction ( int  phaseIdx,
int  compIdx 
) const
inline

DOC ME!

◆ mobility()

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

Return phase mobilities.

Parameters
phaseIdxindex of the Phase

◆ moleFraction()

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

DOC ME!

◆ perimeter() [1/2]

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

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
inlineinherited

Return cell perimeter (as weithing function)

◆ phaseMassFraction()

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

DOC ME!

◆ pressure() [1/2]

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

DOC ME!

◆ pressure() [2/2]

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

DOC ME!

◆ reset()

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

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

◆ saturation()

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

DOC ME!

◆ setMassConcentration()

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

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 
)
inlineinherited

Set phase mobilities.

Parameters
phaseIdxindex of the Phase
valueValue to be stored

◆ setPressure()

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

DOC ME!

◆ setSaturation()

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

DOC ME!

◆ setSimpleFluidState()

template<class TypeTag >
void Dumux::CellData2P2CMultiPhysics< TypeTag >::setSimpleFluidState ( SimpleFluidState simpleFluidState)
inline

Set a simple fluidstate for a cell in the simple domain Uses a simplified fluidstate with less storage capacity and functionality. Makes shure the fluidStateType_ flag is set appropriately in this cell.

Parameters
simpleFluidStateA fluidstate storing a 1p2c mixture

◆ setSubdomainAndFluidStateType()

template<class TypeTag >
void Dumux::CellData2P2CMultiPhysics< TypeTag >::setSubdomainAndFluidStateType ( int  index)
inline

Specify subdomain information and fluidStateType.

◆ setTotalConcentration()

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

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 
)
inlineinherited

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)

◆ setViscosity()

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

DOC ME!

◆ simpleFluidState()

template<class TypeTag >
const SimpleFluidState & Dumux::CellData2P2CMultiPhysics< TypeTag >::simpleFluidState ( ) const
inline

Returns a reference to the cells simple fluid state.

◆ subdomain() [1/2]

template<class TypeTag >
int & Dumux::CellData2P2CMultiPhysics< TypeTag >::subdomain ( )
inline

Return subdomain information.

Acess function to store subdomain information

◆ subdomain() [2/2]

template<class TypeTag >
const int & Dumux::CellData2P2CMultiPhysics< TypeTag >::subdomain ( ) const
inline

Return subdomain information.

Acess function to get subdomain information

◆ temperature()

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

DOC ME!

◆ totalConcentration()

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

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::CellData2P2CMultiPhysics< TypeTag >::viscosity ( int  phaseIdx) const
inline

DOC ME!

◆ volumeDerivativesAvailable()

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

Specifies if volume derivatives are computed and available.

◆ volumeError() [1/2]

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

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
inlineinherited

Return the volume error [-].

◆ wasRefined() [1/2]

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

Indicates if current cell was refined at this time step.

◆ wasRefined() [2/2]

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

Indicates if current cell was refined at this time step.

Member Data Documentation

◆ dv_

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

◆ dv_dp_

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

◆ errorCorrection_

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

◆ fluidState_

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

◆ fluxData_

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

◆ globalIdx_

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

◆ massConcentration_

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

◆ mobility_

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

◆ perimeter_

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

◆ volumeDerivativesAvailable_

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

◆ volumeError_

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

◆ wasRefined_

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

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