-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add BSSN and Z4c to PreprocessCceWorldtube
- Loading branch information
Showing
7 changed files
with
258 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -181,13 +181,13 @@ complex modes in m-varies-fastest format. That is, | |
Each dataset in the H5 file must also have an attribute | ||
named `Legend` which is an ASCII-encoded null-terminated variable-length string. | ||
|
||
##### Spherical harmonic nodes {#spherical_nodes} | ||
#### Spherical harmonic nodes {#spherical_nodes} | ||
|
||
When we refer to a "nodal" data format, we mean that the worldtube data are | ||
stored as complex values at specially chosen collocation points (a.k.a. grid | ||
points or nodes). This allows SpECTRE to perform integrals, derivatives, and | ||
interpolation exactly on the input data. These grid points are Gauss-Legendre in | ||
$cos(\theta)$ and equally spaced in $\phi$. | ||
stored as values at specially chosen collocation points (a.k.a. grid points or | ||
nodes). This allows SpECTRE to perform integrals, derivatives, and interpolation | ||
exactly on the input data. These grid points are Gauss-Legendre in $cos(\theta)$ | ||
and equally spaced in $\phi$. | ||
|
||
Below is a routine for computing the spherical | ||
harmonic $\theta$ and $\phi$ values. These can be used to compute the Cartesian | ||
|
@@ -223,6 +223,51 @@ named `Legend` which is an ASCII-encoded null-terminated variable-length string. | |
\note Nodal data is likely the easiest to write out since no conversion to | ||
spherical harmonic coefficients is necessary. | ||
|
||
#### ADM Cartesian metric and derivatives {#adm_cartesian_metric_and_derivatives} | ||
|
||
For worldtube data stored in an H5 file in the "ADM metric nodal" format, there | ||
must be the following datasets with these exact names (including the `.dat` | ||
suffix): | ||
|
||
- `gxx.dat`, `gxy.dat`, `gxz.dat`, `gyy.dat`, `gyz.dat`, `gzz.dat` | ||
- `Dxgxx.dat`, `Dxgxy.dat`, `Dxgxz.dat`, `Dxgyy.dat`, `Dxgyz.dat`, `Dxgzz.dat` | ||
- `Dygxx.dat`, `Dygxy.dat`, `Dygxz.dat`, `Dygyy.dat`, `Dygyz.dat`, `Dygzz.dat` | ||
- `Dzgxx.dat`, `Dzgxy.dat`, `Dzgxz.dat`, `Dzgyy.dat`, `Dzgyz.dat`, `Dzgzz.dat` | ||
- `Shiftx.dat`, `Shifty.dat`, `Shiftz.dat` | ||
- `DxShiftx.dat`, `DxShifty.dat`, `DxShiftz.dat` | ||
- `DyShiftx.dat`, `DyShifty.dat`, `DyShiftz.dat` | ||
- `DzShiftx.dat`, `DzShifty.dat`, `DzShiftz.dat` | ||
- `Lapse.dat`, `DxLapse.dat`, `DyLapse.dat`, `DzLapse.dat` | ||
- `Kxx.dat`, `Kxy.dat`, `Kxz.dat`, `Kyy.dat`, `Kyz.dat`, `Kzz.dat` | ||
- If BSSN: `AuxiliaryShiftx.dat`, `AuxiliaryShifty.dat`, `AuxiliaryShiftz.dat` | ||
- If Z4c: `ConformalChristoffelx.dat`, `ConformalChristoffely.dat`, | ||
`ConformalChristoffelz.dat` | ||
|
||
Here `g` represents the spacetime metric, but we only require the spatial | ||
components (e.g. `gxx.dat`, `gxy.dat`, etc...) so in practice, those are the | ||
tensor components of the spatial metric. The temporal components of the | ||
spacetime metric are stored separately in the lapse and shift. Each of the | ||
spatial metric, lapse, and shift must also have their cartesian derivatives. `K` | ||
is the extrinsic curvature, `AuxiliaryShift` is the auxiliary shift vector used | ||
in the Gamma-driver condition of the BBSN equations, and `ConformalChristoffel` | ||
is the trace of the conformal christoffel symbols in the Z4c equations. We will | ||
compute the time derivative of the spatial metric using Eq. (2.134) of | ||
\cite BaumgarteShapiro, the time derivative of the lapse using the `1+log` | ||
slicing condition from Eq. (4.87) of \cite BaumgarteShapiro, and the time | ||
derivative of the shift using the Gamma-driver condition from Eq. (4.89) of | ||
\cite BaumgarteShapiro if using BSSN or using the Gamma-driver condition from | ||
Eq. (12) of \cite Hilditch:2012fp if using Z4c. | ||
|
||
\warning If your worldtube data is in the ADM metric nodal format but you have | ||
not used `1+log` slicing and the Gamma-driver conditions specified above, your | ||
time derivatives will be **wrong**. If you'd like us to support other commonly | ||
used gauge conditions, please open an issue on our | ||
[GitHub](https://github.com/sxs-collaboration/spectre) or email the core | ||
developers at [[email protected]](mailto:[email protected]). | ||
|
||
The layout of each of these datasets must be | ||
[spherical harmonic nodes](#spherical_nodes). | ||
|
||
#### Cartesian metric and derivatives {#cartesian_metric_and_derivatives} | ||
|
||
For worldtube data stored in an H5 file in either the "metric nodal" or "metric | ||
|
@@ -251,7 +296,8 @@ each of these datasets must be in either | |
|
||
In the "bondi nodal" format, you must have the same Bondi variables as the | ||
[required format](#required_h5_worldtube_data_format), but each variable layout | ||
must be the [spherical harmonic nodal layout](#spherical_nodes). | ||
must be the [spherical harmonic nodal layout](#spherical_nodes) with complex | ||
values interleaved as `Re`, `Im`, `Re`, `Im`, ... | ||
|
||
If you already have data in the | ||
[required "bondi modal" format](#required_h5_worldtube_data_format), then | ||
|
@@ -297,6 +343,12 @@ Here are some notes about the different options in the YAML input file: | |
*ascending* m. | ||
- `BufferDepth` is an advanced option that lets you load more data into RAM at | ||
once so there are fewer filesystem accesses. | ||
- If using the ADM metric nodal input data format from a BSSN evolution, specify | ||
the `InputDataFormat:` like so: | ||
\snippet BssnPreprocessCceWorldtube.yaml bssn_input_data_format_example | ||
- If using the ADM metric nodal input data format from a Z4c evolution, specify | ||
the `InputDataFormat:` like so: | ||
\snippet Z4cPreprocessCceWorldtube.yaml z4c_input_data_format_example | ||
|
||
### What Worldtube data "should" look like {#worldtube_data_looks} | ||
|
||
|
@@ -310,7 +362,8 @@ The 2,2 modes are oscillatory and capture the orbits of the two objects. The | |
real part of the 2,0 mode contains the gravitational memory of the system. Then | ||
for this system, all the other modes are subdominant. | ||
|
||
If you are using the [cartesian metric](#cartesian_metric_and_derivatives) | ||
If you are using the [cartesian metric](#cartesian_metric_and_derivatives) or | ||
[adm cartesian metric](#adm_cartesian_metric_and_derivatives) | ||
worldtube format, here is a plot of the imaginary part of the 2,2 mode of the | ||
lapse and its radial and time derivative during inspiral. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
tests/InputFiles/PreprocessCceWorldtube/BssnPreprocessCceWorldtube.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Distributed under the MIT License. | ||
# See LICENSE.txt for details. | ||
|
||
InputH5File: InputFilename.h5 | ||
OutputH5File: ReducedWorldtubeR0292.h5 | ||
# [bssn_input_data_format_example] | ||
InputDataFormat: | ||
AdmMetricNodal: | ||
AdvectiveLapse: True | ||
AdvectiveShift: True | ||
BssnAuxiliaryShiftFactor: 0.75 # Eq. 4.89 B&S | ||
# [bssn_input_data_format_example] | ||
ExtractionRadius: 292 | ||
FixSpecNormalization: False | ||
DescendingM: False | ||
BufferDepth: Auto | ||
LMaxFactor: 3 |
Oops, something went wrong.