theta=Symbol('theta') phi=Symbol('phi') #general, spherically symmetric metric gdd=Matrix(( (-B(r),0,0,0), (0, A(r), 0, 0), (0, 0, r**2, 0), (0, 0, 0, r**2*sin(theta)**2) )) g=Metric(gdd) X=(t,r,theta,phi) Gamma=Christoffel(g,X) Rie = Riemann(Gamma,X) Ric=Ricci(Rie,X) Rs =Rscalar(Ric) print 'Initial metric:' pprint(gdd) Gamma.nonzero() Ric.nonzero() #Rie.nonzero() Rs.printing() print '-'*40 #Solving EFE for A and B s = ( Ric.dd(1,1)/ A(r) ) + ( Ric.dd(0,0)/ B(r) ) pprint (s) t = dsolve(s, A(r))
from ET import * B = Function('B') A = Function('A') t = Symbol('t') r = Symbol('r') theta = Symbol('theta') phi = Symbol('phi') g = Metric((-B(r), 0, 0, 0), (0, A(r), 0, 0), (0, 0, r**2, 0), (0, 0, 0, r**2 * sin(theta)**2)) x = (t, r, theta, phi) C = Christoffel(g, x) Rie = Riemann(C, x) Ric = Ricci(Rie, x) Rs = Rscalar(Ric) G = ET(Ric, g, Rs) print 'Initial metric:' pprint(g.matrix()) #C.nonzero() Ric.nonzero() #Rie.nonzero() #Rs.printing() G.nonzero() print 'Initial metric:' pprint(gdd) Gamma.nonzero() Ric.nonzero()
import Ricci from sympy import * from sympy.abc import phi, theta coordinate = [theta, phi] g = Matrix([[1, 0], [0, sin(theta) * sin(theta)]]) S2 = Ricci.Ricci(coordinate, g) CF = S2.ChristoffelSymbol() print(CF)