OGS
TEquation.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 "DarcyVelocity.h"
9#include "DiffusionVelocity.h"
10#include "Enthalpy.h"
11#include "FluidDensity.h"
12#include "InternalEnergy.h"
13#include "PermeabilityData.h"
14#include "Viscosity.h"
15
16namespace ProcessLib::TH2M
17{
19{
20struct FT1Data
21{
22 double m = nan;
23};
24
26{
27 double dp_GR = nan;
28 double dp_cap = nan;
29 double dT = nan;
30};
31
33{
34 void eval(double const dt,
35 InternalEnergyData const& internal_energy_data,
36 PrevState<InternalEnergyData> const& internal_energy_data_prev,
37 FT1Data& fT_1) const;
38
39 void dEval(double const dt,
41 effective_volumetric_internal_energy_d_data,
42 FT1DerivativeData& dfT_1) const;
43};
44
45template <int DisplacementDim>
50
51template <int DisplacementDim>
60
61template <int DisplacementDim>
63{
64 void eval(DarcyVelocityData<DisplacementDim> const& darcy_velocity_data,
65 FluidDensityData const& fluid_density_data,
66 FluidEnthalpyData const& fluid_enthalpy_data,
67 FT2Data<DisplacementDim>& fT_2) const;
68
69 void dEval(DarcyVelocityData<DisplacementDim> const& darcy_velocity_data,
70 FluidDensityData const& fluid_density_data,
71 FluidEnthalpyData const& fluid_enthalpy_data,
72 PermeabilityData<DisplacementDim> const& permeability_data,
73 PhaseTransitionData const& phase_transition_data,
74 SpecificBodyForce<DisplacementDim> const& specific_body_force,
75 ViscosityData const& viscosity_data,
77};
78
79extern template struct FT2Model<2>;
80extern template struct FT2Model<3>;
81
82template <int DisplacementDim>
88
89template <int DisplacementDim>
91{
92 void eval(
93 ConstituentDensityData const& constituent_density_data,
94 DarcyVelocityData<DisplacementDim> const& darcy_velocity_data,
95 DiffusionVelocityData<DisplacementDim> const& diffusion_velocity_data,
96 FluidDensityData const& fluid_density_data,
97 PhaseTransitionData const& phase_transition_data,
98 SpecificBodyForce<DisplacementDim> const& specific_body_force,
99 FT3Data<DisplacementDim>& fT_3) const;
100};
101
102extern template struct FT3Model<2>;
103extern template struct FT3Model<3>;
104} // namespace ConstitutiveRelations
105} // namespace ProcessLib::TH2M
Eigen::Vector< double, DisplacementDim > GlobalDimVector
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
static constexpr double nan
Convenience alias for not a number.
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForce
BaseLib::StrongType< double, struct InternalEnergyTag > InternalEnergyData
void dEval(double const dt, EffectiveVolumetricInternalEnergyDerivatives const &effective_volumetric_internal_energy_d_data, FT1DerivativeData &dfT_1) const
Definition TEquation.cpp:27
void eval(double const dt, InternalEnergyData const &internal_energy_data, PrevState< InternalEnergyData > const &internal_energy_data_prev, FT1Data &fT_1) const
Definition TEquation.cpp:10
GlobalDimVector< DisplacementDim > A
Definition TEquation.h:48
GlobalDimMatrix< DisplacementDim > dp_cap_gradNpart
Definition TEquation.h:57
GlobalDimMatrix< DisplacementDim > dp_GR_gradNpart
Definition TEquation.h:55
GlobalDimVector< DisplacementDim > dp_cap_Npart
Definition TEquation.h:56
GlobalDimVector< DisplacementDim > dp_GR_Npart
Definition TEquation.h:54
void dEval(DarcyVelocityData< DisplacementDim > const &darcy_velocity_data, FluidDensityData const &fluid_density_data, FluidEnthalpyData const &fluid_enthalpy_data, PermeabilityData< DisplacementDim > const &permeability_data, PhaseTransitionData const &phase_transition_data, SpecificBodyForce< DisplacementDim > const &specific_body_force, ViscosityData const &viscosity_data, FT2DerivativeData< DisplacementDim > &dfT_2) const
Definition TEquation.cpp:63
void eval(DarcyVelocityData< DisplacementDim > const &darcy_velocity_data, FluidDensityData const &fluid_density_data, FluidEnthalpyData const &fluid_enthalpy_data, FT2Data< DisplacementDim > &fT_2) const
Definition TEquation.cpp:50
GlobalDimVector< DisplacementDim > gradN
Definition TEquation.h:86
void eval(ConstituentDensityData const &constituent_density_data, DarcyVelocityData< DisplacementDim > const &darcy_velocity_data, DiffusionVelocityData< DisplacementDim > const &diffusion_velocity_data, FluidDensityData const &fluid_density_data, PhaseTransitionData const &phase_transition_data, SpecificBodyForce< DisplacementDim > const &specific_body_force, FT3Data< DisplacementDim > &fT_3) const