Gyoto
GyotoKerr2PN.h
Go to the documentation of this file.
1 
7 /*
8  Copyright 2026 Karim Abd El Dayem, Frederic Vincent & Thibaut Paumard
9 
10  This file is part of Gyoto.
11 
12  Gyoto is free software: you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation, either version 3 of the License, or
15  (at your option) any later version.
16 
17  Gyoto is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
24  */
25 
26 #ifndef __GyotoKerr2PN_h
27 #define __GyotoKerr2PN_h
28 
29 #include <GyotoMetric.h>
30 
31 namespace Gyoto {
32  namespace Metric {
33  class Kerr2PN;
34  };
35 };
36 
38 : public Gyoto::Metric::Generic {
40 
41 protected:
42  double spin_;
43  double Q_;
45 
46 public:
48  Kerr2PN();
49  Kerr2PN(const Kerr2PN & orig);
50  virtual ~Kerr2PN();
51  virtual Kerr2PN * clone() const ;
52 
53  void spin(const double charge);
54  double spin() const ;
55  void quadrupole(const double charge);
56  double quadrupole() const ;
57  void kerrQuadrupole(bool t) ;
58  bool kerrQuadrupole() const ;
59 
60  using Generic::gmunu;
61  double gmunu(double const x[4], int mu, int nu) const ;
62  using Generic::gmunu_up;
63  //double gmunu_up(double const x[4], int mu, int nu) const ;
65  int christoffel(double dst[4][4][4], double const pos[4]) const ;
66  int isStopCondition(double const coord[8]) const;
67  //void circularVelocity(double const * coor, double* vel, double dir) const;
68  //double getPotential(double const pos[4], double l_cst) const;
69  //double getSpecificAngularMomentum(double rr) const;
70 #endif
71 };
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
double spin_
Geometrized units spin parameter.
Definition: GyotoKerr2PN.h:42
double Q_
Geometrized units mass quadrupole parameter.
Definition: GyotoKerr2PN.h:43
Definition: GyotoKerr2PN.h:37
Base class for metrics.
Definition: GyotoMetric.h:163
virtual double christoffel(const double coord[4], const int alpha, const int mu, const int nu) const
Chistoffel symbol.
virtual double gmunu_up(double const x[4], int mu, int nu) const
Metric contravariant coefficients.
virtual double gmunu(double const x[4], int mu, int nu) const
Metric coefficients.
Base class for metric description.
double spin() const
Returns spin.
double quadrupole() const
Returns quadrupole.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:46
bool kerrQuadrupole() const
Returns boolean quadrupole_is_kerr_.
bool quadrupole_is_kerr_
Boolean: True iff the quadrupole is tied to its Kerr value -spin^2 in geometrized units...
Definition: GyotoKerr2PN.h:44
Pointers performing reference counting.
Definition: GyotoProperty.h:45
int isStopCondition(double const coord[8]) const
Check whether integration should stop.
virtual Kerr2PN * clone() const
Virtual copy constructor.
double gmunu(double const x[4], int mu, int nu) const
Metric coefficients.