version 3.9-dev
Dumux::Spe5ParameterCache< Scalar, FluidSystem > Class Template Reference

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

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

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

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

Member Function Documentation

◆ a()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::a ( int  phaseIdx) const
inline
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
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
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
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

◆ molarVolume()

template<class Scalar , class FluidSystem >
Scalar Dumux::Spe5ParameterCache< Scalar, FluidSystem >::molarVolume ( int  phaseIdx) const
inline
Parameters
phaseIdxThe index of the fluid phase to consider

◆ oilPhaseParams()

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

◆ updateAll()

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

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

◆ updateAllTemperatures()

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

◆ updateComposition()

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

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

◆ updateMix_()

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

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

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

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

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

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: