diff --git a/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.cpp b/ProcessLib/ThermoRichardsMechanics/Constitutive/EqT.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0e780f83329ff6e8d833ff45e86a4d7e0945d5f5 --- /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 0000000000000000000000000000000000000000..3eec5119c3057772cfa71c8ca8386f27bdfa71b4 --- /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