From 1b45199265fd94b1ceb42936ec0d7b101437d713 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Chi-Tu=C3=A2n=20Pham?= <chi-tuan.pham@edf.fr>
Date: Mon, 20 Jan 2025 12:07:27 +0100
Subject: [PATCH] [VnV][telemac3d] Update amr example with better choices for a
 few keywords - TREATMENT OF NEGATIVE DEPTHS = 2 (new default value since
 release 9.0) to improve mass conservation (water depth + temperature, water
 depth up to machine accuracy) - solver and accuracy for propagation set to
 default (GMRES + 1.E-8) - accuracy for diffusion of tracers can be set to
 1.E-15 without significant increase of CPU time - preconditioning for
 diffusion = 34 = 2*17 for tracers + velocities for more efficiency (less
 iterations) - solver and preconditioning for PPE = conjugate gradient (1) and
 34 - non-hydrostatic version (new default since 8.0)

---
 examples/telemac3d/amr/doc/amr.tex   |   3 +-
 examples/telemac3d/amr/f3d_amr.slf   |   2 +-
 examples/telemac3d/amr/t3d_amr.cas   |  25 ++---
 examples/telemac3d/amr/t3d_sigma.cas | 161 +++++++++++++--------------
 examples/telemac3d/amr/vnv_amr.py    |   8 +-
 5 files changed, 89 insertions(+), 110 deletions(-)

diff --git a/examples/telemac3d/amr/doc/amr.tex b/examples/telemac3d/amr/doc/amr.tex
index f3bc0bd2a6..096338559a 100644
--- a/examples/telemac3d/amr/doc/amr.tex
+++ b/examples/telemac3d/amr/doc/amr.tex
@@ -14,7 +14,8 @@ A demonstration of the AMD method itself is presented through the test case “l
 \section{Description}
 For illustrative purposes we consider a point source of tracer located at the
 bottom of a straight channel with rectangular cross section with a constant flow
-in the absence of friction.
+in the absence of friction (whereas it is not recommended to put a punctual
+source on the bottom for imperviousness reason).
 A depth averaged velocity of 1~m/s is applied at the entrance of the channel.
 At the source, the tracer concentration is arbitrarily set to 215 units,
 discharged at a rate of 0.5~m$^3$/s.
diff --git a/examples/telemac3d/amr/f3d_amr.slf b/examples/telemac3d/amr/f3d_amr.slf
index da92baa2ca..2bb9ded7f3 100644
--- a/examples/telemac3d/amr/f3d_amr.slf
+++ b/examples/telemac3d/amr/f3d_amr.slf
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:aebf5e34aa4364b24af270eaa251a158aafec2ac2a5684c3510b96738048ce43
+oid sha256:ccf2a3fbedcfcb71463ade9b66d72a9883304a5a3b4dd5e22634271bf05a0c88
 size 962252
diff --git a/examples/telemac3d/amr/t3d_amr.cas b/examples/telemac3d/amr/t3d_amr.cas
index a32ca3439d..746d575415 100644
--- a/examples/telemac3d/amr/t3d_amr.cas
+++ b/examples/telemac3d/amr/t3d_amr.cas
@@ -28,7 +28,7 @@ VELOCITY VERTICAL PROFILES : 2 ; 2
 /--------------------------------------------------------------------
 COEFFICIENT FOR HORIZONTAL DIFFUSION OF VELOCITIES = 0.1
 COEFFICIENT FOR VERTICAL DIFFUSION OF VELOCITIES = 1.E-6
-MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF VELOCITIES = 200
+PRECONDITIONING FOR DIFFUSION OF VELOCITIES = 34
 /--------------------------------------------------------------------
 HORIZONTAL TURBULENCE MODEL : 1
 /----------------------------------------------------------------------
@@ -46,7 +46,6 @@ MASS-BALANCE : YES
 /--------------------------------------------------------------------
 NUMBER OF TRACERS = 1
 NAMES OF TRACERS = 'TEMPERATURE     DEGREE C'
-MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF TRACERS = 300
 COEFFICIENT FOR HORIZONTAL DIFFUSION OF TRACERS = 0.02
 COEFFICIENT FOR VERTICAL DIFFUSION OF TRACERS = 1.E-6
 /--------------------------------------------------------------------
@@ -54,6 +53,10 @@ DENSITY LAW : 4
 BETA EXPANSION COEFFICIENT FOR TRACERS = -0.0007
 STANDARD VALUES FOR TRACERS = 0.0
 INITIAL VALUES OF TRACERS = 0.0
+/
+SCHEME OPTION FOR ADVECTION OF TRACERS = 1
+PRECONDITIONING FOR DIFFUSION OF TRACERS = 34
+ACCURACY FOR DIFFUSION OF TRACERS = 1.E-15
 /----------------------------------------------------------------------
 / Source discharge
 /------------------
@@ -66,21 +69,7 @@ ELEVATIONS OF SOURCES = -10.0
 WATER DISCHARGE OF SOURCES = 0.5
 VALUE OF THE TRACERS AT THE SOURCES = 215.
 SCHEME FOR ADVECTION OF VELOCITIES = 5
-/
-/ PRECONDITIONING FOR DIFFUSION OF TRACERS = 34 MAY ACCELERATE
-/ BUT CHANGES THE RESULTS, TO BE LOOKED AT
-/PRECONDITIONING FOR DIFFUSION OF TRACERS = 34
-/
-/ DEFAULT VALUES UNTIL V7P3 KEPT FOR NON REGRESSION
-NON-HYDROSTATIC VERSION : NO
-ACCURACY FOR DIFFUSION OF TRACERS = 1.E-6
-/
-/ DEFAULT VALUES UNTIL V8P0 KEPT FOR NON REGRESSION
 SCHEME OPTION FOR ADVECTION OF VELOCITIES = 1
-IMPLICITATION FOR VELOCITIES = 1.
-SOLVER FOR PROPAGATION = 1
-ACCURACY FOR PROPAGATION = 1.E-6
-SCHEME OPTION FOR ADVECTION OF TRACERS = 1
 /
-/ DEFAULT VALUE UNTIL V8P5 KEPT FOR NON REGRESSION
-TREATMENT OF NEGATIVE DEPTHS = 1
+SOLVER FOR PPE = 1
+PRECONDITIONING FOR PPE = 34
diff --git a/examples/telemac3d/amr/t3d_sigma.cas b/examples/telemac3d/amr/t3d_sigma.cas
index d034323dce..8d10d4904d 100644
--- a/examples/telemac3d/amr/t3d_sigma.cas
+++ b/examples/telemac3d/amr/t3d_sigma.cas
@@ -1,86 +1,75 @@
-/
-/ ADAPTIVE MESH REFINEMENT
-/
-MESH TRANSFORMATION : 1
-/  Runs in 82 s  version 6.2  13/06/2012 (Calibre 7, 8 processors)
-/--------------------------------------------------------------------
-BOUNDARY CONDITIONS FILE    : 'geo_amr.cli'
-GEOMETRY FILE               : 'geo_amr.slf'
-3D RESULT FILE              : 'r3d_sigma.slf'
-2D RESULT FILE              : 'r2d_sigma.slf'
-PREVIOUS COMPUTATION FILE   : 'steadystate.slf'
-/--------------------------------------------------------------------
-TITLE : 'Source release in channel. Mixing. 21 layers. SIMA.'
-INITIAL TIME SET TO ZERO : YES
-VARIABLES FOR 2D GRAPHIC PRINTOUTS : 'U,V,H,B'
-VARIABLES FOR 3D GRAPHIC PRINTOUTS : 'Z,U,V,W,TA1'
-/--------------------------------------------------------------------
-NUMBER OF HORIZONTAL LEVELS = 21
-TIME STEP = 5.0
-NUMBER OF TIME STEPS = 3000
-GRAPHIC PRINTOUT PERIOD = 3000
-LISTING PRINTOUT PERIOD = 300
-/--------------------------------------------------------------------
-PRESCRIBED ELEVATIONS :      0.0; 0.0
-PRESCRIBED FLOWRATES :       0.0; 1000.0
-PRESCRIBED TRACERS VALUES :  0.0; 0.0
-VELOCITY VERTICAL PROFILES : 2 ; 2
-/--------------------------------------------------------------------
-COEFFICIENT FOR HORIZONTAL DIFFUSION OF VELOCITIES = 0.1
-COEFFICIENT FOR VERTICAL DIFFUSION OF VELOCITIES = 1.E-6
-MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF VELOCITIES = 200
-/--------------------------------------------------------------------
-HORIZONTAL TURBULENCE MODEL : 1
-/----------------------------------------------------------------------
-/mixing length model
-VERTICAL TURBULENCE MODEL : 2
-/NEZU & NAKAGAWA
-MIXING LENGTH MODEL : 3
-/Nikuradse
-LAW OF BOTTOM FRICTION : 5
-FRICTION COEFFICIENT FOR THE BOTTOM = 0.01
-/Munk & Anderson
-DAMPING FUNCTION : 3
-/--------------------------------------------------------------------
-MASS-BALANCE : YES
-/--------------------------------------------------------------------
-NUMBER OF TRACERS = 1
-NAMES OF TRACERS = 'TEMPERATURE     DEGREE C'
-MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF TRACERS = 300
-COEFFICIENT FOR HORIZONTAL DIFFUSION OF TRACERS = 0.02
-COEFFICIENT FOR VERTICAL DIFFUSION OF TRACERS = 1.E-6
-/--------------------------------------------------------------------
-DENSITY LAW : 4
-BETA EXPANSION COEFFICIENT FOR TRACERS = -0.0007
-STANDARD VALUES FOR TRACERS = 0.0
-INITIAL VALUES OF TRACERS = 0.0
-/----------------------------------------------------------------------
-/ Source discharge
-/------------------
-/ Point discharge at (222.647, 54.499) of the model on the bed
-/ Ambient salinity 35ppt, Source salinity 250ppt
-/ Water discharge 0.5 m3/s
-ABSCISSAE OF SOURCES = 222.646987915039
-ORDINATES OF SOURCES =  54.4991149902344
-ELEVATIONS OF SOURCES = -10.0
-WATER DISCHARGE OF SOURCES = 0.5
-VALUE OF THE TRACERS AT THE SOURCES = 215.
-SCHEME FOR ADVECTION OF VELOCITIES = 5
-/
-/ PRECONDITIONING FOR DIFFUSION OF TRACERS = 34 MAY ACCELERATE
-/ BUT CHANGES THE RESULTS, TO BE LOOKED AT
-/PRECONDITIONING FOR DIFFUSION OF TRACERS = 34
-/
-/ DEFAULT VALUES UNTIL V7P3 KEPT FOR NON REGRESSION
-NON-HYDROSTATIC VERSION : NO
-ACCURACY FOR DIFFUSION OF TRACERS = 1.E-6
-/
-/ DEFAULT VALUES UNTIL V8P0 KEPT FOR NON REGRESSION
-SCHEME OPTION FOR ADVECTION OF VELOCITIES = 1
-IMPLICITATION FOR VELOCITIES = 1.
-SOLVER FOR PROPAGATION = 1
-ACCURACY FOR PROPAGATION = 1.E-6
-SCHEME OPTION FOR ADVECTION OF TRACERS = 1
-/
-/ DEFAULT VALUE UNTIL V8P5 KEPT FOR NON REGRESSION
-TREATMENT OF NEGATIVE DEPTHS = 1
+/
+/ ADAPTIVE MESH REFINEMENT
+/
+MESH TRANSFORMATION : 1
+/  Runs in 82 s  version 6.2  13/06/2012 (Calibre 7, 8 processors)
+/--------------------------------------------------------------------
+BOUNDARY CONDITIONS FILE    : 'geo_amr.cli'
+GEOMETRY FILE               : 'geo_amr.slf'
+3D RESULT FILE              : 'r3d_sigma.slf'
+2D RESULT FILE              : 'r2d_sigma.slf'
+PREVIOUS COMPUTATION FILE   : 'steadystate.slf'
+/--------------------------------------------------------------------
+TITLE : 'Source release in channel. Mixing. 21 layers. SIGMA.'
+INITIAL TIME SET TO ZERO : YES
+VARIABLES FOR 2D GRAPHIC PRINTOUTS : 'U,V,H,B'
+VARIABLES FOR 3D GRAPHIC PRINTOUTS : 'Z,U,V,W,TA1'
+/--------------------------------------------------------------------
+NUMBER OF HORIZONTAL LEVELS = 21
+TIME STEP = 5.0
+NUMBER OF TIME STEPS = 3000
+GRAPHIC PRINTOUT PERIOD = 3000
+LISTING PRINTOUT PERIOD = 300
+/--------------------------------------------------------------------
+PRESCRIBED ELEVATIONS :      0.0; 0.0
+PRESCRIBED FLOWRATES :       0.0; 1000.0
+PRESCRIBED TRACERS VALUES :  0.0; 0.0
+VELOCITY VERTICAL PROFILES : 2 ; 2
+/--------------------------------------------------------------------
+COEFFICIENT FOR HORIZONTAL DIFFUSION OF VELOCITIES = 0.1
+COEFFICIENT FOR VERTICAL DIFFUSION OF VELOCITIES = 1.E-6
+PRECONDITIONING FOR DIFFUSION OF VELOCITIES = 34
+/--------------------------------------------------------------------
+HORIZONTAL TURBULENCE MODEL : 1
+/----------------------------------------------------------------------
+/mixing length model
+VERTICAL TURBULENCE MODEL : 2
+/NEZU & NAKAGAWA
+MIXING LENGTH MODEL : 3
+/Nikuradse
+LAW OF BOTTOM FRICTION : 5
+FRICTION COEFFICIENT FOR THE BOTTOM = 0.01
+/Munk & Anderson
+DAMPING FUNCTION : 3
+/--------------------------------------------------------------------
+MASS-BALANCE : YES
+/--------------------------------------------------------------------
+NUMBER OF TRACERS = 1
+NAMES OF TRACERS = 'TEMPERATURE     DEGREE C'
+COEFFICIENT FOR HORIZONTAL DIFFUSION OF TRACERS = 0.02
+COEFFICIENT FOR VERTICAL DIFFUSION OF TRACERS = 1.E-6
+/--------------------------------------------------------------------
+DENSITY LAW : 4
+BETA EXPANSION COEFFICIENT FOR TRACERS = -0.0007
+STANDARD VALUES FOR TRACERS = 0.0
+INITIAL VALUES OF TRACERS = 0.0
+/
+SCHEME OPTION FOR ADVECTION OF TRACERS = 1
+PRECONDITIONING FOR DIFFUSION OF TRACERS = 34
+ACCURACY FOR DIFFUSION OF TRACERS = 1.E-15
+/----------------------------------------------------------------------
+/ Source discharge
+/------------------
+/ Point discharge at (222.647, 54.499) of the model on the bed
+/ Ambient salinity 35ppt, Source salinity 250ppt
+/ Water discharge 0.5 m3/s
+ABSCISSAE OF SOURCES = 222.646987915039
+ORDINATES OF SOURCES =  54.4991149902344
+ELEVATIONS OF SOURCES = -10.0
+WATER DISCHARGE OF SOURCES = 0.5
+VALUE OF THE TRACERS AT THE SOURCES = 215.
+SCHEME FOR ADVECTION OF VELOCITIES = 5
+SCHEME OPTION FOR ADVECTION OF VELOCITIES = 1
+/
+SOLVER FOR PPE = 1
+PRECONDITIONING FOR PPE = 34
diff --git a/examples/telemac3d/amr/vnv_amr.py b/examples/telemac3d/amr/vnv_amr.py
index f6f6c4dacd..6b2378f9d8 100644
--- a/examples/telemac3d/amr/vnv_amr.py
+++ b/examples/telemac3d/amr/vnv_amr.py
@@ -74,22 +74,22 @@ class VnvStudy(AbstractVnvStudy):
         # Comparison with the last time frame of the reference file.
         self.check_epsilons('vnv_1:T3DRES',
                             'f3d_amr.slf',
-                            eps=[1.E-5])
+                            eps=[1.E-6])
 
         # Comparison with the last time frame of the reference file.
         self.check_epsilons('vnv_2:T3DRES',
                             'f3d_amr.slf',
-                            eps=[1.E-5])
+                            eps=[1.E-6])
 
         # Comparison between sequential and parallel run.
         self.check_epsilons('vnv_1:T3DRES',
                             'vnv_2:T3DRES',
-                            eps=[1.E-5])
+                            eps=[1.E-6])
         
         # Comparison between sequential and parallel run.
         self.check_epsilons('vnv_3:T3DRES',
                             'vnv_4:T3DRES',
-                            eps=[2.E-5])
+                            eps=[1.E-6])
 
 
     def _post(self):
-- 
GitLab