OGS
DiffusionVelocity.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Base.h"
13#include "MassMoleFractions.h"
14#include "PhaseTransitionData.h"
15#include "Porosity.h"
17#include "Saturation.h"
18
19namespace ProcessLib::TH2M
20{
21namespace ConstitutiveRelations
22{
23template <int DisplacementDim>
25{
30
31 static auto reflect()
32 {
34 namespace R = ProcessLib::Reflection;
35
36 return std::tuple{
37 R::makeReflectionData("diffusion_velocity_gas_gas", &Self::d_CG),
38 R::makeReflectionData("diffusion_velocity_vapour_gas", &Self::d_WG),
39 R::makeReflectionData("diffusion_velocity_solute_liquid",
40 &Self::d_CL),
41 R::makeReflectionData("diffusion_velocity_liquid_liquid",
42 &Self::d_WL)};
43 }
44};
45
46template <int DisplacementDim>
48{
49 void eval(
52 MassMoleFractionsData const& mass_mole_fractions_data,
53 PhaseTransitionData const& phase_transition_data,
54 PorosityData const& porosity_data,
55 SaturationData const& S_L_data,
57 DiffusionVelocityData<DisplacementDim>& diffusion_velocity_data) const;
58};
59
60extern template struct DiffusionVelocityModel<2>;
61extern template struct DiffusionVelocityModel<3>;
62} // namespace ConstitutiveRelations
63} // namespace ProcessLib::TH2M
Eigen::Vector< double, DisplacementDim > GlobalDimVector
Definition Base.h:36
void eval(CapillaryPressureGradientData< DisplacementDim > const &grad_p_cap, GasPressureGradientData< DisplacementDim > const &grad_p_GR, MassMoleFractionsData const &mass_mole_fractions_data, PhaseTransitionData const &phase_transition_data, PorosityData const &porosity_data, SaturationData const &S_L_data, TemperatureGradientData< DisplacementDim > const &grad_T, DiffusionVelocityData< DisplacementDim > &diffusion_velocity_data) const