From c55a61805048a9b18dd009c1e824460cd65e7191 Mon Sep 17 00:00:00 2001 From: David Seus <david.seus@ians.uni-stuttgart.de> Date: Sat, 1 Aug 2020 19:56:45 +0200 Subject: [PATCH] add abs output on write out --- LDDsimulation/LDDsimulation.py | 1 + LDDsimulation/domainPatch.py | 28 ++++++++++++++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/LDDsimulation/LDDsimulation.py b/LDDsimulation/LDDsimulation.py index 1c678b0..c33fcf0 100644 --- a/LDDsimulation/LDDsimulation.py +++ b/LDDsimulation/LDDsimulation.py @@ -580,6 +580,7 @@ class LDDsimulation(object): subdomain_index=sd_index, errors=subsequent_iter_error ) + if analyse_condition and self.write2file['condition_numbers']: # save the calculated condition numbers of the assembled # matrices a separate file for monitoring diff --git a/LDDsimulation/domainPatch.py b/LDDsimulation/domainPatch.py index 84dc252..81121e0 100644 --- a/LDDsimulation/domainPatch.py +++ b/LDDsimulation/domainPatch.py @@ -1238,12 +1238,28 @@ class DomainPatch(df.SubDomain): "pressure(t="+"{}".format(t)+")_"+"{}".format(phase) ) file.write(self.pressure[phase], i) + + if phase == "wetting": + data_set_name="subs_err_w" + data_set_name_abs="subs_err_abs_diff_w" + else: + data_set_name="subs_err_nw" + data_set_name_abs="subs_err_abs_diff_nw" + # create function to copy the subsequent errors to - error = df.Function(self.function_space["pressure"][phase]) - error.assign(self.pressure[phase] - self.pressure_prev_iter[phase]) - error.rename("pi_"+"{}".format(phase)+"-pim1_"+"{}".format(phase), # - "pressure(t="+"{}".format(t)+")_"+"{}".format(phase) - ) - file.write(error, i) + subsequent_diff = df.Function(self.function_space["pressure"][phase]) + subsequent_diff.assign(self.pressure[phase] - self.pressure_prev_iter[phase]) + # subsequent_diff.rename("pi_"+"{}".format(phase)+"-pim1_"+"{}".format(phase), # + # "pressure(t="+"{}".format(t)+")_"+"{}".format(phase) + # ) + subsequent_diff.rename(data_set_name) + file.write(subsequent_diff, i) + + abs_subsequent_diff = df.Function(subdomain.function_space["pressure"][phase]) + np_subsequent_diff = subsequent_diff.vector()[:] + abs_diff_tmp = np.fabs(np_subsequent_diff) + abs_subsequent_diff.vector()[:] = abs_diff_tmp + abs_subsequent_diff.rename(data_set_name_abs) + file.write(abs_subsequent_diff, i) # END OF CLASS DomainPatch -- GitLab