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 <array>
7#include <map>
8#include <memory>
9
10#include "Base.h"
11#include "ConstitutiveDensity.h"
12#include "Enthalpy.h"
13#include "FluidDensity.h"
14#include "MassMoleFractions.h"
15#include "PhaseTransitionData.h"
16#include "PureLiquidDensity.h"
18
19namespace ProcessLib::TH2M
20{
22{
24{
26 std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const&
27 media)
28 {
29 DBUG("Create phase transition models...");
30
31 // check for minimum requirement definitions in media object
32 std::array const required_gas_properties = {
34 std::array const required_liquid_properties = {
36
37 for (auto const& m : media)
38 {
39 checkRequiredProperties(
41 required_gas_properties);
42 checkRequiredProperties(
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: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