|
SpECTRE
2021.08.02
|
The basic instructions for getting up and running with a stand-alone CCE using external data are:
bin/CharacteristicExtract in the build directory; You can now run it using an input file to provide options. The input file tests/InputFiles/Cce/CharacteristicExtract.yaml from the spectre source tree can help you get started with writing your input file. There are a few important notes there:Cce.LMax) of 12, and filter lmax (Filtering.FilterLMax) of 10; that'll run pretty fast but might be a little low for full precision. lmax 16, filter 14 should be pretty good, and typically precision doesn't improve above lmax 24, filter 22 (be sure to update the filter as you update lmax – it should generally be around 2 lower than the maximum l to reduce possible aliasing).EndTime option and the executable will figure it out from the worldtube file.ScriOutputDensity adds extra interpolation points to the output, which is useful for finite-difference derivatives on the output data, but otherwise it'll just unnecessarily inflate the output files, so if you don't need the extra points, best just set it to 1.TargetStepSize, to around .5 at 100M and lower yet for nearer extraction.InitializeJ in the example file uses InverseCubic which is a pretty primitive scheme, but early tests indicate that it gives the best results for most systems. If initial data is a concern, you can also try replacing the InverseCubic entry with: RequireConvergence: true will cause the iterative solve in this version to error out if it doesn't find a good frame.Once you have the volume data output file from a successful CCE run, you can confirm the integrity of the h5 file and its contents by running
For the volume file produced by a successful run, the output of the h5ls should resemble
The Strain.dat represents the asymptotic transverse-traceless contribution to the metric scaled by the Bondi radius (to give the asymptotically leading part), the News.dat represents the first derivative of the strain, and each of the Psi... datasets represent the Weyl scalars, each scaled by the appropriate factor of the Bondi-Sachs radius to retrieve the asymptotically leading contribution.
The EthInertialRetardedTime.dat is a diagnostic dataset that represents the angular derivative of the inertial retarded time, which determines the coordinate transformation that is performed at scri+.
The following python script will load data from a successful CCE run and construct a plot of all of the physical waveform data.
The worldtube data must be constructed as spheres of constant coordinate radius, and (for the time being) written to a filename of the format ...CceRXXXX.h5, where the XXXX is to be replaced by the integer for which the extraction radius is equal to XXXXM. For instance, a 100M extraction should have filename ...CceR0100.h5. This scheme of labeling files with the extraction radius is constructed for compatibility with SpEC worldtube data.
There are two possible formats of the input data, one based on the Cauchy metric at finite radius, and one based on Bondi data. The metric data format must be provided as spherical harmonic modes with the following datasets:
gxx.dat, gxy.dat, gxz.dat, gyy.dat, gyz.dat, gzz.datDrgxx.dat, Drgxy.dat, Drgxz.dat, Drgyy.dat, Drgyz.dat, Drgzz.datDtgxx.dat, Dtgxy.dat, Dtgxz.dat, Dtgyy.dat, Dtgyz.dat, Dtgzz.datShiftx.dat, Shifty.dat, Shiftz.datDrShiftx.dat, DrShifty.dat, DrShiftz.datDtShiftx.dat, DtShifty.dat, DtShiftz.datLapse.datDrLapse.datDtLapse.datIn this format, each row must start with the time stamp, and the remaining values are the complex modes in m-varies-fastest format.
The second format is Bondi-Sachs metric component data. This format is far more space-efficient (by around a factor of 4), and SpECTRE provides a separate executable for converting to the Bondi-Sachs worldtube format, ReduceCceWorldtube. The ReduceCceWorldtube executable should be run on a Cauchy metric worldtube file, and will produce a corresponding 'reduced' Bondi-Sachs worldtube file. The basic command-line arguments for the executable are:
The argument --lmax_factor determines the factor by which the resolution at which the boundary computation that is run will exceed the resolution of the input and output files. Empirically, we have found that lmax_factor of 3 is sufficient to achieve roundoff precision in all boundary data we have attempted, and an lmax_factor of 2 is usually sufficient to vastly exceed the precision of the simulation that provided the boundary dataset.
The format is similar to the metric components, except in spin-weighted spherical harmonic modes, and the real (spin-weight-0) quantities omit the redundant negative-m modes and imaginary parts of m=0 modes. The quantities that must be provided by the Bondi-Sachs metric data format are:
Beta.datDrJ.datDuR.datH.datJ.datQ.datR.datU.datW.datThe Bondi-Sachs data may also be used directly for CCE input data. To specify that the input type is in 'reduced' Bondi-Sachs form, use:
Otherwise, for the Cauchy metric data format, use: