[Users] PARAMCHECK and non fatal but inefficient parameter choices

Roland Haas rhaas at tapir.caltech.edu
Wed May 7 17:08:53 CDT 2014


-----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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlNqrvQACgkQTiFSTN7SboVuBQCg0IhvBi92zRKRVKoe216Q6wND
NEYAn25pqT33i90JbhXmBJ90jKNAP4wd
=+2Fk
-----END PGP SIGNATURE-----


More information about the Users mailing list