SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Cce::KleinGordonSystem< EvolveCcm > Struct Template Reference

Performing Cauchy characteristic evolution and Cauchy characteristic matching for Einstein-Klein-Gordon system. More...

#include <KleinGordonSystem.hpp>

Public Types

using variables_tag = implementation defined
 

Static Public Attributes

static constexpr size_t volume_dim = 3
 
static constexpr bool has_primitive_and_conservative_vars = false
 

Detailed Description

template<bool EvolveCcm>
struct Cce::KleinGordonSystem< EvolveCcm >

Performing Cauchy characteristic evolution and Cauchy characteristic matching for Einstein-Klein-Gordon system.

Details

The code adopts the characteristic formulation to solve the field equations for scalar-tensor theory as considered in [136]. Working in the Einstein frame, a real-valued scalar field ψ is minimally coupled with the spacetime metric gμν. The corresponding action is expressed as follows:

S=d4xg(R16π12μψμψ).

The system consists of two sectors: scalar and tensor (metric). The scalar field follows the Klein-Gordon (KG) equation

ψ=0.

Its characteristic expression is given in [12], yielding the hypersurface equation for uψ=Π, where u represents differentiation with respect to retarded time u at fixed numerical radius y. The code first integrates the KG equation radially to determine Π. Subsequently, the time integration is performed to evolve the scalar field ψ forward in time.

The tensor (metric) sector closely aligns with the current GR CCE system, incorporating additional source terms that depend only on the scalar field ψ and its spatial derivatives, rather than its time derivative (Π). This feature preserves the hierarchical structure of the equations. As a result, the Einstein-Klein-Gordon system can be divided into three major sequential steps:

  • Integrate the metric hypersurface equations with the existing infrastructure
  • Integrate the KG equation for Π
  • Evolve two variables, ψ (scalar) and J (tensor) to the next time step

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