Next: Physical or Conformal Metric
Up: 2-D Grid and Interpolation
Previous: Resolution of the 2-D
Contents
This thorn uses the standard Cactus CCTK_InterpLocalUniform()
local interpolation system for this interpolation. The interpolation
operator is specified with the interpolator_name parameter
(this defaults to "uniform cartesian" , the interpolation
operator provided by thorn CactusBase/LocalInterp).
The interpolation order and/or other parameters can be specified
in either of two ways:part334
- The integer parameter
interpolation_order may be
used directly to specify the interpolation order.
- More generally, the string parameter
interpolator_pars
may be set to any nonempty string (it defaults to the empty string).
If this is done, this parameter overrides interpolation_order ,
and explicitly specifies a parameter string for the interpolator.
Note that the default interpolator parameters specify linear
interpolation. This is rather inaccurate, and (due to aliasing effects
between the 2-D and 3-D grids) will give a fair bit of noise in the
metric components. You may want to specify a higher-order interpolator
to reduce this noise.
For example, for one test series where I (JT) needed very accurate
initial data (I wanted the initial-data errors to be much less than
the errors from 4th order finite differencing on the 3-D Cactus grid),
I had to use a resolution of in and in ,
together with either 4th order Lagrange or 3rd order Hermite interpolation
(provided by thorn AEIThorns/AEILocalInterp) to get sufficient
accuracy.
One problem with such high resolutions is that IDAxiBrillBH
uses an internal multigrid solver which allocates local arrays on the
stack, whose size depends on the and resolutions.
For high resolutions these arrays may exceed system- and/or shell-imposed
limits on the maximum stack size, causing the code to crash (core-dump).
In an ideal world, someone would fix the offending code to allocate
large arrays on the heap. Unless/until that happens, you can either
use lower resolution :(, or try raising the operating-system and/or
shell stack-size limits.
For example, using tcsh the shell command limit
shows the current limits, and limit stacksize unlimited
raises your limit to as much as the operating system will allow.
Using bash the corresponding commands are ulimit -a
and ulimit -s unlimited .
Next: Physical or Conformal Metric
Up: 2-D Grid and Interpolation
Previous: Resolution of the 2-D
Contents
|