On 15 Sep 2011, at 17:10, Roland Haas wrote:
Dear all,
as already mentioned in the meeting minutes and discussed in last week's CIGR call, Christian Reisswig has been working on adding Llama Multipatch compatibility to GRHydro. For those of you not familiar with Llama, this is the description from the Llama website (www.llamacode.org): --8<-- The Llama code is a 3-dimensional multiblock infrastructure with adaptive mesh-refinement for Cactus based on Carpet. It provides different patch systems that cover the simulation domain by a set of overlapping patches. Each of these patches has local cooordinates with a well defined relation to global Cartesian coordinates. However, all computations are carried out using a global Cartesian tensor basis such that involved tensor transformations between patch systems can be avoided. Information between the different patches is communicated via interpolation in the overlap zones. --8<--
We would like to incorporate these changes into the public development version of GRHydro. Right now multipatch support is functional for pure hydro simulations but still incomplete (eg. only the HLLE solver is supported, others will currently fail with multipatch enabled). No (serious) attempt has been made to incorporate MP into MHD, though the changes required should be straightforward. The proposed patch is backward compatible in that old parameter files will continue to work without change.
However the patch touches a large number of code lines since all references to vector/tensor components have to be replaced with references to tensor components in a local tensor basis. In practice this means that all occurances of gxx, betax, vel[i] etc. have to be replaced by gaa, betaa, lvlel[i]. On top of that, the requirement to stay backwards compatible (and to not use extra memory) with old parameter files when MP is not actually employed adds another layer so that in the end gxx is replaced by g11 etc. This is all rather straightforward, but unfortunately tedious and makes for a large patch.
We have tested that the code runs the old GRHydro testsuites and passes the same testsuites that a current vanilla checkout passes.
We will begin adding multipatch support during the day.
Do you know if there is any performance penalty when multipatch is switched off?