From a9704cc34cdc09ac804edccbea3103cc71252a3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Chi-Tu=C3=A2n=20Pham?= <chi-tuan.pham@edf.fr>
Date: Sun, 29 Dec 2024 19:01:56 +0100
Subject: [PATCH] [VnV][telemac3d] Update tide example (more efficient options
 to solve systems) - SOLVER FOR PROPAGATION = 7 (GMRES) + SOLVER FOR PPE = 1
 (conjugate gradient) + PRECONDITIONING FOR PPE = 34 (=2*17) rather than
 conjugate residual (= 2) for propagation and GMRES for PPE - accuracies for
 propagation and PPE set to default values (1.E-8)

---
 examples/telemac3d/tide/doc/tide.tex              | 10 ++++++++++
 examples/telemac3d/tide/f3d_tide-jmj_real_gen.slf |  2 +-
 examples/telemac3d/tide/f3d_tide-jmj_type.slf     |  2 +-
 examples/telemac3d/tide/t3d_tide-jmj_real_gen.cas | 13 +++----------
 examples/telemac3d/tide/t3d_tide-jmj_type.cas     | 13 +++----------
 examples/telemac3d/tide/vnv_tide.py               |  8 ++++----
 6 files changed, 22 insertions(+), 26 deletions(-)

diff --git a/examples/telemac3d/tide/doc/tide.tex b/examples/telemac3d/tide/doc/tide.tex
index f7977e1c2f..c5dcf61564 100644
--- a/examples/telemac3d/tide/doc/tide.tex
+++ b/examples/telemac3d/tide/doc/tide.tex
@@ -94,6 +94,16 @@ Free Surface Gradient Compatibility = 0.5 (not 0.9) to prevent on
 wiggles\\
 Tidal flats with correction of Free Surface by elements, treatments
 to have $h \ge 0$
+\\
+
+GMRES is used to solve propagation (\telkey{SOLVER FOR PROPAGATION} = 7)
+and conjugate gradient + preconditioning = 34 for Poisson Pressure
+Equation (\telkey{SOLVER FOR PPE} = 1 + \telkey{PRECONDITIONING FOR PPE} = 34).
+With these choices, the accuracies for propagation and PPE can be let to default
+values (= 10$^{-8}$).
+These choices are more efficient than previous choices for this example:
+\telkey{SOLVER FOR PROPAGATION} = 2 (conjugate residual) and
+\telkey{SOLVER FOR PPE} = 7 (GMRES = default).
 
 \subsection{Comments}
 
diff --git a/examples/telemac3d/tide/f3d_tide-jmj_real_gen.slf b/examples/telemac3d/tide/f3d_tide-jmj_real_gen.slf
index 9171948d9f..d9a9b030c3 100644
--- a/examples/telemac3d/tide/f3d_tide-jmj_real_gen.slf
+++ b/examples/telemac3d/tide/f3d_tide-jmj_real_gen.slf
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:d70f479410beb3b46edab7ef9e1e1dde910e0d31e870347b841a2e2bb62e856d
+oid sha256:706936a9d927b031874b2972fef5ccdef8e97f0870cd7cc77fa85dca00271961
 size 1787732
diff --git a/examples/telemac3d/tide/f3d_tide-jmj_type.slf b/examples/telemac3d/tide/f3d_tide-jmj_type.slf
index a94aa2bd5d..368617117a 100644
--- a/examples/telemac3d/tide/f3d_tide-jmj_type.slf
+++ b/examples/telemac3d/tide/f3d_tide-jmj_type.slf
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:f3718a53e88b286af813cab3149546a7f3c65e921c2604d7e716806ee9fcb7e3
+oid sha256:060c629d83c71ee22b1e2456e00af9f830ad4ebc1ffd8949d5f635ea868869dd
 size 1787732
diff --git a/examples/telemac3d/tide/t3d_tide-jmj_real_gen.cas b/examples/telemac3d/tide/t3d_tide-jmj_real_gen.cas
index e42690db9e..69ac338fae 100644
--- a/examples/telemac3d/tide/t3d_tide-jmj_real_gen.cas
+++ b/examples/telemac3d/tide/t3d_tide-jmj_real_gen.cas
@@ -30,7 +30,6 @@ TIDAL FLATS                                     : YES
 OPTION FOR THE TREATMENT OF TIDAL FLATS         : 1
 / TO HAVE POSITIVE DEPTHS EVERYWHERE
 TREATMENT OF NEGATIVE DEPTHS                    : 2
-MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES : 20
 OPTION FOR LIQUID BOUNDARIES                    : 2
 /--------------------------------------------------
 /                       TIDE CONDITIONS
@@ -60,19 +59,13 @@ SCHEME FOR ADVECTION OF VELOCITIES              : 1
 NON-HYDROSTATIC VERSION                         : YES
 FREE SURFACE GRADIENT COMPATIBILITY             : 0.5
 /
-ACCURACY FOR DIFFUSION OF VELOCITIES            : 1.E-6
 PRECONDITIONING FOR DIFFUSION OF VELOCITIES     : 34
 /---------------------------------------------------------------------/
 /     PROPAGATION                                                     /
 /---------------------------------------------------------------------/
-SOLVER FOR PROPAGATION                              : 2
-ACCURACY FOR PPE                                    : 1.E-6
-/PRECONDITIONING FOR PPE                             : 17
-IMPLICITATION FOR DEPTH                             : 1.
+SOLVER FOR PROPAGATION                              : 7 / UNTIL 9.0 : 2
+SOLVER FOR PPE                                      : 1
+PRECONDITIONING FOR PPE                             : 34
 /
 MASS-LUMPING FOR DEPTH                              : 1.
 MASS-LUMPING FOR DIFFUSION                          : 1.
-/
-/ DEFAULT VALUES UNTIL V8P0 KEPT FOR NON REGRESSION
-IMPLICITATION FOR VELOCITIES = 1.
-ACCURACY FOR PROPAGATION = 1.E-6
diff --git a/examples/telemac3d/tide/t3d_tide-jmj_type.cas b/examples/telemac3d/tide/t3d_tide-jmj_type.cas
index 76ec76927a..521e9f236b 100644
--- a/examples/telemac3d/tide/t3d_tide-jmj_type.cas
+++ b/examples/telemac3d/tide/t3d_tide-jmj_type.cas
@@ -26,7 +26,6 @@ TIDAL FLATS                                     : YES
 OPTION FOR THE TREATMENT OF TIDAL FLATS         : 1
 / TO HAVE POSITIVE DEPTHS EVERYWHERE
 TREATMENT OF NEGATIVE DEPTHS                    : 2
-MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES : 20
 OPTION FOR LIQUID BOUNDARIES                    : 2
 /--------------------------------------------------
 /                       TIDE CONDITIONS
@@ -55,19 +54,13 @@ SCHEME FOR ADVECTION OF VELOCITIES              : 1
 NON-HYDROSTATIC VERSION                         : YES
 FREE SURFACE GRADIENT COMPATIBILITY             : 0.5
 /
-ACCURACY FOR DIFFUSION OF VELOCITIES            : 1.E-6
 PRECONDITIONING FOR DIFFUSION OF VELOCITIES     : 34
 /---------------------------------------------------------------------/
 /     PROPAGATION                                                     /
 /---------------------------------------------------------------------/
-SOLVER FOR PROPAGATION                              : 2
-ACCURACY FOR PPE                                    : 1.E-6
-/PRECONDITIONING FOR PPE                             : 17
-IMPLICITATION FOR DEPTH                             : 1.
+SOLVER FOR PROPAGATION                              : 7 / UNTIL 9.0 : 2
+SOLVER FOR PPE                                      : 1
+PRECONDITIONING FOR PPE                             : 34
 /
 MASS-LUMPING FOR DEPTH                              : 1.
 MASS-LUMPING FOR DIFFUSION                          : 1.
-/
-/ DEFAULT VALUES UNTIL V8P0 KEPT FOR NON REGRESSION
-IMPLICITATION FOR VELOCITIES = 1.
-ACCURACY FOR PROPAGATION = 1.E-6
diff --git a/examples/telemac3d/tide/vnv_tide.py b/examples/telemac3d/tide/vnv_tide.py
index 5fa6fc3ac4..e94be857b1 100644
--- a/examples/telemac3d/tide/vnv_tide.py
+++ b/examples/telemac3d/tide/vnv_tide.py
@@ -56,22 +56,22 @@ class VnvStudy(AbstractVnvStudy):
         # Comparison with the last time frame of the reference file.
         self.check_epsilons('vnv_1:T3DRES',
                             'f3d_tide-jmj_type.slf',
-                            eps=[8.E-3, 3.E-2, 2.E-2, 2.E-3])
+                            eps=[2.E-2, 5.E-2, 5.E-2, 4.E-3])
 
         # Comparison with the last time frame of the reference file.
         self.check_epsilons('vnv_2:T3DRES',
                             'f3d_tide-jmj_type.slf',
-                            eps=[8.E-3, 3.E-2, 2.E-2, 2.E-3])
+                            eps=[2.E-2, 5.E-2, 5.E-2, 4.E-3])
 
         # Comparison between sequential and parallel run.
         self.check_epsilons('vnv_1:T3DRES',
                             'vnv_2:T3DRES',
-                            eps=[8.E-3, 3.E-2, 2.E-2, 2.E-3])
+                            eps=[2.E-2, 4.E-2, 7.E-2, 4.E-3])
 
         # Comparison with the last time frame of the reference file.
         self.check_epsilons('vnv_3:T3DRES',
                             'f3d_tide-jmj_real_gen.slf',
-                            eps=[4.0E-1, 3.1E0, 1.1E0, 7.E-2])
+                            eps=[0.98E0, 2.5E0, 0.64E0, 9.E-2])
 
 
     def _post(self):
-- 
GitLab