old vs. new code test case differences

173 views
Skip to first unread message

eph...@fastmail.net

unread,
Jul 11, 2022, 3:19:50 PM7/11/22
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

Reply all
Reply to author
Forward
0 new messages