From 180bb2c26622850cf8222bfdee815176cb9a3604 Mon Sep 17 00:00:00 2001
From: Anna Mareike Kostelecky <anmako96@web.de>
Date: Tue, 24 Oct 2023 06:49:40 +0000
Subject: [PATCH] [PNM][util] add poreExtendedRadius to dgf-file

---
 dumux/porenetwork/util/openpnm2dgf.py | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/dumux/porenetwork/util/openpnm2dgf.py b/dumux/porenetwork/util/openpnm2dgf.py
index e7dabeabfc..01346c4644 100755
--- a/dumux/porenetwork/util/openpnm2dgf.py
+++ b/dumux/porenetwork/util/openpnm2dgf.py
@@ -213,9 +213,11 @@ def _computeVertexElementData(net, policy):
     vertices = net["pore.coords"]
     elements = net["throat.conns"]
 
-    poreRadius = policy["pore.radius"](net)
+    poreInscribedRadius = policy["pore.inscribedRadius"](net)
+    poreExtendedRadius = policy["pore.extendedRadius"](net)
     poreVolume = policy["pore.volume"](net)
     poreLabel = policy["pore.label"](net)
+
     throatRadius = policy["throat.radius"](net)
     throatLength = policy["throat.length"](net)
     throatArea = policy["throat.area"](net)
@@ -242,13 +244,14 @@ def _computeVertexElementData(net, policy):
                 vertices[:, 0],
                 vertices[:, 1],
                 vertices[:, 2],
-                poreRadius,
+                poreInscribedRadius,
+                poreExtendedRadius,
                 poreVolume,
                 poreLabel,
                 poreDomainType,
             ],
             axis=1,
-        ).reshape(len(poreLabel), 7)
+        ).reshape(len(poreLabel), 8)
         elementData = np.stack(
             [
                 elements[:, 0],
@@ -271,12 +274,13 @@ def _computeVertexElementData(net, policy):
                 vertices[:, 0],
                 vertices[:, 1],
                 vertices[:, 2],
-                poreRadius,
+                poreInscribedRadius,
+                poreExtendedRadius,
                 poreVolume,
                 poreLabel,
             ],
             axis=1,
-        ).reshape(len(poreLabel), 6)
+        ).reshape(len(poreLabel), 7)
         elementData = np.stack(
             [
                 elements[:, 0],
@@ -306,7 +310,7 @@ def writeDGF(filename, net, policy):
     with open(filename, "w") as outputfile:
         outputfile.write("DGF\n")
         outputfile.write(
-            "% Vertex parameters: PoreInscribedRadius PoreVolume PoreLabel"
+            "% Vertex parameters: PoreInscribedRadius PoreExtendedRadius PoreVolume PoreLabel"
             f"{' PoreDomainType' if isDualNetwork else ''}\n"
         )
         outputfile.write(
@@ -418,7 +422,10 @@ if __name__ == "__main__":
         return label
 
     POLICY = {
-        "pore.radius": lambda n: n["pore.extended_diameter"] / 2.0,
+        "pore.inscribedRadius": lambda n: n["pore.inscribed_diameter"] / 2.0
+        if "pore.inscribed_diameter" in n
+        else n["pore.extended_diameter"] / 2.0,
+        "pore.extendedRadius": lambda n: n["pore.extended_diameter"] / 2.0,
         "pore.volume": lambda n: n["pore.region_volume"],
         "pore.label": poreLabelFunc,
         "throat.radius": lambda n: n["throat.inscribed_diameter"] / 2.0,
-- 
GitLab