OGS
ThermoOsmosisModel.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
5
7
9{
10template <int DisplacementDim>
12 SpaceTimeData const& x_t, MediaData const& media_data,
14 LiquidDensityData const& rho_L_data,
15 PermeabilityData<DisplacementDim> const& perm_data,
16 LiquidViscosityData const& mu_L_data,
18{
19 namespace MPL = MaterialPropertyLib;
20 // Holds no primary variables: the properties read below are evaluated by
21 // the models this one takes its data from, not here.
22 MPL::VariableArray variables;
23
24 // Ki is row-major, the helper takes the default column-major layout.
25 Eigen::Matrix<double, DisplacementDim, DisplacementDim> const
26 intrinsic_permeability = perm_data.Ki;
27
28 Eigen::Matrix<double, DisplacementDim, DisplacementDim> const
29 K_pT_thermal_osmosis =
31 media_data.medium, variables, x_t.x, x_t.t, x_t.dt,
32 intrinsic_permeability, *mu_L_data);
33
34 out.K_pT_Laplace = rho_L_data.rho_LR * K_pT_thermal_osmosis;
35
36 out.K_Tp_Laplace = T_data.T * K_pT_thermal_osmosis;
37
38 out.seepage_velocity_contribution = -K_pT_thermal_osmosis * T_data.grad_T;
39}
40
41template struct ThermoOsmosisModel<2>;
42template struct ThermoOsmosisModel<3>;
43} // namespace ProcessLib::ThermoRichardsMechanics
BaseLib::StrongType< double, struct LiquidViscosityDataTag > LiquidViscosityData
Eigen::Matrix< double, GlobalDim, GlobalDim > getThermoOsmoticCoefficient(MaterialPropertyLib::Medium const &medium, MaterialPropertyLib::VariableArray const &variable_array, ParameterLib::SpatialPosition const &pos, double const t, double const dt, Eigen::Matrix< double, GlobalDim, GlobalDim > const &intrinsic_permeability, double const liquid_dynamic_viscosity)
MaterialPropertyLib::Medium const & medium
Definition MediaData.h:19
Eigen::Vector< double, DisplacementDim > grad_T
GlobalDimVector< DisplacementDim > seepage_velocity_contribution
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData< DisplacementDim > const &T_data, LiquidDensityData const &rho_L_data, PermeabilityData< DisplacementDim > const &perm_data, LiquidViscosityData const &mu_L_data, ThermoOsmosisData< DisplacementDim > &out) const