Needs["ccgrg`"];
version

x={t,r,ϑ,φ}

Definiuję sferycznie symetryczną metrykę. Dwie dowolne funkcje Φ[r] oraz M[r] wprowadzam w poniższy sposób:

(*g=DiagonalMatrix[{Exp[2Φ[r]],1/(1-2 G m[r]/r),(r^2),(r^2)((Sin[ϑ])^2)}]*)

g=DiagonalMatrix[{-(1+2Φ[r]/c^2)*c^2,1/(1-2 G m[r]/c^2/r),(r^2),(r^2)((Sin[ϑ])^2)}]

open[x,g]

Założenia sprowadzające się do stwierdzenia, że nigdzie nie ma horyzontu.

$Assumptions=1+2Φ[r]>0&&-2 G m[r]/r>0&&Exp[2 Φ[r]]>0&&0<ϑ<Pi&&c>1

Czteroprędkość cząstki spoczywającej:

timelikeEigenvector[G‡,U]

Outer[U,-all]//Simplify

Podręcznikowy wzór na tensor energii-pędu płynu o gęstości energii ϵ[r] oraz ciśnieniu p[r]:

t=Function[{i,j},(ρ[r]c^2+p[r])U[i]U[j]+p[r]g‡[i,j]]

T[i_,j_]:=tensorExt[t][i,j]

Cztery równania Einsteina:

eqtt=(G‡[-1,-1]-8 Pi G/c^4 T[-1,-1])//Simplify//Expand

eqrr=(G‡[-2,-2]-8 Pi G/c^4 T[-2,-2])//Simplify

eqϑϑ=(G‡[-3,-3]-8 Pi G/c^4 T[-3,-3])//Simplify

eqφφ=(G‡[-4,-4]-8 Pi G/c^4 T[-4,-4])//Simplify

Równania trzecie i czwarte są równoważne:

eqϑϑ/eqφφ//FullSimplify

Z pierwszego równania wyliczamy M’[r]:

ruleM=Solve[eqtt==0,m'[r]][[1]]

Z drugiego równania wyliczamy Φ’[r]:

ruleΦ=Solve[eqrr==0,Φ'[r]][[1]]//Simplify

Do trzeciego równania wstawiamy M’[r] i Φ’[r] wyliczone z dwóch pierwszych równań:

eqϑϑ/.Φ''[r]->D[Φ'[r]/.ruleΦ,r]/.ruleM /. ruleΦ

Następnie wyilczamy p’[r]:

ruleP=Solve[%==0,p'[r]][[1]]//FullSimplify

Otrzymujemy ostatecznie układ trzech równań na trzy niewiadome funkcje m[r], Φ[r] i p[r] = p[ ϵ[r] ]:

eqM=m'[r]==(m'[r]/.ruleM)

eqΦ=Φ'[r]==(Φ'[r]/.ruleΦ)

eqP=p'[r]==(p'[r]/.ruleP)

Równanie na funkcję metryczną Φ[r] (,,potencjał grawitacyjny’’) jest niezależne od pozostałych. Wyznaczenie profilu gęstości wymaga więc rozwiązania układu dwóch równań, określanych jako równania TOV (Tolmana-Oppenheimera-Volkova):

sysTOV={eqP,eqM}