[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