Modules

ModuleSource FileDescription
analytical_ephemeris_module analytical_ephemeris_module.f90

Analytical ephemeris routines for solar system bodies.

base_class_module base_class_module.f90

A base class for defining other classes.

bplane_module bplane_module.f90

B-plane and hyperbolic routines.

brent_module brent_module.f90

Brent algorithms for minimization and root solving without derivatives.

Read more…
c_interface_module c_interface_module.f90

C interfaces to some of the routines. This is an experiment to be able to call them from Python. (see the python_test.py file in tests)

celestial_body_module celestial_body_module.f90

Celestial body definitions

complex_step_module complex_step.f90

Complex-step differentiation routines.

Read more…
conversion_module conversion_module.f90

Conversion factors.

Read more…
crtbp_module crtbp_module.f90

This module contains various routines related to the Circular Restricted Three-Body Problem (CRTBP).

drag_module drag_module.f90

Drag model

eispack_module eispack_module.f90

Refactored SLATEC/EISPACK routines for computing eigenvalues and eigenvectors.

ephemeris_module ephemeris_module.f90

Abstract class for celestial body ephemerides.

fortran_astrodynamics_toolkit fortran_astrodynamics_toolkit.f90

The main module that uses all the other modules. Allows for a single use fortran_astrodynamics_toolkit to access the entire library.

geodesy_module geodesy_module.f90

Geodesy routines.

geometry_module geometry_module.f90

Geometry routines.

geopotential_module geopotential_module.f90

Gravity models for computing gravitational acceleration due to geopotential.

Read more…
gooding_module gooding_module.f90

Gooding's Kepler and universal elements conversion routines.

Read more…
gravity_module gravity_module.f90

Gravity model

Read more…
halo_orbit_module halo_orbit_module.f90

Halo orbit routines.

Read more…
iau_orientation_module iau_orientation_module.f90

IAU orientation models for the Earth and planets.

Read more…
jpl_ephemeris_module jpl_ephemeris_module.f90

For reading the JPL planetary and lunar ephemerides. This is an extensively modified version of the original FORTRAN 77 code from JPL.

Read more…
kepler_module kepler_module.f90

Kepler propagation routines.

kind_module kind_module.F90

Define the numeric kinds.

lambert_module lambert_module.f90

This module contains the Izzo and Gooding algorithms for solving Lambert's problem.

math_module math_module.f90

General math routines

matrix_module matrix_module.f90

Various matrix routines

minpack_module minpack_module.f90

Minpack routines for solving a set of nonlinear equations. The two main routines here are hybrj (user-provided Jacobian) and hybrd (estimates the Jacobian using finite differences).

Read more…
modified_equinoctial_module modified_equinoctial_module.f90

Modified equinoctial elements routines.

Read more…
newton_module newton_module.f90

Basic Newton solver.

numbers_module numbers_module.f90

Defines some numeric parameters.

obliquity_module obliquity_module.f90

For computing the obliquity of the ecliptic.

Read more…
orbital_mechanics_module orbital_mechanics_module.f90

Basic orbital mechanics routines.

random_module random_module.f90

Random number generation.

relative_motion_module relative_motion_module.f90

This module contains various routines related to relative motion.

Read more…
rk_module rk_module.f90

Runge-Kutta integration.

rk_module_variable_step rk_module_variable_step.f90

High-order variable step size Runge-Kutta integration methods.

Read more…
spice_ephemeris_module spice_ephemeris_module.f90

Interface to the SPICE ephemeris library.

Read more…
standish_module standish_module.f90

Approximate positions of the major planets.

Read more…
string_module string_module.f90

Module for string manipulation.

time_module time_module.f90

Time conversion routines.

transformation_module transformation_module.f90

Coordinate transformations.

vector_module vector_module.f90

Routines for the manipulation of vectors.

module~~graph~~ModuleGraph module~analytical_ephemeris_module analytical_ephemeris_module module~conversion_module conversion_module module~analytical_ephemeris_module->module~conversion_module module~kind_module kind_module module~analytical_ephemeris_module->module~kind_module module~numbers_module numbers_module module~analytical_ephemeris_module->module~numbers_module module~base_class_module base_class_module module~bplane_module bplane_module module~bplane_module->module~kind_module module~bplane_module->module~numbers_module module~vector_module vector_module module~bplane_module->module~vector_module module~brent_module brent_module module~brent_module->module~kind_module module~brent_module->module~numbers_module module~c_interface_module c_interface_module module~geopotential_module geopotential_module module~c_interface_module->module~geopotential_module module~c_interface_module->module~kind_module iso_c_binding iso_c_binding module~c_interface_module->iso_c_binding module~celestial_body_module celestial_body_module module~celestial_body_module->module~base_class_module module~celestial_body_module->module~kind_module module~celestial_body_module->module~numbers_module module~complex_step_module complex_step_module module~complex_step_module->module~kind_module module~conversion_module->module~kind_module module~conversion_module->module~numbers_module module~crtbp_module crtbp_module module~crtbp_module->module~kind_module module~crtbp_module->module~numbers_module module~drag_module drag_module module~drag_module->module~kind_module module~eispack_module eispack_module module~eispack_module->module~kind_module module~ephemeris_module ephemeris_module module~ephemeris_module->module~celestial_body_module module~ephemeris_module->module~kind_module module~fortran_astrodynamics_toolkit fortran_astrodynamics_toolkit module~fortran_astrodynamics_toolkit->module~analytical_ephemeris_module module~fortran_astrodynamics_toolkit->module~base_class_module module~fortran_astrodynamics_toolkit->module~bplane_module module~fortran_astrodynamics_toolkit->module~brent_module module~fortran_astrodynamics_toolkit->module~c_interface_module module~fortran_astrodynamics_toolkit->module~celestial_body_module module~fortran_astrodynamics_toolkit->module~complex_step_module module~fortran_astrodynamics_toolkit->module~conversion_module module~fortran_astrodynamics_toolkit->module~crtbp_module module~fortran_astrodynamics_toolkit->module~drag_module module~fortran_astrodynamics_toolkit->module~eispack_module module~fortran_astrodynamics_toolkit->module~ephemeris_module module~geodesy_module geodesy_module module~fortran_astrodynamics_toolkit->module~geodesy_module module~geometry_module geometry_module module~fortran_astrodynamics_toolkit->module~geometry_module module~fortran_astrodynamics_toolkit->module~geopotential_module module~gooding_module gooding_module module~fortran_astrodynamics_toolkit->module~gooding_module module~gravity_module gravity_module module~fortran_astrodynamics_toolkit->module~gravity_module module~halo_orbit_module halo_orbit_module module~fortran_astrodynamics_toolkit->module~halo_orbit_module module~iau_orientation_module iau_orientation_module module~fortran_astrodynamics_toolkit->module~iau_orientation_module module~jpl_ephemeris_module jpl_ephemeris_module module~fortran_astrodynamics_toolkit->module~jpl_ephemeris_module module~kepler_module kepler_module module~fortran_astrodynamics_toolkit->module~kepler_module module~fortran_astrodynamics_toolkit->module~kind_module module~lambert_module lambert_module module~fortran_astrodynamics_toolkit->module~lambert_module module~math_module math_module module~fortran_astrodynamics_toolkit->module~math_module module~matrix_module matrix_module module~fortran_astrodynamics_toolkit->module~matrix_module module~minpack_module minpack_module module~fortran_astrodynamics_toolkit->module~minpack_module module~modified_equinoctial_module modified_equinoctial_module module~fortran_astrodynamics_toolkit->module~modified_equinoctial_module module~fortran_astrodynamics_toolkit->module~numbers_module module~obliquity_module obliquity_module module~fortran_astrodynamics_toolkit->module~obliquity_module module~orbital_mechanics_module orbital_mechanics_module module~fortran_astrodynamics_toolkit->module~orbital_mechanics_module module~random_module random_module module~fortran_astrodynamics_toolkit->module~random_module module~relative_motion_module relative_motion_module module~fortran_astrodynamics_toolkit->module~relative_motion_module module~rk_module rk_module module~fortran_astrodynamics_toolkit->module~rk_module module~rk_module_variable_step rk_module_variable_step module~fortran_astrodynamics_toolkit->module~rk_module_variable_step module~standish_module standish_module module~fortran_astrodynamics_toolkit->module~standish_module module~string_module string_module module~fortran_astrodynamics_toolkit->module~string_module module~time_module time_module module~fortran_astrodynamics_toolkit->module~time_module module~transformation_module transformation_module module~fortran_astrodynamics_toolkit->module~transformation_module module~fortran_astrodynamics_toolkit->module~vector_module module~geodesy_module->module~kind_module module~geodesy_module->module~numbers_module module~geometry_module->module~kind_module module~geometry_module->module~vector_module module~geopotential_module->module~kind_module module~geopotential_module->module~numbers_module module~gooding_module->module~kind_module module~gooding_module->module~numbers_module module~gravity_module->module~kind_module module~gravity_module->module~numbers_module iso_fortran_env iso_fortran_env module~gravity_module->iso_fortran_env module~halo_orbit_module->module~crtbp_module module~halo_orbit_module->module~kind_module module~halo_orbit_module->module~numbers_module module~halo_orbit_module->iso_fortran_env module~iau_orientation_module->module~conversion_module module~iau_orientation_module->module~kind_module module~iau_orientation_module->module~numbers_module module~jpl_ephemeris_module->module~ephemeris_module module~jpl_ephemeris_module->module~kind_module module~jpl_ephemeris_module->iso_fortran_env module~kepler_module->module~kind_module module~kepler_module->module~numbers_module module~kepler_module->iso_fortran_env module~kind_module->iso_fortran_env module~lambert_module->module~kind_module module~lambert_module->module~numbers_module module~lambert_module->module~vector_module module~math_module->module~kind_module module~math_module->module~numbers_module module~matrix_module->module~kind_module module~matrix_module->module~numbers_module module~minpack_module->module~kind_module module~minpack_module->module~numbers_module module~modified_equinoctial_module->module~kind_module module~modified_equinoctial_module->module~numbers_module module~modified_equinoctial_module->module~vector_module module~newton_module newton_module module~newton_module->module~kind_module module~newton_module->module~numbers_module module~numbers_module->module~kind_module module~obliquity_module->module~conversion_module module~obliquity_module->module~kind_module module~orbital_mechanics_module->module~kind_module module~orbital_mechanics_module->module~math_module module~orbital_mechanics_module->module~numbers_module module~orbital_mechanics_module->module~vector_module module~random_module->module~kind_module module~relative_motion_module->module~kind_module module~relative_motion_module->module~numbers_module module~rk_module->module~kind_module module~rk_module->module~numbers_module module~rk_module_variable_step->module~kind_module module~rk_module_variable_step->module~numbers_module module~spice_ephemeris_module spice_ephemeris_module module~spice_ephemeris_module->module~ephemeris_module module~spice_ephemeris_module->module~kind_module module~spice_ephemeris_module->iso_fortran_env module~standish_module->module~base_class_module module~standish_module->module~celestial_body_module module~standish_module->module~conversion_module module~standish_module->module~ephemeris_module module~standish_module->module~kind_module module~standish_module->module~numbers_module module~standish_module->module~time_module module~time_module->module~kind_module module~transformation_module->module~celestial_body_module module~transformation_module->module~ephemeris_module module~transformation_module->module~iau_orientation_module module~transformation_module->module~kind_module module~transformation_module->module~numbers_module module~transformation_module->module~time_module module~transformation_module->module~vector_module module~transformation_module->iso_fortran_env module~vector_module->module~kind_module module~vector_module->module~numbers_module proc~compute_eigenvalues_and_eigenvectors eispack_module::compute_eigenvalues_and_eigenvectors proc~compute_eigenvalues_and_eigenvectors->module~numbers_module proc~compute_halo_monodromy_matrix halo_orbit_module::compute_halo_monodromy_matrix proc~compute_halo_monodromy_matrix->module~rk_module proc~compute_libration_points crtbp_module::compute_libration_points proc~compute_libration_points->module~math_module proc~compute_libration_points_v2 crtbp_module::compute_libration_points_v2 proc~compute_libration_points_v2->module~math_module proc~compute_monodromy_matrix_eigenvalues halo_orbit_module::compute_monodromy_matrix_eigenvalues proc~compute_monodromy_matrix_eigenvalues->module~matrix_module proc~compute_real_eigenvalues_and_normalized_eigenvectors eispack_module::compute_real_eigenvalues_and_normalized_eigenvectors proc~compute_real_eigenvalues_and_normalized_eigenvectors->module~numbers_module proc~crtbp_test crtbp_module::crtbp_test proc~crtbp_test->module~celestial_body_module proc~cube_root math_module::cube_root proc~cube_root->module~numbers_module proc~et_to_jd time_module::et_to_jd proc~et_to_jd->module~conversion_module proc~from_ijk_to_lvlh_mat relative_motion_module::from_ijk_to_lvlh_mat proc~from_ijk_to_lvlh_mat->module~vector_module proc~from_ijk_to_rsw_mat relative_motion_module::from_ijk_to_rsw_mat proc~from_ijk_to_rsw_mat->module~vector_module proc~from_lvlh_to_ijk_mat relative_motion_module::from_lvlh_to_ijk_mat proc~from_lvlh_to_ijk_mat->module~vector_module proc~from_rsw_to_ijk_mat relative_motion_module::from_rsw_to_ijk_mat proc~from_rsw_to_ijk_mat->module~vector_module proc~geopotential_module_test geopotential_module::geopotential_module_test proc~geopotential_module_test->module~conversion_module proc~geopotential_module_test->module~random_module proc~geopotential_module_test->module~vector_module proc~get_c_cdot_ecliptic transformation_module::ecliptic_frame%get_c_cdot_ecliptic proc~get_c_cdot_ecliptic->module~obliquity_module proc~get_rv_from_jpl_ephemeris jpl_ephemeris_module::jpl_ephemeris%get_rv_from_jpl_ephemeris proc~get_rv_from_jpl_ephemeris->module~celestial_body_module proc~get_rv_from_jpl_ephemeris->module~conversion_module proc~get_rv_from_jpl_ephemeris->module~numbers_module proc~get_rv_from_jpl_ephemeris->module~time_module proc~get_rv_from_spice_ephemeris spice_ephemeris_module::spice_ephemeris%get_rv_from_spice_ephemeris proc~get_rv_from_spice_ephemeris->module~celestial_body_module proc~get_rv_from_spice_ephemeris->module~numbers_module proc~halo_orbit_test halo_orbit_module::halo_orbit_test proc~halo_orbit_test->module~celestial_body_module proc~halo_to_rv_diffcorr halo_orbit_module::halo_to_rv_diffcorr proc~halo_to_rv_diffcorr->module~math_module proc~halo_to_rv_diffcorr->module~minpack_module proc~halo_to_rv_diffcorr->module~rk_module proc~iau_rotation_matrix iau_orientation_module::iau_rotation_matrix proc~iau_rotation_matrix->module~vector_module proc~integrate_to_event rk_module_variable_step::rk_variable_step_class%integrate_to_event proc~integrate_to_event->module~brent_module proc~integrate_to_event~2 rk_module::rk_class%integrate_to_event proc~integrate_to_event~2->module~brent_module proc~jd_to_et time_module::jd_to_et proc~jd_to_et->module~conversion_module proc~kepler_classical kepler_module::kepler_classical proc~kepler_classical->module~newton_module proc~lambert_test lambert_module::lambert_test proc~lambert_test->module~gooding_module proc~lambert_test->module~random_module proc~print_matrix matrix_module::print_matrix proc~print_matrix->iso_fortran_env proc~rk_test_variable_step rk_module_variable_step::rk_test_variable_step proc~rk_test_variable_step->module~conversion_module proc~rk_test_variable_step->module~orbital_mechanics_module proc~transformation_module_test transformation_module::transformation_module_test proc~transformation_module_test->module~jpl_ephemeris_module proc~zeroin brent_module::brent_class%zeroin proc~zeroin->iso_fortran_env
Help