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

Specifies the parameters required by the SPE5 problem which are despondent on the thermodynamic state. More...

#include <dumux/material/fluidsystems/spe5parametercache.hh>

Inheritance diagram for Dumux::Spe5ParameterCache< Scalar, FluidSystem >:

Description

template<class Scalar, class FluidSystem>
class Dumux::Spe5ParameterCache< Scalar, FluidSystem >

Specifies the parameters required by the SPE5 problem which are despondent on the thermodynamic state.

Public Types

using OilPhaseParams = PengRobinsonParamsMixture< Scalar, FluidSystem, oPhaseIdx, true >
 
using GasPhaseParams = PengRobinsonParamsMixture< Scalar, FluidSystem, gPhaseIdx, true >
 
enum  ExceptQuantities
 

Public Member Functions

 Spe5ParameterCache ()
 The constructor. More...
 
template<class FluidState >
void updatePhase (const FluidState &fs, int phaseIdx, int except=ParentType::None)
 Update all parameters required by the fluid system to calculate some quantities for the phase. More...
 
template<class FluidState >
void updateSingleMoleFraction (const FluidState &fs, int phaseIdx, int compIdx)
 Update all cached parameters of a specific fluid phase which depend on the mole fraction of a single component. More...
 
Scalar a (int phaseIdx) const
 The Peng-Robinson attractive parameter for a phase. More...
 
Scalar b (int phaseIdx) const
 The Peng-Robinson co-volume for a phase. More...
 
Scalar aPure (int phaseIdx, int compIdx) const
 The Peng-Robinson attractive parameter for a pure component given the same temperature and pressure of the phase. More...
 
Scalar bPure (int phaseIdx, int compIdx) const
 The Peng-Robinson co-volume for a pure component given the same temperature and pressure of the phase. More...
 
Scalar molarVolume (int phaseIdx) const
 Returns the molar volume of a phase \(\mathrm{[m^3/mol]}\). More...
 
const OilPhaseParamsoilPhaseParams () const
 Returns the Peng-Robinson mixture parameters for the oil phase. More...
 
const GasPhaseParamsgasPhaseParams () const
 Returns the Peng-Robinson mixture parameters for the gas phase. More...
 
template<class FluidState >
void updateEosParams (const FluidState &fs, int phaseIdx, int exceptQuantities=ParentType::None)
 Update all parameters required by the equation of state to calculate some quantities for the phase. More...
 
void updateAll (const FluidState &fs, int exceptQuantities=None)
 Update all cached quantities for all phases. More...
 
void updateAllPressures (const FluidState &fs)
 Update all cached quantities which depend on the pressure of any fluid phase. More...
 
void updateAllTemperatures (const FluidState &fs)
 Update all cached quantities which depend on the temperature of any fluid phase. More...
 
void updateTemperature (const FluidState &fs, int phaseIdx)
 Update all cached parameters of a specific fluid phase which depend on temperature. More...
 
void updatePressure (const FluidState &fs, int phaseIdx)
 Update all cached parameters of a specific fluid phase which depend on pressure. More...
 
void updateComposition (const FluidState &fs, int phaseIdx)
 Update all cached parameters of a specific fluid phase which depend on composition. More...
 

Protected Member Functions

template<class FluidState >
void updatePure_ (const FluidState &fs, int phaseIdx)
 Update all parameters of a phase which only depend on temperature and/or pressure. More...
 
template<class FluidState >
void updateMix_ (const FluidState &fs, int phaseIdx)
 Update all parameters of a phase which depend on the fluid composition. It is assumed that updatePure() has been called before this method. More...
 
template<class FluidState >
void updateMolarVolume_ (const FluidState &fs, int phaseIdx)
 

Protected Attributes

bool VmUpToDate_ [numPhases]
 
Scalar Vm_ [numPhases]
 
OilPhaseParams oilPhaseParams_
 
GasPhaseParams gasPhaseParams_
 

Member Typedef Documentation

◆ GasPhaseParams

template<class Scalar , class FluidSystem >
using Dumux::Spe5ParameterCache< Scalar, FluidSystem >::GasPhaseParams = PengRobinsonParamsMixture<Scalar, FluidSystem, gPhaseIdx, true>

◆ OilPhaseParams

template<class Scalar , class FluidSystem >
using Dumux::Spe5ParameterCache< Scalar, FluidSystem >::OilPhaseParams = PengRobinsonParamsMixture<Scalar, FluidSystem, oPhaseIdx, true>

Member Enumeration Documentation

◆ ExceptQuantities

Constructor & Destructor Documentation

◆ Spe5ParameterCache()

template<class Scalar , class FluidSystem >
Dumux::Spe5ParameterCache< Scalar, FluidSystem >::Spe5ParameterCache ( )
inline

The constructor.

Member Function Documentation

◆ a()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::a ( int  phaseIdx) const
inline

The Peng-Robinson attractive parameter for a phase.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ aPure()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::aPure ( int  phaseIdx,
int  compIdx 
) const
inline

The Peng-Robinson attractive parameter for a pure component given the same temperature and pressure of the phase.

Parameters
compIdxThe index of the component to consider
phaseIdxThe index of the fluid phase to consider

◆ b()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::b ( int  phaseIdx) const
inline

The Peng-Robinson co-volume for a phase.

Parameters
phaseIdxThe index of the fluid phase to consider

◆ bPure()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::bPure ( int  phaseIdx,
int  compIdx 
) const
inline

The Peng-Robinson co-volume for a pure component given the same temperature and pressure of the phase.

Parameters
compIdxThe index of the component to consider
phaseIdxThe index of the fluid phase to consider

◆ gasPhaseParams()

template<class Scalar , class FluidSystem >
const GasPhaseParams & Dumux::Spe5ParameterCache< Scalar, FluidSystem >::gasPhaseParams ( ) const
inline

Returns the Peng-Robinson mixture parameters for the gas phase.

◆ molarVolume()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::molarVolume ( int  phaseIdx) const
inline

Returns the molar volume of a phase \(\mathrm{[m^3/mol]}\).

Parameters
phaseIdxThe index of the fluid phase to consider

◆ oilPhaseParams()

template<class Scalar , class FluidSystem >
const OilPhaseParams & Dumux::Spe5ParameterCache< Scalar, FluidSystem >::oilPhaseParams ( ) const
inline

Returns the Peng-Robinson mixture parameters for the oil phase.

◆ updateAll()

void Dumux::ParameterCacheBase< Spe5ParameterCache< Scalar, FluidSystem > >::updateAll ( const FluidState &  fs,
int  exceptQuantities = None 
)
inlineinherited

Update all cached quantities for all phases.

The except argument contains a bit field of the quantities which have not been modified since the last call to an update() method.

◆ updateAllPressures()

void Dumux::ParameterCacheBase< Spe5ParameterCache< Scalar, FluidSystem > >::updateAllPressures ( const FluidState &  fs)
inlineinherited

Update all cached quantities which depend on the pressure of any fluid phase.

◆ updateAllTemperatures()

void Dumux::ParameterCacheBase< Spe5ParameterCache< Scalar, FluidSystem > >::updateAllTemperatures ( const FluidState &  fs)
inlineinherited

Update all cached quantities which depend on the temperature of any fluid phase.

◆ updateComposition()

void Dumux::ParameterCacheBase< Spe5ParameterCache< Scalar, FluidSystem > >::updateComposition ( const FluidState &  fs,
int  phaseIdx 
)
inlineinherited

Update all cached parameters of a specific fluid phase which depend on composition.

Only use this method if neither the pressure nor the temperature of the phase changed between two update*() calls. If more changed, call updatePhase()!

◆ updateEosParams()

template<class Scalar , class FluidSystem >
template<class FluidState >
void Dumux::Spe5ParameterCache< Scalar, FluidSystem >::updateEosParams ( const FluidState &  fs,
int  phaseIdx,
int  exceptQuantities = ParentType::None 
)
inline

Update all parameters required by the equation of state to calculate some quantities for the phase.

◆ updateMix_()

template<class Scalar , class FluidSystem >
template<class FluidState >
void Dumux::Spe5ParameterCache< Scalar, FluidSystem >::updateMix_ ( const FluidState &  fs,
int  phaseIdx 
)
inlineprotected

Update all parameters of a phase which depend on the fluid composition. It is assumed that updatePure() has been called before this method.

Here, the mixing rule kicks in.

◆ updateMolarVolume_()

template<class Scalar , class FluidSystem >
template<class FluidState >
void Dumux::Spe5ParameterCache< Scalar, FluidSystem >::updateMolarVolume_ ( const FluidState &  fs,
int  phaseIdx 
)
inlineprotected

◆ updatePhase()

template<class Scalar , class FluidSystem >
template<class FluidState >
void Dumux::Spe5ParameterCache< Scalar, FluidSystem >::updatePhase ( const FluidState &  fs,
int  phaseIdx,
int  except = ParentType::None 
)
inline

Update all parameters required by the fluid system to calculate some quantities for the phase.

Parameters
fsAn arbitrary fluid state
phaseIdxThe index of the fluid phase to consider
exceptThe except quantity

◆ updatePressure()

void Dumux::ParameterCacheBase< Spe5ParameterCache< Scalar, FluidSystem > >::updatePressure ( const FluidState &  fs,
int  phaseIdx 
)
inlineinherited

Update all cached parameters of a specific fluid phase which depend on pressure.

Only use this method if only the pressure of a phase changed between two update*() calls. If more changed, call updatePhase()!

◆ updatePure_()

template<class Scalar , class FluidSystem >
template<class FluidState >
void Dumux::Spe5ParameterCache< Scalar, FluidSystem >::updatePure_ ( const FluidState &  fs,
int  phaseIdx 
)
inlineprotected

Update all parameters of a phase which only depend on temperature and/or pressure.

This usually means the parameters for the pure components.

◆ updateSingleMoleFraction()

template<class Scalar , class FluidSystem >
template<class FluidState >
void Dumux::Spe5ParameterCache< Scalar, FluidSystem >::updateSingleMoleFraction ( const FluidState &  fs,
int  phaseIdx,
int  compIdx 
)
inline

Update all cached parameters of a specific fluid phase which depend on the mole fraction of a single component.

Only use this method if just a single component's concentration changed between two update*() calls. If more than one concentration changed, call updatePhaseComposition() of updatePhase()!

Parameters
fsAn arbitrary fluid state
compIdxThe index of the component to consider
phaseIdxThe index of the fluid phase to consider

◆ updateTemperature()

void Dumux::ParameterCacheBase< Spe5ParameterCache< Scalar, FluidSystem > >::updateTemperature ( const FluidState &  fs,
int  phaseIdx 
)
inlineinherited

Update all cached parameters of a specific fluid phase which depend on temperature.

Only use this method if only the temperature of a phase changed between two update*() calls. If more changed, call updatePhase()!

Member Data Documentation

◆ gasPhaseParams_

template<class Scalar , class FluidSystem >
GasPhaseParams Dumux::Spe5ParameterCache< Scalar, FluidSystem >::gasPhaseParams_
protected

◆ oilPhaseParams_

template<class Scalar , class FluidSystem >
OilPhaseParams Dumux::Spe5ParameterCache< Scalar, FluidSystem >::oilPhaseParams_
protected

◆ Vm_

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::Vm_[numPhases]
protected

◆ VmUpToDate_

template<class Scalar , class FluidSystem >
bool Dumux::Spe5ParameterCache< Scalar, FluidSystem >::VmUpToDate_[numPhases]
protected

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