35 use sufr_kinds
, only: double
36 use sufr_system
, only: syntax_quit
37 use sufr_constants
, only: set_sufr_constants, c3rd,pi, pc_g,pc_c, msun
40 real(double) :: a, risco,m,z1,z2,fiscogw,fiscoorb
44 call set_sufr_constants()
47 narg = command_argument_count()
49 call get_command_argument(1,str)
52 call get_command_argument(2,str)
56 call syntax_quit(
'<Mbh> [<a_spin>]', 0, &
57 'This program calculates ISCO properties for a black hole with mass Mbh (Mo) and dimensionless spin -1 < a_spin < 1')
61 if(a.lt.0.d0) retro = 1
64 z1 = 1 + (1 - a*a)**c3rd * ( (1+a)**c3rd + (1-a)**c3rd )
65 z2 = sqrt(3*a*a + z1*z1)
67 risco = m * (3+z2 - sqrt((3-z1)*(3+z1+2*z2)) )
69 risco = m * (3+z2 + sqrt((3-z1)*(3+z1+2*z2)) )
71 fiscoorb = pc_c**3/(2*pi*(risco/m)**1.5d0*pc_g*m*msun)
76 write(*,
'(2x,A,F12.3)')
'Mass: ', m
77 write(*,
'(2x,A,F12.3)')
'Spin: ', a
79 write(*,
'(2x,A,F12.3)')
'Risco/M: ', risco/m
80 write(*,
'(2x,A,F12.4)')
'fisco,orb:', fiscoorb
81 write(*,
'(2x,A,F12.4)')
'fisco,gw: ', fiscogw