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