coherent WaveBurst
Library Reference Guide
home
cWB_docker
git
cWB
library
tools
eBBH
geodesics.hh
Go to the documentation of this file.
1
/*
2
# Copyright (C) 2019 Sergey Klimenko, Valentin Necula
3
#
4
# This program is free software: you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation, either version 3 of the License, or
7
# (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
# GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program. If not, see <https://www.gnu.org/licenses/>.
16
*/
17
18
19
#ifndef GEODESICS_HH
20
#define GEODESICS_HH
21
22
#include "cvode/cvode.h"
23
#include "nvector/nvector_serial.h"
/* serial N_Vector types, fcts., macros */
24
25
void
printfutil
(
double
*
y
);
26
void
f_util
(
double
*
y
,
double
Jspin,
double
mu);
27
28
class
geodesic
{
29
public
:
30
geodesic
(
double
r0,
double
phi0,
double
E0,
double
L0,
31
int
dir,
double
Jspin,
double
mu=0,
double
dt
=1);
32
~geodesic
();
33
34
bool
integrate
(
double
D_t,
int
&
N
,
double
rmin=0,
bool
stop_alr=
false
);
35
//returns "success" and the variables below:
36
double
*
r
, *
pr
, *
phi
, *
tau
, *
t
, *
Et
, *
Lt
, *
hplus
, *
hcross
;
37
38
private
:
39
N_Vector
y
;
40
realtype
udata
[2],
tret
;
//udata[0] = Jspin, udata[1] = mu
41
realtype*
ydata
;
42
void
*
cvode_mem
;
43
44
};
45
46
#endif
geodesic::Et
double * Et
Definition:
geodesics.hh:36
geodesic::geodesic
geodesic(double r0, double phi0, double E0, double L0, int dir, double Jspin, double mu=0, double dt=1)
Definition:
geodesics.cc:203
geodesic::cvode_mem
void * cvode_mem
Definition:
geodesics.hh:42
geodesic::hcross
double * hcross
Definition:
geodesics.hh:36
geodesic::integrate
bool integrate(double D_t, int &N, double rmin=0, bool stop_alr=false)
Definition:
geodesics.cc:270
N
#define N
geodesic::t
double * t
Definition:
geodesics.hh:36
geodesic::hplus
double * hplus
Definition:
geodesics.hh:36
geodesic::~geodesic
~geodesic()
Definition:
geodesics.cc:254
f_util
void f_util(double *y, double Jspin, double mu)
Definition:
geodesics.cc:138
geodesic
Definition:
geodesics.hh:28
geodesic::tret
realtype tret
Definition:
geodesics.hh:40
geodesic::r
double * r
Definition:
geodesics.hh:36
printfutil
void printfutil(double *y)
Definition:
geodesics.cc:341
dt
double dt
Definition:
DrawPhaseShift.C:13
geodesic::phi
double * phi
Definition:
geodesics.hh:36
geodesic::Lt
double * Lt
Definition:
geodesics.hh:36
geodesic::y
N_Vector y
Definition:
geodesics.hh:39
geodesic::udata
realtype udata[2]
Definition:
geodesics.hh:40
geodesic::tau
double * tau
Definition:
geodesics.hh:36
y
wavearray< double > y
Definition:
Test10.C:31
geodesic::ydata
realtype * ydata
Definition:
geodesics.hh:41
geodesic::pr
double * pr
Definition:
geodesics.hh:36