diff --git a/examples/telemac3d/Viollet/doc/Viollet.tex b/examples/telemac3d/Viollet/doc/Viollet.tex index 8745800965448725a511ce08789187d0c82e3e39..5601fdf5f2b6ad49bbba4a0c3bf228efac232b55 100644 --- a/examples/telemac3d/Viollet/doc/Viollet.tex +++ b/examples/telemac3d/Viollet/doc/Viollet.tex @@ -121,11 +121,22 @@ The non-hydrostatic version is used. To solve the advection, the N-type MURD (scheme 4) is used for the velocities, temperature and $k$-$\epsilon$. -The default solvers (GMRES for propagation and PPE, conjugate gradient for -diffusion of velocities, tracers and $k$-$\epsilon$) are used. +The default solvers (GMRES for propagation, conjugate gradient for +diffusion of velocities, tracers and $k$-$\epsilon$) are used +except for PPE for which conjugate gradient is chosen for more efficiency. +To accelerate computation, preconditioning 34 = 2 $\times$ 17 (i.e. diagonal +combined with direct solver on the vertical) is chosen for every operation +solved by conjugate gradient and for which it is enabled (diffusion of +velocities, tracers, $k$-$\epsilon$, PPE). For every solving operation, asked accuracy is quite fine -(from 10$^{-16}$ for temperature and $k$-$\epsilon$ to 10$^{-16}$ for PPE and +(from 10$^{-16}$ for temperature and $k$-$\epsilon$ to 10$^{-12}$ for PPE and propagation steps). +\\ + +Mass conservation is improved (up to machine precision for water depth) by using +default values for keywords \telkey{TIDAL FLATS} (= YES) and +\telkey{TREATMENT OF NEGATIVE DEPTHS} (= 2), contrary to choices for this +example until 9.0 (NO and 1). \subsection{Physical parameters} diff --git a/examples/telemac3d/Viollet/f3d_viollet.slf b/examples/telemac3d/Viollet/f3d_viollet.slf index 07545973c27b6a3bfd67273a1ef6fe2da4155923..c10f9c5c8cdfa933f99682ed606a05b9075bef55 100644 --- a/examples/telemac3d/Viollet/f3d_viollet.slf +++ b/examples/telemac3d/Viollet/f3d_viollet.slf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f222b0da0e59ade952b882525d5af8d4e34755d11da55a41a0d194d057ddf5cb +oid sha256:e210a02958f5f85413e63701d445595fcda11553f0bc8aa07a020e307036436e size 1778040 diff --git a/examples/telemac3d/Viollet/t3d_viollet.cas b/examples/telemac3d/Viollet/t3d_viollet.cas index 02f457791ad61fddb1580f84864bdfcfe92c1c6d..44a1bd63d71bc9f6d7b2cd1272cbc774f1f95fe5 100644 --- a/examples/telemac3d/Viollet/t3d_viollet.cas +++ b/examples/telemac3d/Viollet/t3d_viollet.cas @@ -39,8 +39,6 @@ PRESCRIBED ELEVATIONS : 0.19995;0. /LOGARITHMIC PROFILE VELOCITY VERTICAL PROFILES = 2;2 / -TIDAL FLATS = NO -/ VARIABLES FOR 2D GRAPHIC PRINTOUTS = U,V,H,B,S VARIABLES FOR 3D GRAPHIC PRINTOUTS = Z,U,V,W,RI,NUZ,TA1,NAZ1,EPS,K MASS-BALANCE = YES @@ -81,16 +79,18 @@ LAW OF BOTTOM FRICTION = 1 / HAALAND /---------------------------- / PROPAGATION /---------------------------- -/MAXIMUM NUMBER OF ITERATIONS FOR PROPAGATION = 500 -/MAXIMUM NUMBER OF ITERATIONS FOR DIFFUSION OF VELOCITIES = 200 +SOLVER FOR PPE = 1 MAXIMUM NUMBER OF ITERATIONS FOR PPE = 300 ACCURACY FOR DIFFUSION OF VELOCITIES = 1.E-14 ACCURACY FOR DIFFUSION OF K-EPSILON = 1.E-16 ACCURACY FOR DIFFUSION OF TRACERS = 1.E-16 -ACCURACY FOR PROPAGATION = 1.E-10 -ACCURACY FOR PPE = 1.E-10 +ACCURACY FOR PROPAGATION = 1.E-12 +ACCURACY FOR PPE = 1.E-12 +PRECONDITIONING FOR DIFFUSION OF VELOCITIES = 34 +PRECONDITIONING FOR DIFFUSION OF K-EPSILON = 34 +PRECONDITIONING FOR DIFFUSION OF TRACERS = 34 +PRECONDITIONING FOR PPE = 34 / -IMPLICITATION FOR DEPTH = 1. /---------------------------- / SEDIMENT /---------------------------- @@ -115,9 +115,5 @@ IMPLICITATION FOR DIFFUSION : 2. / / DEFAULT VALUES UNTIL V8P0 KEPT FOR NON REGRESSION SCHEME OPTION FOR ADVECTION OF VELOCITIES = 1 -IMPLICITATION FOR VELOCITIES = 1. SCHEME OPTION FOR ADVECTION OF TRACERS = 1 SCHEME OPTION FOR ADVECTION OF K-EPSILON = 1 -/ -/ DEFAULT VALUE UNTIL V8P5 KEPT FOR NON REGRESSION -TREATMENT OF NEGATIVE DEPTHS = 1 diff --git a/examples/telemac3d/Viollet/vnv_Viollet.py b/examples/telemac3d/Viollet/vnv_Viollet.py index 9dbf3fbd0c3e886d13a209cf0267ab26df729ed2..99f2f31a05d618e678f89e9b1842c9a95ef7c78c 100644 --- a/examples/telemac3d/Viollet/vnv_Viollet.py +++ b/examples/telemac3d/Viollet/vnv_Viollet.py @@ -50,17 +50,17 @@ class VnvStudy(AbstractVnvStudy): # Comparison with the last time frame of the reference file. self.check_epsilons('vnv_1:T3DRES', 'f3d_viollet.slf', - eps=[1.E-7, 1.E-8, 1.E-9, 1.E-8, 1.E-11, 1.E-11, 1.E-11, 2.E-4, 1.E-5, 1.E-11]) + eps=[1.E-15, 1.E-8, 1.E-12, 1.E-11, 1.E-12, 1.E-12, 1.E-14, 1.E-5, 1.E-15, 1.E-15]) # Comparison with the last time frame of the reference file. self.check_epsilons('vnv_2:T3DRES', 'f3d_viollet.slf', - eps=[1.E-7, 1.E-8, 1.E-9, 1.E-8, 1.E-11, 1.E-11, 1.E-11, 3.E-4, 1.E-5, 1.E-11]) + eps=[1.E-15, 1.E-8, 1.E-12, 1.E-11, 1.E-12, 1.E-12, 1.E-14, 1.E-5, 1.E-15, 1.E-15]) # Comparison between sequential and parallel run. self.check_epsilons('vnv_1:T3DRES', 'vnv_2:T3DRES', - eps=[1.E-7, 1.E-8, 1.E-9, 1.E-8, 1.E-11, 1.E-11, 1.E-11, 3.E-4, 1.E-5, 1.E-11]) + eps=[1.E-15, 1.E-8, 1.E-12, 1.E-11, 1.E-12, 1.E-12, 1.E-14, 1.E-5, 1.E-15, 1.E-15]) def _post(self):