Tensorium
|
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.
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}).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.
setup_BSSN_grid
from includes/Tensorium/Functionnal/FunctionnalRG.hpp
provides a simple entry point:
The returned tensorium_RG::BSSN
object stores all conformal and curvature quantities for that spatial coordinate.