GR Engine
A physics engine in curved space-time
 All Classes Files Functions Variables
kerr.h
Go to the documentation of this file.
1 #ifndef __KERR_H__
2 #define __KERR_H__
3 
8 #include "geometry.h"
9 #include "kerr_coords.h"
10 
14 class KerrManifold : public Manifold
15 {
16  double M, a;
17 public:
18  KerrManifold(double, double);
19  ~KerrManifold();
20 
21  double getMass();
22  double getAngMomentum();
23  void setMass(double _M);
24  void setAngMomentum(double _a);
25 
27 };
28 
32 class KerrEFMetric : public Metric
33 {
34  KerrManifold* m;
35 protected:
36  double _g(int, int, Point);
37  double _invg(int, int, Point);
38  double _christoffel(int, int, int, Point);
39 
40 public:
41  enum { coordU = 0, coordR = 1, coordTheta = 2, coordPhi = 3 };
42 
43  KerrEFMetric(int cS, KerrManifold* _m);
44  ~KerrEFMetric();
45 };
46 
50 class KerrNearPoleMetric : public Metric
51 {
52  KerrManifold* m;
53 protected:
54  double _g(int, int, Point);
55  double _invg(int, int, Point);
56  double _christoffel(int, int, int, Point);
57 
58 public:
59  enum { coordU = 0, coordR = 1, coordX = 2, coordY = 3 };
60 
61  KerrNearPoleMetric(int cS, KerrManifold* _m);
63 };
64 
65 #endif
66