OGS
Enthalpy.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"
7#include "Enthalpy.h"
8#include "FluidDensity.h"
10#include "Porosity.h"
12#include "Saturation.h"
13#include "SolidDensity.h"
14#include "SolidHeatCapacity.h"
15
16namespace ProcessLib::TH2M
17{
19{
21{
22 double h_G = nan;
23 double h_L = nan;
24
25 static auto reflect()
26 {
27 using Self = FluidEnthalpyData;
28 namespace R = ProcessLib::Reflection;
29
30 return std::tuple{R::makeReflectionData("enthalpy_gas", &Self::h_G),
31 R::makeReflectionData("enthalpy_liquid", &Self::h_L)};
32 }
33};
34
36{
37 double h_S = nan;
38
39 static auto reflect()
40 {
41 using Self = SolidEnthalpyData;
42 namespace R = ProcessLib::Reflection;
43
44 return std::tuple{R::makeReflectionData("enthalpy_solid", &Self::h_S)};
45 }
46};
47
52
59
61{
62 void eval(
63 FluidDensityData const& fluid_density_data,
64 FluidEnthalpyData const& fluid_enthalpy_data,
65 PorosityData const& porosity_data,
66 SaturationData const& S_L_data,
67 SolidDensityData const& solid_density_data,
68 SolidEnthalpyData const& solid_enthalpy_data,
69 EffectiveVolumetricEnthalpy& effective_volumetric_enthalpy_data) const;
70
71 void dEval(FluidDensityData const& fluid_density_data,
72 FluidEnthalpyData const& fluid_enthalpy_data,
73 PhaseTransitionData const& phase_transition_data,
74 PorosityData const& porosity_data,
75 PorosityDerivativeData const& porosity_d_data,
76 SaturationData const& S_L_data,
77 SolidDensityData const& solid_density_data,
78 SolidDensityDerivativeData const& solid_density_d_data,
79 SolidEnthalpyData const& solid_enthalpy_data,
80 SolidHeatCapacityData const& solid_heat_capacity_data,
82 effective_volumetric_enthalpy_d_data) const;
83};
84
86{
87 void eval(SolidHeatCapacityData const& solid_heat_capacity_data,
88 TemperatureData const& T_data,
89 SolidEnthalpyData& solid_enthalpy_data) const;
90};
91} // namespace ConstitutiveRelations
92} // namespace ProcessLib::TH2M
static constexpr double nan
Convenience alias for not a number.
BaseLib::StrongType< double, struct SolidHeatCapacityTag > SolidHeatCapacityData
void dEval(FluidDensityData const &fluid_density_data, FluidEnthalpyData const &fluid_enthalpy_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, PorosityDerivativeData const &porosity_d_data, SaturationData const &S_L_data, SolidDensityData const &solid_density_data, SolidDensityDerivativeData const &solid_density_d_data, SolidEnthalpyData const &solid_enthalpy_data, SolidHeatCapacityData const &solid_heat_capacity_data, EffectiveVolumetricEnthalpyDerivatives &effective_volumetric_enthalpy_d_data) const
Definition Enthalpy.cpp:29
void eval(FluidDensityData const &fluid_density_data, FluidEnthalpyData const &fluid_enthalpy_data, PorosityData const &porosity_data, SaturationData const &S_L_data, SolidDensityData const &solid_density_data, SolidEnthalpyData const &solid_enthalpy_data, EffectiveVolumetricEnthalpy &effective_volumetric_enthalpy_data) const
Definition Enthalpy.cpp:10
void eval(SolidHeatCapacityData const &solid_heat_capacity_data, TemperatureData const &T_data, SolidEnthalpyData &solid_enthalpy_data) const
Definition Enthalpy.cpp:86