SpECTRE  v2026.06.30
Loading...
Searching...
No Matches
ScalarTensor::sgb Namespace Reference

Holds items related to Einstein-scalar-Gauss-Bonnet gravity. More...

Namespaces

namespace  CouplingFunctions
 Holds the coupling functions for Einstein-scalar-Gauss-Bonnet gravity.

Functions

template<typename DataType>
void DDCoupling_normal_normal_projection (gsl::not_null< Scalar< DataType > * > DDCoupling_normal_normal_result, const Scalar< DataType > &coupling_prime, const Scalar< DataType > &coupling_prime_prime, const Scalar< DataType > &pi_scalar, const Scalar< DataType > &normal_normal_DD_scalar)
 Computes the projection of the second covariant derivative of the coupling function onto the normal vector.
template<typename DataType>
Scalar< DataType > DDCoupling_normal_normal_projection (const Scalar< DataType > &coupling_prime, const Scalar< DataType > &coupling_prime_prime, const Scalar< DataType > &pi_scalar, const Scalar< DataType > &normal_normal_DD_scalar)
 Computes the projection of the second covariant derivative of the coupling function onto the normal vector.
template<typename DataType, typename Frame>
void DDCoupling_normal_spatial_projection (gsl::not_null< tnsr::i< DataType, 3, Frame > * > DDCoupling_normal_spatial_result, const Scalar< DataType > &coupling_prime, const Scalar< DataType > &coupling_prime_prime, const Scalar< DataType > &pi_scalar, const tnsr::i< DataType, 3, Frame > &d_scalar_field, const tnsr::i< DataType, 3, Frame > &normal_spatial_DD_scalar)
 Computes the mixed projection of the second covariant derivative of the coupling function.
template<typename DataType, typename Frame>
tnsr::i< DataType, 3, Frame > DDCoupling_normal_spatial_projection (const Scalar< DataType > &coupling_prime, const Scalar< DataType > &coupling_prime_prime, const Scalar< DataType > &pi_scalar, const tnsr::i< DataType, 3, Frame > &d_scalar_field, const tnsr::i< DataType, 3, Frame > &normal_spatial_DD_scalar)
 Computes the mixed projection of the second covariant derivative of the coupling function.
template<typename DataType, typename Frame>
void DDCoupling_spatial_spatial_projection (gsl::not_null< tnsr::ii< DataType, 3, Frame > * > DDCoupling_spatial_spatial_result, const Scalar< DataType > &coupling_prime, const Scalar< DataType > &coupling_prime_prime, const tnsr::i< DataType, 3, Frame > &d_scalar_field, const tnsr::ii< DataType, 3, Frame > &spatial_spatial_DD_scalar)
 Computes the spatial projection of the second covariant derivative of the coupling function.
template<typename DataType, typename Frame>
tnsr::ii< DataType, 3, Frame > DDCoupling_spatial_spatial_projection (const Scalar< DataType > &coupling_prime, const Scalar< DataType > &coupling_prime_prime, const tnsr::i< DataType, 3, Frame > &d_scalar_field, const tnsr::ii< DataType, 3, Frame > &spatial_spatial_DD_scalar)
 Computes the spatial projection of the second covariant derivative of the coupling function.

Detailed Description

Holds items related to Einstein-scalar-Gauss-Bonnet gravity.

Einstein-scalar-Gauss-Bonnet is a modified gravity theory featuring a real scalar field nonminimally coupled to the metric. In this code we will follow the conventions of [156] , and write the action as

\begin{equation} S = \int_\Omega d^4 x \, \sqrt{-g} \biggl\{ \frac{\mathcal{R}}{16 \pi G} - \frac{1}{2} \bigl( \nabla_\mu \Psi \bigr) \bigl( \nabla^\mu \Psi \bigr) + \ell^2 F[\Psi] \mathcal{G} \biggr\} \end{equation}

where \(\mathcal{R}\) is the Ricci scalar, \(G\) is the Newton's, constant, \(\Psi\) is the real scalar field, \(F[\Psi]\) is its coupling function, and \(\mathcal{G}\) is the Gauss-Bonnet invariant.

Function Documentation

◆ DDCoupling_normal_normal_projection() [1/2]

template<typename DataType>
Scalar< DataType > ScalarTensor::sgb::DDCoupling_normal_normal_projection ( const Scalar< DataType > & coupling_prime,
const Scalar< DataType > & coupling_prime_prime,
const Scalar< DataType > & pi_scalar,
const Scalar< DataType > & normal_normal_DD_scalar )

Computes the projection of the second covariant derivative of the coupling function onto the normal vector.

Details

Computes the term

\begin{equation} n^a n^b \nabla_a\nabla_b F[\Psi] = \frac{\delta^2 F[\Psi]}{\delta \Psi^2} \Pi^2 + \frac{\delta F[\Psi]}{\delta \Psi} n^a n^b \nabla_a \nabla_b \Psi, \end{equation}

where \(\Psi\) is the scalar field, \(\Pi\) is its conjugate momentum, \(F[\Psi]\) is the coupling function and \(n^a\) is the unit vector normal to the spatial hypersurfaces.

◆ DDCoupling_normal_normal_projection() [2/2]

template<typename DataType>
void ScalarTensor::sgb::DDCoupling_normal_normal_projection ( gsl::not_null< Scalar< DataType > * > DDCoupling_normal_normal_result,
const Scalar< DataType > & coupling_prime,
const Scalar< DataType > & coupling_prime_prime,
const Scalar< DataType > & pi_scalar,
const Scalar< DataType > & normal_normal_DD_scalar )

Computes the projection of the second covariant derivative of the coupling function onto the normal vector.

Details

Computes the term

\begin{equation} n^a n^b \nabla_a\nabla_b F[\Psi] = \frac{\delta^2 F[\Psi]}{\delta \Psi^2} \Pi^2 + \frac{\delta F[\Psi]}{\delta \Psi} n^a n^b \nabla_a \nabla_b \Psi, \end{equation}

where \(\Psi\) is the scalar field, \(\Pi\) is its conjugate momentum, \(F[\Psi]\) is the coupling function and \(n^a\) is the unit vector normal to the spatial hypersurfaces.

◆ DDCoupling_normal_spatial_projection() [1/2]

template<typename DataType, typename Frame>
tnsr::i< DataType, 3, Frame > ScalarTensor::sgb::DDCoupling_normal_spatial_projection ( const Scalar< DataType > & coupling_prime,
const Scalar< DataType > & coupling_prime_prime,
const Scalar< DataType > & pi_scalar,
const tnsr::i< DataType, 3, Frame > & d_scalar_field,
const tnsr::i< DataType, 3, Frame > & normal_spatial_DD_scalar )

Computes the mixed projection of the second covariant derivative of the coupling function.

Details

Computes the term

\begin{equation} \gamma^a_i n^b \nabla_a \nabla_b F[\Psi] = - \frac{\delta^2 F[\Psi]}{\delta \Psi^2} \Pi \partial_i \Psi + \frac{\delta F[\Psi]}{\delta \Psi} \gamma^a_i n^b \nabla_a \nabla_b \Psi, \end{equation}

where \(\Psi\) is the scalar field, \(\Pi\) is its conjugate momentum and \(F[\Psi]\) is the coupling function; \(n^a\) is the unit vector normal to the spatial hypersurfaces and \(\gamma^a_b = \delta^a_b + n^a n_b\) is the projection operator onto them.

◆ DDCoupling_normal_spatial_projection() [2/2]

template<typename DataType, typename Frame>
void ScalarTensor::sgb::DDCoupling_normal_spatial_projection ( gsl::not_null< tnsr::i< DataType, 3, Frame > * > DDCoupling_normal_spatial_result,
const Scalar< DataType > & coupling_prime,
const Scalar< DataType > & coupling_prime_prime,
const Scalar< DataType > & pi_scalar,
const tnsr::i< DataType, 3, Frame > & d_scalar_field,
const tnsr::i< DataType, 3, Frame > & normal_spatial_DD_scalar )

Computes the mixed projection of the second covariant derivative of the coupling function.

Details

Computes the term

\begin{equation} \gamma^a_i n^b \nabla_a \nabla_b F[\Psi] = - \frac{\delta^2 F[\Psi]}{\delta \Psi^2} \Pi \partial_i \Psi + \frac{\delta F[\Psi]}{\delta \Psi} \gamma^a_i n^b \nabla_a \nabla_b \Psi, \end{equation}

where \(\Psi\) is the scalar field, \(\Pi\) is its conjugate momentum and \(F[\Psi]\) is the coupling function; \(n^a\) is the unit vector normal to the spatial hypersurfaces and \(\gamma^a_b = \delta^a_b + n^a n_b\) is the projection operator onto them.

◆ DDCoupling_spatial_spatial_projection() [1/2]

template<typename DataType, typename Frame>
tnsr::ii< DataType, 3, Frame > ScalarTensor::sgb::DDCoupling_spatial_spatial_projection ( const Scalar< DataType > & coupling_prime,
const Scalar< DataType > & coupling_prime_prime,
const tnsr::i< DataType, 3, Frame > & d_scalar_field,
const tnsr::ii< DataType, 3, Frame > & spatial_spatial_DD_scalar )

Computes the spatial projection of the second covariant derivative of the coupling function.

Details

Computes the term

\begin{equation} \gamma^a_i \gamma^b_j \nabla_a \nabla_b F[\Psi] = \frac{\delta^2 F[\Psi]}{\delta \Psi^2} (\partial_i \Psi) (\partial_j \Psi) + \frac{\delta F[\Psi]}{\delta \Psi} \gamma^a_i \gamma^b_j \nabla_a \nabla_b \Psi, \end{equation}

where \(\Psi\) is the scalar field, \(\Pi\) is its conjugate momentum and \(F[\Psi]\) is the coupling function; \(n^a\) is the unit vector normal to the spatial hypersurfaces and \(\gamma^a_b = \delta^a_b + n^a n_b\) is the projection operator onto them.

◆ DDCoupling_spatial_spatial_projection() [2/2]

template<typename DataType, typename Frame>
void ScalarTensor::sgb::DDCoupling_spatial_spatial_projection ( gsl::not_null< tnsr::ii< DataType, 3, Frame > * > DDCoupling_spatial_spatial_result,
const Scalar< DataType > & coupling_prime,
const Scalar< DataType > & coupling_prime_prime,
const tnsr::i< DataType, 3, Frame > & d_scalar_field,
const tnsr::ii< DataType, 3, Frame > & spatial_spatial_DD_scalar )

Computes the spatial projection of the second covariant derivative of the coupling function.

Details

Computes the term

\begin{equation} \gamma^a_i \gamma^b_j \nabla_a \nabla_b F[\Psi] = \frac{\delta^2 F[\Psi]}{\delta \Psi^2} (\partial_i \Psi) (\partial_j \Psi) + \frac{\delta F[\Psi]}{\delta \Psi} \gamma^a_i \gamma^b_j \nabla_a \nabla_b \Psi, \end{equation}

where \(\Psi\) is the scalar field, \(\Pi\) is its conjugate momentum and \(F[\Psi]\) is the coupling function; \(n^a\) is the unit vector normal to the spatial hypersurfaces and \(\gamma^a_b = \delta^a_b + n^a n_b\) is the projection operator onto them.