GremlinEq
renangmom.h
1 //---------------------------------------------------------------------------
2 //
3 // $Id: renangmom.h,v 1.1 2013/05/17 15:30:12 sahughes Exp $
4 //
5 //---------------------------------------------------------------------------
6 
7 /* renangmom.h
8  * compute the renormalized angular momentum nu by solving the radial
9  * continued fraction equation
10  */
11 
12 #ifndef RENANGMOM_H_SEEN
13 #define RENANGMOM_H_SEEN
14 
15 #include "teukolskydefs.h"
16 
17 /* calculates nu
18  * returns 1 if it suceeds, 0 else */
19 int renangmom(Real epsilon, Real q, int l, int m, Real lambda, Complex *nu);
20 
21 /* calulates nu assuming it is real. returns 1 if it suceeds, 0 else */
22 int renangmom_real(Real epsilon, Real q, int l, int m, Real lambda, Real *nu);
23 
24 /* uses about the closest thing to a brute force root finder that I could
25  * come up with to search for real nu. Returns 1 if it succeeds */
26 int renangmom_real_divide_search(Real epsilon, Real q, int l, int m,
27  Real lambda, Real *nu);
28 
29 /* calulates nu assuming it is on the special line.
30  * Returns 1 if it suceeds, 0 else */
31 int renangmom_half(Real epsilon, Real q, int l, int m, Real lambda,
32  Real *imnu);
33 
34 /* calculates nu assuming it is on the line Re(nu) = 1 (so any int is
35  * then a solution)
36  * Returns 1 if it suceeds, 0 else */
37 int renangmom_iint(Real epsilon, Real q, int l, int m, Real lambda,
38  Real *imnu);
39 
40 /* Calculates nu when epsilon is too large for the region checks to work
41  * Assumes nu is complex */
42 int renangmom_far(Real epsilon, Real q, int l, int m, Real lambda,
43  Complex *nu);
44 
45 /* a very rough guess at Im(nu), used internally.
46  * returns the imaginary part of the nu such that beta(0) vanishes */
47 Real nu_predictor(Real epsilon,Real q,int m,Real lambda);
48 
49 #endif /* RENANGMOM_H_SEEN */