-
Notifications
You must be signed in to change notification settings - Fork 0
Christoffel Symbols (Struct)
Ludicrous edited this page Aug 9, 2022
·
4 revisions
Christoffel Symbols describe how spacetime basis vectors change along coordinates (i.e. the covariant derivative of basis vectors).
This change is useful in order to correct for non-straight coordinates in spacetime, either due to coordinate curvature, or spatio-temporal curvature.
Such a change can also be expressed in terms of derivatives of the Metric Tensor in this equation below:
- 4x4x4 float array of components in the pseudo tensor corresponding to christoffel[alpha direction, mu vector, nu direction]
- Christoffel(Metric[] neighbours, Metric curr, float del) =>
neighbours
= neighbouring values of the metric tensor around a position, inching by dx (del
) in t, x, y, and z direction.curr
= the current metric at position.del
= your dx.
Metric currentMetric = spacetime.GetMetric(position);
Metric[] derivatives = new Metric[4];
derivatives[0] = spacetime.GetMetric(position + new Vector4(0,0,0,0.01f)); // dW = 0.01;
derivatives[1] = spacetime.GetMetric(position + new Vector4(0.01f,0,0,0)); // dX = 0.01;
derivatives[2] = spacetime.GetMetric(position + new Vector4(0,0.01f,0,0)); // dY = 0.01;
derivatives[3] = spacetime.GetMetric(position + new Vector4(0,0,0.01f,0)); // dZ = 0.01;
Christoffel symbols = new Christoffel(derivatives, currentMetric, 0.01f); // Instantiation.```
List of Important Articles: