Hello Luca, all,
From this I understand that ADMConstraints should not be used with ML. In order to prevent accidental use, would it be possible to insert a parameter check in ML that warns against ADMConstraints? Or at least a note in the README file and documentation of ADMConstraints?
The default parameters of TmunuBase should work with ADMConstraints. The TmunuBase parameter Erik is referring to is TmunuBase::support_old_CalcTmunu_mechanism which is on by default (for backwards compatability, this might change in the future!). If support_old_CalcTmunu_mechanism==yes then ADMConstraints should pick up Tmunu from CalcTmunu.inc (as Ttt, Ttx etc, see ADMConstraints/src/ADMConstraints.F). Do you know if TmunuBase::support_old_CalcTmunu_mechanism is set in your parameter file?
Also note that the "old" mechanism is terribly slow since Cactus checks for each grid point whether TmunuBase is active before executing the its part of the include file (only for "USES INCLUDE" code include files, not for "USES INCLUDE HEADER" header include files). Since the checking involves walking a linked list and stricmp() calls, you can spend a good fraction of you computation time in it :-) .
A good way to prevent accidental use with wrong parameter settings might be add a warning (level 1 or 0) to the "else" branch of the "if (stress_energy_2_state .ne. 0) then" section in TmunuBase/TmunuBase_CalcTmunu.inc which would trigger when the mechanism is used (independent of which thorn tries to use it).
Yours, Roland