Ewoms::PvsPrimaryVariables< TypeTag > Class Template Reference

Represents the primary variables used in the primary variable switching compositional model. More...

#include <pvsprimaryvariables.hh>

Inheritance diagram for Ewoms::PvsPrimaryVariables< TypeTag >:
Ewoms::FvBasePrimaryVariables< TypeTag >

Public Member Functions

 PvsPrimaryVariables (Scalar value)
 Constructor with assignment from scalar. More...
 
 PvsPrimaryVariables (const PvsPrimaryVariables &value)
 Default constructor. More...
 
template<class FluidState >
void assignMassConservative (const FluidState &fluidState, const MaterialLawParams &matParams, bool isInEquilibrium=false)
 Set the primary variables from an arbitrary fluid state in a mass conservative way. More...
 
short phasePresence () const
 Return the fluid phases which are present in a given control volume.
 
void setPhasePresence (short value)
 Set which fluid phases are present in a given control volume. More...
 
void setPhasePresent (unsigned phaseIdx, bool yesno=true)
 Set whether a given indivividual phase should be present or not. More...
 
unsigned implicitSaturationIdx () const
 Returns the index of the phase with's its saturation is determined by the closure condition of saturation.
 
bool phaseIsPresent (unsigned phaseIdx) const
 Returns true iff a phase is present for the current phase presence. More...
 
unsigned lowestPresentPhaseIdx () const
 Returns the phase with the lowest index that is present.
 
ThisTypeoperator= (const Implementation &value)
 Assignment operator from an other primary variables object.
 
ThisTypeoperator= (Scalar value)
 Assignment operator from a scalar value.
 
Evaluation explicitSaturationValue (unsigned phaseIdx, unsigned timeIdx) const
 Returns an explcitly stored saturation for a given phase. More...
 
template<class FluidState >
void assignNaive (const FluidState &fluidState)
 Directly retrieve the primary variables from an arbitrary fluid state. More...
 
void print (std::ostream &os=std::cout) const
 Prints the names of the primary variables and their values. More...
 
- Public Member Functions inherited from Ewoms::FvBasePrimaryVariables< TypeTag >
 FvBasePrimaryVariables (Scalar value)
 Construction from a scalar value.
 
 FvBasePrimaryVariables (const FvBasePrimaryVariables &value)=default
 Assignment from another primary variables object.
 
FvBasePrimaryVariablesoperator= (const FvBasePrimaryVariables &value)=default
 Assignment from another primary variables object.
 
Evaluation makeEvaluation (unsigned varIdx, unsigned timeIdx) const
 Return a primary variable intensive evaluation. More...
 
template<class FluidState >
void assignNaive (const FluidState &fluidState OPM_UNUSED)
 Assign the primary variables "somehow" from a fluid state. More...
 
void checkDefined () const
 Instruct valgrind to check the definedness of all attributes of this class.
 

Static Public Member Functions

static bool phaseIsPresent (unsigned phaseIdx, short phasePresence)
 Returns true iff a phase is present for a given phase presence. More...
 

Detailed Description

template<class TypeTag>
class Ewoms::PvsPrimaryVariables< TypeTag >

Represents the primary variables used in the primary variable switching compositional model.

This class is basically a Dune::FieldVector which can retrieve its contents from an aribitatry fluid state.

Constructor & Destructor Documentation

◆ PvsPrimaryVariables() [1/2]

template<class TypeTag >
Ewoms::PvsPrimaryVariables< TypeTag >::PvsPrimaryVariables ( Scalar  value)
inlineexplicit

Constructor with assignment from scalar.

Parameters
valueThe scalar value to which all entries of the vector will be set.

◆ PvsPrimaryVariables() [2/2]

template<class TypeTag >
Ewoms::PvsPrimaryVariables< TypeTag >::PvsPrimaryVariables ( const PvsPrimaryVariables< TypeTag > &  value)
inline

Default constructor.

Member Function Documentation

◆ assignMassConservative()

template<class TypeTag >
template<class FluidState >
void Ewoms::PvsPrimaryVariables< TypeTag >::assignMassConservative ( const FluidState &  fluidState,
const MaterialLawParams &  matParams,
bool  isInEquilibrium = false 
)
inline

Set the primary variables from an arbitrary fluid state in a mass conservative way.

If an energy equation is included, the fluid temperatures are the same as the one given in the fluid state, not the enthalpy.

Parameters
fluidStateThe fluid state which should be represented by the primary variables. The temperatures, pressures, compositions and densities of all phases must be defined.
matParamsThe capillary pressure law parameters
isInEquilibriumIf true, the fluid state expresses thermodynamic equilibrium assuming the relations expressed by the fluid system. This implies that in addition to the quantities mentioned above, the fugacities are also defined.

◆ assignNaive()

template<class TypeTag >
template<class FluidState >
void Ewoms::PvsPrimaryVariables< TypeTag >::assignNaive ( const FluidState &  fluidState)
inline

Directly retrieve the primary variables from an arbitrary fluid state.

This method retrieves all primary variables from an abitrary fluid state without careing whether the state which is represented by the resulting primary variables features the equivalent mass as the given fluid state. This method is massively cheaper and simpler than assignMassConservative() but it should be used with care!

Parameters
fluidStateThe fluid state which should be represented by the primary variables. The temperatures, pressures, compositions and densities of all phases must be defined.

◆ explicitSaturationValue()

template<class TypeTag >
Evaluation Ewoms::PvsPrimaryVariables< TypeTag >::explicitSaturationValue ( unsigned  phaseIdx,
unsigned  timeIdx 
) const
inline

Returns an explcitly stored saturation for a given phase.

(or 0 if the saturation is not explicitly stored.)

Parameters
phaseIdxThe index of the fluid phase of interest.

◆ phaseIsPresent() [1/2]

template<class TypeTag >
static bool Ewoms::PvsPrimaryVariables< TypeTag >::phaseIsPresent ( unsigned  phaseIdx,
short  phasePresence 
)
inlinestatic

Returns true iff a phase is present for a given phase presence.

Parameters
phaseIdxThe index of the phase which's presence is queried.
phasePresenceThe bit-map of present phases.

◆ phaseIsPresent() [2/2]

template<class TypeTag >
bool Ewoms::PvsPrimaryVariables< TypeTag >::phaseIsPresent ( unsigned  phaseIdx) const
inline

Returns true iff a phase is present for the current phase presence.

Parameters
phaseIdxThe index of the fluid phase of interest.

◆ print()

template<class TypeTag >
void Ewoms::PvsPrimaryVariables< TypeTag >::print ( std::ostream &  os = std::cout) const
inline

Prints the names of the primary variables and their values.

Parameters
osThe std::ostream which should be used for the output.

◆ setPhasePresence()

template<class TypeTag >
void Ewoms::PvsPrimaryVariables< TypeTag >::setPhasePresence ( short  value)
inline

Set which fluid phases are present in a given control volume.

Parameters
valueThe new phase presence. The phase with index i is present if the i-th bit of value is 1.

◆ setPhasePresent()

template<class TypeTag >
void Ewoms::PvsPrimaryVariables< TypeTag >::setPhasePresent ( unsigned  phaseIdx,
bool  yesno = true 
)
inline

Set whether a given indivividual phase should be present or not.

Parameters
phaseIdxThe index of the phase which's presence ought to be set or reset.
yesnoIf true, the presence of the phase is set, else it is reset

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