xx Using the Noise thorn

Using the Noise thorn

Denis Pollney

April 2002

Abstract

The Noise thorn can be used to place random values on Cactus grid functions at initial data and at the boundaries during evolution. This can be used to carry out “robust stability” tests, such as those proposed by Jeff Winicour.

1 Initial data

To apply a random perturbation to initial data, set noise::applyxidxnoise="yes". Then each grid function listed in the parameter noise::idxvars will be adjusted by a random factor. The maximum size of the random perturbation is controlled by the parameter noise::amplitude. The perturbations are applied during the

CCTKxPOSTINITIAL time bin.

2 Boundary conditions

A random number will be added to each point on the boundary of grid functions listed in the noise::bcxvars parameter if the flag noise::applyxbcxnoise="yes" is set. As with the initial data, the maximum size of the perturbation is given by the noise::amplitude parameter. The adjustments are applied at each

CCTKxPOSTSTEP.

3 Example

The following parameters can be used to apply a random adjustment of size to the initial data and boundaries of the metric variables.

xxActiveThornsx=x"...xNoisex..."
xxnoise::apply_id_noisex=x"yes"
xxnoise::id_varsxxxxxxxx=x"admbase::metric"
xxnoise::apply_bc_noisex=x"yes"
xxnoise::bc_varsxxxxxxxx=x"admbase::metric"
xxnoise::amplitudexxxxxx=x0.001

4 Parameters

11amplitude 10Scope: privatex01 REAL

11Description: Maximum absolute value of random data

11 Range 10 x01 Default: 0.000001
110:  10Positive number

11

11applyxbcxnoise 10Scope: privatex01  BOOLEAN

11Description: Add random noise to initial data

11              10  x01  Default: no

11

11applyxidxnoise 10Scope: privatex01  BOOLEAN

11Description: Add random noise to initial data

11              10  x01  Default: no

11

11bcxvars  10Scope: privatex01  STRING

11Description: Variables to modify with noise at boundary

11 Range 10 x01 Default: (none)
11.*  10A regex which matches everything

11

11idxvars  10Scope: privatex01  STRING

11Description: Initial data variables to modify with noise

11 Range 10 x01 Default: (none)
11.*  10A regex which matches everything

11

11noisexboundaries 10Scope: privatex01  BOOLEAN

11Description: At which boundaries to apply noise

11              10  x01  Default: yes

11noisexstencil 10Scope: privatex01  INT

11Description: Number of boundary points

11 Range 10 x01 Default: 1
110:*  100:*

11

5 Interfaces

General Implements: noise

Inherits: grid

Uses header: Symmetry.h

6 Schedule This section lists all the variables which are assigned storage by thorn CactusNumerical/Noise. 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 NONE

Scheduled Functions CCTKxINITIAL (conditional) x idxnoise x add noise to initial data x

11x11After: 11admbasexinitialdata
11 x 11x  11admbasexinitialgauge
11 x 11x  11hydrobasexinitial
11 x 11Before: 11admbasexpostinitial
11 x 11x  11hydrobasexprim2coninitial
11 x 11Language:11c
11 x 11Type: 11function

11

CCTKxPOSTSTEP (conditional) x bcxnoise x add noise to boundary condition x

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

11

CCTKxPOSTRESTRICT (conditional) x bcxnoise x add noise to boundary condition x

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