GremlinEq
Public Types | Public Member Functions | Public Attributes | List of all members
FT Class Reference

Fujita Tagoshi Class. More...

#include <FT.h>

Public Types

typedef double Real
 
typedef long double LongReal
 
typedef std::complex< Real > Complex
 
typedef std::complex< LongReal > LongComplex
 

Public Member Functions

 FT (const int l, const int m, const Real r, const Real a, const Real omega, const Real lambda, const Real tolerance)
 
 FT (const int l, const int m, const Real p, const Real ecc, const Real a, const Real omega, const Real lambda, const Real tolerance)
 
Complex Bin ()
 
Complex Btrans ()
 
Complex Ctrans ()
 
void CalcRFields (const Real rad, const int DoH)
 
Complex TeukRin ()
 
Complex TeukRup ()
 
Complex dr_TeukRin ()
 
Complex dr_TeukRup ()
 
Complex ddr_TeukRin ()
 
Complex ddr_TeukRup ()
 
Real Accuracy_in ()
 
Real Accuracy_up ()
 
Real request_precision_in (const Real p)
 
Real request_precision_up (const Real p)
 
Real request_precision_in ()
 
Real request_precision_up ()
 
int terms_evaluated ()
 
void set_gmp (int flag)
 
int get_gmp ()
 
Real K (const Real rad)
 
Real dr_K (const Real rad)
 
Real ddr_K ()
 
Complex teuk_potential (const Real rad)
 
Complex get_ddrteuk (const Real rad, const Complex rteuk, const Complex drteuk)
 
int choose_solvers (const Real low, const Real high, const Real *lowerrs, const Real *higherrs, const int isin, const int oldchoice, Real **locptr, int **choiceptr, const int *maxchoiceptr)
 
void geterrs (const Real r, Real *errs, int isin)
 
Complex callsolver (const int isin, const int which, const Real r, const Real epsilon, const Complex nu, const Real precision, Complex *deriv)
 
Complex callin (const Real r, Complex *deriv)
 
Complex callup (const Real r, Complex *deriv)
 
void getlocs (const int isin)
 
Real plusfrac (Real nu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
Complex cplusfrac (Complex nu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
Real minusfrac (Real nu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
Complex cminusfrac (Complex nu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
Real radialfrac (Real nu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
Complex cradialfrac (Complex nu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
Real radialfrac_half (Real imnu, Real epsilon, Real q, int m, Real lambda, Real *term)
 
int renangmom (Real epsilon, Real q, int l, int m, Real lambda, Complex *nu)
 
int get_deciders (Real epsilon, Real q, int m, Real lambda, Real *halfval, Real *oneslope)
 
int renangmom_real_search_procedure (Real epsilon, Real q, int l, int m, Real lambda, Complex *nu)
 
int singularity_fit (Real epsilon, Real q, int l, int m, Real lambda, int guessint, int guessint2, Real spacing, Complex *nu)
 
int renangmom_real (Real epsilon, Real q, int l, int m, Real lambda, Real detect_limit, Real *nu)
 
int renangmom_real_divide_search (Real epsilon, Real q, int l, int m, Real lambda, Real *nu)
 
int renangmom_half (Real epsilon, Real q, int l, int m, Real lambda, Real *imnu)
 
int renangmom_iint (Real epsilon, Real q, int l, int m, Real lambda, Real *imnu)
 
int renangmom_far (Real epsilon, Real q, int l, int m, Real lambda, Complex *nu)
 
Real nu_predictor (Real epsilon, Real q, int m, Real lambda)
 
int renangmom_real_guess (Real epsilon, Real q, int m, Real lambda, Real guess, Real *nu)
 
Real fractions_poly_approx (Real epsilon, Real q, int m, Real lambda)
 
Real radial_half_value (Real epsilon, Real q, int m, Real lambda, Real *term)
 
Real radial_int_slope (Real epsilon, Real q, int m, Real lambda, Real *term)
 
void asympt_amps (Complex nu, Real epsilon, Real q, int m, Real lambda, Complex *b_trans, Complex *b_inc, Complex *b_ref, Complex *c_trans)
 
Complex fsum (Complex nu, Real epsilon, Real q, int m, Real lambda)
 
Complex kfactor (Complex nu, Real epsilon, Real q, int m, Real lambda)
 
Complex aminus (Complex nu, Real epsilon, Real q, int m, Real lambda)
 
Complex rzero (Complex nu, Real epsilon, Real q, int m, Real lambda, Real x, Complex *deriv)
 
Complex rin_hyper (Complex nu, Real epsilon, Real q, int m, Real lambda, Real x, Real precision, Complex *deriv)
 
Complex rcoulomb (Complex nu, Real epsilon, Real q, int m, Real lambda, Real z, Complex *deriv)
 
Complex rin_coulomb (Complex nu, Real epsilon, Real q, int m, Real lambda, Real z, Real precision, Complex *deriv)
 
Complex rup_tricomi (Complex nu, Real epsilon, Real q, int m, Real lambda, Real z, Real precision, Complex *deriv)
 
Complex rin_small (Complex nu, Real epsilon, Real q, int m, Real lambda, Real x, Real precision, Complex *deriv)
 
Complex rup_hyper (Complex nu, Real epsilon, Real q, int m, Real lambda, Real x, Real precision, Complex *deriv)
 
std::complex< double > gammln (const std::complex< double > x)
 
std::complex< double > sinln (const std::complex< double > x)
 
std::complex< HYPERGEOM_REAL_TYPE > hypergeom2F1 (std::complex< double > n1, std::complex< double > n2, std::complex< double > d1, std::complex< double > x)
 
std::complex< HYPERGEOM_REAL_TYPE > hypergeom1F1 (std::complex< double > n1, std::complex< double > d1, std::complex< double > x)
 
std::complex< HYPERGEOM_REAL_TYPE > hypergeomU (std::complex< double > a, std::complex< double > b, std::complex< double > x)
 
std::complex< HYPERGEOM_REAL_TYPE > hypergeomU_reduced (std::complex< double > a, std::complex< double > b, std::complex< double > x)
 
std::complex< HYPERGEOM_REAL_TYPE > hypergeom2F1_gmp (std::complex< double > n1, std::complex< double > n2, std::complex< double > d1, std::complex< double > x, int precision)
 
std::complex< HYPERGEOM_REAL_TYPE > hypergeom1F1_gmp (std::complex< double > n1, std::complex< double > d1, std::complex< double > x, int precision)
 

Public Attributes

int l
 
int m
 
Real a
 
Real p
 
Real e
 
Real omega
 
Real lambda
 
Real tolerance
 
Real accuracy_in
 
Real accuracy_up
 
Real rin_request_precision
 
Real rup_request_precision
 
Complex nu
 The renormalized angular momentum.
 
Complex b_trans
 
Complex b_inc
 
Complex c_trans
 
Complex rteuk_in
 
Complex rteuk_up
 Radial Teukolsky function.
 
Complex drteuk_in
 
Complex drteuk_up
 First derivatives of radial Teukolsky function.
 
Complex ddrteuk_in
 
Complex ddrteuk_up
 Second derivatives of the radial Teukolsky function.
 
int up_choices [FT_MAXDIVS]
 
Real up_choice_locs [FT_MAXDIVS]
 
int in_choices [FT_MAXDIVS]
 
Real in_choice_locs [FT_MAXDIVS]
 
Complex test_renangmoms [TEST_LENGTH]
 
int gmp_on
 
int hypergeom_terms
 

Detailed Description

Fujita Tagoshi Class.

FT defines methods for computing solutions to the homogeneous Teukolsky equation as laid out in papers by Ryuichi Fujita and Hideyushi Tagoshi

Member Function Documentation

◆ Accuracy_in()

Real FT::Accuracy_in ( )
inline

the actual error bound

◆ Accuracy_up()

Real FT::Accuracy_up ( )
inline

the actual error bound

◆ Bin()

Complex FT::Bin ( )
inline

asymptotic amplitude

◆ Btrans()

Complex FT::Btrans ( )
inline

asymptotic amplitudes

◆ CalcRFields()

void FT::CalcRFields ( const Real  rad,
const int  DoH 
)

set the point at which the fields are calculated

◆ choose_solvers()

int FT::choose_solvers ( const Real  low,
const Real  high,
const Real *  lowerrs,
const Real *  higherrs,
const int  isin,
const int  oldchoice,
Real **  locptr,
int **  choiceptr,
const int *  maxchoiceptr 
)

some quantities in the Teukolsky equation

◆ Ctrans()

Complex FT::Ctrans ( )
inline

asymptotic amplitudes

◆ ddr_K()

Real FT::ddr_K ( )
inline

some quantities in the Teukolsky equation

◆ ddr_TeukRin()

Complex FT::ddr_TeukRin ( )
inline

value of the homogeneous solutions

◆ ddr_TeukRup()

Complex FT::ddr_TeukRup ( )
inline

value of the homogeneous solutions

◆ dr_K()

Real FT::dr_K ( const Real  rad)
inline

some quantities in the Teukolsky equation

◆ dr_TeukRin()

Complex FT::dr_TeukRin ( )
inline

value of the homogeneous solutions

◆ dr_TeukRup()

Complex FT::dr_TeukRup ( )
inline

value of the homogeneous solutions

◆ get_ddrteuk()

Complex FT::get_ddrteuk ( const Real  rad,
const Complex  rteuk,
const Complex  drteuk 
)
inline

some quantities in the Teukolsky equation

◆ K()

Real FT::K ( const Real  rad)
inline

some quantities in the Teukolsky equation

◆ request_precision_in() [1/2]

Real FT::request_precision_in ( const Real  p)
inline

requesting precision

◆ request_precision_in() [2/2]

Real FT::request_precision_in ( )
inline

requesting precision

◆ request_precision_up() [1/2]

Real FT::request_precision_up ( const Real  p)
inline

requesting precision

◆ request_precision_up() [2/2]

Real FT::request_precision_up ( )
inline

requesting precision

◆ teuk_potential()

Complex FT::teuk_potential ( const Real  rad)
inline

some quantities in the Teukolsky equation

◆ TeukRin()

Complex FT::TeukRin ( )
inline

value of the homogeneous solutions

◆ TeukRup()

Complex FT::TeukRup ( )
inline

value of the homogeneous solutions


The documentation for this class was generated from the following files: