From a73608686a76a2eeb8878d121096e249aecc66ef Mon Sep 17 00:00:00 2001
From: David <forenkram@gmx.de>
Date: Thu, 15 Oct 2020 21:53:09 +0200
Subject: [PATCH] update to vanGenuchten-Mualem

---
 .../TP-R-layered_soil-all-params-one.py       | 26 +++++++----
 ...soil-g-but-same-perm-coarse-dt-longterm.py | 26 +++++++----
 .../TP-R-layered_soil-g-but-same-perm.py      | 32 ++++++++-----
 .../layered_soil/TP-R-layered_soil.py         | 26 +++++++----
 .../TP-TP-layered_soil-different-intrinsic.py | 45 +++++++------------
 5 files changed, 91 insertions(+), 64 deletions(-)

diff --git a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-all-params-one.py b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-all-params-one.py
index 8ba8ae4..2815053 100755
--- a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-all-params-one.py
+++ b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-all-params-one.py
@@ -242,15 +242,25 @@ intrinsic_permeability = {
 }
 
 # relative permeabilties
+# rel_perm_definition = {
+#     1: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     2: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     3: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+#     4: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+# }
 rel_perm_definition = {
-    1: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    2: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    3: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
-    4: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
+    1: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    2: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    3: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
+    4: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
 }
 
 rel_perm_dict = fts.generate_relative_permeability_dicts(rel_perm_definition)
diff --git a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm-coarse-dt-longterm.py b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm-coarse-dt-longterm.py
index 6e00189..e10649a 100755
--- a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm-coarse-dt-longterm.py
+++ b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm-coarse-dt-longterm.py
@@ -257,15 +257,25 @@ intrinsic_permeability = {
 }
 
 # relative permeabilties
+# rel_perm_definition = {
+#     1: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     2: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     3: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+#     4: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+# }
 rel_perm_definition = {
-    1: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    2: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    3: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
-    4: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
+    1: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    2: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    3: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
+    4: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
 }
 
 rel_perm_dict = fts.generate_relative_permeability_dicts(rel_perm_definition)
diff --git a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm.py b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm.py
index c0bdeb7..a47f33f 100755
--- a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm.py
+++ b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil-g-but-same-perm.py
@@ -66,7 +66,7 @@ resolutions = {
                 # 4: 1e-6,
                 # 8: 1e-5,
                 # 16: 5e-6,
-                32: 5e-6,
+                32: 4e-6,
                 # 64: 2e-6,
                 # 128: 1e-6,
                 # 256: 1e-6,
@@ -78,9 +78,9 @@ resolutions = {
 # that this initial timestep should be counted as.
 # Format:
 # timestep_num: initial_time
-starttimes = {650: 0.650}
+starttimes = {0: 0.0}
 timestep_size = 0.001
-number_of_timesteps = 550
+number_of_timesteps = 1200
 
 
 # LDD scheme parameters  ######################################################
@@ -249,15 +249,25 @@ intrinsic_permeability = {
 }
 
 # relative permeabilties
+# rel_perm_definition = {
+#     1: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     2: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     3: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+#     4: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+# }
 rel_perm_definition = {
-    1: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    2: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    3: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
-    4: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
+    1: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    2: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    3: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
+    4: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
 }
 
 rel_perm_dict = fts.generate_relative_permeability_dicts(rel_perm_definition)
diff --git a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil.py b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil.py
index cf3412f..d6edf0f 100755
--- a/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil.py
+++ b/Usecases/Two-phase-Richards/multi-patch/layered_soil/TP-R-layered_soil.py
@@ -253,15 +253,25 @@ intrinsic_permeability = {
 }
 
 # relative permeabilties
+# rel_perm_definition = {
+#     1: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     2: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     3: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+#     4: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+# }
 rel_perm_definition = {
-    1: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    2: {"wetting": "Spow2",
-        "nonwetting": "oneMinusSpow2"},
-    3: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
-    4: {"wetting": "Spow3",
-        "nonwetting": "oneMinusSpow3"},
+    1: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    2: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    3: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
+    4: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
 }
 
 rel_perm_dict = fts.generate_relative_permeability_dicts(rel_perm_definition)
diff --git a/Usecases/Two-phase-Two-phase/multi-patch/TP-TP-layered-soil-case/TP-TP-layered_soil-different-intrinsic.py b/Usecases/Two-phase-Two-phase/multi-patch/TP-TP-layered-soil-case/TP-TP-layered_soil-different-intrinsic.py
index d6b0ea9..74ebe8f 100755
--- a/Usecases/Two-phase-Two-phase/multi-patch/TP-TP-layered-soil-case/TP-TP-layered_soil-different-intrinsic.py
+++ b/Usecases/Two-phase-Two-phase/multi-patch/TP-TP-layered-soil-case/TP-TP-layered_soil-different-intrinsic.py
@@ -236,39 +236,26 @@ intrinsic_permeability = {
 
 # relative permeabilties
 # rel_perm_definition = {
-#     1: {"wetting": "Spow2",
-#         "nonwetting": "oneMinusSpow2"},
-#     2: {"wetting": "Spow2",
-#         "nonwetting": "oneMinusSpow2"},
-#     3: {"wetting": "Spow3",
-#         "nonwetting": "oneMinusSpow3"},
-#     4: {"wetting": "Spow3",
-#         "nonwetting": "oneMinusSpow3"},
+#     1: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     2: {"wetting": {"monomial": {"power": 2}},
+#         "nonwetting": {"monomial": {"power": 2}} },
+#     3: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
+#     4: {"wetting": {"monomial": {"power": 3}},
+#         "nonwetting": {"monomial": {"power": 3}} },
 # }
-
 rel_perm_definition = {
-    1: {"wetting": {"monomial": {"power": 2}},
-        "nonwetting": {"monomial": {"power": 2}} },
-    2: {"wetting": {"monomial": {"power": 2}},
-        "nonwetting": {"monomial": {"power": 2}} },
-    3: {"wetting": {"monomial": {"power": 3}},
-        "nonwetting": {"monomial": {"power": 3}} },
-    4: {"wetting": {"monomial": {"power": 3}},
-        "nonwetting": {"monomial": {"power": 3}} },
+    1: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    2: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
+    3: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
+    4: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
+        "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
 }
 
-#
-# rel_perm_definition = {
-#     1: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
-#         "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
-#     2: {"wetting": {"vanGenuchtenMualem": {"n": 3}},
-#         "nonwetting": {"vanGenuchtenMualem": {"n": 3}} },
-#     3: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
-#         "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
-#     4: {"wetting": {"vanGenuchtenMualem": {"n": 6}},
-#         "nonwetting": {"vanGenuchtenMualem": {"n": 6}} },
-# }
-
 rel_perm_dict = fts.generate_relative_permeability_dicts(rel_perm_definition)
 relative_permeability = rel_perm_dict["ka"]
 ka_prime = rel_perm_dict["ka_prime"]
-- 
GitLab