Program for the hamiltonian treatment of general relativity (ADM) based on the 3+1 split of space-time. The program is adapted for numerical relativity purposes, so it's using extrinsic curvature instead of momentum components. Here we have a version for DeSitter space-time and a scalar field coupled minimally with gravity.

Author : D.N. Vulcanov - The West University of Timisoara, Romania

See : gr-qc/0010085 , physics/0010053

> restart;

> grtw();

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Some general definitions, before downloading the metric !

The main notations are :

ha0 the hamiltonian constraint

ha(i) the momentum constraint

Ni(i) the shift vector

N the lapse function

g(i,j) the three-dimensional metric

K(i,j) the extrinsic curvature

T(i,j) components of the stress-energy tensor

derge(i,j) the dynamic equation for the three-dimensional metric

derpi(i,j) the dynamic equation for the momentum conponents

> grdef(`ha0:=Ricciscalar{}+K{^i i}*K{^j j}-K{ i j }*K{^i ^j}-2*(-(1/(N(t,r,theta,phi)^2))*T00{ }-2*Ni{ ^i }*T0{ i }/(N(t,r,theta,phi)^2) + Ni{ ^i }*Ni{ ^j } *T{ i j }/(N(t,r,theta,phi)^2))`);

`Warning ` = (`No definition found for object` = T00)

`Warning ` = (`No definition found for object` = K(up,dn))

`Warning ` = (`No definition found for object` = K(dn,dn))

`Warning ` = (`No definition found for object` = K(up,up))

`Warning ` = (`No definition found for object` = Ni(up))

`Warning ` = (`No definition found for object` = T0(dn))

`Warning ` = (`No definition found for object` = T(dn,dn))

Created definition for ha0

> grdef(`ha{ i }:=- K{ ^j j ;i} + K{ ^j i ;j}+T0{ i }/N(t,r,theta,phi) - Ni{ ^j }*T{ i j }/N(t,r,theta,phi)`);

`Warning ` = (`No definition found for object` = K(up,dn,cdn))

`Warning ` = (`No definition found for object` = Ni(up))

`Warning ` = (`No definition found for object` = T0(dn))

`Warning ` = (`No definition found for object` = T(dn,dn))

Created definition for ha(dn)

> grdef(`derge{ i j }:=-2*N(t,r,theta,phi)*K{ i j } + Ni{ j ;i} + Ni{ j ;i }`);

`Warning ` = (`No definition found for object` = Ni(dn,cdn))

`Warning ` = (`No definition found for object` = K(dn,dn))

Created definition for derge(dn,dn)

> grdef(`Ndd{ m j }:= Nd{ m ;j }`);

`Warning ` = (`No definition found for object` = Nd(dn,cdn))

Created definition for Ndd(dn,dn)

> grdef(`derpK{ i j }:=-2*N(t,r,theta,phi)*K{ i l }*K{ ^l j } + N(t,r,theta,phi)*K{ l ^l }*K{ i j } +N(t,r,theta,phi)*R{ i j } - Ndd{ i j } + Ni{ ^ l }*K{ i j ;l } + K{ l j }*Ni{ ^l ;i } + K{ i l }*Ni{ ^l ;j }-N(t,r,theta,phi)*T{ i j } + (1/2)*N(t,r,theta,phi)*g{ i j }*T{ ^k k } + (1/(2*N(t,r,theta,phi)))*g { i j }*(T00 + 2*Ni{ ^p }*T0{ p } - Ni{ ^k }*Ni{ ^n }*T{ k n })`);

`Warning ` = (`No definition found for object` = K(up,dn))

`Warning ` = (`No definition found for object` = K(dn,dn))

`Warning ` = (`No definition found for object` = Ni(up))

`Warning ` = (`No definition found for object` = T0(dn))

`Warning ` = (`No definition found for object` = T(dn,dn))

`Warning ` = (`No definition found for object` = K(dn,dn,cdn))

`Warning ` = (`No definition found for object` = Ni(up,cdn))

`Warning ` = (`No definition found for object` = K(dn,up))

`Warning ` = (`No definition found for object` = T(up,dn))

Created definition for derpK(dn,dn)

> grdef(`A:=-(1/N(t,r,theta,phi))^2*(diff(psi(t,r,theta,phi),t))^2+(2/(N(t,r,theta,phi)^2))*Ni{^i}*diff(psi(t,r,theta,phi),t)*psid{ i } +(g{ ^i ^j } - Ni{ ^i }* Ni{ ^j }/(N(t,r,theta,phi)^2) )*psid{ i }*psid{ j } + m^2 *psi(t,r,theta,phi)^2`);

`Warning ` = (`No definition found for object` = Ni(up))

`Warning ` = (`No definition found for object` = psid(dn))

Created definition for A

> grdef(`T00:=diff(psi(t,r,theta,phi),t)^2 +(1/2)*(N(t,r,theta,phi)^2-Ni{ ^j }*Ni{ j })*A{ }`);

`Warning ` = (`No definition found for object` = Ni(dn))

`Warning ` = (`No definition found for object` = Ni(up))

Created definition for T00

> grdef(`T{ i j }:=psid{ i }*psid{ j } -(1/2)*g{ i j }*A{ }`);

`Warning ` = (`No definition found for object` = psid(dn))

Created definition for T(dn,dn)

> grdef(`T0{ i } := diff(psi(t,r,theta,phi),t)*psid{ i } - Ni{ i } *A{ }`);

`Warning ` = (`No definition found for object` = Ni(dn))

`Warning ` = (`No definition found for object` = psid(dn))

Created definition for T0(dn)

> qload(desitter_sf);

Calculated ds for desitter_sf (0.000000 sec.) 

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> grcalc(metric);

[Maple Math]

> grdisplay(metric);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> grdef(`psid{ i } := [diff(psi(t,r,theta,phi),r),diff(psi(t,r,theta,phi),theta),diff(psi(t,r,theta,phi),phi)]`);

Components assigned for metric: desitter_sf

Created definition for psid(dn)

> grcalc(psid(dn));

[Maple Math]

> grdisplay(psid(dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> grdef(`Nd{ ^ m } := [diff(N(t,r,theta,phi),r),diff(N(t,r,theta,phi),theta),diff(N(t,r,theta,phi),phi)]`);

Components assigned for metric: desitter_sf

Created definition for Nd(up)

> grcalc(Nd(up));

[Maple Math]

> grdisplay(Nd(up));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Ni=0 ! Skip this line if do not use it !

> grdef(`Ni{ ^i } := [0, 0, 0]`);

> grdef(`Ni{ ^i } := [N1(t,r,theta,phi), N2(t,r,theta,phi), N3(t,r,theta,phi)]`);

Components assigned for metric: desitter_sf

Created definition for Ni(up)

> grdef(`vi1{ i }:=[Ka(t,r,theta,phi),0,0]`);

Components assigned for metric: desitter_sf

Created definition for vi1(dn)

> grdef(`vi3{ i }:=[0,0,Kc(t,r,theta,phi)]`);

Components assigned for metric: desitter_sf

Created definition for vi3(dn)

> grdef(`vi2{ i }:=[0,Kb(t,r,theta,phi),0]`);

Components assigned for metric: desitter_sf

Created definition for vi2(dn)

> grdef(`K{ i j } := (vi1{ i }*kdelta{j $r}+vi2{ i }*kdelta{ j$theta }+vi3{ i }*kdelta{j $phi})`);

Created definition for K(dn,dn)

> grcalc(K(dn,dn));

Calculated kdelta(dn,dn) for desitter_sf (.001000 sec.) 

Calculated K(dn,dn) for desitter_sf (.002000 sec.) 

[Maple Math]

> grdisplay(K(dn,dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Now the calculations !

> grcalc(ha0);

Created definition for Ni(dn) 

Created definition for K(up,dn) 

Created definition for K(up,up) 

Calculated detg for desitter_sf (.001000 sec.) 

Calculated g(up,up) for desitter_sf (.001000 sec.) 

Calculated A for desitter_sf (.002000 sec.) 

Calculated Ni(dn) for desitter_sf (0.000000 sec.) 

Calculated T00 for desitter_sf (.008000 sec.) 

Calculated g(dn,dn,pdn) for desitter_sf (.003000 sec.) 

Calculated Chr(dn,dn,dn) for desitter_sf (.002000 sec.) 

Calculated Chr(dn,dn,up) for desitter_sf (.003000 sec.) 

Calculated R(dn,dn) for desitter_sf (.003000 sec.) 

Calculated Ricciscalar for desitter_sf (0.000000 sec.) 

Calculated K(up,dn) for desitter_sf (.002000 sec.) 

Calculated K(up,up) for desitter_sf (.001000 sec.) 

Calculated T0(dn) for desitter_sf (.007000 sec.) 

Calculated T(dn,dn) for desitter_sf (.007000 sec.) 

Calculated ha0 for desitter_sf (.014000 sec.) 

[Maple Math]

> gralter(ha0,sqrt,simplify);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[sqrt]` to object ha0

Applying routine simplify to object ha0

[Maple Math]

> gralter(ha0,trigsin,expand);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[trigsin]` to object ha0

Applying routine expand to object ha0

[Maple Math]

> grdisplay(ha0);

[Maple Math]

[Maple Math]

[Maple Math]

> grcalc(ha(dn));

Created a definition for    K(up,dn,cdn)

Calculated K(up,dn,cdn) for desitter_sf (.009000 sec.) 

Calculated ha(dn) for desitter_sf (.015000 sec.) 

[Maple Math]

> gralter(ha(dn),sqrt,simplify);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[sqrt]` to object ha(dn)

Applying routine simplify to object ha(dn)

[Maple Math]

> gralter(ha(dn),trigsin,expand);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[trigsin]` to object ha(dn)

Applying routine expand to object ha(dn)

[Maple Math]

> grdisplay(ha(dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> grcalc(derge(dn,dn));

Created a definition for    Ni(dn,cdn)

Calculated Ni(dn,cdn) for desitter_sf (.005000 sec.) 

Calculated derge(dn,dn) for desitter_sf (.002000 sec.) 

[Maple Math]

> gralter(derge(dn,dn),sqrt,tringsin,simplify);

Component simplification of a GRTensorII object:

 

Applying routine simplify to object derge(dn,dn)

[Maple Math]

> grdisplay(derge(dn,dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

> grcalc(derpK(dn,dn));

Created definition for Nd(dn) 

Created a definition for    Nd(dn,cdn)

Created a definition for    K(dn,dn,cdn)

Created a definition for    Ni(up,cdn)

Created definition for K(dn,up) 

Created definition for T(up,dn) 

Calculated Nd(dn) for desitter_sf (.001000 sec.) 

Calculated Nd(dn,cdn) for desitter_sf (.004000 sec.) 

Calculated Ndd(dn,dn) for desitter_sf (.001000 sec.) 

Calculated K(dn,dn,cdn) for desitter_sf (.007000 sec.) 

Calculated Ni(up,cdn) for desitter_sf (.003000 sec.) 

Calculated K(dn,up) for desitter_sf (.002000 sec.) 

Calculated T(up,dn) for desitter_sf (.007000 sec.) 

Calculated derpK(dn,dn) for desitter_sf (.065000 sec.) 

[Maple Math]

> gralter(derpK(dn,dn),factor,tringsin,sqrt,simplify);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[sqrt]` to object derpK(dn,dn)

Applying routine simplify to object derpK(dn,dn)

[Maple Math]

> grdisplay(derpK(dn,dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

> grcalc(T00);

[Maple Math]

> grdisplay(T00);

[Maple Math]

[Maple Math]

[Maple Math]

> grcalc(T(dn,dn));

[Maple Math]

> grdisplay(T(dn,dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> grcalc(T0(dn));

[Maple Math]

> grdisplay(T0(dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Shift zero !

> N1(t,r,theta,phi):=0;

[Maple Math]

> N2(t,r,theta,phi):=0;

[Maple Math]

> N3(t,r,theta,phi):=0;

[Maple Math]

> grdisplay(T00);

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

> grdisplay(T(dn,dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

> grdisplay(T0(dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

> grcalc(derge(dn,dn));

[Maple Math]

> grdisplay(derge(dn,dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

> grcomponent(derpK(dn,dn),[phi,phi]);

>

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Lapse one !

> N(t,r,theta,phi):=1;

[Maple Math]

> grdisplay(ha0);

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

> grdisplay(ha(dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]

> gralter(ha0,trigsin,expand);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[trigsin]` to object ha0

Applying routine expand to object ha0

[Maple Math]

> grdisplay(ha0);

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]
[Maple Math]

> gralter(ha(dn),trigsin,expand);

Component simplification of a GRTensorII object:

 

Applying routine `simplify[trigsin]` to object ha(dn)

Applying routine expand to object ha(dn)

[Maple Math]

> grdisplay(ha(dn));

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]
[Maple Math]

[Maple Math]

>