eph...@fastmail.net
unread,Jul 11, 2022, 3:19:50 PM7/11/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Nek5000
Hi Everyone,
I’m running a test case comparing an older version of the Nek5000 (svn r1041) with the current v19 release.
The test is the propagation of a simple laminar “flame”, where the state
of the reaction is represented by the temperature (which goes from
0=unreacted to 1=reacted). The state is driven from unreacted to
reacted by a reaction term, which has been added to the temperature
equation (so it’s just a simple ADR equation). The case is Boussinesq,
but I’ve turned the gravity off for this test. The domain is 2D. The
side boundary conditions are periodic. The bottom and top boundaries are
Dirichlet with vx=vy=0 and T=1 at the bottom of the box and T=0 at the
top. I’m using the Uzawa GMRES pressure solver (p42=0) with PnPn-2.
Projection is turned off, due to the fact that I expect a steady
state.
So, what I expect to see is a flat burning interface that propagates
“upwards” in the box. The velocity and pressure should stay at 0.
This is basically what happens in the old code (of course, the velocity
and pressure are not exactly zero, but stay small). The flame shape
stays flat. So, the old code behaves as expected.
The new code behaves differently. At Step 1, the y-velocity is
non-zero near the bottom of the box (ranging from -0.3 to 0.3). The
pressure ranges from -2.4e4 at the bottom of the box to 8000 at the top.
Here is the output from Step 1:
DT/DTCFL/DTFS/DTINIT 0.500E-02 0.196-313 0.690-309 0.500E-02
Step 1, t= 5.0000000E-03, DT= 5.0000000E-03, C= 0.000 0.0000E+00 0.0000E+00
Solving for Hmholtz scalars
Temperature/Passive scalar solution
1 Hmholtz TEMP 1 3.6084E-02 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 2 8.8358E-03 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 3 2.4725E-03 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 4 5.2785E-04 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 5 1.5658E-04 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 6 2.5804E-05 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 7 2.8251E-06 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 8 6.0186E-07 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 9 1.3756E-07 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 10 3.0697E-08 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 11 7.4180E-09 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz TEMP 10 7.4180E-09 3.6084E-02 1.0000E-08
1 Scalars done 5.0000E-03 1.6570E-02
Solving for fluid
New CG1-tolerance (RINIT*epsm) = 3.5068093836949951E-011 6.4678309022109993E-012
1 Hmholtz VELY 1 3.5068E+02 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 2 8.5177E+01 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 3 2.3825E+01 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 4 5.0513E+00 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 5 1.4964E+00 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 6 2.3544E-01 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 7 2.3294E-02 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 8 4.5005E-03 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 9 9.0929E-04 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 10 1.2027E-04 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 11 3.4204E-05 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 12 7.8441E-06 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 13 2.2899E-06 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 14 3.0307E-07 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 15 4.7444E-08 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 16 9.4328E-09 1.0000E+00 1.0000E-08 2.0000E+02 F
1 Hmholtz VELY 15 9.4328E-09 3.5068E+02 1.0000E-08
1 1.00000E-06 2.51973E-01 5.53595E-01 4.55158E-01 1 Divergence
2 1.00000E-06 1.97450E-01 5.53595E-01 3.56669E-01 1 Divergence
3 1.00000E-06 5.19651E-02 5.53595E-01 9.38685E-02 1 Divergence
4 1.00000E-06 1.41031E-02 5.53595E-01 2.54756E-02 1 Divergence
5 1.00000E-06 4.79964E-03 5.53595E-01 8.66995E-03 1 Divergence
6 1.00000E-06 1.08061E-03 5.53595E-01 1.95199E-03 1 Divergence
7 1.00000E-06 2.98931E-04 5.53595E-01 5.39982E-04 1 Divergence
8 1.00000E-06 8.34652E-05 5.53595E-01 1.50770E-04 1 Divergence
9 1.00000E-06 2.19863E-05 5.53595E-01 3.97155E-05 1 Divergence
10 1.00000E-06 4.03278E-06 5.53595E-01 7.28471E-06 1 Divergence
11 1.00000E-06 1.26386E-06 5.53595E-01 2.28301E-06 1 Divergence
12 1.00000E-06 3.19651E-07 5.53595E-01 5.77409E-07 1 Divergence
1 U-PRES gmres 12 3.1965E-07 5.5359E-01 1.0000E-06 1.9665E-02 4.4060E-02
1 DNORM, DIVEX 3.1965065459423371E-007 3.1965067777082026E-007
1 Fluid done 5.0000E-03 7.4284E-02
As the code evolves, the y-velocity at the bottom of the box gets
smaller, but the pressure stays high. Eventually, velocity develops
near the flame front, deforming it, and the code crashes with a Ctarg
CFL message:
Step 806, t= 4.0300000E+00, DT= 5.0000000E-03, C= 4.234 4.3420E+01 8.8507E-02
Solving for Hmholtz scalars
806 Hmholtz TEMP 12 5.9977E-09 1.1117E+01 1.0000E-08
806 Scalars done 4.0300E+00 1.2835E-02
Solving for fluid
806 Hmholtz VELX 15 2.6508E-09 1.6627E+03 1.0000E-08
806 Hmholtz VELY 14 4.2860E-09 4.1917E+02 1.0000E-08
806 U-PRES gmres 14 3.3178E-07 1.0251E+01 1.0000E-06 1.7831E-02 4.0331E-02
806 DNORM, DIVEX 3.3177510120669487E-007 3.3177510166870989E-007
806 Fluid done 4.0300E+00 7.0274E-02
-1.2500997496599839 min Temp
6.0190448321578760 max Temp
64.000000000000014 Xsize
1.1472024633350537 SPEED
CFL, Ctarg! 12.155613813440661 0.50000000000000000
807 4.0300E+00 Write checkpoint
807 4.0300E+00 OPEN: f2d.fld17
0 Emergency exit: 807 time = 4.0299999999999363
Latest solution and data are dumped for post-processing.
*** STOP ***
4 Emergency exit: 807 time = 4.0299999999999363
Latest solution and data are dumped for post-processing.
*** STOP ***
5 Emergency exit: 807 time = 4.0299999999999363
Latest solution and data are dumped for post-processing.
*** STOP ***
I’d really like to understand why the two codes behave differently.
I’ve tried various things to see if I could get the new code to not
crash, but with no luck. These include: changing the time step,
changing the number of elements, changing DIVERGENCE and HELMHOLTZ,
changing from PnPn-2 to PnPn (not sure if I did it correctly), changing
the initial position of the flame, and turning projection on/off. I
tried to switch to the CG solver, but the code seemed to continue to use
the GRMES solver.
Any ideas? If anyone wants more details, I can send my setup and and 4
example simulations (2 old, 2 new along with their output files). I’ve
also got some visualizations of the differences between the
simulations.
Thank you,
Elizabeth