From c22f995844788e1cc6b3f98a130e0717fded84aa Mon Sep 17 00:00:00 2001 From: Christoph Lehmann <christoph.lehmann@ufz.de> Date: Fri, 17 May 2024 13:08:36 +0200 Subject: [PATCH] [PL/TRM] Use StrongType for liquid viscosity --- .../ConstitutiveCommon/DarcyLaw.cpp | 2 +- .../ConstitutiveCommon/EqP.cpp | 6 +++--- .../ConstitutiveCommon/LiquidViscosity.cpp | 5 ++--- .../ConstitutiveCommon/LiquidViscosity.h | 16 +++++++--------- .../ConstitutiveCommon/TRMHeatStorageAndFlux.cpp | 3 +-- 5 files changed, 14 insertions(+), 18 deletions(-) diff --git a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/DarcyLaw.cpp b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/DarcyLaw.cpp index 5bc1527620d..8bceb6e7951 100644 --- a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/DarcyLaw.cpp +++ b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/DarcyLaw.cpp @@ -21,7 +21,7 @@ void DarcyLawModel<DisplacementDim>::eval( ThermoOsmosisData<DisplacementDim> const& th_osmosis_data, DarcyLawData<DisplacementDim>& out) const { - *out = perm_data.Ki / mu_L_data.viscosity * + *out = perm_data.Ki / mu_L_data() * (perm_data.k_rel * (p_cap_data.grad_p_cap + rho_L_data.rho_LR * b_)) + th_osmosis_data.seepage_velocity_contribution; diff --git a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/EqP.cpp b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/EqP.cpp index b8d7a09315f..0b79275aebe 100644 --- a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/EqP.cpp +++ b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/EqP.cpp @@ -29,14 +29,14 @@ void EqPModel<DisplacementDim>::eval( { out.M_pu_X_BTI2N = S_L_data.S_L * rho_L_data.rho_LR * biot_data(); - out.K_pp_Laplace = perm_data.k_rel * rho_L_data.rho_LR * perm_data.Ki / - mu_L_data.viscosity; + out.K_pp_Laplace = + perm_data.k_rel * rho_L_data.rho_LR * perm_data.Ki / mu_L_data(); out.J_pp_X_BTI2NT_u_dot_N = -rho_L_data.rho_LR * dS_L_data.dS_L_dp_cap * biot_data(); out.J_pp_dNT_V_N = - perm_data.Ki / mu_L_data.viscosity * + perm_data.Ki / mu_L_data() * (rho_L_data.rho_LR * perm_data.dk_rel_dS_L * dS_L_data.dS_L_dp_cap * (p_cap_data.grad_p_cap + rho_L_data.rho_LR * b_)); diff --git a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.cpp b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.cpp index bc4d2a88d92..337df896229 100644 --- a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.cpp +++ b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.cpp @@ -24,9 +24,8 @@ void LiquidViscosityModel<DisplacementDim>::eval( variables.temperature = T_data.T; variables.density = rho_L_data.rho_LR; - out.viscosity = - media_data.liquid.property(MPL::PropertyType::viscosity) - .template value<double>(variables, x_t.x, x_t.t, x_t.dt); + *out = media_data.liquid.property(MPL::PropertyType::viscosity) + .template value<double>(variables, x_t.x, x_t.t, x_t.dt); } template struct LiquidViscosityModel<2>; diff --git a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.h b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.h index 6b65e4da3e7..53ab7f941ab 100644 --- a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.h +++ b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/LiquidViscosity.h @@ -11,20 +11,18 @@ #pragma once #include "Base.h" +#include "BaseLib/StrongType.h" #include "LiquidDensity.h" namespace ProcessLib::ThermoRichardsMechanics { -struct LiquidViscosityData -{ - double viscosity; +using LiquidViscosityData = + BaseLib::StrongType<double, struct LiquidViscosityDataTag>; - static auto reflect() - { - return ProcessLib::Reflection::reflectWithName( - "viscosity", &LiquidViscosityData::viscosity); - } -}; +constexpr std::string_view ioName(struct LiquidViscosityDataTag*) +{ + return "viscosity"; +} template <int DisplacementDim> struct LiquidViscosityModel diff --git a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/TRMHeatStorageAndFlux.cpp b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/TRMHeatStorageAndFlux.cpp index c94735a61dd..a2e4a8bf984 100644 --- a/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/TRMHeatStorageAndFlux.cpp +++ b/ProcessLib/ThermoRichardsMechanics/ConstitutiveCommon/TRMHeatStorageAndFlux.cpp @@ -69,8 +69,7 @@ void TRMHeatStorageAndFluxModel<DisplacementDim>::eval( // temperature equation, pressure part // out.K_Tp_NT_V_dN = -volumetric_heat_capacity_liquid * perm.k_rel / - mu_L_data.viscosity * - (perm.Ki.transpose() * T_data.grad_T); + mu_L_data() * (perm.Ki.transpose() * T_data.grad_T); out.K_Tp_X_NTN = -volumetric_heat_capacity_liquid * darcy_data().dot(T_data.grad_T) / perm.k_rel * perm.dk_rel_dS_L * dS_L_data.dS_L_dp_cap; -- GitLab