#1431: Issue with McLachlan and ADMBase::initial_shift ------------------------------------+--------------------------------------- Reporter: hinder | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: development version Resolution: | Keywords: McLachlan ------------------------------------+---------------------------------------
Comment (by hinder):
This can be implemented with a ParameterConditions entry in CreateThorn (even though this is not actually a parameter, the code doesn't actually care, and you can put *shift_state as the "parameter" and the check will work).
We should solve the problem for shift, dtlapse and dtshift. After looking at the code, and specifically the READS and WRITES statements in the schedule.ccl file, I think we need to require that all three are valid, as McLachlan reads and writes to all these variables unconditionally. I thought that they would not always all be necessary, but it seems that at least for now, they are. In the "rewrite" branch, I assume the gauge conditions are or will be modular, and this will need to be changed.
{{{ parameterConditions = {{!(Parameter["*shift_state"] == 1 && Parameter["*dtshift_state"] == 1 && Parameter["*dtlapse_state"] == 1), "McLachlan requires the ADMBase shift, dtlapse and dtshift groups to be initialised; set the parameters \ ADMBase::initial_shift, ADMBase::initial_dtshift and ADMBase::initial_dtlapse to something other than "none""}}; }}}
Can we also remove the storage statement from ML_BSSN_Helper? Since McLachlan is not initialising the variables, I think it shouldn't be asking for storage. Some thorn needs to initialise it, and that thorn will have to allocate the storage, so it shouldn't be necessary for McLachlan to allocate storage as well.