[ET Trac] [Einstein Toolkit] #945: add higher order restriction parameter to cell-centerd Carpet
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Mon Jun 4 12:09:33 CDT 2012
#945: add higher order restriction parameter to cell-centerd Carpet
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: CarpetLib |
-----------------------------------+----------------------------------------
the attached patch adds a 3rd order accurate restriction operator to
Carpet.
It is used only for cell-centered runs, for grid functions whose
prolongation operator is *not* ENO or WENO (ie. non matter variables
only).
It should be completely invisible if CarpetLib:use_cc_o3 is false (which
of course is the default).
It offers third-order accurate restriction operators for cell centered
grids when use_cc_o3 is set. This interpolation is done for samples at
the cell centres (so this is not a ppm scheme or anything like that).
It really only fits a polynomial of the form
\sum_{i,j,k=0}^3 a_{i,j,k} x^i y^j z^k
to the fine cells and evaluates at x=y=z=0. So it is good for the
metric, but bad for matter (since it will destroy the conservation).
Because of this it is not used for grid functions whose transport
operator is not WENO or ENO which hopefully excludes all matter
variables.
I also attach a patch for a modified WaveToyMoL thorn that I used for
testing. When test_restriction is set, then it puts a 3rd order
polynomial (with some random coefficients) into phi and the
differences between the restricted value and what should be there into
psi.
The wavetoymol thorn right now inherits from CarpetEvolutionMask since I
am also working on making this functional again (seems to be ok now).
Finally attached is a parameter file to test it. You should find a
region inside of reflevel 0 of psi where psi is exactly zero. This is
where the restriction works as expected.
Further improvements would be to not have the selection for 3rd order done
by a global carpetlib parameter but instead by a grid function tag (or a
global carpet paarameter). This change could also be made to the eno/weno
operators which contain special logic to use ENO for
prolongation_order_space = 3 and 5 both.
Ok to apply (or are there large scale changes to Carpet that are currently
private)?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/945>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list