|
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.