Using the Noise thorn

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 Jeﬀ Winicour.

1 Initial data

To apply a random perturbation to initial data, set noise::apply_id_noise="yes". Then each grid function listed in the parameter noise::id_vars 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 CCTK_POSTINITIAL time bin.

2 Boundary conditions

A random number will be added to each point on the boundary of grid functions listed in the noise::bc_vars parameter if the ﬂag noise::apply_bc_noise="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 CCTK_POSTSTEP.

3 Example

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

ActiveThorns = "... Noise ..."

noise::apply_id_noise = "yes"

noise::apply_bc_noise = "yes"

noise::amplitude      = 0.001

4 Parameters

 amplitude Scope: private REAL Description: Maximum absolute value of random data Range Default: 0.000001 0: Positive number

 apply_bc_noise Scope: private BOOLEAN Description: Add random noise to initial data Default: no

 apply_id_noise Scope: private BOOLEAN Description: Add random noise to initial data Default: no

 bc_vars Scope: private STRING Description: Variables to modify with noise at boundary Range Default: (none) .* A regex which matches everything

 id_vars Scope: private STRING Description: Initial data variables to modify with noise Range Default: (none) .* A regex which matches everything

 noise_boundaries Scope: private BOOLEAN Description: At which boundaries to apply noise Default: yes

 noise_stencil Scope: private INT Description: Number of boundary points Range Default: 1 0:* 0:*

Implements:

noise

Inherits:

grid

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.

NONE

Scheduled Functions

CCTK_INITIAL (conditional)

id_noise

CCTK_POSTSTEP (conditional)

bc_noise

 Language: c Type: function

CCTK_POSTRESTRICT (conditional)

bc_noise