xx Dissipation

Dissipation

Erik Schnetter <schnetter@aei.mpg.de>, Bernard Kelly <bernard.j.kelly@nasa.gov>

Date

Abstract

Add th-order Kreiss-Oliger dissipation to the right hand side of evolution equations. This thorn is intended for time evolutions that use MoL.

1 Physical System For a description of Kreiss-Oliger artificial dissipation, see [1]. The additional dissipation terms appear as follows, for a general grid function . Here, the tensor character of the field is irrelevant: each component of, say, is treated as an independent field for dissipation purposes.

where , , and are the local grid spacings in each Cartesian direction, and the second equality holds in the usual situation where the three are equal: .

2 Implementation in Cactus

The Dissipation thorn’s dissipation rate is controlled by a small number of parameters:

order is the order of the dissipation, implying the use of the -st spatial derivatives;

epsdiss is the overall dissipation strength .

Currently available values of order are . To apply dissipation at order requires that we have at least ghostzones — , respectively.

The list of fields to be dissipated is specified in the parameter vars. The thorn does not allow for individually tuned dissipation strengths for different fields. However, the dissipation strength can be varied according to refinement level, using the parameter array epsdisxforxlevel, which overrides epsdiss if set.

The thorn also allows for enhanced dissipation within the apparent horizons, triggered by the boolean parameter extraxdissipationxinxhorizons, and near the outer boundary, triggered by the boolean parameter

extraxdissipationxatxouterbound. Both of these default to “no”.

2.1 Acknowledgements

I thank Scott Hawley who wrote a very similar thorn HawleyThorns/Dissipation for evolutions that do not use MoL; this thorn here is modelled after his.

References [1]xxxH. Kreiss and J. Oliger, Methods for the Approximate Solution of Time Dependent Problems,

vol.x10 of Global Atmospheric Research Programme (GARP): GARP Publication Series (GARP Publication, 1973)

3 Parameters

11ahxmaxxepsdis 10Scope: restrictedx01 REAL

11Description: maximal epsdis

11 Range 10 x01 Default: -1.0
11*:*  10<0 for ’off’, >=0 for maximal epsdis in horizon

11

11ahxradiusxoffset  10Scope: restrictedx01  REAL

11Description: Offset to the distance from the AH.

11 Range 10 x01 Default: 0.0
11*:*  10negative values shift inwards, positive outwards

11

11ahxslope  10Scope: restrictedx01  REAL

11Description: Slope inside AH

11 Range 10 x01 Default: 0.2
11*:*  10Slope from the outside value to the inside value in AHs

11

11epsdis  10Scope: restrictedx01  REAL

11Description: Dissipation strength

11 Range 10 x01 Default: 0.2
11*:*  100 for no dissipation. Unstable for epsdis<0 and epsdis>1/3

11

11epsdisxforxlevel  10Scope: restrictedx01  REAL

11Description: Alternate epsdis for a specific refinement level

11 Range 10 x01 Default: -1.0
11:  10Negative indicates use default

11

11extraxdissipationxatxouterbound 10Scope: restrictedx01  BOOLEAN

11Description: increase dissipation at outer boundary

11                         10  x01  Default: no

11

11extraxdissipationxinxhorizons10Scope: restrictedx01  BOOLEAN

11Description: extra dissipation in horizons

11                         10  x01  Default: no

11

11horizonxnumber  10Scope: restrictedx01  INT

11Description: horizon number for extra dissipation in horizons – AHFinderDirect number

11 Range 10 x01 Default: -1
11-1  10do not use a horizon
111:*  10horizon number (from AHFinderDirect); starts from 1

11obxslope  10Scope: restrictedx01  REAL

11Description: slope at outer boundary

11 Range 10 x01 Default: 5
110:*  10increase dissipation

11

11order  10Scope: restrictedx01  INT

11Description: Dissipation order

11 Range 10 x01 Default: 3
111  10first order accurate dissipation (using a second derivative)
113  10third order accurate dissipation (using a fourth derivative)
115  10fifth order accurate dissipation (using a sixth derivative)
117  10seventh order accurate dissipation (using an eighth derivative)
119  10ninth order accurate dissipation (using a tenth derivative)

11

11outerxboundxnpoints  10Scope: restrictedx01  INT

11Description: number of points in which dissipation should be increased

11 Range 10 x01 Default: 3
110:*  10positive number

11

11outerxboundaryxmaxxepsdis 10Scope: restrictedx01  REAL

11Description: maximal epsdis

11 Range 10 x01 Default: -1.0
11*:*  10<0 for ’off’, >=0 for maximal epsdis at the outer boundary

11

11respectxemask  10Scope: restrictedx01  BOOLEAN

11Description: respect excision mask

11                         10  x01  Default: no

11

11surfacexnumber  10Scope: restrictedx01  INT

11Description: horizon number for extra dissipation in horizons – SphericalSurface number

11 Range 10 x01 Default: -1
11-1  10do not use a spherical surface
110:*  10surface number (from SphericalSurface); starts from 0

11

11updatexahxevery  10Scope: restrictedx01  INT

11Description: how often to update the AH information for dissipation

11 Range 10 x01 Default: 1
110:*  10positive iteration number

11

11usexdissipationxnearxexcision10Scope: restrictedx01  BOOLEAN

11Description: Apply excision near the excision boundary (does not work for high orders)

11                         10  x01  Default: yes

11

11vars  10Scope: restrictedx01  STRING

11Description: List of evolved grid functions that should have dissipation added

11 Range 10 x01 Default: (none)
11.*  10must be a valid list of grid functions

11

11verbose  10Scope: restrictedx01  BOOLEAN

11Description: produce log output

11                         10  x01  Default: no

11

11usexmask  10Scope: shared from SPACEMASKx01BOOLEAN

4 Interfaces

General Implements: dissipation

Inherits: grid sphericalsurface spacemask

Grid Variables

4.0.1 PRIVATE GROUPS

11x Group Names x10x Variable Names xx01 Details x11x
11 epsdisaxgroup 10  x01  compact110
11                 10  epsdisA  x01 description11dissipation array for spatially different dissipation
11                 10  x01 dimensions113
11                 10  x01 distribution11DEFAULT
11                 10  x01 group type11GF
11 10 x01 tags11Checkpoint=”no” Prolongation=”none”
11                 10  x01 timelevels111
11                 10  x01variable type11REAL

11

5 Schedule This section lists all the variables which are assigned storage by thorn CactusNumerical/Dissipation. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage x

11Always:  11x
11epsdisAxgroup11x

11x  11x

11

Scheduled Functions

CCTKxPARAMCHECK x dissipationxparamcheck x check dissipation parameters for consistency x

11x11Language:11c
11 x 11Type: 11function

11

CCTKxBASEGRID x dissipationxbasegrid x ensure that there are enough ghost zones x

11x11Language:11c
11 x 11Type: 11function
11 x 11Writes: 11dissipation::epsdisa(everywhere)

11

CCTKxPOSTSTEP x setupxepsdis x setup spatially varying dissipation

11x11After: 11sphericalsurfacexhasbeenset
11 x 11Language:11c
11 x 11Reads: 11grid::x
11 x 11x  11grid::y
11 x 11x  11grid::z
11 x 11x  11spacemask::emask
11 x 11x  11sphericalsurface::sfxinfo
11 x 11x  11sphericalsurface::sfxorigin
11 x 11x  11sphericalsurface::sfxvalid
11 x 11Sync:  11epsdisaxgroup
11 x 11Type: 11function
11 x 11Writes: 11dissipation::epsdisa(everywhere)

11

CCTKxPOSTREGRIDINITIAL x setupxepsdis x setup spatially varying dissipation x

11x11Language:11c
11 x 11Reads: 11grid::x
11 x 11x  11grid::y
11 x 11x  11grid::z
11 x 11x  11spacemask::emask
11 x 11x  11sphericalsurface::sfxinfo
11 x 11x  11sphericalsurface::sfxorigin
11 x 11x  11sphericalsurface::sfxvalid
11 x 11Sync:  11epsdisaxgroup
11 x 11Type: 11function
11 x 11Writes: 11dissipation::epsdisa(everywhere)

11

CCTKxPOSTREGRID x setupxepsdis x setup spatially varying dissipation x

11x11Language:11c
11 x 11Reads: 11grid::x
11 x 11x  11grid::y
11 x 11x  11grid::z
11 x 11x  11spacemask::emask
11 x 11x  11sphericalsurface::sfxinfo
11 x 11x  11sphericalsurface::sfxorigin
11 x 11x  11sphericalsurface::sfxvalid
11 x 11Sync:  11epsdisaxgroup
11 x 11Type: 11function
11 x 11Writes: 11dissipation::epsdisa(everywhere)

11

MoLxPostRHS x dissipationxadd x add kreiss-oliger dissipation to the right hand sides x

11x11Language:11c
11 x 11Reads: 11epsdisaxgroup
11 x 11Type: 11function