27 #ifndef __GyotoKerrKS_H_
28 #define __GyotoKerrKS_H_
31 namespace Metric {
class KerrKS; }
36 #ifdef GYOTO_USE_XERCES
82 void
spin(const double spin);
88 void horizonSecurity(double drhor);
89 double horizonSecurity() const;
90 void genericIntegrator(bool);
91 bool genericIntegrator() const ;
93 double
gmunu(const double * x,
94 int alpha, int beta) const ;
96 void
gmunu(double g[4][4], const double * pos) const;
101 void
gmunu_up(double gup[4][4], const double * pos) const;
108 void
jacobian(double dst[4][4][4], const double * x) const ;
111 int christoffel(double dst[4][4][4], const double * x) const ;
112 int christoffel(double dst[4][4][4], const double * pos, double gup[4][4], double jac[4][4][4]) const ;
114 void
nullifyCoord(double coord[8], double &tdot2) const;
117 double dir=1.) const ;
121 void
MakeCst(const double* coord, double* cst) const;
132 int
myrk4(Worldline * line, const double coord[8], double h, double res[8]) const;
141 int
myrk4(const double * coord, const double* cst , double h, double* res) const;
148 int
myrk4_adaptive(Gyoto::Worldline* line, const double * coord, double lastnorm, double normref, double* coord1, double h0, double& h1, double h1max) const;
153 int diff(const double* coord, const double* cst, double* res) const;
bool generic_integrator_
which integrator to use
Definition: GyotoKerrKS.h:69
double rsink_
numerical horizon
Definition: GyotoKerrKS.h:67
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:83
Base class for work in progress.
Definition: GyotoWIP.h:46
Metric around a Kerr black-hole in Kerr-Schild coordinates Warning: this metric is seldom used and ma...
Definition: GyotoKerrKS.h:55
void gmunu_up(double gup[4][4], const double *pos) const
The inverse matrix of gmunu.
Base class for metrics.
Definition: GyotoMetric.h:148
int myrk4(Worldline *line, const double coord[8], double h, double res[8]) const
RK4 integrator.
void setParticleProperties(Worldline *line, const double *coord) const
Set Metric-specific constants of motion. Used e.g. in KerrBL.
void jacobian(double dst[4][4][4], const double *x) const
The derivatives of gmunu.
virtual int isStopCondition(double const *const coord) const
Check whether integration should stop.
double drhor_
horizon security
Definition: GyotoKerrKS.h:68
virtual double christoffel(const double coord[8], const int alpha, const int mu, const int nu) const
Chistoffel symbol.
double spin_
Angular momentum parameter.
Definition: GyotoKerrKS.h:65
double gmunu(const double *x, int alpha, int beta) const
Metric coefficients.
Timelike or null geodesics.
Base class for metric description.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
Pointers performing reference counting.
Definition: GyotoProperty.h:41
int myrk4_adaptive(Gyoto::Worldline *line, const double *coord, double lastnorm, double normref, double *coord1, double h0, double &h1, double h1max) const
?
double spin() const
Returns spin.
void MakeCst(const double *coord, double *cst) const
In Kerr-Schild coordinates [T,x,y,z,Tdot,xdot,ydot,zdot], computes the four constants of the movement...
virtual KerrKS * clone() const
Copy constructor.
virtual void circularVelocity(double const pos[4], double vel[4], double dir=1.) const
Yield circular velocity at a given position.
double a2_
spin_*spin_
Definition: GyotoKerrKS.h:66
virtual int diff(const double y[8], double res[8]) const
F function such as dy/dtau=F(y,cst)
void nullifyCoord(double coord[8], double &tdot2) const
Set tdot (coord[4]) such that coord is light-like and return other possible tdot. ...