Origin for each line in src/metric2d.red from check-in 5ce5316a33:

5ce5316a33 2021-03-01 jeff@gridfini: % Calculations concerning the special metric of Dieter Egger
5ce5316a33 2021-03-01 jeff@gridfini: % Small and capital letters are treated as being equivalent
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Dimension of space-time
5ce5316a33 2021-03-01 jeff@gridfini: n:=2;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % turn off extra echoes
5ce5316a33 2021-03-01 jeff@gridfini: off echo;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % smaller exponents first
5ce5316a33 2021-03-01 jeff@gridfini: on revpri;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Coordinates
5ce5316a33 2021-03-01 jeff@gridfini: OPERATOR X$
5ce5316a33 2021-03-01 jeff@gridfini: X(0):=t$
5ce5316a33 2021-03-01 jeff@gridfini: X(1):=lambda0$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % lambda0 depends on t
5ce5316a33 2021-03-01 jeff@gridfini: DEPEND lambda0,t$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Rules
5ce5316a33 2021-03-01 jeff@gridfini: trig1:={sin(~x)^2=>(1-cos(x)^2)}$
5ce5316a33 2021-03-01 jeff@gridfini: let trig1$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Procedures
5ce5316a33 2021-03-01 jeff@gridfini: procedure kovab(aa,bb); begin
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO aa(I,J):=DF(bb(I),X(J))+FOR M:=0:n-1 SUM CHRIST(I,J,M)*bb(M)$
5ce5316a33 2021-03-01 jeff@gridfini: end;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: procedure showMatrix(mm); begin
5ce5316a33 2021-03-01 jeff@gridfini: MATRIX hh(n,n)$
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO hh(I+1,J+1):=mm(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: write hh;
5ce5316a33 2021-03-01 jeff@gridfini: end;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: procedure showVector(vv); begin
5ce5316a33 2021-03-01 jeff@gridfini: MATRIX hh(n,1)$
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO hh(I+1,1):=vv(I)$
5ce5316a33 2021-03-01 jeff@gridfini: write hh;
5ce5316a33 2021-03-01 jeff@gridfini: end;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Vectors (1-dim arrays start with index 0)
5ce5316a33 2021-03-01 jeff@gridfini: ARRAY U(n), V(n), LV(n), B(n), LB(n), BG(n)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Arrays (2-dim arrays start with indices (0,0))
5ce5316a33 2021-03-01 jeff@gridfini: ARRAY G(n,n), GINV(n,n), CHRIST(n,n,n), RIEM(n,n,n,n), RICCI(n,n), EINST(n,n)$
5ce5316a33 2021-03-01 jeff@gridfini: ARRAY UKV(n,n)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Calculations
5ce5316a33 2021-03-01 jeff@gridfini: % optionally set maximum radius to 1
5ce5316a33 2021-03-01 jeff@gridfini: % a0:=1$
5ce5316a33 2021-03-01 jeff@gridfini: % or leave it open
5ce5316a33 2021-03-01 jeff@gridfini: a:=a0*sqrt(1-t^2)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Place
5ce5316a33 2021-03-01 jeff@gridfini: u(0):=a0*asin(t)$
5ce5316a33 2021-03-01 jeff@gridfini: u(1):=a*lambda0$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Metric (cellar indices, covariant, default is zero)
5ce5316a33 2021-03-01 jeff@gridfini: G(0,0):=a0^2/(1-t^2)$
5ce5316a33 2021-03-01 jeff@gridfini: G(1,1):=a0^2*(1-t^2)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Inverse Metric (roof indices, contravariant)
5ce5316a33 2021-03-01 jeff@gridfini: MATRIX MG(n,n), MGINV(n,n)$
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO MG(I+1,J+1):=G(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: MGINV:=1/MG$
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO GINV(I,J):=MGINV(I+1,J+1)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % show metric
5ce5316a33 2021-03-01 jeff@gridfini: write "g = ",mg;
5ce5316a33 2021-03-01 jeff@gridfini: write "ginv = ",mginv;
5ce5316a33 2021-03-01 jeff@gridfini: write "g*ginv = ",mg*mginv;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Christoffel symbols
5ce5316a33 2021-03-01 jeff@gridfini: for k:=0:n-1 do for l:=0:n-1 do for m:=0:n-1 do CHRIST(k,l,m):=for i:=0:n-1 sum GINV(k,i)/2 * (DF(G(m,i),X(l)) + DF(G(l,i),X(m)) - DF(G(m,l),X(i)));
5ce5316a33 2021-03-01 jeff@gridfini:   
5ce5316a33 2021-03-01 jeff@gridfini: % curvature tensor
5ce5316a33 2021-03-01 jeff@gridfini: for m:=0:n-1 do for i:=0:n-1 do for k:=0:n-1 do for p:=0:n-1 do RIEM(m,i,k,p) :=DF(CHRIST(m,i,k),X(p)) - DF(CHRIST(m,i,p),X(k)) + FOR r:=0:n-1 SUM CHRIST(r,i,k)*CHRIST(m,r,p) - CHRIST(r,i,p)*CHRIST(m,r,k)$
5ce5316a33 2021-03-01 jeff@gridfini:  
5ce5316a33 2021-03-01 jeff@gridfini: % Ricci tensor
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO RICCI(I,J):=FOR M:=0:n-1 SUM RIEM(M,I,J,M)$
5ce5316a33 2021-03-01 jeff@gridfini: write "ricci = "; showMatrix(ricci);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % curvature scalar
5ce5316a33 2021-03-01 jeff@gridfini: R:=FOR I:=0:n-1 SUM FOR J:=0:n-1 SUM GINV(I,J)*RICCI(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: write "curvature scalar r = ",r;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Einstein tensor
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO EINST(I,J):=RICCI(I,J)-R/2*G(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: write "einstein = "; showMatrix(einst);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % show place
5ce5316a33 2021-03-01 jeff@gridfini: write "place u = "; showVector(u);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % covariant derivative of place u
5ce5316a33 2021-03-01 jeff@gridfini: kovab(ukv,u)$
5ce5316a33 2021-03-01 jeff@gridfini: write "cov. deriv. of u = "; showMatrix(ukv);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % classical velocity
5ce5316a33 2021-03-01 jeff@gridfini: for k:=0:n-1 do v(k):=df(U(k),X(0))$
5ce5316a33 2021-03-01 jeff@gridfini: write "v = du/dt = "; showVector(v);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % local velocity with respect to (x0,x1)
5ce5316a33 2021-03-01 jeff@gridfini: for k:=0:n-1 do LV(k):=V(k)/V(0)$
5ce5316a33 2021-03-01 jeff@gridfini: write "lv = dx1/dx0 = "; showVector(lv);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % max. velocity
5ce5316a33 2021-03-01 jeff@gridfini: Array vmax(n)$
5ce5316a33 2021-03-01 jeff@gridfini: svmax:=a0/sqrt(1-t^2)$
5ce5316a33 2021-03-01 jeff@gridfini: for i:=0:n-1 do vmax(i):=svmax$
5ce5316a33 2021-03-01 jeff@gridfini: svmaxq:=svmax*svmax$
5ce5316a33 2021-03-01 jeff@gridfini: write "max. velocity = ",svmax;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % equation of motion
5ce5316a33 2021-03-01 jeff@gridfini: for k:=0:n-1 do BG(k):=-for m:=0:n-1 sum for n:=0:n-1 sum CHRIST(k,m,n)* vmax(m)*vmax(n)$
5ce5316a33 2021-03-01 jeff@gridfini: write "equation of motion = "; showVector(bg);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % local acceleration wrt (x0,x1)
5ce5316a33 2021-03-01 jeff@gridfini: for k:=0:n-1 do LB(k) :=1/V(0)*df(lv(k),x(0))$
5ce5316a33 2021-03-01 jeff@gridfini: write "la = dlv/dx0 * 1/v0 = "; showVector(lb);
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: %--------------------------------------------------------------
5ce5316a33 2021-03-01 jeff@gridfini: % write results to file
5ce5316a33 2021-03-01 jeff@gridfini: OUT "metric2d_results.txt";
5ce5316a33 2021-03-01 jeff@gridfini: off echo;
5ce5316a33 2021-03-01 jeff@gridfini: off nat;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Metric
5ce5316a33 2021-03-01 jeff@gridfini: write "metric = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO WRITE "(",I,",",J,") = ", G(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Inverse Metric
5ce5316a33 2021-03-01 jeff@gridfini: WRITE "inverse metric = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO WRITE "(",I,",",J,") = ", GINV(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Christoffel symbols
5ce5316a33 2021-03-01 jeff@gridfini: write "christoffel symbols = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR K:=0:n-1 DO FOR I:=0:n-1 DO FOR J:=0:n-1 DO WRITE "(",K,",",I,",",J,") = ", CHRIST(K,I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % curvature tensor
5ce5316a33 2021-03-01 jeff@gridfini: write "curvature tensor = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO FOR K:=0:n-1 DO FOR L:=0:n-1 DO WRITE "(",I,",",J,",",K,",",L,") = ", RIEM(I,J,K,L)$
5ce5316a33 2021-03-01 jeff@gridfini:   
5ce5316a33 2021-03-01 jeff@gridfini: % Ricci tensor
5ce5316a33 2021-03-01 jeff@gridfini: write "ricci tensor = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO WRITE "(",I,",",J,") = ", RICCI(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % curvature scalar
5ce5316a33 2021-03-01 jeff@gridfini: write "curvature scalar = ",R$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % Einstein tensor
5ce5316a33 2021-03-01 jeff@gridfini: write "einstein tensor = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO WRITE "(",I,",",J,") = ",EINST(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % place U
5ce5316a33 2021-03-01 jeff@gridfini: write "place u = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,") = ", U(I)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % covariant derivative of U
5ce5316a33 2021-03-01 jeff@gridfini: write "covariant derivative of u = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO FOR J:=0:n-1 DO WRITE "(",I,",",J,") = ",Ukv(I,J)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % velocity V
5ce5316a33 2021-03-01 jeff@gridfini: write "velocity v = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,") = ", V(I)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % local velocity wrt (x0,x1)
5ce5316a33 2021-03-01 jeff@gridfini: write "local velocity wrt (x0,x1) = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,") = ", LV(I)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % acceleration
5ce5316a33 2021-03-01 jeff@gridfini: write "acceleration = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,") = ", B(I)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % local acceleration wrt (x0,x1)
5ce5316a33 2021-03-01 jeff@gridfini: write "local acceleration wrt (x0,x1) = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,") = ", LB(I)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % equation of motion
5ce5316a33 2021-03-01 jeff@gridfini: write "equation of motion = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,") = ", BG(I)$
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: % equation of motion 
5ce5316a33 2021-03-01 jeff@gridfini: on factor;
5ce5316a33 2021-03-01 jeff@gridfini: write "equation of motion = ";
5ce5316a33 2021-03-01 jeff@gridfini: FOR I:=0:n-1 DO WRITE "(",I,")  =", BG(I)$
5ce5316a33 2021-03-01 jeff@gridfini: off factor;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: SHUT "metric2d_results.txt";
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: off revpri;
5ce5316a33 2021-03-01 jeff@gridfini: on nat;
5ce5316a33 2021-03-01 jeff@gridfini: 
5ce5316a33 2021-03-01 jeff@gridfini: END;
5ce5316a33 2021-03-01 jeff@gridfini: 

olli-scripts
English Homepage | German Homepage | DL2MIE | GitHub Mirror | SourceHut Mirror | NotABug Mirror | Chisel Mirror | Chisel RSS ]