Demo Taylor-Green vortex (snek5000-tgv solver)#

Snek5000 repository contains a simple example solver for the Taylor-Green vortex flow. We are going to show how it can be used on a very small and short simulation.

Run a simulation by executing a script#

We will run the simulation by executing the script docs/examples/scripts/tuto_tgv.py, which contains:

from snek5000_tgv.solver import Simul

params = Simul.create_default_params()
params.output.sub_directory = "examples_snek/tuto"

params.oper.nx = params.oper.ny = params.oper.nz = 8
params.oper.elem.order = params.oper.elem.order_out = 8
params.oper.nproc_min = 2

params.nek.velocity.residual_tol = 1e-07
params.nek.pressure.residual_tol = 1e-05

params.nek.general.end_time = 10
params.nek.general.dt = -1
params.nek.general.target_cfl = 1.4
params.nek.general.extrapolation = "OIFS"

params.nek.general.write_control = "runTime"
params.nek.general.write_interval = 2.0

params.output.spatial_means.write_interval = 0.5

sim = Simul(params)
sim.make.exec("run_fg", nproc=2)

In normal life, we would just execute this script with something like python tuto_tgv.py.

command = "python3 examples/scripts/tuto_tgv.py"

However, in this notebook, we need a bit more code. How we execute this command is very specific to these tutorials written as notebooks so you can just look at the output of this cell.

Hide code cell source
from subprocess import run, PIPE, STDOUT
from time import perf_counter

print("Running the script tuto_tgv.py... (It can take few minutes.)")
t_start = perf_counter()
process = run(
    command.split(), check=True, text=True, stdout=PIPE,  stderr=STDOUT
)
print(f"Script executed in {perf_counter() - t_start:.2f} s")
lines = process.stdout.split("\n")
Running the script tuto_tgv.py... (It can take few minutes.)
Script executed in 64.63 s

The simulation is done! We are going to look at its output (which is now in a variable lines). However, be prepared to get something long because Nek5000 is very verbose. For readability of this tutorial, the output is hidden by default (click to show it).

Let us first look at the first lines, until the beginning of the time stepping:

index_step2 = 0
for line in lines:
    if line.startswith("Step      2, t= "):
        break
    index_step2 += 1

print("\n".join(lines[:index_step2+20]))
Hide code cell output
INFO: session_id: 0
INFO: Writing params files... /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/tgv.par, params_simul.xml, info_solver.xml
INFO: sim:                        <class 'snek5000_tgv.solver.SimulTGV'>
sim.oper:                   <class 'snek5000.operators.Operators'>
sim.output.print_stdout:    <class 'snek5000.output.print_stdout.PrintStdOut'>
sim.output.phys_fields:     <class 'snek5000.output.phys_fields.PhysFields'>
sim.output.history_points:  <class 'snek5000.output.history_points.HistoryPoints'>
sim.output.remaining_clock_time: <class 'snek5000.output.remaining_clock_time.RemainingClockTime'>
sim.output.spatial_means:   <class 'snek5000.output.spatial_means.SpatialMeans'>
sim.output:                 <class 'snek5000_tgv.output.OutputTGV'>
sim.make:                   <class 'snek5000.make.Make'>

INFO: Writing box file... /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/tgv.box
INFO: Writing SIZE file... /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/SIZE
Changing to shadow directory: /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job stats:
job                           count
--------------------------  -------
compile                           1
internal_generate_box             1
internal_generate_makefile        1
internal_generate_map             1
internal_generate_session         1
internal_move_box                 1
run_fg                            1
total                             7

Select jobs to execute...

[Mon Jun  9 09:19:53 2025]
rule internal_generate_box:
    input: tgv.box, /home/docs/Nek5000/bin/genbox
    output: box.re2
    jobid: 2
    reason: Missing output files: box.re2
    resources: tmpdir=/tmp

 input file name:
-3                                         spatial dimension (dim<0 will create box.re2)
2                                          number of fields
 T T F           2   2.0000000000000000     
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
           1  i1#
Box
-8 -8 -8                                  nelx nely nelz
Reading         512 =        8        8        8 elements for box   1.
Reading           2 =
0.0000 6.2832 1.0000                      x0 x1 ratio
0.0000 6.2832 1.0000                      y0 y1 ratio
0.0000 6.2832 1.0000                      z0 z1 ratio
P  ,P  ,P  ,P  ,P  ,P                     Velocity BCs
 Beginning construction of box.re2
         512  elements will be created for            1  boxes.

[Mon Jun  9 09:19:53 2025]
Finished job 2.
1 of 7 steps (14%) done
Select jobs to execute...

[Mon Jun  9 09:19:53 2025]
rule internal_move_box:
    input: box.re2
    output: tgv.re2
    jobid: 1
    reason: Missing output files: tgv.re2; Input files updated by another job: box.re2
    resources: tmpdir=/tmp

[Mon Jun  9 09:19:53 2025]
Finished job 1.
2 of 7 steps (29%) done
Select jobs to execute...

[Mon Jun  9 09:19:53 2025]
rule internal_generate_map:
    input: tgv.re2, /home/docs/Nek5000/bin/genmap
    output: tgv.ma2
    jobid: 3
    reason: Missing output files: tgv.ma2; Input files updated by another job: tgv.re2
    resources: tmpdir=/tmp, tolerance=0.01

Input .rea / .re2 name:
 reading tgv.re2                                                                         
Input mesh tolerance (default 0.2):
NOTE: smaller is better, but generous is more forgiving for bad meshes.
 reading mesh data ...
 start locglob_lexico:           8         512        4096   1.0000000000000000E-002
 locglob:           1           1        4096
 locglob:           2           9        4096
 locglob:           3          81        4096
 locglob:           1         729        4096
 locglob:           2         729        4096
 locglob:           3         729        4096
 locglob:           1         729        4096
 locglob:           2         729        4096
 locglob:           3         729        4096
 done locglob_lexico:         729         729        4096           8
 start periodic vtx:         512         729
           1 1  5  3  0.00000000E+00        1 shift
           1 3  5  3  0.00000000E+00        2 shift
           1 5  5  3  0.00000000E+00        3 shift
 done:   93.8% 
 done:   94.7% 
 done:   95.7% 
 done:   96.7% 
 done:   97.7% 
 done:   98.6% 
 done:   99.6% 
  
 done rec_bisect
writing tgv.ma2                                                                         
[Mon Jun  9 09:19:53 2025]
Finished job 3.
3 of 7 steps (43%) done
Select jobs to execute...

[Mon Jun  9 09:19:53 2025]
rule internal_generate_session:
    input: tgv.re2, tgv.ma2, tgv.par
    output: SESSION.NAME
    jobid: 4
    reason: Missing output files: SESSION.NAME; Input files updated by another job: tgv.re2, tgv.ma2
    resources: tmpdir=/tmp

Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Select jobs to execute...
[Mon Jun  9 09:19:54 2025]
Finished job 4.
4 of 7 steps (57%) done
Select jobs to execute...

[Mon Jun  9 09:19:54 2025]
rule internal_generate_makefile:
    input: tgv.re2, tgv.ma2, tgv.usr, /home/docs/Nek5000/bin/nekconfig
    output: makefile, .state
    jobid: 6
    reason: Missing output files: makefile; Input files updated by another job: tgv.re2, tgv.ma2
    resources: tmpdir=/tmp

generating makefile ... done
[Mon Jun  9 09:19:55 2025]
Finished job 6.
5 of 7 steps (71%) done
Select jobs to execute...

[Mon Jun  9 09:19:55 2025]
rule compile:
    input: SIZE, tgv.usr, makefile_usr.inc, makefile, /home/docs/Nek5000/3rd_party/gslib/lib/libgs.a, /home/docs/Nek5000/3rd_party/blasLapack/libblasLapack.a
    output: nek5000
    jobid: 5
    reason: Missing output files: nek5000; Input files updated by another job: makefile
    resources: tmpdir=/tmp


mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/drive1.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/drive1.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/drive2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/drive2.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/plan5.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/plan5.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/plan4.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/plan4.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/bdry.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/bdry.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/coef.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/coef.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/conduct.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/conduct.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/connect1.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/connect1.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/connect2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/connect2.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/dssum.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/dssum.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/eigsolv.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/eigsolv.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/gauss.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/gauss.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/genxyz.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/genxyz.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier1.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier1.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/makeq.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/makeq.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier0.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier0.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier2.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier3.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier3.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier4.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier4.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/prepost.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/prepost.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/speclib.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/speclib.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/map2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/map2.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/mvmesh.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/mvmesh.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/ic.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/ic.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/gfldr.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/gfldr.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/ssolv.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/ssolv.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/planx.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/planx.o
mpif77 -c  -O3 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/math.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/math.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/mxm_wrapper.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/mxm_wrapper.o 
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/hmholtz.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/hmholtz.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/subs1.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/subs1.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/subs2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/subs2.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/gmres.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/gmres.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/hsmg.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/hsmg.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/convect.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/convect.o
mpif77 -c  -O0 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/convect2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/convect2.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/induct.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/induct.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/perturb.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/perturb.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier5.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier5.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier6.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier6.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier7.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier7.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/navier8.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/navier8.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/fast3d.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/fast3d.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/fasts.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/fasts.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/calcz.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/calcz.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/byte.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/byte.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/chelpers.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/chelpers.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/byte_mpi.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/byte_mpi.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/postpro.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/postpro.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/interp.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/interp.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/cvode_driver.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/cvode_driver.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/multimesh.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/multimesh.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/vprops.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/vprops.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/makeq_aux.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/makeq_aux.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/papi.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/papi.o
mpif77 -c   -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/3rd_party/nek_in_situ.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/nek_in_situ.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/reader_rea.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/reader_rea.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/reader_par.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/reader_par.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/reader_re2.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/reader_re2.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj  /home/docs/Nek5000/core/3rd_party/finiparser.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/finiparser.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj  /home/docs/Nek5000/core/3rd_party/iniparser.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/iniparser.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj  /home/docs/Nek5000/core/3rd_party/dictionary.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/dictionary.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/hpf.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/hpf.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -I/home/docs/Nek5000/3rd_party/gslib/include  /home/docs/Nek5000/core/fcrs.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/fcrs.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -I/home/docs/Nek5000/3rd_party/gslib/include /home/docs/Nek5000/core/crs_xxt.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/crs_xxt.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -I/home/docs/Nek5000/3rd_party/gslib/include /home/docs/Nek5000/core/crs_amg.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/crs_amg.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -I/home/docs/Nek5000/3rd_party/gslib/include  /home/docs/Nek5000/core/experimental/fem_amg_preco.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/fem_amg_preco.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -I/home/docs/Nek5000/3rd_party/gslib/include  /home/docs/Nek5000/core/experimental/crs_hypre.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/crs_hypre.o
mpicc -c  -O2 -march=native -w  -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -I/home/docs/Nek5000/3rd_party/gslib/include  /home/docs/Nek5000/core/partitioner.c -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/partitioner.o
mpif77 -c  -O3 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/mxm_std.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/mxm_std.o
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/comm_mpi.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/comm_mpi.o
mpif77  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj  -c /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/tgv.f -o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/tgv.o
done
mpif77 -c  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj /home/docs/Nek5000/core/drive.f
mpif77  -O2 -cpp -fdefault-real-8 -fdefault-double-8 -w -std=legacy -march=native -mcmodel=medium -std=legacy -w   -DMPI -DUNDERSCORE -DGLOBAL_LONG_LONG -DTIMER -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53 -I/home/docs/Nek5000/core -I./ -I/home/docs/Nek5000/core/experimental -I/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj -o nek5000 drive.o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/tgv.o /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/obj/libnek5000.a -L/home/docs/Nek5000/3rd_party/blasLapack -lblasLapack -L/home/docs/Nek5000/3rd_party/gslib/lib -lgs -Wl,--allow-multiple-definition


#############################################################
#                  Compilation successful!                  #
#############################################################
   text	   data	    bss	    dec	    hex	filename
1814279	  38356	727962240	729814875	2b80175b	nek5000

[Mon Jun  9 09:20:11 2025]
Finished job 5.
6 of 7 steps (86%) done
Select jobs to execute...

[Mon Jun  9 09:20:11 2025]
rule run_fg:
    input: tgv.re2, tgv.ma2, tgv.par, SESSION.NAME, nek5000
    output: logs/run_2025-06-09T09-19-53.log
    jobid: 0
    reason: Missing output files: logs/run_2025-06-09T09-19-53.log; Input files updated by another job: SESSION.NAME, tgv.re2, nek5000, tgv.ma2
    resources: tmpdir=/tmp, nproc=2

Log file:
/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53/logs/run_2025-06-09T09-19-53.log
/----------------------------------------------------------\\
|      _   __ ______ __ __  ______  ____   ____   ____     |
|     / | / // ____// //_/ / ____/ / __ \\/ __ \\/ __ \\   |
|    /  |/ // __/  / ,<   /___ \\ / / / // / / // / / /    |
|   / /|  // /___ / /| | ____/ / / /_/ // /_/ // /_/ /     |
|  /_/ |_//_____//_/ |_|/_____/  \\___/ \\___/ \\___/      |
|                                                          |
|----------------------------------------------------------|
|                                                          |
| COPYRIGHT (c) 2008-2020 UCHICAGO ARGONNE, LLC            |
| Version:  20.0-dev                                       |
| Web:      https://nek5000.mcs.anl.gov                    |
|                                                          |
\\----------------------------------------------------------/

 Number of MPI ranks :           2
  
 Reading ./session_00/tgv.par                                                                                                                
general = [(null)]
general:stopat = [endTime]
general:endtime = [10]
general:dt = [-1]
general:timestepper = [bdf2]
general:extrapolation = [OIFS]
general:targetcfl = [1.4]
general:writecontrol = [runTime]
general:writeinterval = [2.0]
general:numsteps = [1]
general:variabledt = [yes]
general:filtering = [none]
general:filtermodes = [2]
general:filtercutoffratio = [0.65]
general:filterweight = [12.0]
general:writedoubleprecision = [yes]
general:dealiasing = [yes]
general:optlevel = [2]
general:loglevel = [2]
general:userparam01 = [6.283185307179586]
general:userparam10 = [100]
general:userparam11 = [0.5]
general:userparam12 = [5.0]
problemtype = [(null)]
problemtype:equation = [incompNS]
problemtype:variableproperties = [no]
problemtype:stressformulation = [no]
pressure = [(null)]
pressure:residualtol = [1e-05]
pressure:residualproj = [yes]
pressure:writetofieldfile = [yes]
pressure:preconditioner = [semg_xxt]
velocity = [(null)]
velocity:residualtol = [1e-07]
velocity:density = [1]
velocity:viscosity = [-1600]
velocity:residualproj = [no]
velocity:writetofieldfile = [yes]
 reading ./session_00/tgv.re2                                                                                                                
 hdr:#v002      512  3      512 hdr                                                  
 partioning elements to MPI ranks
 reading mesh 
   readp_re2_mesh:pack/cr/unpack : 0.69E-04 0.44E-04 0.81E-05
   readp_re2_mesh:byte_read_mpi  : 0.43E-04
 reading boundary faces                  384 for ifield   1
   readp_re2_bc:pack/cr/unpack : 0.14E-05 0.51E-05 0.75E-05
   readp_re2_bc:byte_read_mpi  : 0.12E-04
 done :: read .re2 file    0.22E-02 sec

 Reading ./session_00/tgv.ma2                                                                                                                
 done :: partioning   0.23989E-02 sec

 reading mesh 
   readp_re2_mesh:pack/cr/unpack : 0.34E-04 0.96E-04 0.55E-05
   readp_re2_mesh:byte_read_mpi  : 0.10E-04
 reading boundary faces                  384 for ifield   1
   readp_re2_bc:pack/cr/unpack : 0.13E-05 0.11E-04 0.47E-05
   readp_re2_bc:byte_read_mpi  : 0.11E-04
 done :: read .re2 file    0.62E-03 sec

 nelgt/nelgv/lelt:         512         512         256
 lx1/lx2/lx3/lxd:            8           8           8          12

 RK4 substeps:           1
 setup mesh topology
   Right-handed check complete for         512 elements. OK.
   setvert3d:   8           65024          175616           65024           65024
gs_setup: 6272 unique labels shared
   pairwise times (avg, min, max): 5.9031e-06 5.9001e-06 5.9061e-06
   crystal router                : 6.0201e-06 6.0191e-06 6.0211e-06
   all reduce                    : 1.9787e-05 1.97795e-05 1.97945e-05
   used all_to_all method: pairwise
   handle bytes (avg, min, max): 968444 968444 968444
   buffer bytes (avg, min, max): 100352 100352 100352
   setupds time 1.2804E-02 seconds   0  8       65024         512
 
 nElements   max/min/bal: 256 256 1.00
 nMessages   max/min/avg: 1 1 1.00
 msgSize     max/min/avg: 6272 6272 6272.00
 msgSizeSum  max/min/avg: 6272 6272 6272.00
 
 max multiplicity            8
 done :: setup mesh topology
  
 call usrdat
 done :: usrdat

 generate geometry data
 done :: generate geometry data
  
 call usrdat2
 done :: usrdat2

  8.8818E-16  8.8818E-16  8.8818E-16  8.8818E-16  8.8818E-16  8.8818E-16 xyz repair 1
  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 xyz repair 2
  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 xyz repair 3
  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 xyz repair 4
 regenerate geometry data           1
 done :: regenerate geometry data           1
  
 verify mesh topology
   0.0000000000000000        6.2831999999999999       Xrange
   0.0000000000000000        6.2831999999999999       Yrange
   0.0000000000000000        6.2831999999999999       Zrange
 done :: verify mesh topology
  
 mesh metrics:
 GLL grid spacing min/max    : 5.04E-02 1.64E-01
 scaled Jacobian  min/max/avg: 1.00E+00 1.00E+00 1.00E+00
 aspect ratio     min/max/avg: 1.00E+00 1.00E+00 1.00E+00

 IFTRAN    = T
 IFFLOW    = T
 IFHEAT    = F
 IFSPLIT   = T
 IFLOMACH  = F
 IFUSERVP  = F
 IFUSERMV  = F
 IFPERT    = F
 IFADJ     = F
 IFSTRS    = F
 IFCHAR    = T
 IFCYCLIC  = F
 IFAXIS    = F
 IFMVBD    = F
 IFMELT    = F
 IFNEKNEK  = F
 IFNEKNEKC = F
 IFSYNC    = F
   
 IFVCOR    = T
 IFINTQ    = F
 IFGEOM    = F
 IFSURT    = F
 IFWCNO    = F
   
 IFTMSH for field           1    =  F
 IFADVC for field           1    =  T
 IFNONL for field           1    =  F
   
 Dealiasing enabled, nxd=          12
  
 Estimated eigenvalues
 EIGAA =   0.24999883078660279     
 EIGGA =    6344.2205330389206     
 EIGAE =   0.24999883078660282     
 EIGAS =    8.3333333333333343E-002
 EIGGE =    6344.2205330389206     
 EIGGS =    2.0000000000000000     
  
 initialize pressure solver
 mg_nx:           1           3           7
 mg_ny:           1           3           7
 mg_nz:           1           3           7
gs_setup: 128 unique labels shared
   pairwise times (avg, min, max): 3.95e-07 3.93e-07 3.97e-07
   crystal router                : 3.89e-07 3.89e-07 3.89e-07
   all reduce                    : 5.085e-07 5.06e-07 5.11e-07
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 28564 28564 28564
   buffer bytes (avg, min, max): 4096 4096 4096
   setupds time 3.9010E-04 seconds   1  2         512         512
   setvert3d:   4            9728           13824            9728            9728
gs_setup: 1152 unique labels shared
   pairwise times (avg, min, max): 2.9926e-06 2.9871e-06 2.9981e-06
   crystal router                : 3.0246e-06 3.0221e-06 3.0271e-06
   all reduce                    : 5.0646e-06 5.0131e-06 5.1161e-06
   used all_to_all method: pairwise
   handle bytes (avg, min, max): 177916 177916 177916
   buffer bytes (avg, min, max): 18432 18432 18432
   setupds time 3.1376E-03 seconds   2  4        9728         512
   setvert3d:   4            9728           13824            9728            9728
gs_setup: 1152 unique labels shared
   pairwise times (avg, min, max): 2.9781e-06 2.9761e-06 2.9801e-06
   crystal router                : 2.9591e-06 2.9551e-06 2.9631e-06
   all reduce                    : 4.9676e-06 4.9261e-06 5.0091e-06
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 233364 233364 233364
   buffer bytes (avg, min, max): 36864 36864 36864
   setupds time 2.9621E-03 seconds   3  4        9728         512
   setvert3d:   6           31232           64000           31232           31232
gs_setup: 3200 unique labels shared
   pairwise times (avg, min, max): 4.2176e-06 4.2021e-06 4.2331e-06
   crystal router                : 4.3911e-06 4.3871e-06 4.3951e-06
   all reduce                    : 1.14213e-05 1.14193e-05 1.14233e-05
   used all_to_all method: pairwise
   handle bytes (avg, min, max): 493308 493308 493308
   buffer bytes (avg, min, max): 51200 51200 51200
   setupds time 5.9864E-03 seconds   4  6       31232         512
 regenerate geometry data           1
 done :: regenerate geometry data           1
  
 h1_mg_nx:           1           3           7
 h1_mg_ny:           1           3           7
 h1_mg_nz:           1           3           7
gs_setup: 128 unique labels shared
   pairwise times (avg, min, max): 4.11e-07 4.1e-07 4.12e-07
   crystal router                : 4.095e-07 4.09e-07 4.1e-07
   all reduce                    : 5.265e-07 5.24e-07 5.29e-07
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 28564 28564 28564
   buffer bytes (avg, min, max): 4096 4096 4096
   setupds time 2.7857E-04 seconds   5  2         512         512
   setvert3d:   4            9728           13824            9728            9728
gs_setup: 1152 unique labels shared
   pairwise times (avg, min, max): 2.98e-06 2.976e-06 2.984e-06
   crystal router                : 2.9536e-06 2.9511e-06 2.9561e-06
   all reduce                    : 5.26965e-06 5.2191e-06 5.3202e-06
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 233364 233364 233364
   buffer bytes (avg, min, max): 36864 36864 36864
   setupds time 2.9844E-03 seconds   6  4        9728         512
   setvert3d:   4            9728           13824            9728            9728
gs_setup: 1152 unique labels shared
   pairwise times (avg, min, max): 2.9425e-06 2.93e-06 2.955e-06
   crystal router                : 2.9661e-06 2.9661e-06 2.9661e-06
   all reduce                    : 7.1626e-06 7.1111e-06 7.2141e-06
   used all_to_all method: pairwise
   handle bytes (avg, min, max): 177916 177916 177916
   buffer bytes (avg, min, max): 18432 18432 18432
   setupds time 2.8780E-03 seconds   7  4        9728         512
   setvert3d:   6           31232           64000           31232           31232
gs_setup: 3200 unique labels shared
   pairwise times (avg, min, max): 4.1935e-06 4.183e-06 4.204e-06
   crystal router                : 4.3916e-06 4.3851e-06 4.3981e-06
   all reduce                    : 1.15622e-05 1.15512e-05 1.15732e-05
   used all_to_all method: pairwise
   handle bytes (avg, min, max): 493308 493308 493308
   buffer bytes (avg, min, max): 51200 51200 51200
   setupds time 5.5550E-03 seconds   8  6       31232         512
   setvert3d:   8           65024          175616           65024           65024
gs_setup: 6272 unique labels shared
   pairwise times (avg, min, max): 6.9307e-06 6.9202e-06 6.9412e-06
   crystal router                : 6.0686e-06 6.0631e-06 6.0741e-06
   all reduce                    : 1.85639e-05 1.85604e-05 1.85674e-05
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 1.26965e+06 1269652 1269652
   buffer bytes (avg, min, max): 200704 200704 200704
   setupds time 1.0688E-02 seconds   9  8       65024         512
   setvert3d:  10          111104          373248          111104          111104
gs_setup: 10368 unique labels shared
   pairwise times (avg, min, max): 8.2252e-06 8.2152e-06 8.2352e-06
   crystal router                : 8.4122e-06 8.4082e-06 8.4162e-06
   all reduce                    : 2.54296e-05 2.54276e-05 2.54316e-05
   used all_to_all method: pairwise
   handle bytes (avg, min, max): 1.60332e+06 1603324 1603324
   buffer bytes (avg, min, max): 165888 165888 165888
   setupds time 1.8533E-02 seconds  10 10      111104         512
 setup h1 coarse grid, nx_crs=           2
gs_setup: 128 unique labels shared
   pairwise times (avg, min, max): 4.195e-07 4.16e-07 4.23e-07
   crystal router                : 3.91e-07 3.9e-07 3.92e-07
   all reduce                    : 5.191e-07 5.161e-07 5.221e-07
   used all_to_all method: crystal router
   handle bytes (avg, min, max): 28564 28564 28564
   buffer bytes (avg, min, max): 4096 4096 4096
 done :: setup h1 coarse grid    1.8934624999999983E-002  sec
  
 call usrdat3
 done :: usrdat3

 set initial conditions
 nekuic (1) for ifld            1
 call nekuic for vel  
 xyz min     0.0000       0.0000       0.0000    
 uvwpt min  -1.0000      -1.0000       0.0000       0.0000       0.0000    
 xyz max     6.2832       6.2832       6.2832    
 uvwpt max   1.0000       1.0000       0.0000       0.0000       0.0000    
 done :: set initial conditions
  
 call userchk
 done :: userchk

gridpoints unique/tot:        175616       262144
dofs vel/pr:                  175616       175616
  
 Initialization successfully completed   0.29239     sec

Starting time loop ...

     DT/DTCFL/DTFS/DTINIT   0.705E-01   0.705E-01   0.000E+00   0.100E+01
Step      1, t= 7.0514701E-02, DT= 7.0514701E-02, C=  1.400 0.0000E+00 0.0000E+00
             Solving for fluid
    1 1.00000E-05 2.52360E-02 2.90119E-02 8.69851E-01       1 Divergence
    2 1.00000E-05 1.96682E-02 2.90119E-02 6.77936E-01       1 Divergence
    3 1.00000E-05 4.90290E-03 2.90119E-02 1.68996E-01       1 Divergence
    4 1.00000E-05 9.83124E-04 2.90119E-02 3.38870E-02       1 Divergence
    5 1.00000E-05 2.97185E-04 2.90119E-02 1.02436E-02       1 Divergence
    6 1.00000E-05 8.08661E-05 2.90119E-02 2.78735E-03       1 Divergence
    7 1.00000E-05 1.99279E-05 2.90119E-02 6.86889E-04       1 Divergence
    8 1.00000E-05 5.84148E-06 2.90119E-02 2.01348E-04       1 Divergence
          1  PRES gmres         8   5.8415E-06   2.9012E-02   1.0000E-05   4.1769E-02   6.9694E-02    F
          1  Hmholtz VELX       1   6.2719E-02   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELX       2   1.4356E-03   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELX       3   4.5884E-05   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELX       4   1.9981E-06   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELX       5   7.6937E-08   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELX       4   7.6937E-08   6.2719E-02   1.0000E-07
          1  Hmholtz VELY       1   6.2719E-02   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELY       2   1.4356E-03   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELY       3   4.5884E-05   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELY       4   1.9981E-06   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELY       5   7.6937E-08   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELY       4   7.6937E-08   6.2719E-02   1.0000E-07
          1  Hmholtz VELZ       1   8.8340E-02   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELZ       2   2.0220E-03   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELZ       3   6.4629E-05   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELZ       4   2.8144E-06   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELZ       5   1.0837E-07   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELZ       6   6.2106E-09   6.2500E-04   1.0000E-07   1.4181E+01   F
          1  Hmholtz VELZ       5   6.2106E-09   8.8340E-02   1.0000E-07
             L1/L2 DIV(V)           8.2201E-20   1.1544E-05
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL       8.2201E-20   1.1544E-05
          1  Fluid done  7.0515E-02  1.3965E-01
Step      2, t= 1.4102940E-01, DT= 7.0514701E-02, C=  1.398 2.4337E-01 2.4337E-01
             Solving for fluid
          2  PRES gmres         5   3.1277E-06   3.7775E-04   1.0000E-05   2.7993E-02   4.1827E-02    F
          2  Hmholtz VELX       4   2.5189E-08   9.3788E-02   1.0000E-07
          2  Hmholtz VELY       4   2.5189E-08   9.3788E-02   1.0000E-07
          2  Hmholtz VELZ       4   3.5489E-08   1.3213E-01   1.0000E-07
             L1/L2 DIV(V)           1.0992E-18   5.2770E-06
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL       1.0992E-18   5.2770E-06
          2  Fluid done  1.4103E-01  1.0991E-01
Step      3, t= 2.1154410E-01, DT= 7.0514701E-02, C=  1.397 4.9193E-01 2.4856E-01
             Solving for fluid
          3  PRES gmres         5   4.3838E-06   4.8295E-04   1.0000E-05   2.4103E-02   3.7778E-02    F
          3  Hmholtz VELX       4   2.5213E-08   9.3874E-02   1.0000E-07
          3  Hmholtz VELY       4   2.5213E-08   9.3874E-02   1.0000E-07
          3  Hmholtz VELZ       4   3.5424E-08   1.3187E-01   1.0000E-07
             L1/L2 DIV(V)          -8.3398E-19   5.8739E-06
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL      -8.3398E-19   5.8739E-06
          3  Fluid done  2.1154E-01  1.0218E-01

And then at the last lines, from the end of the time stepping:

index_final_step = 0
for line in lines[::-1]:
    if line.startswith(" Final time step ="):
        break
    index_final_step -= 1

print("\n".join(lines[index_final_step-10:]))
Hide code cell output
        189  PRES gmres         6   5.1840E-06   2.0008E-02   1.0000E-05   2.9008E-02   4.5313E-02    F
        189  Hmholtz VELX       4   4.6718E-08   4.8531E-01   1.0000E-07
        189  Hmholtz VELY       4   4.6718E-08   4.8531E-01   1.0000E-07
        189  Hmholtz VELZ       4   4.8170E-08   5.2882E-01   1.0000E-07
             L1/L2 DIV(V)           5.4596E-17   2.2517E-01
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL       5.4596E-17   2.2517E-01
             WARNING: DIV(V)-QTL too large!
        189  Fluid done  9.9932E+00  1.1457E-01
 Final time step =    6.7923831016951652E-003
             Solving for fluid
        190  Project PRES           3.1354E+00   1.1510E+01   3.6709E+00   8   8
        190  PRES gmres         8   6.3968E-06   1.9908E-01   1.0000E-05   4.4350E-02   6.7007E-02    F
        190  Hmholtz VELX       3   1.5445E-08   3.9761E-01   1.0000E-07
        190  Hmholtz VELY       3   1.5445E-08   3.9761E-01   1.0000E-07
        190  Hmholtz VELZ       3   1.5898E-08   4.3548E-01   1.0000E-07
             L1/L2 DIV(V)           5.3094E-17   1.8640E-01
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL       5.3094E-17   1.8640E-01
             WARNING: DIV(V)-QTL too large!
        190  Fluid done  1.0000E+01  1.3404E-01

      190  1.0000E+01 Write checkpoint
       FILE:./session_00/tgv0.f00005                                                                                                            
 min/max:   0.0000       6.2832       0.0000       6.2832       0.0000       6.2832    
 min/max: -0.93992      0.93937     -0.93992      0.93936      -1.2602       1.2630    
 min/max: -0.59962      0.65044    

      190  1.0000E+01 done :: Write checkpoint
                              file size =     147.E-04GB
                              avg data-throughput =     1.6GB/s
                              io-nodes =     2


end of time-step loop

 
runtime statistics:
 init time  0.29238685900000000        6.4487089450600797E-003
 prep time           5   4.8814692000007653E-002   1.0766275270627059E-003
 pres time         190   11.608973013999993       0.25604053607054489     
 crsl time         821   3.6201313000042035E-002   7.9843441584456028E-004
 crsl min    3.5973882999847717E-002
 crsl max    3.6201313000042035E-002
 crsl avg    3.6087597999944876E-002
 hmhz time         570   12.547839073999860       0.27674760197645298     
 eslv time           0   0.0000000000000000        0.0000000000000000     
 makf time   22.174886254000018       0.48907597226132421     
 makq time   0.0000000000000000        0.0000000000000000     
 proj time   2.1000799660000595        4.6318102353861433E-002
 usvp time         192   1.8543515999989268E-002   4.0898465105778059E-004
 usfq time           0  0.54202087800001064        1.1954486929824664E-002
 usbc time         379  0.28036758900000752        6.1836191451041800E-003
 usbc min   0.28036758900000752     
 usbc max   0.30500129300001666     
 usb  avg   0.29268444100001212     
 uchk time   5.4674166999994611E-002   1.2058605882714238E-003
 mltd time         570  0.58777982299997800        1.2963718736435375E-002
 cdtp time         570  0.34994806400004796        7.7182443094118893E-003
 axhm time        5625   6.3530661030001054       0.14011941010992823     
 advc time         190   21.449074347999975       0.47306790080879157     
 mxmf time   0.0000000000000000        0.0000000000000000     
 adc3 time   0.0000000000000000        0.0000000000000000     
 col2 time   0.0000000000000000        0.0000000000000000     
 col3 time   0.0000000000000000        0.0000000000000000     
 a2s2 time   0.0000000000000000        0.0000000000000000     
 add2 time   0.0000000000000000        0.0000000000000000     
 invc time   0.0000000000000000        0.0000000000000000     
 tgop time       17009  0.26624867600024538        5.8722208802591408E-003
 dadd time           0  0.80731821999984987        1.7805725758772945E-002
 vdss time         571  0.23119174900001171        5.0990263546709536E-003
 vdss min   0.19559971599993792     
 vdss max   0.23119174900001171     
 vdss avg   0.21339573249997482     
 dsum time        5700  0.91450158499990675        2.0169697679403981E-002
 dsum min   0.84869053700008112     
 dsum max   0.91450158499990675     
 dsum avg   0.88159606099999399     
 ddsl time           0   0.0000000000000000        0.0000000000000000     
 

#  nid       tusbc       tdadd       tcrsl       tvdss       tdsum        tgop    qqq    F
           0  2.8037E-01  8.0732E-01  3.6201E-02  2.3119E-01  9.1450E-01  2.6625E-01 qqq
           1  3.0500E-01  6.4095E-01  3.5974E-02  1.9560E-01  8.4869E-01  2.0605E-01 qqq
  
run successful: dying ...
  
  
total elapsed time             :   4.56756E+01 sec
total solver time w/o IO       :   4.52916E+01 sec
time/timestep                  :   2.38377E-01 sec
avg throughput per timestep    :   3.68358E+05 gridpts/CPUs
total max memory usage         :   6.01883E-01 GB

/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53
[Mon Jun  9 09:20:57 2025]
Finished job 0.
7 of 7 steps (100%) done
Complete log: .snakemake/log/2025-06-09T091953.777826.snakemake.log
path_run: /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53

To “load the simulation”, i.e. to recreate a simulation object, we now need to extract from the output the path of the directory of the simulation. This is also very specific to these tutorials, so you don’t need to focus on this code. In real life, we can just read the log to know where the data has been saved.

Hide code cell source
path_run = None
for line in lines:
    if "path_run: " in line:
        path_run = line.split("path_run: ")[1].split(" ", 1)[0]
        break
if path_run is None:
    raise RuntimeError
path_run
'/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53'

Load the simulation#

We can now load the simulation and process the output.

from snek5000 import load

sim = load(path_run)
path_run: /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53
INFO: session_id: 0
INFO: sim:                        <class 'snek5000_tgv.solver.SimulTGV'>
sim.oper:                   <class 'snek5000.operators.Operators'>
sim.output.print_stdout:    <class 'snek5000.output.print_stdout.PrintStdOut'>
sim.output.phys_fields:     <class 'snek5000.output.phys_fields.PhysFields'>
sim.output.history_points:  <class 'snek5000.output.history_points.HistoryPoints'>
sim.output.remaining_clock_time: <class 'snek5000.output.remaining_clock_time.RemainingClockTime'>
sim.output.spatial_means:   <class 'snek5000.output.spatial_means.SpatialMeans'>
sim.output:                 <class 'snek5000_tgv.output.OutputTGV'>
sim.make:                   <class 'snek5000.make.Make'>

Quickly start IPython and load a simulation

The command snek-ipy-load can be used to start a IPython session and load the simulation saved in the current directory.

How long was the run?#

snek5000-tgv saves a file remaining_clock_time.csv during the simulation. It can be read manually,

!cat {path_run}/remaining_clock_time.csv
it,equation_times,dt,delta_clock_times,remaining_equation_times,remaining_clock_times
           0, 0.0000000    , 1.0000000    , 0.0000000    ,nan,nan
           1,0.70514701E-01,0.70514701E-01,0.56570400    , 9.9294853    , 79.659269    
           2,0.14102940    ,0.70514701E-01,0.26525800    , 9.8589706    , 37.086888    
          39, 2.7500733    ,0.70514701E-01, 8.1914860    , 7.2499267    , 22.762236    
          62, 4.0924894    ,0.58365917E-01, 5.1976380    , 5.9075106    , 22.873014    
         121, 7.0235319    ,0.47589975E-01, 14.131328    , 2.9764681    , 14.350337    
         163, 8.7145937    ,0.38392204E-01, 10.270252    , 1.2854063    , 7.8066027    
         190, 10.000000    ,0.67923831E-02, 6.8019440    , 0.0000000    , 0.0000000    

and there is also an object sim.output.remaining_clock_time to load and plot these data (which is especially useful during the simulation!):

sim.output.remaining_clock_time.plot()
Mean clock time per time step: 0.288 s
_images/dfc9ef8da6067fa196e3449cf7798408a41ef2049e5e9611327c78976312bc5c.png

Parse, load and plot information contained in the Nek5000 log#

The object sim.output.print_stdout (see snek5000.output.print_stdout.PrintStdOut) contains utilities to represent information contained in the Nek5000 log. For example, one can do:

log_data = sim.output.print_stdout.load()
log_data
t dt CFL pres_it pres_div pres_div0 pres_tol pres_etime pres_etime1
it
1.0 0.070515 0.070515 1.400 8.0 0.000006 0.029012 0.00001 0.041769 0.069694
2.0 0.141029 0.070515 1.398 5.0 0.000003 0.000378 0.00001 0.027993 0.041827
3.0 0.211544 0.070515 1.397 5.0 0.000004 0.000483 0.00001 0.024103 0.037778
4.0 0.282059 0.070515 1.395 5.0 0.000005 0.000541 0.00001 0.024533 0.038192
5.0 0.352574 0.070515 1.392 5.0 0.000005 0.000606 0.00001 0.024087 0.037702
... ... ... ... ... ... ... ... ... ...
185.0 9.794182 0.055285 1.502 6.0 0.000003 0.008834 0.00001 0.028540 0.044733
186.0 9.849467 0.055285 1.513 6.0 0.000003 0.007422 0.00001 0.029805 0.046206
187.0 9.904752 0.055285 1.459 5.0 0.000008 0.006278 0.00001 0.025854 0.041588
188.0 9.948980 0.044228 1.491 7.0 0.000003 0.032300 0.00001 0.034978 0.054312
189.0 9.993208 0.044228 1.441 6.0 0.000005 0.020008 0.00001 0.029008 0.045313

189 rows × 9 columns

and plot useful figures with

sim.output.print_stdout.plot_dt_cfl()
_images/c8b3a241c83712af27b0595140359e34d93c1ad2d14408488bf8ae7baa06cc80.png

and

sim.output.print_stdout.plot_nb_iterations()
_images/4dfe6850f1cef95bd366afe84bf0137b1e19b7e66d5fad7c5833d5402fdd50b4.png

Visualize spatial means data#

In subroutine userchk of tgv.usr.f, the time stamp, kinetic energy and enstrophy are output in a file spatial_means.csv. The data can be loaded with

df = sim.output.spatial_means.load()
df.head()
time energy enstrophy
0 0.070515 0.124773 0.374512
1 0.564118 0.124451 0.385976
2 1.057721 0.124221 0.419261
3 1.551323 0.123958 0.479489
4 2.044926 0.123637 0.574664

Reference data#

import pandas as pd

ref = pd.read_csv(
    "examples/snek5000-tgv/ref_data_spectral_code.csv",
    sep=" ",
    names=("time", "ref:energy", "ref:dE/dt", "ref:enstrophy"),
    comment="#"
)
ref.head()
time ref:energy ref:dE/dt ref:enstrophy
0 0.00 0.125000 0.000469 0.375000
1 0.01 0.124995 0.000469 0.374990
2 0.02 0.124991 0.000469 0.374987
3 0.03 0.124986 0.000469 0.374993
4 0.04 0.124981 0.000469 0.375006

Result#

sim.output.spatial_means.plot(logy=True, colormap="Accent")

import matplotlib.pyplot as plt

ax = plt.gca()
ref.plot(
    "time",
    ["ref:energy", "ref:enstrophy"],
    ax=ax,
    style="--",
    logy=True,
    colormap="Accent"
)
ax.set(
    title=f"Taylor-Green vortex: evolution of K.E. and enstrophy. Re={-sim.params.nek.velocity.viscosity}"
)
ax.figure.tight_layout()
/tmp/ipykernel_3547/149631164.py:17: UserWarning: The figure layout has changed to tight
  ax.figure.tight_layout()
_images/ad94e99e92b56a983ddeb7ae98ae60f3419e83301bab8f7dbc1385d658529c6e.png

Restart to run further#

We see that our first simulation was clearly too short. We can use the command line tool snek-restart (see the How to page dedicated to restart) to continue the simulation from the last saved file (--use-start-from -1):

print("Running the restart command...")
t_start = perf_counter()
lines = !snek-restart {sim.path_run} --use-start-from -1 --add-to-end-time 4
print(f"Command executed in {perf_counter() - t_start:.2f} s")
Running the restart command...
Command executed in 19.17 s

Let’s look at the end of the output of this command:

print("\n".join(lines[-120:]))
Hide code cell output
         61  PRES gmres         4   9.0073E-06   2.0465E-03   1.0000E-05   2.2678E-02   3.1821E-02    F
         61  Hmholtz VELX       5   7.9906E-09   2.0020E-01   1.0000E-07
         61  Hmholtz VELY       5   7.9906E-09   2.0020E-01   1.0000E-07
         61  Hmholtz VELZ       5   9.7927E-09   1.9874E-01   1.0000E-07
             L1/L2 DIV(V)          -5.1157E-18   1.6627E-01
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL      -5.1157E-18   1.6627E-01
             WARNING: DIV(V)-QTL too large!
         61  Fluid done  1.3864E+01  1.0986E-01
Step     62, t= 1.3965261E+01, DT= 1.0147541E-01, C=  1.300 1.5806E+01 2.4605E-01
             Solving for fluid
         62  Project PRES           1.4125E-01   6.1215E-01   4.3339E+00   8   8
         62  PRES gmres         5   8.7856E-06   8.9682E-03   1.0000E-05   2.8717E-02   3.9545E-02    F
         62  Hmholtz VELX       5   1.5474E-08   2.0425E-01   1.0000E-07
         62  Hmholtz VELY       5   1.5474E-08   2.0425E-01   1.0000E-07
         62  Hmholtz VELZ       5   1.9796E-08   2.0334E-01   1.0000E-07
             L1/L2 DIV(V)          -1.3137E-17   1.6877E-01
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL      -1.3137E-17   1.6877E-01
             WARNING: DIV(V)-QTL too large!
         62  Fluid done  1.3965E+01  1.1828E-01
 Final time step =    3.4738634141188385E-002
             Solving for fluid
         63  Project PRES           3.1862E-01   1.4639E+00   4.5943E+00   8   8
         63  PRES gmres         6   7.3972E-06   2.0230E-02   1.0000E-05   3.4977E-02   5.0389E-02    F
         63  Hmholtz VELX       4   1.0404E-08   1.6432E-01   1.0000E-07
         63  Hmholtz VELY       4   1.0404E-08   1.6432E-01   1.0000E-07
         63  Hmholtz VELZ       4   1.2799E-08   1.6366E-01   1.0000E-07
             L1/L2 DIV(V)          -1.5436E-17   1.5004E-01
             L1/L2 QTL              0.0000E+00   0.0000E+00
             L1/L2 DIV(V)-QTL      -1.5436E-17   1.5004E-01
             WARNING: DIV(V)-QTL too large!
         63  Fluid done  1.4000E+01  1.2496E-01

       63  1.4000E+01 Write checkpoint
       FILE:./session_01/tgv0.f00002                                                                                                            
 min/max:   0.0000       6.2832       0.0000       6.2832       0.0000       6.2832    
 min/max: -0.71934      0.71884     -0.71965      0.71915     -0.69198      0.68791    
 min/max: -0.99884E-01  0.20793    

       63  1.4000E+01 done :: Write checkpoint
                              file size =     147.E-04GB
                              avg data-throughput =     0.4GB/s
                              io-nodes =     4


end of time-step loop

 
runtime statistics:
 init time  0.39815722400000003        2.4343273487517744E-002
 prep time           2   6.8770725000000255E-002   4.2046319034258683E-003
 pres time          63   4.4986284189999903       0.27504547279653607     
 crsl time         336   3.3299467000006189E-002   2.0359244622665004E-003
 crsl min    3.3299467000006189E-002
 crsl max    9.3229952000005056E-002
 crsl avg    6.4345992749998082E-002
 hmhz time         189   5.1117385340000023       0.31253093408609123     
 eslv time           0   0.0000000000000000        0.0000000000000000     
 makf time   7.5589747930000044       0.46215459516879676     
 makq time   0.0000000000000000        0.0000000000000000     
 proj time  0.63547605900000548        3.8852911780917716E-002
 usvp time          65   3.9231759999999172E-003   2.3986239744243316E-004
 usfq time           0  0.10993288100000009        6.7212800023282891E-003
 usbc time         125  0.24093224300000282        1.4730561521370641E-002
 usbc min   0.19463937999999903     
 usbc max   0.24093224300000282     
 usb  avg   0.22261690675000026     
 uchk time   2.5147816000004042E-002   1.5375337319055472E-003
 mltd time         189  0.10451156100000103        6.3898213034316777E-003
 cdtp time         189   6.0872742999998120E-002   3.7217504580158902E-003
 axhm time        2055   1.1603582130000150        7.0944128650411553E-002
 advc time          63   7.4158564400000060       0.45340436034155657     
 mxmf time   0.0000000000000000        0.0000000000000000     
 adc3 time   0.0000000000000000        0.0000000000000000     
 col2 time   0.0000000000000000        0.0000000000000000     
 col3 time   0.0000000000000000        0.0000000000000000     
 a2s2 time   0.0000000000000000        0.0000000000000000     
 add2 time   0.0000000000000000        0.0000000000000000     
 invc time   0.0000000000000000        0.0000000000000000     
 tgop time        6137   2.1224170259999640       0.12976426146290687     
 dadd time           0  0.90410342800002752        5.5276749188925868E-002
 vdss time         190  0.30913814899998771        1.8900660475098426E-002
 vdss min   0.30913814899998771     
 vdss max   0.32600714800000297     
 vdss avg   0.31954339075000027     
 dsum time        2154   1.0213741339999878        6.2446662720951403E-002
 dsum min    1.0213741339999878     
 dsum max    1.3385237219999917     
 dsum avg    1.1864073209999884     
 ddsl time           0   0.0000000000000000        0.0000000000000000     
 

#  nid       tusbc       tdadd       tcrsl       tvdss       tdsum        tgop    qqq    F
           0  2.4093E-01  9.0410E-01  3.3299E-02  3.0914E-01  1.0214E+00  2.1224E+00 qqq
           1  2.2314E-01  9.3645E-01  5.8432E-02  3.2359E-01  1.3385E+00  2.0266E+00 qqq
           2  2.3175E-01  9.2924E-01  7.2422E-02  3.2601E-01  1.0524E+00  2.2794E+00 qqq
           3  1.9464E-01  9.1558E-01  9.3230E-02  3.1944E-01  1.3333E+00  1.8787E+00 qqq
  
run successful: dying ...
  
  
total elapsed time             :   1.67989E+01 sec
total solver time w/o IO       :   1.62872E+01 sec
time/timestep                  :   2.58527E-01 sec
avg throughput per timestep    :   1.69824E+05 gridpts/CPUs
total max memory usage         :   6.99716E-01 GB

/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53
[Mon Jun  9 09:21:19 2025]
Finished job 0.
2 of 2 steps (100%) done
Complete log: .snakemake/log/2025-06-09T092100.737244.snakemake.log
Namespace(add_to_end_time=4.0, end_time=None, modify_params=None, nb_mpi_procs=4, new_dir_results=False, num_steps=None, only_check=False, only_init=False, path='/home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53', session_id=None, skip_verify_contents=False, use_checkpoint=None, use_start_from='-1')
path_run: /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53

# To visualize with IPython:

cd /home/docs/Sim_data/examples_snek/tuto/tgv_run_8x8x8_V2pix2pix2pi_2025-06-09_09-19-53; snek-ipy-load

The results of the new simulation were saved in a directory session_01

sorted(p.name for p in sim.path_run.iterdir())
['.snakemake',
 '.state',
 'SESSION.NAME',
 'SIZE',
 'Snakefile',
 'build.log',
 'config_simul.yml',
 'info_solver.xml',
 'logs',
 'makefile',
 'makefile_usr.inc',
 'map_user_params.json',
 'nek5000',
 'obj',
 'params_simul.xml',
 'remaining_clock_time.csv',
 'session_00',
 'session_01',
 'spatial_means.csv',
 'tgv.box',
 'tgv.log',
 'tgv.ma2',
 'tgv.nek5000',
 'tgv.par',
 'tgv.re2',
 'tgv.usr']

which contains:

sorted(p.name for p in (sim.path_run / "session_01").iterdir())
['init_state.restart',
 'tgv.ma2',
 'tgv.par',
 'tgv.re2',
 'tgv0.f00001',
 'tgv0.f00002']

The log files of the simulations are saved in logs:

paths_log = sorted(sim.path_run.glob("logs/*"))
[p.name for p in paths_log]
['run_2025-06-09T09-19-53.log', 'run_2025-06-09T09-21-00.log']

Let’s get the spatial means data from the second simulation:

df_new = sim.output.spatial_means.load()
df_new = df_new[df_new.time > df.time.max()]

We finally plot the new points!

df_new.plot("time", ["energy", "enstrophy"], ax=ax, logy=True, colormap="Accent", style=".-")
ax.figure
_images/3f2e5b505e7d165bbe962f9f8a57129b26bc1642bd9fdcadd6413aab2db709ab.png

Note that we use for this tutorial very small and coarse simulations, which explain the differences between our results and the reference!

Let us see what gives the remaining_clock_time plot after the second simulation:

sim.output.remaining_clock_time.plot()
Mean clock time per time step: 0.266 s
_images/7a1b77ece0fb19693acf326f61986014e95e9381e3b6438c416d0b3bf9d8c2ac.png