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 >:
Inheritance graph

Public Member Functions

 PvsPrimaryVariables ()
 
 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. More...
 
void setPhasePresence (short value)
 Set which fluid phases are present in a given control volume. More...
 
void setPhasePresent (int phaseIdx, bool yesno=true)
 Set whether a given indivividual phase should be present or not. More...
 
unsigned char implicitSaturationIdx () const
 Returns the index of the phase with's its saturation is determined by the closure condition of saturation. More...
 
bool phaseIsPresent (int phaseIdx) const
 Returns true iff a phase is present for the current phase presence. More...
 
int lowestPresentPhaseIdx () const
 Returns the phase with the lowest index that is present. More...
 
ThisTypeoperator= (const Implementation &value)
 Assignment operator from an other primary variables object. More...
 
ThisTypeoperator= (Scalar value)
 Assignment operator from a scalar value. More...
 
Evaluation explicitSaturationValue (int phaseIdx, int 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...
 
Evaluation makeEvaluation (int varIdx, int timeIdx) const
 Return a primary variable intensive evaluation. More...
 
void checkDefined () const
 Instruct valgrind to check the definedness of all attributes of this class. More...
 

Static Public Member Functions

static bool phaseIsPresent (int 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

template<class TypeTag >
Ewoms::PvsPrimaryVariables< TypeTag >::PvsPrimaryVariables ( )
inline
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.
template<class TypeTag >
Ewoms::PvsPrimaryVariables< TypeTag >::PvsPrimaryVariables ( const PvsPrimaryVariables< TypeTag > &  value)
inline

Default constructor.

Member Function Documentation

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.

References Ewoms::PvsPrimaryVariables< TypeTag >::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.

References Ewoms::PvsPrimaryVariables< TypeTag >::lowestPresentPhaseIdx(), and Ewoms::PvsPrimaryVariables< TypeTag >::phaseIsPresent().

Referenced by Ewoms::PvsPrimaryVariables< TypeTag >::assignMassConservative().

template<class TypeTag >
void Ewoms::FvBasePrimaryVariables< TypeTag >::checkDefined ( ) const
inlineinherited

Instruct valgrind to check the definedness of all attributes of this class.

template<class TypeTag >
Evaluation Ewoms::PvsPrimaryVariables< TypeTag >::explicitSaturationValue ( int  phaseIdx,
int  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.

References Ewoms::PvsPrimaryVariables< TypeTag >::lowestPresentPhaseIdx(), and Ewoms::PvsPrimaryVariables< TypeTag >::phaseIsPresent().

template<class TypeTag >
unsigned char Ewoms::PvsPrimaryVariables< TypeTag >::implicitSaturationIdx ( ) const
inline

Returns the index of the phase with's its saturation is determined by the closure condition of saturation.

References Ewoms::PvsPrimaryVariables< TypeTag >::lowestPresentPhaseIdx().

template<class TypeTag >
Evaluation Ewoms::FvBasePrimaryVariables< TypeTag >::makeEvaluation ( int  varIdx,
int  timeIdx 
) const
inlineinherited

Return a primary variable intensive evaluation.

i.e., the result represents the function f = x_i if the time index is zero, else it represents the a constant f = x_i. (the difference is that in the first case, the derivative w.r.t. x_i is 1, while it is 0 in the second case.

template<class TypeTag >
ThisType& Ewoms::PvsPrimaryVariables< TypeTag >::operator= ( const Implementation &  value)
inline

Assignment operator from an other primary variables object.

template<class TypeTag >
ThisType& Ewoms::PvsPrimaryVariables< TypeTag >::operator= ( Scalar  value)
inline

Assignment operator from a scalar value.

template<class TypeTag >
static bool Ewoms::PvsPrimaryVariables< TypeTag >::phaseIsPresent ( int  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.

Referenced by Ewoms::PvsPrimaryVariables< TypeTag >::assignNaive(), Ewoms::PvsPrimaryVariables< TypeTag >::explicitSaturationValue(), and Ewoms::PvsPrimaryVariables< TypeTag >::print().

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

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

Parameters
phaseIdxThe index of the fluid phase of interest.
template<class TypeTag >
short Ewoms::PvsPrimaryVariables< TypeTag >::phasePresence ( ) const
inline

Return the fluid phases which are present in a given control volume.

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.

References Ewoms::PvsPrimaryVariables< TypeTag >::lowestPresentPhaseIdx(), and Ewoms::PvsPrimaryVariables< TypeTag >::phaseIsPresent().

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.

Referenced by Ewoms::PvsPrimaryVariables< TypeTag >::setPhasePresent().

template<class TypeTag >
void Ewoms::PvsPrimaryVariables< TypeTag >::setPhasePresent ( int  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

References Ewoms::PvsPrimaryVariables< TypeTag >::setPhasePresence().


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