|
SpECTRE
v2026.04.01
|
XCTS quantities for a solution of the Einstein equations. More...
Public Types | |
| using | options = typename GrSolution::options |
Public Member Functions | |
| WrappedGr (const WrappedGr &)=default | |
| WrappedGr & | operator= (const WrappedGr &)=default |
| WrappedGr (WrappedGr &&)=default | |
| WrappedGr & | operator= (WrappedGr &&)=default |
| template<typename... Args, Requires< std::is_constructible_v< GrSolution, Args... > > = nullptr> | |
| WrappedGr (Args &&... args) | |
| const GrSolution & | gr_solution () const |
| template<typename DataType, typename... RequestedTags> | |
| tuples::TaggedTuple< RequestedTags... > | variables (const tnsr::I< DataType, 3, Frame::Inertial > &x, tmpl::list< RequestedTags... >) const |
| template<typename DataType, typename... RequestedTags> | |
| tuples::TaggedTuple< RequestedTags... > | variables (const tnsr::I< DataType, 3, Frame::Inertial > &x, const Mesh< 3 > &mesh, const InverseJacobian< DataVector, 3, Frame::ElementLogical, Frame::Inertial > &inv_jacobian, tmpl::list< RequestedTags... >) const |
| void | pup (PUP::er &p) override |
| Public Member Functions inherited from elliptic::analytic_data::AnalyticSolution | |
| virtual std::unique_ptr< AnalyticSolution > | get_clone () const =0 |
Static Public Member Functions | |
| static std::string | name () |
Static Public Attributes | |
| static constexpr size_t | Dim = 3 |
| static constexpr Options::String | help = GrSolution::help |
Friends | |
| bool | operator== (const WrappedGr< GrSolution, HasMhd > &lhs, const WrappedGr< GrSolution, HasMhd > &rhs) |
XCTS quantities for a solution of the Einstein equations.
This class computes all XCTS quantities from the GrSolution. To do so, it chooses the conformal factor
\begin{equation} \psi = 1 \text{,} \end{equation}
so the spatial metric of the GrSolution is used as conformal metric, \(\bar{\gamma}_{ij = \gamma_{ij}\). This is particularly useful for superpositions, because it means that the superposed conformal metric of two WrappedGr solutions is probably a good conformal background to solve for a binary solution (see Xcts::AnalyticData::Binary).
For example, when the GrSolution is gr::Solutions::KerrSchild, the conformal metric is the spatial Kerr metric in Kerr-Schild coordinates and \(\psi = 1\). It is also possible to choose a different \(\psi\) so the solution is non-trivial in this variable, though that is probably only useful for testing and currently not implemented. It should be noted, however, that the combination of \(\psi=1\) and apparent-horizon boundary conditions poses a hard problem to the nonlinear solver when starting at a flat initial guess. This is because the strongly-nonlinear boundary-conditions couple the variables in such a way that the solution is initially corrected away from \(\psi=1\) and is then unable to recover. A conformal-factor profile such as \(\psi=1 + \frac{M}{2r}\) (resembling isotropic coordinates) resolves this issue. In production solves this is not an issue because we choose a much better initial guess than flatness, such as a superposition of Kerr solutions for black-hole binary initial data.
| GrSolution | Any solution to the Einstein constraint equations |
| HasMhd | Enable to compute matter source terms. Disable to set matter source terms to zero. |