-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello all,
the PARAMCHECK routines normally abort if inconsistent parameters are given. I have a situation where the parameter choice is valid and the result of the simulation should be identical with or without the parameter set (assuming not bugs...), however setting the parameter is likely going to make the simulation slower.
Im this particular case the parameter is CarpetLib::use_higher_order_restriction when used for a run with Carpet::refinement_centering = "vertex". In that case restriction is just a copy operation and independent of use_higher_order_restriction, for cell-centered runs this is not true anymore and this is the situation that use_higher_order_restriction was implemented for.
However there is code in Carpet/Evolve.cc that calls POSTREGRID multiple times if use_higher_order_restriction is set (it has to in order to get symmetry, outer boundaries and also ghost zones right).
For vertex centering nothing should happen (since there is a second call to POSTRESTRICT after all restriction is done).
Options are:
* do nothing since these parameters are perfectly valid if slow * warn with level CCTK_WARN_COMPLAIN ("the user should know about this but the problem is not terribly surprising") * warn with level CCTK_WARN_ALERT ("the results of this run will be wrong, and this will surprise the user, but we can still continue the run") * abort since the user most likely did not want to set the parameter
Note that current practise in most code seems to be to use CCTK_WARN_COMPLAIN (Level 1) for warnings about situations that do not invalidate the result and CCTK_WARN_ABORT (Level 0) for anything that invalidates results, ie. we do not adhere to the meaning of the levels documented in src/include/cctk_WarnLevel.h .
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.