28#ifndef EWOMS_FLASH_PRIMARY_VARIABLES_HH
29#define EWOMS_FLASH_PRIMARY_VARIABLES_HH
31#include <opm/material/common/MathToolbox.hpp>
32#include <opm/material/common/Valgrind.hpp>
50template <
class TypeTag>
51class FlashPrimaryVariables :
public FvBasePrimaryVariables<TypeTag>
53 using ParentType = FvBasePrimaryVariables<TypeTag>;
62 enum { cTot0Idx = Indices::cTot0Idx };
67 using Toolbox = MathToolbox<Evaluation>;
71 FlashPrimaryVariables()
73 { Valgrind::SetDefined(*
this); }
84 FlashPrimaryVariables& operator=(
const FlashPrimaryVariables& value) =
default;
86 using ParentType::operator=;
91 template <
class Flu
idState>
93 const MaterialLawParams&,
105 template <
class Flu
idState>
113 EnergyModule::setPriVarTemperatures(*
this, fluidState);
116 for (
unsigned phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
117 for (
unsigned compIdx = 0; compIdx < numComponents; ++compIdx) {
118 (*this)[cTot0Idx + compIdx] +=
119 fluidState.molarity(phaseIdx, compIdx) * fluidState.saturation(phaseIdx);
129 void print(std::ostream& os = std::cout)
const
131 for (
unsigned compIdx = 0; compIdx < numComponents; ++compIdx) {
132 os <<
"(c_tot," << FluidSystem::componentName(compIdx) <<
" = "
133 << (*this)[cTot0Idx + compIdx];
135 os <<
")" << std::flush;
Provides the auxiliary methods required for consideration of the energy equation.
Definition energymodule.hh:54
void print(std::ostream &os=std::cout) const
Prints the names of the primary variables and their values.
Definition flashprimaryvariables.hh:129
void assignNaive(const FluidState &fluidState)
Directly retrieve the primary variables from an arbitrary fluid state.
Definition flashprimaryvariables.hh:106
FlashPrimaryVariables(const FlashPrimaryVariables &value)=default
void assignMassConservative(const FluidState &fluidState, const MaterialLawParams &, bool=false)
< Import base class assignment operators.
Definition flashprimaryvariables.hh:92
Contains the classes required to consider energy as a conservation quantity in a multi-phase module.
Represents the primary variables used by the a model.
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilbioeffectsmodules.hh:45
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:233
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:240