Tensorium
Loading...
Searching...
No Matches
tensorium_RG::TildeGamma< T > Class Template Reference

Computes the contracted conformal Christoffel vector \( \tilde{\Gamma}^i \). More...

#include <BSSNTildeChristoffel.hpp>

Collaboration diagram for tensorium_RG::TildeGamma< T >:

Static Public Member Functions

static void compute (const tensorium::Tensor< T, 2 > &gamma_tilde_inv, const tensorium::Tensor< T, 3 > &christoffel, tensorium::Vector< T > &tildeGamma)
 Computes \( \tilde{\Gamma}^i = \tilde{\gamma}^{jk} \tilde{\Gamma}^i_{jk} \).
 

Detailed Description

template<typename T>
class tensorium_RG::TildeGamma< T >

Computes the contracted conformal Christoffel vector \( \tilde{\Gamma}^i \).

The BSSN formalism requires computing the vector:

\[ \tilde{\Gamma}^i = \tilde{\gamma}^{jk} \tilde{\Gamma}^i_{jk} \]

where:

  • \( \tilde{\gamma}^{jk} \) is the inverse of the conformal 3-metric
  • \( \tilde{\Gamma}^i_{jk} \) are the Christoffel symbols computed from the conformal metric

This quantity is key in the evolution of the conformal connection functions in the BSSN system.

Template Parameters
TType used for floating-point computations (usually double)

Member Function Documentation

◆ compute()

template<typename T >
static void tensorium_RG::TildeGamma< T >::compute ( const tensorium::Tensor< T, 2 > & gamma_tilde_inv,
const tensorium::Tensor< T, 3 > & christoffel,
tensorium::Vector< T > & tildeGamma )
inlinestatic

Computes \( \tilde{\Gamma}^i = \tilde{\gamma}^{jk} \tilde{\Gamma}^i_{jk} \).

This function contracts the conformal Christoffel symbols \( \tilde{\Gamma}^i_{jk} \) with the inverse conformal metric \( \tilde{\gamma}^{jk} \) to yield the vector:

\[ \tilde{\Gamma}^i = \tilde{\gamma}^{jk} \tilde{\Gamma}^i_{jk} \]

Parameters
gamma_tilde_invA 3×3 tensor representing \( \tilde{\gamma}^{jk} \)
christoffelA 3×3×3 tensor containing the Christoffel symbols \( \tilde{\Gamma}^i_{jk} \)
tildeGammaOutput vector of size 3, storing \( \tilde{\Gamma}^i \)
Exceptions
std::invalid_argumentif tensor dimensions are incorrect

References tensorium::Tensor< K, Rank >::resize(), and tensorium::Tensor< K, Rank >::shape().

Here is the call graph for this function:

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