OGS
FormEffectiveThermalConductivity.cpp
Go to the documentation of this file.
1/*
2 * \file
3 * \copyright
4 * Copyright (c) 2012-2024, OpenGeoSys Community (http://www.opengeosys.org)
5 * Distributed under a Modified BSD License.
6 * See accompanying file LICENSE.txt or
7 * http://www.opengeosys.org/project/license
8 *
9 * Created on July 31, 2019, 12:10 PM
10 */
11
13
14#include "FormEigenTensor.h"
15
16namespace MaterialPropertyLib
17{
18template <int GlobalDim>
19Eigen::Matrix<double, GlobalDim, GlobalDim> formEffectiveThermalConductivity(
20 MaterialPropertyLib::PropertyDataType const& solid_thermal_conductivity,
21 const double fluid_thermal_conductivity, const double porosity)
22{
23 return (1.0 - porosity) *
24 formEigenTensor<GlobalDim>(solid_thermal_conductivity) +
25 porosity * fluid_thermal_conductivity *
26 Eigen::Matrix<double, GlobalDim, GlobalDim>::Identity();
27}
28
29template Eigen::Matrix<double, 1, 1> formEffectiveThermalConductivity<1>(
30 MaterialPropertyLib::PropertyDataType const& solid_thermal_conductivity,
31 const double fluid_thermal_conductivity, const double porosity);
32template Eigen::Matrix<double, 2, 2> formEffectiveThermalConductivity<2>(
33 MaterialPropertyLib::PropertyDataType const& solid_thermal_conductivity,
34 const double fluid_thermal_conductivity, const double porosity);
35template Eigen::Matrix<double, 3, 3> formEffectiveThermalConductivity<3>(
36 MaterialPropertyLib::PropertyDataType const& solid_thermal_conductivity,
37 const double fluid_thermal_conductivity, const double porosity);
38
39} // namespace MaterialPropertyLib
Eigen::Matrix< double, GlobalDim, GlobalDim > formEffectiveThermalConductivity(MaterialPropertyLib::PropertyDataType const &solid_thermal_conductivity, const double fluid_thermal_conductivity, const double porosity)
template Eigen::Matrix< double, 3, 3 > formEffectiveThermalConductivity< 3 >(MaterialPropertyLib::PropertyDataType const &solid_thermal_conductivity, const double fluid_thermal_conductivity, const double porosity)
template Eigen::Matrix< double, 2, 2 > formEffectiveThermalConductivity< 2 >(MaterialPropertyLib::PropertyDataType const &solid_thermal_conductivity, const double fluid_thermal_conductivity, const double porosity)
Eigen::Matrix< double, GlobalDim, GlobalDim > formEigenTensor(MaterialPropertyLib::PropertyDataType const &values)
template Eigen::Matrix< double, 1, 1 > formEffectiveThermalConductivity< 1 >(MaterialPropertyLib::PropertyDataType const &solid_thermal_conductivity, const double fluid_thermal_conductivity, const double porosity)
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType
Definition Property.h:31