Tensorium
Loading...
Searching...
No Matches
BSSN Directory Reference
Directory dependency graph for BSSN:

Files

 
BSSNAtildeTensor.hpp
 
BSSNAutoDiff.hpp
 
BSSNChiContext.hpp
 
BSSNChristoffel.hpp
 
BSSNConstraints.hpp
 
BSSNConstraintsSolver.hpp
 
BSSNContractedChristoffel.hpp
 
BSSNDerivatives.hpp
 
BSSNextrinTensor.hpp
 
BSSNGridSetupUtils.hpp
 
BSSNMetricUtils.hpp
 
BSSNPrintDebug.hpp
 
BSSNRicciComplete.hpp
 
BSSNRicciConformalTensor.hpp
 Computes the conformal Ricci tensor contributions from the conformal factor \( \chi \) in the BSSN formalism.
 
BSSNRicciTildeTensor.hpp
 Computes the conformal part \( \tilde{R}_{ij} \) of the Ricci tensor in the BSSN formalism.
 
BSSNSetup.hpp
 
BSSNTildeChristoffel.hpp

Detailed Description

Tensorium — BSSN Module

This directory contains the building blocks for the BSSN (Baumgarte–Shapiro–Shibata–Nakamura) formulation used in numerical relativity. The headers implement helper routines to compute conformal variables, derivatives and curvature terms from a given spacetime metric.

Header Overview

  • BSSNSetup.hpp – defines BSSNGrid and the BSSN class. It initializes all BSSN variables at a spatial point: lapse, shift, conformal metric (\tilde{\gamma}_{ij}), its derivatives and inverse, Christoffel symbols, the extrinsic curvature (K_{ij}) and the trace–free tensor (\tilde{A}_{ij}).
  • BSSNMetricUtils.hpp – utilities for generating conformal metric fields on a 3D grid (e.g. generate_conformal_metric_field).
  • BSSNDerivatives.hpp – finite difference helpers to compute partial derivatives of scalars, vectors and tensors.
  • BSSNChristoffel.hpp – computes the conformal Christoffel symbols (\tilde{\Gamma}^{k}_{ij}) and provides routines to differentiate a 5‑D metric field.
  • BSSNTildeChristoffel.hpp – contracts the conformal Christoffel symbols with the inverse metric to form (\tilde{\Gamma}^{i}).
  • BSSNContractedChristoffel.hpp – evaluates the contracted connection (\Gamma^{i}_{ij} = -\tfrac{3}{2}\,\partial_j \ln\chi).
  • BSSNextrinTensor.hpp – computes the extrinsic curvature tensor (K_{ij}) from metric time derivatives, lapse and shift.
  • BSSNAtildeTensor.hpp – builds the trace‑free conformal extrinsic curvature tensor (\tilde{A}_{ij}).

Status

The BSSN implementation is experimental and currently limited to initializing variables at a single grid point. Evolution equations and advanced gauge conditions are not yet available, and derivative operators rely on straightforward finite differences. APIs may change as development continues.

Usage

setup_BSSN_grid from includes/Tensorium/Functionnal/FunctionnalRG.hpp provides a simple entry point:

Vector<double> X(3); // (x, y, z)
X(0) = 10.0; X(1) = 0.0; X(2) = 0.0;
tensorium_RG::Metric<double> metric("kerr", 1.0, 0.8);
double dx = 0.1, dy = 0.1, dz = 0.1;
auto bssn = tensorium::setup_BSSN_grid(X, metric, dx, dy, dz);
const auto& gamma_tilde = bssn.grid.gamma_tilde[0];
const auto& A_tilde = bssn.grid.A_tildeTensor[0];
static FrontendPluginRegistry::Add< TensoriumPluginAction > X("tensorium-dispatch", "Handle #pragma tensorium directives")
Aligned, SIMD-optimized mathematical vector class for scientific computing.
Definition Vector.hpp:26
A callable 4D metric class for general relativity (Minkowski, Schwarzschild, Kerr,...
Definition Metric.hpp:28

The returned tensorium_RG::BSSN object stores all conformal and curvature quantities for that spatial coordinate.