From cedc8d1d1e1648f122a431e69d88ebbe80a65df3 Mon Sep 17 00:00:00 2001 From: Christoph Lehmann <christoph.lehmann@ufz.de> Date: Tue, 5 Jul 2022 13:24:30 +0200 Subject: [PATCH] [PL] Added constitutive model/data: EqT --- .../Constitutive/EqT.cpp | 30 ++++++++++++++++ .../Constitutive/EqT.h | 35 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.cpp create mode 100644 ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.h diff --git a/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.cpp b/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.cpp new file mode 100644 index 00000000000..0e780f83329 --- /dev/null +++ b/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.cpp @@ -0,0 +1,30 @@ +/** + * \file + * \copyright + * Copyright (c) 2012-2022, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + */ + +#include "EqT.h" + +namespace ProcessLib::ThermoRichardsMechanics +{ +template <int DisplacementDim> +void EqTModel<DisplacementDim>::eval( + TRMHeatStorageAndFluxData<DisplacementDim> const& heat_data, + TRMVaporDiffusionData<DisplacementDim> const& vap_data, + EqTData<DisplacementDim>& out) const +{ + out.M_TT_X_NTN = heat_data.M_TT_X_NTN + vap_data.M_TT_X_NTN; + + out.K_TT_NT_V_dN = + heat_data.advective_heat_flux_contribution_to_K_liquid + + vap_data.vapor_velocity * vap_data.volumetric_heat_capacity_vapor; +} + +template struct EqTModel<2>; +template struct EqTModel<3>; +} // namespace ProcessLib::ThermoRichardsMechanics diff --git a/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.h b/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.h new file mode 100644 index 00000000000..3eec5119c30 --- /dev/null +++ b/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.h @@ -0,0 +1,35 @@ +/** + * \file + * \copyright + * Copyright (c) 2012-2022, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + */ + +#pragma once + +#include "TRMHeatStorageAndFlux.h" +#include "TRMVaporDiffusion.h" + +namespace ProcessLib::ThermoRichardsMechanics +{ +template <int DisplacementDim> +struct EqTData +{ + GlobalDimVector<DisplacementDim> K_TT_NT_V_dN = DVnan<DisplacementDim>(); + double M_TT_X_NTN = nan; +}; + +template <int DisplacementDim> +struct EqTModel +{ + void eval(TRMHeatStorageAndFluxData<DisplacementDim> const& heat_data, + TRMVaporDiffusionData<DisplacementDim> const& vap_data, + EqTData<DisplacementDim>& out) const; +}; + +extern template struct EqTModel<2>; +extern template struct EqTModel<3>; +} // namespace ProcessLib::ThermoRichardsMechanics -- GitLab