So as a first step, I believe we should modify HydroBase so that
1) A new set of four, 3-timelevel groups are defined, one for each component of the vector potential
2) The prolongation type can be specified differently for each of the four vector potential gridfunction groups, allowing for arbitrary staggerings of the single variable within each of these groups.
Variables in these groups will be read in by IllinoisGRMHD and can be used directly for evolutions.
Regarding the longer-term strategy, we could either
1) modify Carpet so that different components of Avec() (the current 3-vector potential group in HydroBase) can accept different prolongation/restriction operators (then modifying IllinoisGRMHD to accept this new vector gridfunction), or
2) just keep the four, 3-timelevel groups and phase out Avec() and Aphi altogether.
Even the latter strategy would not be difficult to implement in current publicly available thorns:
After a simple grep, I could only find a single initial data thorn that actually sets Avec, so the needed changes to public initial data thorns should be minimal. Further, I am under the impression that Avec evolutions are not yet supported in GRHydro anyway, and found only about 40 references to the Avec() gridfunctions within GRHydro, so renaming these variables to a new style would be trivial.
Please let me know your thoughts regarding this proposal. The IllinoisGRMHD code announcement paper is nearing completion, and at least having the infrastructure for this code in place by the next ET release would be great. In this regard, I have already asked Erik if he would be willing to merge the staggered prolongation/restriction code into the mainline Carpet for the next ET release. The soft freeze is Nov 10, these new features affect none of Carpet's other functionality, and I have thoroughly tested these new features with GRMHD evolutions, verifying that they work well.
Please consider the possibility of adding these small infrastructure enhancements prior to the freeze.
Sincerely,
-Zach
* * *
Zachariah Etienne
Assistant Professor of Mathematics
West Virginia University