orbel_fhybrid.f 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ***********************************************************************
  2. c ORBEL_FHYBRID.F
  3. ***********************************************************************
  4. * PURPOSE: Solves Kepler's eqn. for hyperbola using hybrid approach.
  5. *
  6. * Input:
  7. * e ==> eccentricity anomaly. (real scalar)
  8. * n ==> hyperbola mean anomaly. (real scalar)
  9. * Returns:
  10. * orbel_fhybrid ==> eccentric anomaly. (real scalar)
  11. *
  12. * ALGORITHM: For abs(N) < 0.636*ecc -0.6 , use FLON
  13. * For larger N, uses FGET
  14. * REMARKS:
  15. * AUTHOR: M. Duncan
  16. * DATE WRITTEN: May 26,1992.
  17. * REVISIONS:
  18. * REVISIONS: 2/26/93 hfl
  19. ***********************************************************************
  20. real*8 function orbel_fhybrid(e,n)
  21. include '../swift.inc'
  22. c... Inputs Only:
  23. real*8 e,n
  24. c... Internals:
  25. real*8 abn
  26. real*8 orbel_flon,orbel_fget
  27. c----
  28. c... Executable code
  29. abn = n
  30. if(n.lt.0.d0) abn = -abn
  31. if(abn .lt. 0.636d0*e -0.6d0) then
  32. orbel_fhybrid = orbel_flon(e,n)
  33. else
  34. orbel_fhybrid = orbel_fget(e,n)
  35. endif
  36. return
  37. end ! orbel_fhybrid
  38. c-------------------------------------------------------------------