SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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 = implementation defined
 
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 = implementation defined
 
- 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 = implementation defined
 

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] :

(1)ds2=Hdt2+Hdx2+dy2+dz2,

where

(2)H=H(xt)=1Asin(2π(xt)d).

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

In these coordinates, the spatial metric γij and inverse spatial metric γij are diagonal, with the diagonal elements equal to unity except for

(3)γxx=H,(4)γxx=1/H.

The components of the derivatives of γij vanish except for

(5)tγxx=tH=xH,(6)xγxx=xH.

The square root of the spatial metric determinant is

(7)γ=H.

The lapse and its derivatives are

(8)α=H,(9)tα=xH2H,(10)xα=xH2H,(11)yα=zα=0.

The shift βi and its derivatives vanish.

The extrinsic curvature's components vanish, except for

(12)Kxx=xH2H.

The following are input file options that can be specified:


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