Hello Gabriele, I seem to have trouble sending email to the ET mailing list server using my regular UIUC email address, so maybe using GMail will work better.
Yours, Roland Begin forwarded message: Date: Sat, 1 Jan 2022 10:36:00 -0500 From: Roland Haas <[email protected]> To: Gabriele Bozzola <[email protected]> Cc: Einstein Toolkit Users <[email protected]> Subject: Re: [Users] PreSync and recovery from checkpoint Hello Gabriele, > I have a fork of ProcaEvolve ( > https://urldefense.com/v3/__https://bitbucket.org/Sbozzolo/proca/src/master/__;!!DZ3fjg!oMcQru84TKsWMoY2YFsLTkLW7WfZuSfD9TnxLZdhbUwY8BR_fjy2ZykIwaXVaVGa$ > ) > where I added the READS/WRITES statements for > PreSync and other features. One of such features > is computing the constraint, but I found out that there > is some problem when PreSync is running with > `mixed-error`. hmm. > I have a write statement for chi in CCTK_INITIAL, which > is not called when restarting a simulation. Nonetheless, > chi should be available everywhere because it is read > from a checkpoint. What is the correct thing to do in > this scenario? When grid functions are read in from a checkpoint then they are marked as being valid everywhere. This is done in CarpetIOHDF5/src/Input.cc in the Recover function in the block that starts with // check that all variables have been read completely on this mglevel/reflevel specifically in line 793 of that file: gf->set_valid(mglevel, reflevel, tl, CCTK_VALID_EVERYWHERE); If these variables are not checkpointed (likely, given that they are only constraints and thus not usually considered "important" to checkpoint) then you would have to add code to say POST_RECOVER_VARIABLES to initialize them (eg to 0). This is a good idea to do even without considering PreSync since it avoids having random junk data (or poison) in the constraint output for a couple of steps (depending on mesh refinement details) after recovery. Something like: schedule Proca_ClearConstraints AT POST_RECOVER_VARIABLES { LANG: Fortran } "Initialize constraint values after recovery" You can also try to to Proca_Constraints in post-recover variables but, since the constraints require derivatives and those cannot be (correctly) computed in post-recover-variables, the constraints for the checkpointed timestep will (possibly I would have to think about exactly how checkpointing, prolongation and time stepping interact) differ before and after recovery. Also POST_RECOVER_VARIABLES only runs the scheduled function on timelevel 0 (ie current time) and not any past timelevels so if there are multiple time levels to the constraint variables, only tl=0 will be initialized. Yours, Roland -- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://keys.gnupg.net. -- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://keys.gnupg.net.
pgpkIzZd5SQKw.pgp
Description: OpenPGP digital signature
_______________________________________________ Users mailing list [email protected] http://lists.einsteintoolkit.org/mailman/listinfo/users
