LapseAndShiftConditions - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : ThreePlusOne : LapseAndShiftConditions


Calling Sequence


LapseAndShiftConditions(keyword, options)




optional : any of the valid keywords associated to slicing and spatial gauge conditions, returned when no arguments are given

additionalconditions = ...


optional : the right-hand side is a set of equations to be added to the set of equations related to keyword, to be returned or solved



optional : when given, the set of equations to be returned if first evaluated using value, then an array of equations is constructed with the tensor components

output = ...


optional, the right-hand side can be equations (default) or solution, in which case an attempt is made to solve the equations for the Lapse and Shift

parameters = ...


optional, the right-hand side is a set to be considered additional solving parameters (typically entering the components of the spacetime metric) when solving for the Lapse and Shift



optional, when given, verbosity is turned OFF.



optional, when given, an attempt is made to solve the slicing and gauge equations for the Lapse and Shift, and when successful, they are set using Setup and its lapseandshift keyword.



optional, the indication of a simplifier to be applied to each of the condition equations being returned or solved.



The LapseAndShiftConditions() command returns a list of keywords associated to the most common slicing and spatial gauge conditions for the Lapse and Shift that fix the freedom of choice of coordinates of the 4D formulation of Einstein's equations describing gravity.


The LapseAndShiftConditions(keyword) returns a Vector column with the equations for the Lapse and Shift associated to that keyword, expressed in terms of the inert forms of the tensors involved; these are mainly the ExtrinsicCurvature, the gamma3_ metric of the spacelike hypersurface of the 3+1 splitting, the NormalUnitVector, and the EnergyMomentum tensor.


When the option evaluate is passed, all the inert forms of tensors are first transformed into active by calling value, then the Vector column of equations is transformed into an array of equations calling TensorArray. If in addition the option simplifier = ... is given, the right-hand side of this option is applied to each of the elements of the resulting array.


The evaluated equations returned for the Lapse and Shift can also then be expressed in terms of the components of the 4D metric gμ,ν; for that purpose use convertequations,g_. This rewriting in terms of the metric can also be done for the non-evaluated equations returned by default (when no options are passed), and can be applied selectively to one or several of the tensors appearing in the equations, e.g. via convertequations,g_,only=ExtrinsicCurvature where the set can contain one or several tensors entering equations.


Depending on the keyword and the 4D metric set, in some cases it is possible to solve these slicing and gauge conditions for the Lapse and Shift exactly. To attempt that solution you can either convert the array of equations returned into a set of equations, then use PDEtools:-Solve to tackle them, or just pass the option output = solution.


When the equations for the Lapse and Shift can be solved, by passing the optional argument setconditions, LapseAndShiftConditions will automatically set these values using Setup and its lapseandshift keyword.


You can also set the value of the lapseandshift directly using Setup; there are three possible values: 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 (e.g. ExtrinsicCurvature) 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 gi,j 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 g0,μ part of the 4D metric, according to α2=g0,0-1 and βj=g0,j, 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 g0,μ 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 ds2=α2dt2+γi,jdxi+βiidtdxj+βjjdt, where α and βi have the Lapse and Shift values mentioned, and γi,j=gi,j 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 (different values of g0,μ) for the 3+1 decomposition of Einstein's equations.


Depending on the manipulations to be done with the equations for the Lapse and Shift it is frequently convenient to set the value of lapseandshift via Setuplapseandshift=arbitrary in order to avoid their spontaneous evaluation in terms of the components of the metric g0,0 and g0,j during intermediate steps.




Setting lowercaselatin_is letters to represent space indices

Defined as 4D spacetime tensors see ?Physics,ThreePlusOne,γμ,ν,μ,Γμ,ν,α,Rμ,ν,Rμ,ν,α,β,βμ,nμ,tμ,Κμ,ν

Changing the signature of spacetime from - - - + to + + + - in order to match the signature customarily used in the ADM formalism

Systems of spacetime coordinates are:X=x,y,z,t





Systems of spacetime coordinates are:X=x,y,z,t




When Physics is initialized, the default spacetime metric is of Minkowski type. You can see the metric querying Setup, as in Setup(metric), or directly entering the metric as g_[], with no indices




The list of slicing and spatial gauge conditions implemented are visible via




To see all the equations associated to these keywords, expressed in terms of the inert forms of the ThreePlusOne tensors, use






harmonicslicing=0α=α2Κtraceα=CX γ βii=0



onepluslog=0α=2αΚtraceα=1+ln γ βii=0


These equations expressed in terms of inert tensors can be transformed into explicit equations for the Lapse and Shift using the option evaluate. For illustration purposes set the spacetime to curved, for instance by setting the Schwarzschild metric in spherical coordinates



Systems of spacetime coordinates are:X=r&comma;θ&comma;φ&comma;t

Default differentiation variables for d_, D_ and dAlembertian are:X=r&comma;θ&comma;φ&comma;t

The Schwarzschild metric in coordinates r&comma;θ&comma;φ&comma;t

Parameters: m

Signature: + + + -




The kdriver equations as explicit differential equations for the Lapse







The conditions for the harmonicslicing in the context of the Schwarzschild metric




These equations are actually simpler than what they seem to be and can be solved exactly




See Also

ArrayElems, Christoffel, Christoffel3, convert, Coordinates, D_, d_, ExtrinsicCurvature, gamma_, Matrix, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Ricci, Ricci3, Riemann, Riemann3, Setup, ThreePlusOne, TimeVector, UnitNormalVector, value



[1] Alcubierre, M., Introduction to 3+1 Numerical Relativity, International Series of Monographs on Physics 140, Oxford University Press, 2008.


[2] Baumgarte, T.W., Shapiro, S.L., Numerical Relativity, Solving Einstein's Equations on a Computer, Cambridge University Press, 2010.


[3] Gourgoulhon, E., 3+1 Formalism and Bases of Numerical Relativity, Lecture notes, 2007,