(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)) pprint(t) metric = gdd.subs(A(r), t) print "metric:" pprint(metric) r22 = Ric.dd(3,3).subs( A(r), 1/B(r)) h = dsolve( r22, B(r) )
t=Symbol('t') r=Symbol('r') theta=Symbol('theta') phi=Symbol('phi') A= Function('A') K = Symbol('K') #general, spherically symmetric metric gdd=Matrix(( (-1,0,0,0), (0, A(t)/(1 - K*r**2), 0, 0), (0, 0, A(t)*r**2, 0), (0, 0, 0, A(t)*r**2*sin(theta)**2) )) g=Metric(gdd) x=(t,r,theta,phi) C=Christoffel(g,x) Rie = Riemann(C,x) Ric=Ricci( Rie,x) Rs =Rscalar(Ric) print 'Initial metric:' pprint(gdd) C.nonzero() Ric.nonzero() #Rie.nonzero() #Rs.printing()
theta = Symbol('theta') phi = Symbol('phi') #general, spherically symmetric metric 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) print 'Initial metric:' pprint(g.matrix()) C.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)) pprint(t) metric = g.matrix().subs(A(r), t) print "metric:" pprint(metric) r22 = Ric.dd(3, 3).subs(A(r), 1 / B(r)) h = dsolve(r22, B(r))