Skip to content
Snippets Groups Projects
Commit 17c2eaec authored by Christoph Lehmann's avatar Christoph Lehmann
Browse files

[PL/TRM] Use StrongType for Darcy velocity

parent 0a46018b
No related branches found
No related tags found
No related merge requests found
......@@ -10,8 +10,6 @@
#include "DarcyLaw.h"
#include "MaterialLib/MPL/Utils/FormEigenTensor.h"
namespace ProcessLib::ThermoRichardsMechanics
{
template <int DisplacementDim>
......@@ -23,10 +21,10 @@ void DarcyLawModel<DisplacementDim>::eval(
ThermoOsmosisData<DisplacementDim> const& th_osmosis_data,
DarcyLawData<DisplacementDim>& out) const
{
out.v_darcy = perm_data.Ki / mu_L_data.viscosity *
(perm_data.k_rel *
(p_cap_data.grad_p_cap + rho_L_data.rho_LR * b_)) +
th_osmosis_data.seepage_velocity_contribution;
*out = perm_data.Ki / mu_L_data.viscosity *
(perm_data.k_rel *
(p_cap_data.grad_p_cap + rho_L_data.rho_LR * b_)) +
th_osmosis_data.seepage_velocity_contribution;
}
template struct DarcyLawModel<2>;
......
......@@ -10,6 +10,7 @@
#pragma once
#include "BaseLib/StrongType.h"
#include "LiquidDensity.h"
#include "LiquidViscosity.h"
#include "PermeabilityData.h"
......@@ -19,18 +20,13 @@
namespace ProcessLib::ThermoRichardsMechanics
{
template <int DisplacementDim>
struct DarcyLawData
{
Eigen::Vector<double, DisplacementDim> v_darcy;
static auto reflect()
{
using Self = DarcyLawData<DisplacementDim>;
using DarcyLawData = BaseLib::StrongType<Eigen::Vector<double, DisplacementDim>,
struct DarcyLawDataTag>;
return ProcessLib::Reflection::reflectWithName("velocity",
&Self::v_darcy);
}
};
constexpr std::string_view ioName(struct DarcyLawDataTag*)
{
return "velocity";
}
template <int DisplacementDim>
struct DarcyLawModel
......
......@@ -63,7 +63,7 @@ void TRMHeatStorageAndFluxModel<DisplacementDim>::eval(
// Unit is J / m^2 / s / K. It's not a heat flux, but related.
out.advective_heat_flux_contribution_to_K_liquid =
volumetric_heat_capacity_liquid * darcy_data.v_darcy;
volumetric_heat_capacity_liquid * darcy_data();
//
// temperature equation, pressure part
......@@ -72,7 +72,7 @@ void TRMHeatStorageAndFluxModel<DisplacementDim>::eval(
mu_L_data.viscosity *
(perm.Ki.transpose() * T_data.grad_T);
out.K_Tp_X_NTN = -volumetric_heat_capacity_liquid *
darcy_data.v_darcy.dot(T_data.grad_T) / perm.k_rel *
darcy_data().dot(T_data.grad_T) / perm.k_rel *
perm.dk_rel_dS_L * dS_L_data.dS_L_dp_cap;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment