OGS
PhaseTransitionModel.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Base.h"
13#include "ConstitutiveDensity.h"
14#include "Enthalpy.h"
15#include "FluidDensity.h"
16#include "MassMoleFractions.h"
17#include "PhaseTransitionData.h"
18#include "PureLiquidDensity.h"
20
21namespace ProcessLib::TH2M
22{
23namespace ConstitutiveRelations
24{
26{
28 std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const&
29 media)
30 {
31 DBUG("Create phase transition models...");
32
33 // check for minimum requirement definitions in media object
34 std::array const required_gas_properties = {
36 std::array const required_liquid_properties = {
38
39 for (auto const& m : media)
40 {
41 checkRequiredProperties(m.second->phase("Gas"),
42 required_gas_properties);
43 checkRequiredProperties(m.second->phase("AqueousLiquid"),
44 required_liquid_properties);
45 }
46 }
47
48 virtual ~PhaseTransitionModel() = default;
49
50 virtual void eval(SpaceTimeData const& x_t, MediaData const& media_data,
51 GasPressureData const& p_GR,
52 CapillaryPressureData const& p_cap,
53 TemperatureData const& T_data,
54 PureLiquidDensityData const& rho_W_LR,
55 FluidEnthalpyData& fluid_enthalpy_data,
56 MassMoleFractionsData& mass_mole_fractions_data,
57 FluidDensityData& fluid_density_data,
58 VapourPartialPressureData& vapour_pressure_data,
59 ConstituentDensityData& constituent_density_data,
60 PhaseTransitionData& cv) const = 0;
61};
62} // namespace ConstitutiveRelations
63} // namespace ProcessLib::TH2M
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:30
PhaseTransitionModel(std::map< int, std::shared_ptr< MaterialPropertyLib::Medium > > const &media)
virtual void eval(SpaceTimeData const &x_t, MediaData const &media_data, GasPressureData const &p_GR, CapillaryPressureData const &p_cap, TemperatureData const &T_data, PureLiquidDensityData const &rho_W_LR, FluidEnthalpyData &fluid_enthalpy_data, MassMoleFractionsData &mass_mole_fractions_data, FluidDensityData &fluid_density_data, VapourPartialPressureData &vapour_pressure_data, ConstituentDensityData &constituent_density_data, PhaseTransitionData &cv) const =0