SpECTRE  v2024.04.12
gr::Solutions::GaugeWave< Dim > Class Template Reference

Gauge wave in flat spacetime. More...

#include <GaugeWave.hpp>

Classes

struct  Amplitude
 
struct  Wavelength
 

Public Types

using options = tmpl::list< Amplitude, Wavelength >
 
template<typename DataType >
using DerivLapse = ::Tags::deriv< gr::Tags::Lapse< DataType >, tmpl::size_t< volume_dim >, Frame::Inertial >
 
template<typename DataType >
using DerivShift = ::Tags::deriv< gr::Tags::Shift< DataType, volume_dim >, tmpl::size_t< volume_dim >, Frame::Inertial >
 
template<typename DataType >
using DerivSpatialMetric = ::Tags::deriv< gr::Tags::SpatialMetric< DataType, volume_dim >, tmpl::size_t< volume_dim >, Frame::Inertial >
 
template<typename DataType >
using tags = tmpl::list< gr::Tags::Lapse< DataType >, ::Tags::dt< gr::Tags::Lapse< DataType > >, DerivLapse< DataType >, gr::Tags::Shift< DataType, volume_dim >, ::Tags::dt< gr::Tags::Shift< DataType, volume_dim > >, DerivShift< DataType >, gr::Tags::SpatialMetric< DataType, volume_dim >, ::Tags::dt< gr::Tags::SpatialMetric< DataType, volume_dim > >, DerivSpatialMetric< DataType >, gr::Tags::SqrtDetSpatialMetric< DataType >, gr::Tags::ExtrinsicCurvature< DataType, volume_dim >, gr::Tags::InverseSpatialMetric< DataType, volume_dim > >
 
- Public Types inherited from gr::AnalyticSolution< Dim >
template<typename DataType , typename Frame = ::Frame::Inertial>
using DerivLapse = ::Tags::deriv< gr::Tags::Lapse< DataType >, tmpl::size_t< volume_dim >, Frame >
 
template<typename DataType , typename Frame = ::Frame::Inertial>
using DerivShift = ::Tags::deriv< gr::Tags::Shift< DataType, volume_dim, Frame >, tmpl::size_t< volume_dim >, Frame >
 
template<typename DataType , typename Frame = ::Frame::Inertial>
using DerivSpatialMetric = ::Tags::deriv< gr::Tags::SpatialMetric< DataType, volume_dim, Frame >, tmpl::size_t< volume_dim >, Frame >
 
template<typename DataType , typename Frame = ::Frame::Inertial>
using tags = tmpl::list< gr::Tags::Lapse< DataType >, ::Tags::dt< gr::Tags::Lapse< DataType > >, DerivLapse< DataType, Frame >, gr::Tags::Shift< DataType, volume_dim, Frame >, ::Tags::dt< gr::Tags::Shift< DataType, volume_dim, Frame > >, DerivShift< DataType, Frame >, gr::Tags::SpatialMetric< DataType, volume_dim, Frame >, ::Tags::dt< gr::Tags::SpatialMetric< DataType, volume_dim, Frame > >, DerivSpatialMetric< DataType, Frame >, gr::Tags::SqrtDetSpatialMetric< DataType >, gr::Tags::ExtrinsicCurvature< DataType, volume_dim, Frame >, gr::Tags::InverseSpatialMetric< DataType, volume_dim, Frame > >
 

Public Member Functions

 GaugeWave (double amplitude, double wavelength, const Options::Context &context={})
 
 GaugeWave (const GaugeWave &)=default
 
GaugeWaveoperator= (const GaugeWave &)=default
 
 GaugeWave (GaugeWave &&)=default
 
GaugeWaveoperator= (GaugeWave &&)=default
 
 GaugeWave (CkMigrateMessage *)
 
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, volume_dim, Frame::Inertial > &x, double t, tmpl::list< Tags... >) const
 
template<typename DataType , typename... Tags>
tuples::TaggedTuple< Tags... > variables (const tnsr::I< DataType, volume_dim, Frame::Inertial > &x, double t, const IntermediateVars< DataType > &vars, tmpl::list< Tags... >) const
 
void pup (PUP::er &p)
 
double amplitude () const
 
double wavelength () const
 

Static Public Attributes

static constexpr size_t volume_dim = Dim
 
static constexpr Options::String help {"Gauge wave in flat spacetime"}
 
- Static Public Attributes inherited from gr::AnalyticSolution< Dim >
static constexpr size_t volume_dim = Dim
 

Detailed Description

template<size_t Dim>
class gr::Solutions::GaugeWave< Dim >

Gauge wave in flat spacetime.

Details

This solution is Minkowski space in coordinates chosen to contain a gauge wave. The spacetime metric is given by Eq. (4.3) of [2] :

\begin{equation} ds^2 = -H dt^2 + H dx^2 + dy^2 + dz^2, \end{equation}

where

\begin{equation} H = H(x-t) = 1 - A \sin\left(\frac{2\pi(x-t)}{d}\right). \end{equation}

The gauge wave has amplitude \(A\), wavelength \(d\), and propagates along the x axis.

In these coordinates, the spatial metric \(\gamma_{ij}\) and inverse spatial metric \(\gamma^{ij}\) are diagonal, with the diagonal elements equal to unity except for

\begin{align} \gamma_{xx} & = H,\\ \gamma^{xx} & = 1/H. \end{align}

The components of the derivatives of \(\gamma_{ij}\) vanish except for

\begin{align} \partial_t \gamma_{xx} & = \partial_t H = - \partial_x H,\\ \partial_x \gamma_{xx} & = \partial_x H. \end{align}

The square root of the spatial metric determinant is

\begin{align} \sqrt{\gamma} & = \sqrt{H}. \end{align}

The lapse and its derivatives are

\begin{align} \alpha & = \sqrt{H},\\ \partial_t \alpha & = -\frac{\partial_x H}{2\sqrt{H}},\\ \partial_x \alpha & = \frac{\partial_x H}{2\sqrt{H}},\\ \partial_y \alpha & = \partial_z \alpha = 0. \end{align}

The shift \(\beta^i\) and its derivatives vanish.

The extrinsic curvature's components vanish, except for

\begin{align} K_{xx} & = \frac{\partial_x H}{2 \sqrt{H}}. \end{align}

The following are input file options that can be specified:


The documentation for this class was generated from the following file: