numbers_module.f90 Source File


This file depends on

sourcefile~~numbers_module.f90~~EfferentGraph sourcefile~numbers_module.f90 numbers_module.f90 sourcefile~kind_module.f90 kind_module.F90 sourcefile~numbers_module.f90->sourcefile~kind_module.f90

Files dependent on this one

sourcefile~~numbers_module.f90~~AfferentGraph sourcefile~numbers_module.f90 numbers_module.f90 sourcefile~analytical_ephemeris_module.f90 analytical_ephemeris_module.f90 sourcefile~analytical_ephemeris_module.f90->sourcefile~numbers_module.f90 sourcefile~conversion_module.f90 conversion_module.f90 sourcefile~analytical_ephemeris_module.f90->sourcefile~conversion_module.f90 sourcefile~bplane_module.f90 bplane_module.f90 sourcefile~bplane_module.f90->sourcefile~numbers_module.f90 sourcefile~vector_module.f90 vector_module.f90 sourcefile~bplane_module.f90->sourcefile~vector_module.f90 sourcefile~brent_module.f90 brent_module.f90 sourcefile~brent_module.f90->sourcefile~numbers_module.f90 sourcefile~celestial_body_module.f90 celestial_body_module.f90 sourcefile~celestial_body_module.f90->sourcefile~numbers_module.f90 sourcefile~conversion_module.f90->sourcefile~numbers_module.f90 sourcefile~crtbp_module.f90 crtbp_module.f90 sourcefile~crtbp_module.f90->sourcefile~numbers_module.f90 sourcefile~crtbp_module.f90->sourcefile~celestial_body_module.f90 sourcefile~math_module.f90 math_module.f90 sourcefile~crtbp_module.f90->sourcefile~math_module.f90 sourcefile~eispack_module.f90 eispack_module.f90 sourcefile~eispack_module.f90->sourcefile~numbers_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90 fortran_astrodynamics_toolkit.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~numbers_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~analytical_ephemeris_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~bplane_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~brent_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~celestial_body_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~conversion_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~crtbp_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~eispack_module.f90 sourcefile~geodesy_module.f90 geodesy_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~geodesy_module.f90 sourcefile~geopotential_module.f90 geopotential_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~geopotential_module.f90 sourcefile~gooding_module.f90 gooding_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~gooding_module.f90 sourcefile~gravity_module.f90 gravity_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~gravity_module.f90 sourcefile~halo_orbit_module.f90 halo_orbit_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~halo_orbit_module.f90 sourcefile~iau_orientation_module.f90 iau_orientation_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~iau_orientation_module.f90 sourcefile~jpl_ephemeris_module.f90 jpl_ephemeris_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~jpl_ephemeris_module.f90 sourcefile~kepler_module.f90 kepler_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~kepler_module.f90 sourcefile~lambert_module.f90 lambert_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~lambert_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~math_module.f90 sourcefile~matrix_module.f90 matrix_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~matrix_module.f90 sourcefile~minpack_module.f90 minpack_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~minpack_module.f90 sourcefile~modified_equinoctial_module.f90 modified_equinoctial_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~modified_equinoctial_module.f90 sourcefile~orbital_mechanics_module.f90 orbital_mechanics_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~orbital_mechanics_module.f90 sourcefile~relative_motion_module.f90 relative_motion_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~relative_motion_module.f90 sourcefile~rk_module.f90 rk_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~rk_module.f90 sourcefile~rk_module_variable_step.f90 rk_module_variable_step.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~rk_module_variable_step.f90 sourcefile~standish_module.f90 standish_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~standish_module.f90 sourcefile~transformation_module.f90 transformation_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~transformation_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~vector_module.f90 sourcefile~c_interface_module.f90 c_interface_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~c_interface_module.f90 sourcefile~ephemeris_module.f90 ephemeris_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~ephemeris_module.f90 sourcefile~geometry_module.f90 geometry_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~geometry_module.f90 sourcefile~obliquity_module.f90 obliquity_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~obliquity_module.f90 sourcefile~time_module.f90 time_module.f90 sourcefile~fortran_astrodynamics_toolkit.f90->sourcefile~time_module.f90 sourcefile~geodesy_module.f90->sourcefile~numbers_module.f90 sourcefile~geopotential_module.f90->sourcefile~numbers_module.f90 sourcefile~geopotential_module.f90->sourcefile~conversion_module.f90 sourcefile~geopotential_module.f90->sourcefile~vector_module.f90 sourcefile~gooding_module.f90->sourcefile~numbers_module.f90 sourcefile~gravity_module.f90->sourcefile~numbers_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~numbers_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~celestial_body_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~crtbp_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~math_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~matrix_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~minpack_module.f90 sourcefile~halo_orbit_module.f90->sourcefile~rk_module.f90 sourcefile~iau_orientation_module.f90->sourcefile~numbers_module.f90 sourcefile~iau_orientation_module.f90->sourcefile~conversion_module.f90 sourcefile~iau_orientation_module.f90->sourcefile~vector_module.f90 sourcefile~jpl_ephemeris_module.f90->sourcefile~numbers_module.f90 sourcefile~jpl_ephemeris_module.f90->sourcefile~celestial_body_module.f90 sourcefile~jpl_ephemeris_module.f90->sourcefile~conversion_module.f90 sourcefile~jpl_ephemeris_module.f90->sourcefile~ephemeris_module.f90 sourcefile~jpl_ephemeris_module.f90->sourcefile~time_module.f90 sourcefile~kepler_module.f90->sourcefile~numbers_module.f90 sourcefile~newton_module.f90 newton_module.f90 sourcefile~kepler_module.f90->sourcefile~newton_module.f90 sourcefile~lambert_module.f90->sourcefile~numbers_module.f90 sourcefile~lambert_module.f90->sourcefile~gooding_module.f90 sourcefile~lambert_module.f90->sourcefile~vector_module.f90 sourcefile~math_module.f90->sourcefile~numbers_module.f90 sourcefile~matrix_module.f90->sourcefile~numbers_module.f90 sourcefile~minpack_module.f90->sourcefile~numbers_module.f90 sourcefile~modified_equinoctial_module.f90->sourcefile~numbers_module.f90 sourcefile~modified_equinoctial_module.f90->sourcefile~vector_module.f90 sourcefile~newton_module.f90->sourcefile~numbers_module.f90 sourcefile~orbital_mechanics_module.f90->sourcefile~numbers_module.f90 sourcefile~orbital_mechanics_module.f90->sourcefile~math_module.f90 sourcefile~orbital_mechanics_module.f90->sourcefile~vector_module.f90 sourcefile~relative_motion_module.f90->sourcefile~numbers_module.f90 sourcefile~relative_motion_module.f90->sourcefile~vector_module.f90 sourcefile~rk_module.f90->sourcefile~numbers_module.f90 sourcefile~rk_module.f90->sourcefile~brent_module.f90 sourcefile~rk_module_variable_step.f90->sourcefile~numbers_module.f90 sourcefile~rk_module_variable_step.f90->sourcefile~brent_module.f90 sourcefile~rk_module_variable_step.f90->sourcefile~conversion_module.f90 sourcefile~rk_module_variable_step.f90->sourcefile~orbital_mechanics_module.f90 sourcefile~spice_ephemeris_module.f90 spice_ephemeris_module.f90 sourcefile~spice_ephemeris_module.f90->sourcefile~numbers_module.f90 sourcefile~spice_ephemeris_module.f90->sourcefile~celestial_body_module.f90 sourcefile~spice_ephemeris_module.f90->sourcefile~ephemeris_module.f90 sourcefile~standish_module.f90->sourcefile~numbers_module.f90 sourcefile~standish_module.f90->sourcefile~celestial_body_module.f90 sourcefile~standish_module.f90->sourcefile~conversion_module.f90 sourcefile~standish_module.f90->sourcefile~ephemeris_module.f90 sourcefile~standish_module.f90->sourcefile~time_module.f90 sourcefile~transformation_module.f90->sourcefile~numbers_module.f90 sourcefile~transformation_module.f90->sourcefile~celestial_body_module.f90 sourcefile~transformation_module.f90->sourcefile~iau_orientation_module.f90 sourcefile~transformation_module.f90->sourcefile~jpl_ephemeris_module.f90 sourcefile~transformation_module.f90->sourcefile~vector_module.f90 sourcefile~transformation_module.f90->sourcefile~ephemeris_module.f90 sourcefile~transformation_module.f90->sourcefile~obliquity_module.f90 sourcefile~transformation_module.f90->sourcefile~time_module.f90 sourcefile~vector_module.f90->sourcefile~numbers_module.f90 sourcefile~c_interface_module.f90->sourcefile~geopotential_module.f90 sourcefile~ephemeris_module.f90->sourcefile~celestial_body_module.f90 sourcefile~geometry_module.f90->sourcefile~vector_module.f90 sourcefile~obliquity_module.f90->sourcefile~conversion_module.f90 sourcefile~time_module.f90->sourcefile~conversion_module.f90

Source Code

!*****************************************************************************************
!> author: Jacob Williams
!
!  Defines some numeric parameters.

    module numbers_module

    use kind_module,  only: wp

    private

    real(wp),parameter,public :: zero       = 0.0_wp
    real(wp),parameter,public :: one        = 1.0_wp
    real(wp),parameter,public :: two        = 2.0_wp
    real(wp),parameter,public :: three      = 3.0_wp
    real(wp),parameter,public :: four       = 4.0_wp
    real(wp),parameter,public :: five       = 5.0_wp
    real(wp),parameter,public :: six        = 6.0_wp
    real(wp),parameter,public :: seven      = 7.0_wp
    real(wp),parameter,public :: eight      = 8.0_wp
    real(wp),parameter,public :: nine       = 9.0_wp
    real(wp),parameter,public :: ten        = 10.0_wp

    real(wp),parameter,public :: pi         = acos(-one)
    real(wp),parameter,public :: twopi      = two*pi
    real(wp),parameter,public :: fourpi     = four*pi
    real(wp),parameter,public :: halfpi     = 0.5_wp*pi

    real(wp),parameter,public :: universal_grav_constant = 6.67408e-20_wp !! CODATA-recommended universal gravitational
                                                                          !! constant \( km^3/kg-s^2  \)

    !> 3x3 identity matrix:
    real(wp),dimension(3,3),parameter,public :: identity_3x3 = reshape(&
                                                    [[one,zero,zero],&
                                                     [zero,one,zero],&
                                                     [zero,zero,one]],[3,3])

    !> 6x6 identity matrix:
    real(wp),dimension(6,6),parameter,public :: identity_6x6= reshape(&
                                                    [[one,zero,zero,zero,zero,zero],&
                                                     [zero,one,zero,zero,zero,zero],&
                                                     [zero,zero,one,zero,zero,zero],&
                                                     [zero,zero,zero,one,zero,zero],&
                                                     [zero,zero,zero,zero,one,zero],&
                                                     [zero,zero,zero,zero,zero,one] ],[6,6])

    end module numbers_module
!*****************************************************************************************