|
SpECTRE
2021.08.02
|
Computes the analytic data for a Teukolsky wave solution described in [7]. More...
#include <TeukolskyWave.hpp>
Classes | |
| struct | Amplitude |
| struct | Duration |
| struct | ExtractionRadius |
Public Member Functions | |
| WRAPPED_PUPable_decl_template (TeukolskyWave) | |
| TeukolskyWave (CkMigrateMessage *msg) noexcept | |
| TeukolskyWave (double extraction_radius, double amplitude, double duration) noexcept | |
| std::unique_ptr< WorldtubeData > | get_clone () const noexcept override |
| void | pup (PUP::er &p) noexcept override |
Public Member Functions inherited from Cce::Solutions::SphericalMetricData | |
| WRAPPED_PUPable_abstract (SphericalMetricData) | |
| SphericalMetricData (CkMigrateMessage *msg) noexcept | |
| SphericalMetricData (const double extraction_radius) noexcept | |
| void | jacobian (gsl::not_null< SphericaliCartesianJ * > jacobian, size_t l_max) const noexcept |
| void | inverse_jacobian (gsl::not_null< CartesianiSphericalJ * > inverse_jacobian, size_t l_max) const noexcept |
| void | dr_inverse_jacobian (gsl::not_null< CartesianiSphericalJ * > dr_inverse_jacobian, size_t l_max) const noexcept |
| void | pup (PUP::er &p) noexcept override |
Public Member Functions inherited from Cce::Solutions::WorldtubeData | |
| WRAPPED_PUPable_abstract (WorldtubeData) | |
| WorldtubeData (const double extraction_radius) noexcept | |
| WorldtubeData (CkMigrateMessage *msg) noexcept | |
| template<typename... Tags> | |
| tuples::TaggedTuple< Tags... > | variables (const size_t output_l_max, const double time, tmpl::list< Tags... >) const noexcept |
Retrieve worldtube data represented by the analytic solution, at boundary angular resolution l_max and time time More... | |
| void | pup (PUP::er &p) noexcept override |
| virtual std::unique_ptr< Cce::InitializeJ::InitializeJ< false > > | get_initialize_j (const double) const noexcept |
| virtual bool | use_noninertial_news () const noexcept |
Static Public Attributes | |
| static constexpr Options::String | help |
Protected Member Functions | |
| void | prepare_solution (const size_t, const double) const noexcept override |
| A no-op as the Teukolsky wave solution does not have substantial shared computation to prepare before the separate component calculations. More... | |
| void | spherical_metric (gsl::not_null< tnsr::aa< DataVector, 3, ::Frame::Spherical<::Frame::Inertial > > * > spherical_metric, size_t l_max, double time) const noexcept override |
| Compute the spherical coordinate metric from the closed-form perturbative Teukolsky wave metric. More... | |
| void | dr_spherical_metric (gsl::not_null< tnsr::aa< DataVector, 3, ::Frame::Spherical<::Frame::Inertial > > * > dr_spherical_metric, size_t l_max, double time) const noexcept override |
| Compute the radial derivative of the spherical coordinate metric from the closed-form perturbative Teukolsky wave metric. More... | |
| void | dt_spherical_metric (gsl::not_null< tnsr::aa< DataVector, 3, ::Frame::Spherical<::Frame::Inertial > > * > dt_spherical_metric, size_t l_max, double time) const noexcept override |
| Compute the time derivative of the spherical coordinate metric from the closed-form perturbative Teukolsky wave metric. More... | |
| void | variables_impl (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, -2 > > * > news, size_t l_max, double time, tmpl::type_< Tags::News >) const noexcept override |
| Compute the news associated with the (2,0)-mode Teukolsky wave. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::i< DataVector, 3 > * > cartesian_coordinates, size_t output_l_max, double time, tmpl::type_< Tags::CauchyCartesianCoords >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::i< DataVector, 3 > * > dr_cartesian_coordinates, size_t output_l_max, double time, tmpl::type_< Tags::Dr< Tags::CauchyCartesianCoords > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > spacetime_metric, size_t output_l_max, double time, tmpl::type_< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > >) const noexcept=0 |
| Computes the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > dt_spacetime_metric, size_t output_l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept=0 |
| Computes the time derivative of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > pi, size_t output_l_max, double time, tmpl::type_< GeneralizedHarmonic::Tags::Pi< 3, ::Frame::Inertial > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::iaa< DataVector, 3 > * > d_spacetime_metric, size_t output_l_max, double time, tmpl::type_< GeneralizedHarmonic::Tags::Phi< 3, ::Frame::Inertial > >) const noexcept=0 |
| Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::ii< DataVector, 3 > * > spatial_metric, size_t output_l_max, double time, tmpl::type_< gr::Tags::SpatialMetric< 3, ::Frame::Inertial, DataVector > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::ii< DataVector, 3 > * > dt_spatial_metric, size_t output_l_max, double time, tmpl::type_< ::Tags::dt< gr::Tags::SpatialMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::ii< DataVector, 3 > * > dr_spatial_metric, size_t output_l_max, double time, tmpl::type_< Tags::Dr< gr::Tags::SpatialMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::I< DataVector, 3 > * > shift, size_t output_l_max, double time, tmpl::type_< gr::Tags::Shift< 3, ::Frame::Inertial, DataVector > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::I< DataVector, 3 > * > dt_shift, size_t output_l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::Shift< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::I< DataVector, 3 > * > dr_shift, size_t output_l_max, double time, tmpl::type_< Tags::Dr< gr::Tags::Shift< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > lapse, size_t output_l_max, double time, tmpl::type_< gr::Tags::Lapse< DataVector > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > dt_lapse, size_t output_l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::Lapse< DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > dr_lapse, size_t output_l_max, double time, tmpl::type_< Tags::Dr< gr::Tags::Lapse< DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, -2 > > * > news, size_t output_l_max, double time, tmpl::type_< Tags::News >) const noexcept=0 |
| void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > spacetime_metric, size_t l_max, double time, tmpl::type_< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > >) const noexcept override |
| Computes the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > dt_spacetime_metric, size_t l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept override |
| Computes the time derivative of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| void | variables_impl (gsl::not_null< tnsr::iaa< DataVector, 3 > * > d_spacetime_metric, size_t l_max, double time, tmpl::type_< GeneralizedHarmonic::Tags::Phi< 3, ::Frame::Inertial > >) const noexcept override |
| Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::i< DataVector, 3 > * > cartesian_coordinates, size_t output_l_max, double time, tmpl::type_< Tags::CauchyCartesianCoords >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::i< DataVector, 3 > * > dr_cartesian_coordinates, size_t output_l_max, double time, tmpl::type_< Tags::Dr< Tags::CauchyCartesianCoords > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > spacetime_metric, size_t output_l_max, double time, tmpl::type_< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > >) const noexcept=0 |
| Computes the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > dt_spacetime_metric, size_t output_l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept=0 |
| Computes the time derivative of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::aa< DataVector, 3 > * > pi, size_t output_l_max, double time, tmpl::type_< GeneralizedHarmonic::Tags::Pi< 3, ::Frame::Inertial > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::iaa< DataVector, 3 > * > d_spacetime_metric, size_t output_l_max, double time, tmpl::type_< GeneralizedHarmonic::Tags::Phi< 3, ::Frame::Inertial > >) const noexcept=0 |
| Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
| virtual void | variables_impl (gsl::not_null< tnsr::ii< DataVector, 3 > * > spatial_metric, size_t output_l_max, double time, tmpl::type_< gr::Tags::SpatialMetric< 3, ::Frame::Inertial, DataVector > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::ii< DataVector, 3 > * > dt_spatial_metric, size_t output_l_max, double time, tmpl::type_< ::Tags::dt< gr::Tags::SpatialMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::ii< DataVector, 3 > * > dr_spatial_metric, size_t output_l_max, double time, tmpl::type_< Tags::Dr< gr::Tags::SpatialMetric< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::I< DataVector, 3 > * > shift, size_t output_l_max, double time, tmpl::type_< gr::Tags::Shift< 3, ::Frame::Inertial, DataVector > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::I< DataVector, 3 > * > dt_shift, size_t output_l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::Shift< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< tnsr::I< DataVector, 3 > * > dr_shift, size_t output_l_max, double time, tmpl::type_< Tags::Dr< gr::Tags::Shift< 3, ::Frame::Inertial, DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > lapse, size_t output_l_max, double time, tmpl::type_< gr::Tags::Lapse< DataVector > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > dt_lapse, size_t output_l_max, double time, tmpl::type_<::Tags::dt< gr::Tags::Lapse< DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > dr_lapse, size_t output_l_max, double time, tmpl::type_< Tags::Dr< gr::Tags::Lapse< DataVector > > >) const noexcept |
| virtual void | variables_impl (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, -2 > > * > news, size_t output_l_max, double time, tmpl::type_< Tags::News >) const noexcept=0 |
Protected Member Functions inherited from Cce::Solutions::WorldtubeData | |
| template<typename Tag > | |
| const auto & | cache_or_compute (const size_t output_l_max, const double time) const noexcept |
Protected Attributes | |
| double | amplitude_ = std::numeric_limits<double>::signaling_NaN() |
| double | duration_ = std::numeric_limits<double>::signaling_NaN() |
Protected Attributes inherited from Cce::Solutions::WorldtubeData | |
| IntermediateCacheTuple | intermediate_cache_ |
| double | extraction_radius_ = std::numeric_limits<double>::quiet_NaN() |
Computes the analytic data for a Teukolsky wave solution described in [7].
This test computes an outgoing perturbative wave solution in spherical coordinates with wave profile
\[ F(u) = A e^{- u^2 / k^2}. \]
|
overrideprotectedvirtualnoexcept |
Compute the radial derivative of the spherical coordinate metric from the closed-form perturbative Teukolsky wave metric.
The specific outgoing wave selected in this analytic solution is constructed from a (2,0) mode as in [7], and takes the form
\begin{align*} \partial_r g_{rr} &= f_{r r} \partial_r A \\ \partial_r g_{r \theta} &= f_{r \theta} (B + r \partial_r B)\\ \partial_r g_{\theta \theta} &= 2 (1 + C f_{\theta \theta}^{(C)} + A f_{\theta \theta}^{(A)}) r + (\partial_r C f_{\theta \theta}^{(C)} + \partial_r A f_{\theta \theta}^{(A)}) r^2 \\ \partial_r g_{\phi \phi} &= 2 (1 + C f_{\phi \phi}^{(C)} + A f_{\phi \phi}^{(A)}) r \sin^2 \theta + (\partial_r C f_{\phi \phi}^{(C)} + \partial_r A f_{\phi \phi}^{(A)}) r^2 \sin^2 \theta\\ \end{align*}
and all other components vanish. The angular factors \(f_{a b}\) and the metric component functions \(A, B,\) and \(C\) are defined as in TeukolskyWave::spherical_metric(). The radial derivatives of the pulse profile functions are obtained by:
\begin{align*} \partial_r A + \partial_t A &= \frac{-9 a e^{-u^2/k^2}}{k^4 r^6} \left( 5 k^4 + 4 r^2 u^2 - 2 k^2 r (r + 4 u)\right), \\ \partial_r B + \partial_t B &= \frac{2 a e^{-u^2/k^2}}{k^6 r^6} \left( 15 k^6 - 8 r^3 u^3 + 6 k^2 r^2 u (2 r + 3 u) - 3 k^4 r (3 r + 8 u)\right), \\ \partial_r C + \partial_t C &= \frac{-a e^{-u^2/k^2}}{4 k^8 r^6} \left( 105 k^8 + 16 k^4 u^4 - 16 k^2 r^3 u^2 (3 r + 2 u) - 6 k^6 r (9 r + 28 u) + 12 k^4 r^2 (r^2 + 4 r u + 9 u^2)\right), \end{align*}
and the time derivatives of the pulse profile functions are given in TeukolskyWave::dt_spherical_metric().
Implements Cce::Solutions::SphericalMetricData.
|
overrideprotectedvirtualnoexcept |
Compute the time derivative of the spherical coordinate metric from the closed-form perturbative Teukolsky wave metric.
The specific outgoing wave selected in this analytic solution is constructed from a (2,0) mode as in [7], and takes the form
\begin{align*} \partial_t g_{rr} &= f_{r r} \partial_t A \\ \partial_t g_{r \theta} &= f_{r \theta} r \partial_t B\\ \partial_t g_{\theta \theta} &= (\partial_t C f_{\theta \theta}^{(C)} + \partial_t A f_{\theta \theta}^{(A)}) r^2 \\ \partial_t g_{\phi \phi} &= (\partial_t C f_{\phi \phi}^{(C)} + \partial_t A f_{\phi \phi}^{(A)}) r^2 \sin^2 \theta\\ \end{align*}
and all other components vanish. The angular factors \(f_{a b}\) and the metric component functions \(A, B,\) and \(C\) are defined as in TeukolskyWave::spherical_metric(). The time derivatives of the pulse profile functions are:
\begin{align*} \partial_t A &= \frac{-2 u}{k^2} A + \frac{3 a e^{-u^2/k^2}}{k^4 r^5} \left( 8 r^2 u - 6 k^2 r \right), \\ \partial_t B &= \frac{-2 u}{k^2} B + \frac{2 a e^{-u^2/k^2}}{k^6 r^5} \left(12 r^3 u^2 - 6 k^2 r^2 (r + 2 u) + 6 k^4 r\right), \\ \partial_t C &= \frac{-2 u}{k^2} C + \frac{-a e^{-u^2/k^2}}{4 k^8 r^5} \left(64 k^4 u^3 - 16 k^2 r^3 u (6 r + 3 u) - 42 k^6 r + 12 k^4 r^2 (2 r + 6 u)\right), \end{align*}
Implements Cce::Solutions::SphericalMetricData.
|
overridevirtualnoexcept |
Implements Cce::Solutions::WorldtubeData.
|
inlineoverrideprotectedvirtualnoexcept |
A no-op as the Teukolsky wave solution does not have substantial shared computation to prepare before the separate component calculations.
Implements Cce::Solutions::WorldtubeData.
|
overrideprotectedvirtualnoexcept |
Compute the spherical coordinate metric from the closed-form perturbative Teukolsky wave metric.
The specific outgoing wave selected in this analytic solution is constructed from a (2,0) mode as in [7], and takes the form
\begin{align*} g_{tt} &= -1\\ g_{rr} &= (1 + A f_{rr}) \\ g_{r \theta} &= 2 B f_{r \theta} r\\ g_{\theta \theta} &= (1 + C f_{\theta \theta}^{(C)} + A f_{\theta \theta}^{(A)}) r^2\\ g_{\phi \phi} &= (1 + C f_{\phi \phi}^{(C)} + A f_{\phi \phi}^{(A)}) r^2 \sin^2 \theta\\ \end{align*}
and all other components vanish. The angular factors generated by the choice of spin-weighted spherical harmonic are
\begin{align*} f_{rr} &= 2 - 3 \sin^2 \theta \\ f_{r \theta} &= -3 \sin \theta \cos \theta \\ f_{\theta \theta}^{(C)} &= 3 \sin^2 \theta \\ f_{\theta \theta}^{(A)} &= -1 \\ f_{\phi \phi}^{(C)} &= - 3 \sin^2 \theta \\ f_{\phi \phi}^{(A)} &= 3 \sin^2 \theta -1, \end{align*}
the radial and time dependent factors are
\begin{align*} A &= 3 \left(\frac{\partial_u^2 F(u)}{r^3} + \frac{3 \partial_u F(u)}{r^4} + \frac{3 F(u)}{r^5} \right),\\ B &= - \left(\frac{\partial_u^3 F(u)}{r^2} + \frac{3 \partial_u^2 F(u)}{r^3} + \frac{6 \partial_uF(u)}{r^4} + \frac{6 F(u)}{r^5}\right), \\ C &= \frac{1}{4} \left(\frac{\partial_u^4 F(u)}{r} + \frac{2 \partial_u^3 F(u)}{r^2} + \frac{9 \partial_u^2 F(u)}{r^3} + \frac{21 \partial_u F(u)}{r^4} + \frac{21 F(u)}{r}\right), \end{align*}
and the pulse profile is
\[ F(u) = a e^{-u^2 /k^2}. \]
So, the pulse profile factors expand to
\begin{align*} A &= \frac{3 a e^{-u^2/k^2}}{k^4 r^5} \left(3 k^4 + 4 r^2 u^2 - 2 k^2 r (r + 3 u)\right),\\ B &= \frac{2 a e^{-u^2/k^2}}{k^6 r^5} \left(-3 k^6 + 4 r^3 u^3 - 6 k^2 r^2 u (r + u) + 3 k^4 r (r + 2 u)\right), \\ C &= \frac{a e^{-u^2/k^2}}{4 k^8 r^5} \left(21 k^8 + 16 r^4 u^4 - 16 k^2 r^3 u^2 (3 r + u) - 6 k^6 r (3 r + 7 u) + 12 k^4 r^2 (r^2 + 2 r u + 3 u^2)\right), \end{align*}
Implements Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
overrideprotectedvirtualnoexcept |
Compute the news associated with the (2,0)-mode Teukolsky wave.
The value of the news is
\begin{align*} N = \frac{3 \sin^2 \theta}{4} \partial_u^5 F(u) \end{align*}
where \(F(u)\) is the pulse profile, taken to be
\[ F(u) = a e^{-u^2 /k^2}, \]
So, the news expands to
\[ N = -\frac{6 a e^{-u^2/k^2} u}{k^{10}} \left(15 k^4 - 20 k^2 u^2 + 4 u^4\right) \]
in this analytic solution.
Implements Cce::Solutions::WorldtubeData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
overrideprotectedvirtualnoexcept |
Computes the time derivative of the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide the time derivative of the spherical metric data via the virtual function SphericalMetricData::dt_spherical_metric() at a resolution determined by the l_max argument. This function performs the coordinate transformation using the Jacobian computed from SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Computes the time derivative of the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide the time derivative of the spherical metric data via the virtual function SphericalMetricData::dt_spherical_metric() at a resolution determined by the l_max argument. This function performs the coordinate transformation using the Jacobian computed from SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Computes the time derivative of the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide the time derivative of the spherical metric data via the virtual function SphericalMetricData::dt_spherical_metric() at a resolution determined by the l_max argument. This function performs the coordinate transformation using the Jacobian computed from SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
overrideprotectedvirtualnoexcept |
Computes the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide spherical metric data via the virtual function SphericalMetricData::spherical_metric() at a resolution determined by the l_max argument. This function performs the coordinate transformation using the Jacobian computed from SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Computes the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide spherical metric data via the virtual function SphericalMetricData::spherical_metric() at a resolution determined by the l_max argument. This function performs the coordinate transformation using the Jacobian computed from SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Computes the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide spherical metric data via the virtual function SphericalMetricData::spherical_metric() at a resolution determined by the l_max argument. This function performs the coordinate transformation using the Jacobian computed from SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
overrideprotectedvirtualnoexcept |
Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide the radial derivative of the spherical metric data via the virtual function SphericalMetricData::dr_spherical_metric() at a resolution determined by the l_max_ argument. This function performs the additional angular derivatives necessary to assemble the full spatial derivative and performs the coordinate transformation to Cartesian coordinates via the Jacobians computed in SphericalMetricData::inverse_jacobian() and SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide the radial derivative of the spherical metric data via the virtual function SphericalMetricData::dr_spherical_metric() at a resolution determined by the l_max_ argument. This function performs the additional angular derivatives necessary to assemble the full spatial derivative and performs the coordinate transformation to Cartesian coordinates via the Jacobians computed in SphericalMetricData::inverse_jacobian() and SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes.
The derived classes provide the radial derivative of the spherical metric data via the virtual function SphericalMetricData::dr_spherical_metric() at a resolution determined by the l_max_ argument. This function performs the additional angular derivatives necessary to assemble the full spatial derivative and performs the coordinate transformation to Cartesian coordinates via the Jacobians computed in SphericalMetricData::inverse_jacobian() and SphericalMetricData::inverse_jacobian().
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
protectedvirtualnoexcept |
Reimplemented from Cce::Solutions::SphericalMetricData.
|
staticconstexpr |