Allgemeine Relativitätstheorie mit dem Computer
General Theory of Relativity on the Computer
Vorlesung gehalten an der J.W.Goethe-Universität in Frankfurt am Main (Sommersemester 2016)
von Dr.phil.nat. Dr.rer.pol. Matthias Hanauske
Frankfurt am Main 11.04.2016
Erster Vorlesungsteil: Allgemeine Relativitätstheorie mit Maple
Probe Prüfung
Probeprüfung
Aufgabe 1b. Maple Worksheet Vorlesung1.mw verwendet mit Einsteintensor aus Vorlesung4.mw
Die Schwarzschildmetrik
Im folgenden werden einige grundlegende Größen am Beispiel der Schwarzschildmetrik eines schwarzen Lochs definiert.
> | restart:
with( tensor ): |
Definition der kovarianten Raumzeit-Metrik eines schwarzen Lochs der Masse M in Schwarzschildkoordinaten:
> | coord := [t, r, theta, phi]:
g_compts := array(symmetric,sparse, 1..4, 1..4): g_compts[1,1] := 1-2*M/r: g_compts[2,2] := -1/g_compts[1,1]: g_compts[3,3] := -r^2: g_compts[4,4] := -r^2*sin(theta)^2: g := create( [-1,-1], eval(g_compts)); |
(2.1) |
Einzelne Komponenten der Chistoffel Symbole (erster Index kontravariant, zweiter und dritter kontravariant)
> | ginv := invert( g, 'detg' ):
D1g := d1metric ( g, coord ): Cf1 := Christoffel1 ( D1g ): Cf2:= Christoffel2( ginv, Cf1 ); |
(2.2) |
Hier wurde das Maple-File verändert:
> | get_compts(Cf2)[1,1,2]; |
(2.3) |
Nichtverschwindende Komponenten des Riemann Tensors. Der Ricci Tensor und Ricci Skalar ist identisch Null.
> | D2g := d2metric ( D1g, coord ):
RMN := Riemann( ginv, D2g, Cf1 ): RMNc:=get_compts(RMN): RiemannComponents=map(proc(x) if RMNc[op(x)]<>0 then x=RMNc[op(x)] else NULL end if end proc,[ indices(RMNc)] ); RICCI := Ricci( ginv, RMN ); RS := Ricciscalar( ginv, RICCI ); |
(2.4) |
Kontrahiert man das quadratische Produkt des Riemann Tensors, so erhält man folgenden Skalar:
> | RMNinv:= raise(ginv,RMN,1,2,3,4):
prod(RMN,RMNinv,[1,1],[2,2],[3,3],[4,4]); |
(2.5) |
Hier wurde das Maple-File verändert:
> | RMN1:=raise(ginv,RMN,1):
get_compts(RMN1)[1,3,1,3]; get_compts(Cf2)[1,1,2]; get_compts(ginv)[3,3]; get_compts(RICCI)[1,1]; G := Einstein( g, RICCI, RS ); get_compts(G)[2,2]; |
(2.6) |
> |