From b4af3789ad1bcbd24d74b481843d1ed5a79b498c Mon Sep 17 00:00:00 2001
From: Christoph Lehmann <christoph.lehmann@ufz.de>
Date: Wed, 10 Aug 2022 10:48:26 +0200
Subject: [PATCH] [PL] Added transport porosity for disambiguation

---
 .../Constitutive/Permeability.cpp                     |  4 ++--
 .../Constitutive/Permeability.h                       |  4 ++--
 .../ThermoRichardsMechanics/Constitutive/Porosity.h   | 11 +++++++++++
 .../ThermoRichardsMechanics/ConstitutiveSetting.h     |  2 +-
 4 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.cpp b/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.cpp
index cb7494151c2..03f4229158d 100644
--- a/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.cpp
+++ b/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.cpp
@@ -23,8 +23,8 @@ void PermeabilityModel<DisplacementDim>::eval(
     CapillaryPressureData<DisplacementDim> const& p_cap_data,
     TemperatureData<DisplacementDim> const& T_data,
     PorosityData const& poro_data, LiquidViscosityData const& mu_L_data,
-    PorosityData& transport_poro_data,
-    PorosityData const& transport_poro_data_prev,
+    TransportPorosityData& transport_poro_data,
+    TransportPorosityData const& transport_poro_data_prev,
     SolidMechanicsDataStateless<DisplacementDim> const& s_mech_data,
     StrainData<DisplacementDim> const& eps_data,
     StrainData<DisplacementDim> const& eps_prev_data,
diff --git a/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.h b/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.h
index e3a252b373d..ae3eb3c5b52 100644
--- a/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.h
+++ b/ProcessLib/ThermoRichardsMechanics/Constitutive/Permeability.h
@@ -36,8 +36,8 @@ struct PermeabilityModel
               PorosityData const& poro_data,
               LiquidViscosityData const& mu_L_data,
               // TODO evaluate transport porosity evolution separately
-              PorosityData& transport_poro_data,
-              PorosityData const& transport_poro_data_prev,
+              TransportPorosityData& transport_poro_data,
+              TransportPorosityData const& transport_poro_data_prev,
               SolidMechanicsDataStateless<DisplacementDim> const& s_mech_data,
               StrainData<DisplacementDim> const& eps_data,
               StrainData<DisplacementDim> const& eps_prev_data,
diff --git a/ProcessLib/ThermoRichardsMechanics/Constitutive/Porosity.h b/ProcessLib/ThermoRichardsMechanics/Constitutive/Porosity.h
index 42dfa5c813f..22af0a1ccba 100644
--- a/ProcessLib/ThermoRichardsMechanics/Constitutive/Porosity.h
+++ b/ProcessLib/ThermoRichardsMechanics/Constitutive/Porosity.h
@@ -22,6 +22,17 @@ struct PorosityData
     double phi;
 };
 
+struct TransportPorosityData
+{
+    double phi;
+
+    static auto reflect()
+    {
+        return std::make_tuple(
+            ReflectionData{"transport_porosity", &TransportPorosityData::phi});
+    }
+};
+
 template <int DisplacementDim>
 struct PorosityModel
 {
diff --git a/ProcessLib/ThermoRichardsMechanics/ConstitutiveSetting.h b/ProcessLib/ThermoRichardsMechanics/ConstitutiveSetting.h
index 77307c26c28..3148811324f 100644
--- a/ProcessLib/ThermoRichardsMechanics/ConstitutiveSetting.h
+++ b/ProcessLib/ThermoRichardsMechanics/ConstitutiveSetting.h
@@ -36,7 +36,7 @@ struct StatefulData
 {
     SaturationData S_L_data;
     PorosityData poro_data;
-    PorosityData transport_poro_data;
+    TransportPorosityData transport_poro_data;
     StrainData<DisplacementDim> eps_data;
     SwellingDataStateful<DisplacementDim> swelling_data;
     SolidMechanicsDataStateful<DisplacementDim> s_mech_data;
-- 
GitLab