xx NullEvolve

NullEvolve

Y.Z. <yosef@raven.phyast.pitt.edu>

January 09 2003

Abstract

1 Introduction

2 Physical System 3 Numerical Implementation 4 Using This Thorn 4.1 Obtaining This Thorn 4.2 Basic Usage 4.3 Special Behaviour 4.4 Interaction With Other Thorns 4.5 Examples 4.6 Support and Feedback 5 History 5.1 Thorn Source Code 5.2 Thorn Documentation 5.3 Acknowledgements References 6 Parameters

11dissipxfudge 10Scope: privatex01 INT

11Description: do we want to fudge around the inner boundary

11 Range 10 x01 Default: (none)
110:1  100 no fudging, 1 fudging

11

11dissipxfudgexmaxx 10Scope: privatex01  REAL

11Description: where in x to stop fudging

11 Range 10 x01 Default: .53
11.5:.56  10

11

11dissipxj  10Scope: privatex01  REAL

11Description: dissipation factor for the J equation (time-integration)

11 Range 10 x01 Default: 0.0
110.0:*  10positive

11

11dissipxjx  10Scope: privatex01  REAL

11Description: dissipation factor for the J equation (radial marching)

11 Range 10 x01 Default: 0.0
110.0:*  10positive

11

11dissipxmaskxtype 10Scope: privatex01  KEYWORD

11Description: type of dissipation mask

11 Range 10 x01 Default: one
11one  10set dissipation mask to ’one’ everywhere
11see [1] below  10”set 2B=1-(pˆ2 +qˆ2 )+—1-(p ˆ2 +qˆ2 )—”
11see [1] below  10”set 2B=rD0-(pˆ2 +qˆ2 )+—rD 0-(pˆ2 +qˆ2 )—”
11see [1] below  10”set 2B=min(1, (rD0-(pˆ2 +qˆ2 )+—rD0- (pˆ2 +qˆ2 )—) / (rD0-1) )”
11see [1] below  10”set 2B=min(1, (rD0-(pˆ2 +qˆ2 )+—rD0- (pˆ2 +qˆ2 )—) / (rD0-rD1) )”

11

zeroxatxeq,xonexatxpole

[1]

zeroxatxrD0,xonexatxpole

[1]

zeroxatxrD0,xonexatxeq

[1]

zeroxatxrD0,xonexatxrD1

11dissipxq  10Scope: privatex01  REAL

11Description: dissipation factor for the Q equation (the auxiliary of U)

11 Range 10 x01 Default: 0.0
110.0:*  10positive

11

11dissipxw  10Scope: privatex01  REAL

11Description: dissipation factor for the W equation

11 Range 10 x01 Default: 0.0
110.0:*  10positive

11

11idxamp  10Scope: privatex01  REAL

11Description: Amplitude of compact J pulse

11 Range 10 x01 Default: .00001
110.:*  10An y positive number

11

11idxl  10Scope: privatex01  INT

11Description: l mode

11 Range 10 x01 Default: 2
112:*  102 or larger

11

11idxm  10Scope: privatex01  INT

11Description: m mode

11 Range 10 x01 Default: (none)
11-100:100  10-l to l

11

11idxpower  10Scope: privatex01  INT

11Description: related to order of polynomial in compact J pulse

11 Range 10 x01 Default: 3
113:6  10best to choose between 3 and 6

11

11jcoeffxr0  10Scope: privatex01  REAL

11Description: real part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr0i  10Scope: privatex01  REAL

11Description: imag part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr0r  10Scope: privatex01  REAL

11Description: real part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11jcoeffxr1  10Scope: privatex01  REAL

11Description: imag part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr1i  10Scope: privatex01  REAL

11Description: imag part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr1r  10Scope: privatex01  REAL

11Description: real part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr3  10Scope: privatex01  REAL

11Description: real part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr3i  10Scope: privatex01  REAL

11Description: imag part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11jcoeffxr3r  10Scope: privatex01  REAL

11Description: real part of constant for fitted linearized J initial data

11 Range 10 x01 Default: (none)
11*:*  10any value obtained from Nigel’s fitting script

11

11nxdissipxonexoutsidexeq 10Scope: privatex01  REAL

11Description: determines dissipation radius rD1 = 1 + dd*Nxdissipxonexoutsidexeq

11 Range 10 x01 Default: (none)
11*:*  10any value

11

11nxdissipxzeroxoutsidexeq 10Scope: privatex01  REAL

11Description: determines dissipation radius rD0 = 1 + dd*Nxdissipxzeroxoutsidexeq

11 Range 10 x01 Default: 1
110:*  10non-negative

11

11nullxdissip  10Scope: privatex01  REAL

11Description: dissipation factor for the radial evolution stencil

11 Range 10 x01 Default: 0.05
110.0:1.0  10postive less than 1

11

11psmax  10Scope: privatex01  REAL

11Description: outer p bdry of CS pulse

11 Range 10 x01 Default: 1.0
11*:*  10be reasonable though

11psmin  10Scope: privatex01  REAL

11Description: inner p bdry of CS pulse

11 Range 10 x01 Default: -1.0
11*:*  10be reasonable though

11

11qsmax  10Scope: privatex01  REAL

11Description: outer q bdry of CS pulse

11 Range 10 x01 Default: 1.0
11*:*  10be reasonable though

11

11qsmin  10Scope: privatex01  REAL

11Description: inner q bdry of CS pulse

11 Range 10 x01 Default: -1.0
11*:*  10be reasonable though

11

11usexrsylm  10Scope: privatex01  BOOLEAN

11Description: do we use real spherical harmonics for compact pulse initial data

11                  10  x01  Default: yes

11

11wrot  10Scope: privatex01  REAL

11Description: frequency of CS pule

11 Range 10 x01 Default: 7.5
11*:*  10be reasonable though

11

11xmax  10Scope: privatex01  REAL

11Description: right boundary of CS pulse

11 Range 10 x01 Default: .8
11.5:1  10choose .5 < xmin < xmax < 1

11

11xmin  10Scope: privatex01  REAL

11Description: left boundary of CS pulse

11 Range 10 x01 Default: .56
11.5:1  10choose .5 < xmin < xmax < 1

11

11boundaryxdata  10Scope: restrictedx01  KEYWORD

11Description: Choose boundary data type

11 Range 10 x01 Default: flat
11whitehole  10White hole boundary data
11flat  10flat boundary data
11randomJ  10random number boundary data

11

11debugxskipxbxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of B be turned off?

11                  10  x01  Default: no

11

11debugxskipxcbxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of CB be turned off?

11                  10  x01  Default: no

11

11debugxskipxckxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of CK be turned off?

11                  10  x01  Default: no

11debugxskipxevolution 10Scope: restrictedx01  BOOLEAN

11Description: Should the evolution be turned off?

11                  10  x01  Default: no

11

11debugxskipxjxupdate10Scope: restrictedx01  BOOLEAN

11Description: Should the update of J be turned off?

11                  10  x01  Default: no

11

11debugxskipxnuxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of NU be turned off?

11                  10  x01  Default: no

11

11debugxskipxqxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of Q be turned off?

11                  10  x01  Default: no

11

11debugxskipxuxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of U be turned off?

11                  10  x01  Default: no

11

11debugxskipxwxupdate 10Scope: restrictedx01  BOOLEAN

11Description: Should the update of W be turned off?

11                  10  x01  Default: no

11

11debugxverbose  10Scope: restrictedx01  BOOLEAN

11Description: should debugging messages be printed?

11                  10  x01  Default: no

11

11diagnosticsxcoordxx10Scope: restrictedx01  REAL

11Description: the coordinate x at which diagnostics are to be measured

11 Range 10 x01 Default: 0.0
110:1  10will test only for x >= NullGrid::nullxxin.

11

11firstxorderxscheme 10Scope: restrictedx01  BOOLEAN

11Description: Should the first order (angular) scheme be used?

11                  10  x01  Default: yes

11

11initialxjxdata  10Scope: restrictedx01  KEYWORD

11Description: What kind of initial data for J shall we pick?

11 Range 10 x01 Default: vanishingxJxscri
11vanishingxJ  10vanishing J
11vanishingxJxscri  10vanishing J at scri
11rotatingxpulse  10rotating pulse
11compactxJ  10compact suport J
11smoothxJ  10smoothly vanishing J
11extractedxJ  10J as given by extraction
11polynomialxJ  10J as third power polynomial to vanish Jxxx at scri
11see [1] below  10linearized fitted J based on some previous run

11

fitted\_linearized\_J

11oldxjxxderiv  10Scope: restrictedx01  BOOLEAN

11Description: should we compute the x derivative of J with the old values?

11                  10  x01  Default: no

11

11timestepxmethod 10Scope: shared from TIMEx01KEYWORD

11

7 Interfaces

General Implements: nullevolve

Inherits: nullinterp nullgrid nullvars time

Grid Variables

7.0.1 PRIVATE GROUPS

11x Group Names x10x Variable Names xx01 Details x11x
11  distmp  10  x01  compact110
11                 10  distmpxF  x01 description11temporaries used for dissipation
11                 10  distmpxd2F  x01 dimensions112
11                 10  distmpxd4F  x01 distribution11DEFAULT
11                 10  x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11 10 x x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11                 10  x01 group type11ARRAY
11                 10  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x01 timelevels111
11                 10  x01vararrayxsize112
11                 10  x01variable type11COMPLEX
11 dissipxmask 10 dissipxmask x01 compact110
11                 10  x01 description11dissipation mask
11                 10  x01 dimensions112
11                 10  x01 distribution11DEFAULT
11                 10  x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11 10 x x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11                 10  x01 group type11ARRAY
11                 10  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x01 timelevels111
11                 10  x01variable type11REAL
11 diagtmp 10 diagtmp x01 compact110
11                 10  x01 description11temporaries used for diagnostics
11                 10  x01 dimensions112
11                 10  x01 distribution11DEFAULT
11                 10  x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11 10 x x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11                 10  x01 group type11ARRAY
11                 10  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x01 timelevels111
11                 10  x01vararrayxsize112
11                 10  x01variable type11COMPLEX
11 auxxmask 10 x01 compact110
11                 10 auxiliaryxmaskn x01 description11auxiliary evolution masks
11                 10 auxiliaryxmasks x01 dimensions112
11                 10  x01 distribution11DEFAULT
11                 10  x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11 10 x x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11                 10  x01 group type11ARRAY
11                 10  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x01 timelevels111
11                 10  x01variable type11INT
11  eth4xmask  10  x01  compact110
11                 10  eth4xmaskn  x01 description11dissipation masks
11                 10  x  x01 description11to protect the startup from taking eth4
11                 10  eth4xmasks  x01 dimensions112
11                 10  x01 distribution11DEFAULT
11                 10  x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11 10 x x01 ghostsize11NULLGRID::NxANGxGHOSTxPTS
11                 10  x01 group type11ARRAY
11                 10  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x  x01  size11(NULLGRID::NxANGxPTSxINSIDExEQ+2*(NULLGRID::NxANGxEVxOUTSIDExEQ+NULLGRID::NxANGxSTENCILxSIZE))
11                 10  x01 timelevels111
11                 10  x01variable type11INT
11  jrad  10  x01  compact110
11                 10  jcnxrad  x01 dimensions111
11                 10  jcsxrad  x01 distribution11CONSTANT
11                 10  x01 group type11ARRAY
11 10 x01 size11NULLGRID::NxRADIALxPTS
11                 10  x01 timelevels111
11                 10  x01variable type11COMPLEX

11x Group Names x10x Variable Names xx01 Details x11x
11  dxjrad  10  x01  compact110
11                 10  dxjcnxrad  x01 dimensions111
11                 10  dxjcsxrad  x01 distribution11CONSTANT
11                 10  x01 group type11ARRAY
11 10 x01 size11NULLGRID::NxRADIALxPTS
11                 10  x01 timelevels111
11                 10  x01variable type11COMPLEX

11

8 Schedule This section lists all the variables which are assigned storage by thorn PITTNullCode/NullEvolve. 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:  11Conditional:
11NullVars::realcharfuncs[2]  11NullVars::cmplxcharfuncsxaux[2]
11NullVars::cmplxcharfuncsxbasic[2]  11x
11NullVars::nullxmask  11x
11NullGrid::EGxmask NullGrid::EQxmask NullGrid::EVxmask11x
11eth4xmask dissipxmask  11x
11diagtmp auxxmask  11x
11Jrad dxJrad  11x

11x  11x

11

Scheduled Functions

CCTKxPOSTINITIAL (conditional) x nullevolxinitial x null init data x

11x11After: 11harmidataxinitxtoxadm
11 x 11x  11harmidataxpinitxtoxadm
11 x 11x  11molxfillalllevels
11 x 11x  11admxbssnxinit
11 x 11Options:11global
11 x 11Type: 11group

CCTKxINITIAL (conditional) x nullevolxinitializearrays x initialize all arrays to large values x

11x11Before: 11nullevolxinitial
11 x 11Language:11fortran
11 x 11Type: 11function

11

NullEvolxBoundaryInit (conditional) x nullevolxbdryxflat x give flat boundary conditions for the null metric x

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

NullEvolxBoundaryInit (conditional) x nullevolxbdryxwhitehole x give white hole boundary conditions for the null metric x

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

NullEvolxBoundaryInit (conditional) x nullevolxbdryxrandomj x give random j boundary conditions for the null metric x

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

NullEvolxBoundary (conditional) x nullevolxbdryxflat x give flat boundary conditions for the null metric x

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

NullEvolxBoundary (conditional) x nullevolxbdryxwhitehole x give white hole boundary conditions for the null metric

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

NullEvolxBoundary (conditional) x nullevolxbdryxrandomj x give random j boundary conditions for the null metric x

11x11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

CCTKxEVOL (conditional) x nullevolxresettop x reset top values x

11x11Before: 11nullevolxboundary
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

CCTKxEVOL (conditional) x nullevolxboundary x boundary data x

11x11After: 11harmevolxtoxadm
11 x 11x  11molxevolution
11 x 11Options:11global
11 x 11Type: 11group

11

CCTKxEVOL (conditional) x nullevolxstep x evolution x

11x11After: 11nullevolxboundary
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Storage: 11distmp
11 x 11Type: 11function

11

NullEvolxInitial (conditional) x nullevolxinitialdata x give j on the initial null hypersurface x

11x11After: 11nullevolxboundaryinit
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

NullEvolxInitial (conditional) x nullevolxboundaryinit x boundary data for the characteristic data x

11x11Before:11nullevolxinitialdata
11 x 11x  11nullevolxinitialslice
11 x 11Type: 11group

11

NullEvolxInitial (conditional) x nullevolxinitialslice x construct null metric on the initial null hypersurface x

11x11After: 11nullevolxboundaryinit
11 x 11x  11nullevolxinitialdata
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Type: 11function

11

NullEvolxInitial (conditional) x nullevolxdiag x diagnostics of the characteristic code x

11x11After: 11nullevolxinitialslice
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Storage: 11diagtmp
11 x 11Type: 11function

11

CCTKxEVOL (conditional) x nullevolxdiag x diagnostics of the characteristic code x

11x11After: 11nullevolxstep
11 x 11Language:11fortran
11 x 11Options: 11global
11 x 11Storage: 11diagtmp
11 x 11Type: 11function