[Nek5000-users] Restart problem
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Thu Jan 5 02:46:37 CST 2012
On Thu, 2011-12-22 at 22:22 -0600, nek5000-users at lists.mcs.anl.gov
wrote:
Hi
Thank you Paul. I've made short test with jet in crossflow and it seem
to work, but I've got sometimes following warning
WARNING: restart file has a NSPCAL > LDIMT
read only part of the fld-data!
WARNING: NPSCAL read from restart file differs from
currently used NPSCAL!
What's strange this warning doesn't show up at every restart. I'm going
to make some longer tests now.
Regards
Adam
> > Hi
> >
> > I simulate jet in crossflow problem with nek5000 and I've got serius
> > problems with restarting the simulation. It causes strong spurious
> > velocity oscillation and I cannot get rid of them. I've implemented
> > restarting procedure described in prepost.f, but it doesn't help much.
> > Playing with file format (parameters p66, p67) and projection (p94, p95)
> > I can only decrease oscillations amplitude, but they are still there.
> > Surprisingly saving output files in double precision (p63=8) makes
> > everything worse. Has anybody got similar problems?
> > Best regards
> >
> > Adam
>
> Hi,
>
> I think that the full restart capability should now work with
> the current version of the source.
>
> There is a 2D example in the repo, with a README that I also
> provide below.
>
> Basically, you will now save 4 files each time you wish to
> checkpoint. The files come in two sets, A and B, and the A
> set is then overwritten by the 3rd checkpoint, etc. so that
> you have at most 8 checkpoint files on hand at any one time.
> The files are 64 bit and thus cannot be used by VisIt --- thus,
> they are truly designated as checkpoint/restart files and not
> analysis files. More information in the README below.
>
> Please let me know if you have comments or questions.
>
> Best regards,
>
> Paul
>
> -------------------------------------------------------------------------
> >From the examples/cyl_restart directory:
>
> SET UP:
> =======
>
> This directory contains an example of full restart capabilities for
> Nek5000.
>
> The model flow is a von Karman street in the wake of a 2D cylinder.
> The quantity of interest is taken to be the lift, which is monitored
> via "grep agy logfile" in the run_test script. A matlab file, doit.m,
> can be used to analyze the output files containing the lift history
> of the four cases. The cases are:
>
> ca - initial run (no projection)
> cb - restart run for ca case
>
> pa - initial run (with projection)
> pb - restart run for pa case
>
> BACKGROUND:
> ===========
>
> Timestepping in Nek5000 is based on BDFk/EXTk (k=3, typ.), which uses kth-order
> backward-difference formulae (BDFk) to evaluate velocity time derivatives and
> kth-order extrapolation (EXTk) for explicit evaluation of the nonlinear and
> pressure boundary terms. Under normal conditions, the velocity and pressure
> for preceding timesteps are required to advance the the solution at each step.
>
> At startup, the timestepper is typically bootstrapped using a lower-order
> BDF/EXT formula that, given the artificiality of most initial conditions,
> is typically adequate. The velocity field often has enough inertia and
> sufficient signature such that the same bootstrap procedure also works when
> restarting from an existing solution (i.e., a .fnnnnn or .fldnn file, stored
> in 32-bit precision).
>
> For some cases, it is important to have reproducibility of the time history
> to the working precision (14 digits, typ.) of the code. The full restart
> feature is designed to provide this capability. The main features of
> full restart are:
>
> .Preserve alternating sets of snapshots (4 per set) in 64-bit precision.
> (Alternating sets are saved in case the job fails in the middle of
> saving a set.)
>
> .Use the most recent set to restart the computation by overwriting
> the solution for the first steps, 0 through 3, with the preserved
> snapshots.
>
>
> Full restart is triggered through the .usr file. In the given example
> cases, "ca" and "cb" the restart-save is illustrated in ca.usr and the
> actual restart, plus the save, is illustrated in cb.usr. For these cases,
> the restart is encapsulated in the user-provided routine "my_full_restart"
> shown below, along with the calling format in userchk:
>
>
> c-----------------------------------------------------------------------
> subroutine userchk
> include 'SIZE'
> include 'TOTAL'
>
> logical if_drag_out,if_torq_out
>
> call my_full_restart
>
> scale = 1.
> if_drag_out = .true.
> if_torq_out = .false.
> call torque_calc(scale,x0,if_drag_out,if_torq_out)
>
> return
> end
> c-----------------------------------------------------------------------
> subroutine my_full_restart
>
> character*80 s80(4)
>
> call blank(s80,4*80)
> s80(1) ='rs8ca0.f00005'
> s80(2) ='rs8ca0.f00006'
> s80(3) ='rs8ca0.f00007'
> s80(4) ='rs8ca0.f00008'
>
> call full_restart(s80,4) ! Will overload 5-8 onto steps 0-3
>
>
> iosave = iostep ! Trigger save based on iostep
> call full_restart_save(iosave)
>
> return
> end
> c-----------------------------------------------------------------------
>
>
> Note that in the example above, the set enumerated 5--8 is used to restart
> the computation. This set is generated by first running the "ca" case.
>
> Note that the frequency of the restart output is coincident with the
> standard output frequency of field files (snapshots). This might be too
> frequent if one is, say, making a movie where snapshots are typically
> dumped every 10 steps. It would make more sense in this case to set
> iosave=1000, say.
>
> Note also that if one is initiating a computation from something other
> than the full restart mode then the full_restart() call should be commented
> out.
>
>
> COMMENTS:
> =========
>
> Full reproducibility of the solution is predicated on having sufficient
> history information to replicate the state of "a" when running "b".
> While such replication is possible, it does preclude acceleration of the
> iterative solvers by projection onto prior solution spaces [1,2], since
> these projections typically retain relatively long sequences of information
> (e.g., spanning tens of steps) to maximally extract all the regularity in the
> solution history. Consequently, _full_ reproducibility is not retained with
> projection turned on. In this case, the solution is reproduced only to the
> tolerance of the iterative solvers, which is in any case the maximum level
> of accuracy attainable in the solution. To illustrate the difference,
> we provide a test case pairing, "pa" and "pb", which is essentially the
> same as the ca/cb pair save that projection is turned on for pa/pb.
>
>
>
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
More information about the Nek5000-users
mailing list