OGS
PhaseTransitionModel.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include "Base.h"
8#include "Enthalpy.h"
9#include "FluidDensity.h"
10#include "MassMoleFractions.h"
11#include "PhaseTransitionData.h"
12#include "PureLiquidDensity.h"
14
15namespace ProcessLib::TH2M
16{
18{
20{
22 std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const&
23 media)
24 {
25 DBUG("Create phase transition models...");
26
27 // check for minimum requirement definitions in media object
28 std::array const required_gas_properties = {
30 std::array const required_liquid_properties = {
32
33 for (auto const& m : media)
34 {
35 checkRequiredProperties(m.second->phase("Gas"),
36 required_gas_properties);
37 checkRequiredProperties(m.second->phase("AqueousLiquid"),
38 required_liquid_properties);
39 }
40 }
41
42 virtual ~PhaseTransitionModel() = default;
43
44 virtual void eval(SpaceTimeData const& x_t, MediaData const& media_data,
45 GasPressureData const& p_GR,
46 CapillaryPressureData const& p_cap,
47 TemperatureData const& T_data,
48 PureLiquidDensityData const& rho_W_LR,
49 FluidEnthalpyData& fluid_enthalpy_data,
50 MassMoleFractionsData& mass_mole_fractions_data,
51 FluidDensityData& fluid_density_data,
52 VapourPartialPressureData& vapour_pressure_data,
53 ConstituentDensityData& constituent_density_data,
54 PhaseTransitionData& cv) const = 0;
55};
56} // namespace ConstitutiveRelations
57} // namespace ProcessLib::TH2M
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:22
BaseLib::StrongType< double, struct PureLiquidDensityTag > PureLiquidDensityData
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