Overview of the Physics[ThreePlusOne] package
<Text-field style="Heading 2" layout="Heading 2" bookmark="info">Description</Text-field>
In the general theory of relativity, NiVJOCNtc3VwKG1pKCJ4Iiksfm1uKCIxIikpRzYiKiRJInhHRiQiIiMqJEYmIiIk can be any quantities defining the position of bodies in space and the time coordinate NiNJOCNtc3VwKG1pKCJ4Iiksfm1uKCIwIikpRzYi can be defined by an arbitrarily running clock. In order to define simultaneity (synchronizing clocks located at different points in space) as well as determine actual space distances and time intervals in terms of these quantities NiZJOCNtc3VwKG1pKCJ4Iiksfm1uKCIwIikpRzYiSTgjbXN1cChtaSgieCIpLH5tbigiMSIpKUdGJCokSSJ4R0YkIiIjKiRGJyIiJA==, it is relevant to split the 4D mathematical description of gravity into 3D plus time. This 3 + 1 split description is also an appropriate framework for a Hamiltonian formulation of gravity and for the study of gravitational waves, black holes and neutron stars by running numerical simulations as traditional initial value (Cauchy) problems.
In this framework, the ThreePlusOne package includes
Commands to decompose 4D tensorial expressions into 3+1 with respect to its free and contracted indices
Computational representations for the 3D: metric, covariant derivative, Christoffel symbols, Ricci and Riemann tensors.
Computational representations for the lapse, shift, unit normal, time vector and extrinsic curvature related to the ADM equations.
Since in a 3 + 1 decomposition the tensors depend on the values of the lapse and shift, a key part of the design of ThreePlusOne is that you can set those values, and with that set the way you want to compute with the tensors of the package. For that purpose, use Setup and its lapseandshift keyword. There are three possible values for lapseandshift: standard, arbitrary, or a list of algebraic expressions representing the Lapse and Shift. The value chosen determines the values of the components of all the ThreePlusOne tensors and so of tensorial expressions involving them (e.g. the ADMEquations). Those components are always computed first in terms of the Lapse and Shift and the space part NiMmSSJnRzYiNiRJImlHRiVJImpHRiU= of the 4D metric, then in a second step, if lapseandshift = standard, the Lapse and the Shift are replaced by their expressions in terms of the NiMtSSVtc3ViRzYkSSpwcm90ZWN0ZWRHRiYvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0c2JEYmSShfc3lzbGliR0YpNiQtSSNtaUc2JEYmL0YoRio2I1EiZ0YpLUklbXJvd0c2JEYmL0YoRio2JS1JI21uRzYkRiYvRihGKjYjUSIwRiktSSNtb0c2JEYmL0YoRio2I1EoJmNvbW1hO0YpLUYvNiNRJSZtdTtGKQ== part of the 4D metric, according to NiMvKiRJWSNtaSgiJmFscGhhOyIsZm9udHdlaWdodH49fiJib2xkIixtYXRoY29sb3J+PX4iIzAwMDAwMCIpRzYiIiIjKS1JIUdGJjYjLCRJZHYjbXN1YnN1cChtaSgiZyIpLG1yb3cobXBoYW50b20obW8oIiZJbnZpc2libGVUaW1lczsiKSksbXBoYW50b20obW4oIjAiKSksbXBoYW50b20obW8oIiZjb21tYTsiKSksbXBoYW50b20obW4oIjAiKSkpLG1yb3cobXBoYW50b20obW8oIiZJbnZpc2libGVUaW1lczsiKSksbW4oIjAiKSxtbygiJmNvbW1hOyIpLG1uKCIwIikpKUdGJiEiIkkqI21uKCItMSIpR0Ym and NiMvJklYI21pKCImYmV0YTsiLGZvbnR3ZWlnaHR+PX4iYm9sZCIsbWF0aGNvbG9yfj1+IiMwMDAwMDAiKUc2IjYjSSJqR0YmJkkiZ0dGJjYkIiIhRig=, or if lapseandshift was set passing a list to Setup then in terms of the values indicated in that list (these values are not used to set the NiMtSSVtc3ViRzYkSSpwcm90ZWN0ZWRHRiYvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0c2JEYmSShfc3lzbGliR0YpNiQtSSNtaUc2JEYmL0YoRio2I1EiZ0YpLUklbXJvd0c2JEYmL0YoRio2JS1JI21uRzYkRiYvRihGKjYjUSIwRiktSSNtb0c2JEYmL0YoRio2I1EoJmNvbW1hO0YpLUYvNiNRJSZtdTtGKQ== part of the 4D metric). When lapseandshift = arbitrary, the second step is not performed and the Lapse and Shift evaluate to themselves, representing an arbitrary value for them. In the three cases, standard, arbitrary, or a list of algebraic expressions, the components of the ThreePlusOne tensors are computed in terms of a metric with line element SWRfbyNtcm93KG1zdXAobWkoImRzIiksbW4oIjIiKSksbW8oIiZlcXVhbHM7IiksbXJvdyhtbygiJnVtaW51czA7IiksbXJvdyhtc3VwKG1pKCImYWxwaGE7Iixmb250d2VpZ2h0fj1+ImJvbGQiLG1hdGhjb2xvcn49fiIjMDAwMDAwIixtc2VtYW50aWNzfj1+IlBoeXNpY3NMYXBzZSIpLG1uKCIyIikpLG1vKCImSW52aXNpYmxlVGltZXM7IiksbXN1cChtaSgiZHQiKSxtbigiMiIpKSksbW8oIiZwbHVzOyIpLG1yb3cobXJvdyhtc3ViKG1pKCImZ2FtbWE7Iixmb250d2VpZ2h0fj1+ImJvbGQiLG1hdGhjb2xvcn49fiIjMDAwMDAwIixtc2VtYW50aWNzfj1+IlBoeXNpY3NnYW1tYTNfIiksbXJvdyhtaSgiaSIsZm9udHN0eWxlfj1+Im5vcm1hbCIpLG1vKCImY29tbWE7IiksbWkoImoiLGZvbnRzdHlsZX49fiJub3JtYWwiKSkpLG1vKCImQXBwbHlGdW5jdGlvbjsiKSxtZmVuY2VkKG1yb3cobXN1cChtaSgiZHgiKSxtaSgiaSIpKSxtbygiJnBsdXM7IiksbXJvdyhtc3Vic3VwKG1pKCImYmV0YTsiLGZvbnR3ZWlnaHR+PX4iYm9sZCIsbWF0aGNvbG9yfj1+IiMwMDAwMDAiLG1zZW1hbnRpY3N+PX4iUGh5c2ljc1NoaWZ0IiksbXJvdyhtcGhhbnRvbShtbygiJkludmlzaWJsZVRpbWVzOyIpKSxtcGhhbnRvbShtaSgiaSIpKSksbXJvdyhtcGhhbnRvbShtbygiJkludmlzaWJsZVRpbWVzOyIpKSxtaSgiaSIpKSxtc2VtYW50aWNzfj1+IlBoeXNpY3NUZW5zb3JJbmRpY2VzIiksbW8oIiZJbnZpc2libGVUaW1lczsiKSxtaSgiZHQiKSkpKSksbW8oIiZBcHBseUZ1bmN0aW9uOyIpLG1mZW5jZWQobXJvdyhtc3VwKG1pKCJkeCIpLG1pKCJqIikpLG1vKCImcGx1czsiKSxtcm93KG1zdWJzdXAobWkoIiZiZXRhOyIsZm9udHdlaWdodH49fiJib2xkIixtYXRoY29sb3J+PX4iIzAwMDAwMCIsbXNlbWFudGljc349fiJQaHlzaWNzU2hpZnQiKSxtcm93KG1waGFudG9tKG1vKCImSW52aXNpYmxlVGltZXM7IikpLG1waGFudG9tKG1pKCJqIikpKSxtcm93KG1waGFudG9tKG1vKCImSW52aXNpYmxlVGltZXM7IikpLG1pKCJqIikpLG1zZW1hbnRpY3N+PX4iUGh5c2ljc1RlbnNvckluZGljZXMiKSxtbygiJkludmlzaWJsZVRpbWVzOyIpLG1pKCJkdCIpKSkpKSkpRzYi, where NiNJX3AjbWkoIiZhbHBoYTsiLGZvbnR3ZWlnaHR+PX4iYm9sZCIsbWF0aGNvbG9yfj1+IiMwMDAwMDAiLG1zZW1hbnRpY3N+PX4iUGh5c2ljc0xhcHNlIilHNiI= and NiNJY3kjbXN1YnN1cChtaSgiJmJldGE7Iixmb250d2VpZ2h0fj1+ImJvbGQiLG1hdGhjb2xvcn49fiIjMDAwMDAwIixtc2VtYW50aWNzfj1+IlBoeXNpY3NTaGlmdCIpLG1yb3cobXBoYW50b20obW8oIiZJbnZpc2libGVUaW1lczsiKSksbXBoYW50b20obWkoImkiKSkpLG1yb3cobXBoYW50b20obW8oIiZJbnZpc2libGVUaW1lczsiKSksbWkoImkiKSksbXNlbWFudGljc349fiJQaHlzaWNzVGVuc29ySW5kaWNlcyIpRzYi have the Lapse and Shift values mentioned, and NiMvJklZI21pKCImZ2FtbWE7Iixmb250d2VpZ2h0fj1+ImJvbGQiLG1hdGhjb2xvcn49fiIjMDAwMDAwIilHNiI2JEkiaUdGJkkiakdGJiZJImdHRiZGJw== is the ThreePlusOne:-gamma3_ metric of the 3D hypersurface. This design permits working with any 4D metric set and, without changing its value, experimenting with different values of the Lapse and Shift (equivalent to different values of NiMtSSVtc3ViRzYkSSpwcm90ZWN0ZWRHRiYvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0c2JEYmSShfc3lzbGliR0YpNiQtSSNtaUc2JEYmL0YoRio2I1EiZ0YpLUklbXJvd0c2JEYmL0YoRio2JS1JI21uRzYkRiYvRihGKjYjUSIwRiktSSNtb0c2JEYmL0YoRio2I1EoJmNvbW1hO0YpLUYvNiNRJSZtdTtGKQ==) for the 3+1 decomposition of Einstein's equations. See also LapseAndShiftConditions.
When ThreePlusOne is loaded:
An attempt is made to set the letters used to represent space indices to be lowercaselatin_is, that is, the lowercase latin letters between i and s. If those letters are in use, the system searches for one of the other possible letters available to represent space indices and, if no one is available, a message is displayed on the screen requiring your action to free one kind of letters.
The signature is automatically changed from the Physics package default: NiMtSSFHNiI2I0koLX4tfi1+K0dGJQ==, to: NiMtSSFHNiI2I0koK34rfit+LUdGJQ== in order to match the signature used in the literature for the ADM formalism, also used in the database of solutions to Einstein's equations in the Maple system. The Physics package commands automatically take into account the signature set, that can be any of NiMtSSFHNiI2I0koLX4tfi1+K0dGJQ==, NiMtSSFHNiI2I0kpK34tfi1+LX5HRiU=, NiMtSSFHNiI2I0koK34rfit+LUdGJQ==, and NiMtSSFHNiI2I0kpLX4rfit+K35HRiU=. You can change the value of the signature using Setup(signature = ...) where the right-hand side is any of these four signatures. To redefine the signature and also the metric and list of coordinates all in one go, for example to NiMtSSFHNiI2I0kpLX4rfit+K35HRiU=, use Redefine(setall, tosignature = `- + + + `).
Regarding a 3 + 1 decomposition, the signature NiMtSSFHNiI2I0koLX4rfit+K0dGJQ==, with the timelike component in position 1, has the computational disadvantage that the space components of a 4D tensor are those in position 2, 3 and 4 instead of 1, 2 and 3, while the time component (the different sign in the signature), is in position 1, and so the value 0 of a spacetime index points to the NiNJOSNtc3VwKG1uKCIxIiksfm1pKCJzdCIpKUc2Ig== component of 4D tensors. On the other hand, the signature NiMtSSFHNiI2I0koK34rfit+LUdGJQ==, automatically set when ThreePlusOne is loaded, is physically equivalent to NiMtSSFHNiI2I0koLX4rfit+K0dGJQ== and with it you can refer to the spatial components of 4D tensors more naturally, using the values 1, 2, 3, while the value 0 automatically points to the NiMpIiIlSSN0aEc2Ig== component. The ordering of space and time components in the 3+1 decomposition performed by the Physics:-Decompose command is according to the position of the timelike component in the signature set.
Mathematical notation: When Physics or Physics[Vectors] are loaded in the Standard Graphical User Interface, with Typesetting level set to Extended (default), anticommutative and noncommutative variables are displayed in different colors, non-projected vectors and unit vectors are respectively displayed with an arrow and a hat on top, the vectorial differential operators (Nabla, Laplacian, etc.) with an upside down triangle, and most of the other Physics commands are displayed as in textbooks.
Examples illustrating the use of the package's commands are found in Physics examples (this page opens only in the Standard Graphical User Interface).
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk0">List of ThreePlusOne Package Commands</Text-field>
The following is a list of available commands.ADMEquationsChristoffel3D3_ExtrinsicCurvaturegamma3_LapseLapseAndShiftConditionsRicci3Riemann3ShiftTimeVectorUnitNormalVector
Inert forms of these commands, representing the operations, having the same display and mathematical properties under differentiation, simplification etc., but holding the computations, consist of the same commands' names prefixed by the % character. The inert computations constructed with these commands can be activated when desired using the value command.
Further information relevant to the use of these commands is found under Conventions used in the Physics package (spacetime tensors, not commutative variables and functions, quantum states and Dirac notation).
<Text-field style="Heading 3" layout="Heading 3" bookmark="bkmrk1">Brief description of each command</Text-field>
The ADMEquations command returns the ADM equations, expressed in terms of the Lapse, Shift, ExtrinsicCurvature and the 3D metric gamma3_.
The gamma3_ command, a purely spatial 4D tensor of two indices that projects 4D tensors onto a 3D hypersurface, its 3D space part represents the metric in that 3D hypersurface and so it can be used, indexed with space indices, to lower and raise space indices in 3D tensorial expressions.
The Christoffel3 command, a 4D purely spatial object with three indices, defined in terms of the derivatives of the gamma3_ metric, its 3D space part represents the Christoffel symbols in the 3D space hypersurface.
The D3_ command, a a 4D tensorial operator with one index, the projection of D_ onto the 3D hypersurface, defined in terms of the Christoffel3 symbols, its 3D space part represents the covariant derivative operator in the 3D space.
The ExtrinsicCurvature command a 4D tensor that is purely spatial, and whose spatial components represent the 3D extrinsic curvature.
The Lapse command represents the lapse of the ADM formalism, that is the lapse of proper time between two hypersurfaces as measured by (Eulerian) observers that move along the normal direction.
The LapseAndShiftConditions command returns the equations of the most common slicing and spatial gauge conditions for the Lapse and Shift optionally attempting to solve them.
The Ricci3 command, a purely spatial 4D tensor of two indices, defined in terms of the Christoffel3 symbols and the gamma3_ metric, its 3D space part represents the Ricci tensor in the 3D space.
The Riemann3 command, a purely spatial 4D tensor of four indices, defined in terms of the Christoffel3 symbols, its 3D space part represents the Riemann tensor in the 3D space.
The Shift command, a purely spatial tensor of 1 index, represents the shift of the ADM formalism, that is the relative velocity between the normal (Eulerian) observers and the lines of constant spatial coordinates.
The TimeVector command, a tensor of 1 index, represents the time vector of the ADM formalism, that is a vector tangent to the lines of constant spatial coordinates.
The UnitNormalVector command, a tensor of 1 index, represents the unit normal vector of the ADM formalism, that is a unit vector normal to the spatial hypersurfaces.
<Text-field style="Heading 2" layout="Heading 2" bookmark="seealso">See Also</Text-field>conversions between differentiation notations, PhysicalConstants, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, UsingPackages
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk2">References</Text-field>
<Text-field style="Heading 3" layout="Heading 3" bookmark="bkmrk3">Textbooks</Text-field>
[1] Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.
[2] Alcubierre, M., Introduction to 3+1 Numerical Relativity, International Series of Monographs on Physics 140, Oxford University Press, 2008.
[3] Baumgarte, T.W., Shapiro, S.L., Numerical Relativity, Solving Einstein's Equations on a Computer, Cambridge University Press, 2010.
[4] Gourgoulhon, E., 3+1 Formalism and Bases of Numerical Relativity, Lecture notes, 2007, https://arxiv.org/pdf/gr-qc/0703035v1.pdf.
[5] Arnowitt, R., Dese, S., Misner, C.W., The Dynamics of General Relativity, Chapter 7 in Gravitation: an introduction to current research (Wiley, 1962), https://arxiv.org/pdf/gr-qc/0405109v1.pdf
<Text-field style="Heading 2" layout="Heading 2" bookmark="compatibility">Compatibility</Text-field>
The Physics[ThreePlusOne] package was introduced in Maple 2017.
For more information on Maple 2017 changes, see Updates in Maple 2017.