From e6305c51eb6155729881d98265435000f4bd3edb Mon Sep 17 00:00:00 2001
From: David Seus <david.seus@ians.uni-stuttgart.de>
Date: Fri, 5 Jun 2020 17:37:16 +0200
Subject: [PATCH] rename temporary variable interface_has_phases in
_init_interface_values
---
LDDsimulation/domainPatch.py | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/LDDsimulation/domainPatch.py b/LDDsimulation/domainPatch.py
index 099fc74..af91ef7 100644
--- a/LDDsimulation/domainPatch.py
+++ b/LDDsimulation/domainPatch.py
@@ -1150,16 +1150,16 @@ class DomainPatch(df.SubDomain):
# assumes TP, we need to initialise interface values for the nonwetting
# phase, too for communication, see the article.
if self.isRichards and neighbour_assumes_TP:
- subdom_has_phases=["wetting", "nonwetting"]
+ interface_has_phases=["wetting", "nonwetting"]
else:
- subdom_has_phases=self.has_phases
+ interface_has_phases=self.has_phases
self.interface[interf].init_interface_values(
interface_marker=marker,
interface_marker_value=marker_value,
function_space=space,
subdomain_index=self.subdomain_index,
- has_phases=subdom_has_phases,
+ has_phases=interface_has_phases,
)
def _calc_gravity_expressions(self):
@@ -1200,10 +1200,14 @@ class DomainPatch(df.SubDomain):
"""
t = time
+ S = self.saturation
+ saturation = dict()
if not write_iter_for_fixed_time:
for phase in self.has_phases:
+ saturation.update({phase: df.Function(self.function_space["pressure"]["wetting"])})
self.pressure[phase].rename("pressure_"+"{}".format(phase), "pressure_"+"{}".format(phase))
file.write(self.pressure[phase], t)
+
capillary_pressure = df.Function(self.function_space["pressure"]["wetting"])
if self.isRichards:
capillary_pressure.assign(-self.pressure["wetting"])
@@ -1214,6 +1218,19 @@ class DomainPatch(df.SubDomain):
capillary_pressure.assign(pc_temp)
capillary_pressure.rename("pc_num", "pc_num")
file.write(capillary_pressure, t)
+
+ # write out the saturation
+ for phase in self.has_phases:
+ # saturation_w.assign(Sat_w)
+ if phase is "wetting":
+ saturation["wetting"] = df.project(S(capillary_pressure), self.function_space["pressure"]["wetting"])
+ saturation["wetting"].rename("Sw", "Sw")
+ else:
+ # S_nw = 1-S(exact_capillary_pressure).vector().get_local()
+ saturation["nonwetting"] = df.project(1-S(capillary_pressure), self.function_space["pressure"]["wetting"])
+ saturation["nonwetting"].rename("Snw", "Snw")
+
+ file.write(saturation[phase], t)
else:
for phase in self.has_phases:
i = self.iteration_number
--
GitLab