SpECTRE
v2023.01.13
|
Computes the analytic data for a gauge wave solution described in [9]. More...
#include <GaugeWave.hpp>
Classes | |
struct | Amplitude |
struct | Duration |
struct | ExtractionRadius |
struct | Frequency |
struct | Mass |
struct | PeakTime |
Public Member Functions | |
WRAPPED_PUPable_decl_template (GaugeWave) | |
GaugeWave (CkMigrateMessage *msg) | |
GaugeWave (double extraction_radius, double mass, double frequency, double amplitude, double peak_time, double duration) | |
std::unique_ptr< WorldtubeData > | get_clone () const override |
void | pup (PUP::er &p) override |
![]() | |
WRAPPED_PUPable_abstract (SphericalMetricData) | |
SphericalMetricData (CkMigrateMessage *msg) | |
SphericalMetricData (const double extraction_radius) | |
void | jacobian (gsl::not_null< SphericaliCartesianJ * > jacobian, size_t l_max) const |
void | inverse_jacobian (gsl::not_null< CartesianiSphericalJ * > inverse_jacobian, size_t l_max) const |
void | dr_inverse_jacobian (gsl::not_null< CartesianiSphericalJ * > dr_inverse_jacobian, size_t l_max) const |
void | pup (PUP::er &p) override |
![]() | |
WRAPPED_PUPable_abstract (WorldtubeData) | |
WorldtubeData (const double extraction_radius) | |
WorldtubeData (CkMigrateMessage *msg) | |
virtual std::unique_ptr< WorldtubeData > | get_clone () const =0 |
template<typename... Tags> | |
tuples::TaggedTuple< Tags... > | variables (const size_t output_l_max, const double time, tmpl::list< Tags... >) const |
Retrieve worldtube data represented by the analytic solution, at boundary angular resolution l_max and time time More... | |
void | pup (PUP::er &p) override |
virtual std::unique_ptr< Cce::InitializeJ::InitializeJ< false > > | get_initialize_j (const double) const |
virtual bool | use_noninertial_news () const |
Static Public Attributes | |
static constexpr Options::String | help |
Protected Member Functions | |
void | prepare_solution (const size_t, const double) const override |
A no-op as the gauge 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 override |
Compute the spherical coordinate metric from the closed-form gauge 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 override |
Compute the radial derivative of the spherical coordinate metric from the closed-form gauge 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 override |
Compute the spherical coordinate metric from the closed-form gauge 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 override |
The News vanishes, because the wave is pure gauge. 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 |
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 |
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=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=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 |
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=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 |
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 |
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 |
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 |
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 |
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 |
virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > lapse, size_t output_l_max, double time, tmpl::type_< gr::Tags::Lapse< DataVector > >) const |
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 |
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 |
virtual void | variables_impl (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, -2 > > * > news, size_t output_l_max, double time, tmpl::type_< Tags::News >) const=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 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 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 override |
Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
![]() | |
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 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 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 override |
Computes the spatial derivatives of the Cartesian spacetime metric from the spherical solution provided by the derived classes. More... | |
virtual void | spherical_metric (gsl::not_null< tnsr::aa< DataVector, 3, ::Frame::Spherical<::Frame::Inertial > > * > spherical_metric, size_t l_max, double time) const =0 |
Must be overriden in the derived class; should compute the spacetime metric of the analytic solution in spherical coordinates. More... | |
virtual 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 =0 |
Must be overriden in the derived class; should compute the first radial derivative of the spacetime metric of the analytic solution in spherical coordinates. More... | |
virtual 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 =0 |
Must be overriden in the derived class; should compute the first time derivative of the spacetime metric of the analytic solution in spherical coordinates. 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 |
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 |
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=0 |
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=0 |
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 |
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=0 |
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 |
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 |
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 |
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 |
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 |
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 |
virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > lapse, size_t output_l_max, double time, tmpl::type_< gr::Tags::Lapse< DataVector > >) const |
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 |
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 |
virtual void | variables_impl (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, -2 > > * > news, size_t output_l_max, double time, tmpl::type_< Tags::News >) const=0 |
![]() | |
template<typename Tag > | |
const auto & | cache_or_compute (const size_t output_l_max, const double time) const |
virtual void | prepare_solution (size_t output_l_max, double time) const =0 |
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 |
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 |
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 =0 |
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 =0 |
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 |
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 =0 |
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 |
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 |
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 |
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 |
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 |
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 |
virtual void | variables_impl (gsl::not_null< Scalar< DataVector > * > lapse, size_t output_l_max, double time, tmpl::type_< gr::Tags::Lapse< DataVector > >) const |
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 |
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 |
virtual void | variables_impl (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, -2 > > * > news, size_t output_l_max, double time, tmpl::type_< Tags::News >) const =0 |
Protected Attributes | |
double | mass_ = std::numeric_limits<double>::signaling_NaN() |
double | frequency_ = std::numeric_limits<double>::signaling_NaN() |
double | amplitude_ = std::numeric_limits<double>::signaling_NaN() |
double | peak_time_ = std::numeric_limits<double>::signaling_NaN() |
double | duration_ = std::numeric_limits<double>::signaling_NaN() |
![]() | |
IntermediateCacheTuple | intermediate_cache_ |
double | extraction_radius_ = std::numeric_limits<double>::quiet_NaN() |
Computes the analytic data for a gauge wave solution described in [9].
This test computes an analytic solution of a pure-gauge perturbation of the Schwarzschild metric. The gauge perturbation is constructed using the time-dependent coordinate transformation of the ingoing Eddington-Finklestein coordinate \(\nu \rightarrow \nu + F(t - r) / r\), where
\[ F(u) = A \sin(\omega u) e^{- (u - u_0)^2 / k^2}. \]
Cce::Solutions::BouncingBlackHole
solution.
|
overrideprotectedvirtual |
Compute the radial derivative of the spherical coordinate metric from the closed-form gauge wave metric.
The transformation of the ingoing Eddington-Finkelstein coordinate produces the radial derivative of the metric components in spherical coordinates:
\begin{align*} \partial_r g_{tt} + \partial_t g_{tt} =& \frac{2}{r^4} \left[r + \partial_u F(u)\right] \left[- M r + (r - 3 M)\partial_u F(u)\right] \\ \partial_r g_{rt} + \partial_t g_{rt} =& - \frac{1}{r^5} \left\{2 M r^3 + 2 r F(u) (r - 3M) + \partial_u F(u)[r^3 + F(u)(3r - 8 M)] + 2 r [\partial_u F(u)]^2 (r - 3M)\right\}\\ \partial_r g_{rr} + \partial_t g_{rr} =& \frac{2}{r^6} \left\{- M r^4 + F(u)^2 (2r - 5M) + \partial_u F(u) r^2 \left[4 M r + \partial_u F(u) (r - 3 M)\right] + F(u) r \left[6 M r + \partial_u F(u) (3r - 8 M)\right]\right\} \\ g_{\theta \theta} =& 2 r \\ g_{\phi \phi} =& 2 r \sin^2(\theta), \end{align*}
and all other components vanish (these formulae are obtained simply by applying radial derivatives to those given in GaugeWave::spherical_metric()
). Here, \(F(u)\) is defined as
\begin{align*} F(u) &= A \sin(\omega u) e^{-(u - u_0)^2 /k^2},\\ \partial_u F(u) &= A \left[-2 \frac{u - u_0}{k^2} \sin(\omega u) + \omega \cos(\omega u)\right] e^{-(u - u_0)^2 / k^2}. \end{align*}
Implements Cce::Solutions::SphericalMetricData.
|
overrideprotectedvirtual |
Compute the spherical coordinate metric from the closed-form gauge wave metric.
The transformation of the ingoing Eddington-Finkelstein coordinate produces metric components in spherical coordinates:
\begin{align*} \partial_t g_{tt} =& \frac{-2 \partial_u^2 F(u)}{r^3} \left(r - 2 M\right) \left(r + \partial_u F(u)\right) \\ \partial_t g_{rt} =& \frac{1}{r^4} \Bigg\{\partial_u^2 F(u) \left[2 M r^2 + \left(r - 2 M\right) (r \partial_u F(u) + F(u))\right] \\ &+ \left[r + \partial_u F(u)\right] \left(r - 2M\right) \left[r \partial_u^2 F(u) + \partial_u F(u) \right]\Bigg\} \\ \partial_t g_{rr} =& \frac{1}{r^5}\Bigg\{-\left[r \partial_u^2 F(u) + \partial_u F(u)\right] \left[r^3 + 2 M r^2 + \left(r - 2 M\right) \left(r \partial_u F(u) + F(u)\right)\right]\\ &+ \left[r^2 - r \partial_u F(u) - F(u)\right] \left(r - 2 M\right) \left[r \partial_u^2 F(u) + \partial_u F(u)\right]\Bigg\} \\ \partial_t g_{\theta \theta} =& 0 \\ \partial_t g_{\phi \phi} =& 0, \end{align*}
and all other components vanish. Here, \(F(u)\) is defined as
\begin{align*} F(u) &= A \sin(\omega u) e^{-(u - u_0)^2 /k^2},\\ \partial_u F(u) &= A \left[-2 \frac{u - u_0}{k^2} \sin(\omega u) + \omega \cos(\omega u)\right] e^{-(u - u_0)^2 / k^2},\\ \partial^2_u F(u) &= \frac{A}{k^4} \left\{-4 k^2 \omega (u - u_0) \cos(\omega u) + \left[-2 k^2 + 4 (u - u_0)^2 - k^4 \omega^2\right] \sin(\omega u)\right\} e^{-(u - u_0) / k^2} \end{align*}
Implements Cce::Solutions::SphericalMetricData.
|
overridevirtual |
Implements Cce::Solutions::WorldtubeData.
|
inlineoverrideprotectedvirtual |
A no-op as the gauge wave solution does not have substantial shared computation to prepare before the separate component calculations.
Implements Cce::Solutions::WorldtubeData.
|
overrideprotectedvirtual |
Compute the spherical coordinate metric from the closed-form gauge wave metric.
The transformation of the ingoing Eddington-Finkelstein coordinate produces metric components in spherical coordinates (identical up to minor manipulations of the metric given in Eq. (149) of [9]):
\begin{align*} g_{tt} &= \frac{-1}{r^3}\left(r - 2 M\right) \left[r + \partial_u F(u)\right]^2\\ g_{rt} &= \frac{1}{r^4} \left[r + \partial_u F(u)\right] \left\{2 M r^2 + \left(r - 2 M\right) \left[r \partial_u F(u) + F(u)\right]\right\} \\ g_{rr} &= \frac{1}{r^5} \left[r^2 - r \partial_u F(u) - F(u)\right] \left\{r^3 + 2 M r^2 + \left(r - 2 M\right) \left[r \partial_u F(u) + F(u)\right]\right\} \\ g_{\theta \theta} &= r^2 \\ g_{\phi \phi} &= r^2 \sin^2(\theta), \end{align*}
and all other components vanish. Here, \(F(u)\) is defined as
\begin{align*} F(u) &= A \sin(\omega u) e^{-(u - u_0)^2 /k^2},\\ \partial_u F(u) &= A \left[-2 \frac{u - u_0}{k^2} \sin(\omega u) + \omega \cos(\omega u)\right] e^{-(u - u_0)^2 / k^2}. \end{align*}
Implements Cce::Solutions::SphericalMetricData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
overrideprotectedvirtual |
The News vanishes, because the wave is pure gauge.
Implements Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Implements Cce::Solutions::WorldtubeData.
|
overrideprotectedvirtual |
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.
|
protectedvirtual |
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.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
overrideprotectedvirtual |
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.
|
protectedvirtual |
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.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
overrideprotectedvirtual |
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.
|
protectedvirtual |
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.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
protectedvirtual |
Reimplemented from Cce::Solutions::WorldtubeData.
|
staticconstexpr |