bplane_module Module

B-plane and hyperbolic routines.


Uses

  • module~~bplane_module~~UsesGraph module~bplane_module bplane_module module~kind_module kind_module module~bplane_module->module~kind_module module~numbers_module numbers_module module~bplane_module->module~numbers_module module~vector_module vector_module module~bplane_module->module~vector_module iso_fortran_env iso_fortran_env module~kind_module->iso_fortran_env module~numbers_module->module~kind_module module~vector_module->module~kind_module module~vector_module->module~numbers_module

Used by

  • module~~bplane_module~~UsedByGraph module~bplane_module bplane_module module~fortran_astrodynamics_toolkit fortran_astrodynamics_toolkit module~fortran_astrodynamics_toolkit->module~bplane_module

Functions

public pure function hyperbolic_turning_angle(e) result(delta)

Author
Jacob Williams
Date
3/6/2016

Compute the hyperbolic turning angle from the eccentricity.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: e

eccentricity [--]

Return Value real(kind=wp)

turning angle [rad]

public pure function vinf_to_energy(vinfmag) result(energy)

Author
Jacob Williams
Date
3/6/2016

Convert V-infinity magnitude to energy.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: vinfmag

vector magnitude [km/s]

Return Value real(kind=wp)

two-body orbital energy [km^2/s^2]


Subroutines

public subroutine bplane(mu, rv, vinfvec, bmag, theta, BdotT, BdotR, status_ok)

Compute B-plane parameters from position and velocity.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: mu

central body grav parameter

real(kind=wp), intent(in), dimension(6) :: rv

state vector (km,km/s)

real(kind=wp), intent(out), dimension(3) :: vinfvec

incoming V-infinity vector (km/s)

real(kind=wp), intent(out) :: bmag

magnitude of B vector (km)

real(kind=wp), intent(out) :: theta

aim point orientation [rad]

real(kind=wp), intent(out) :: BdotT

(km)

real(kind=wp), intent(out) :: BdotR

(km)

logical, intent(out) :: status_ok

false if there were errors (non-hyperbolic or degenerate state)

public subroutine calculate_bplane_data(mu, state, bdotr, bdott, bmag, theta, istat)

Compute B-plane parameters from position and velocity -- alternate version.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: mu

central body grav parameter

real(kind=wp), intent(in), dimension(6) :: state

state vector (km,km/s)

real(kind=wp), intent(out) :: bdotr

(km)

real(kind=wp), intent(out) :: bdott

(km)

real(kind=wp), intent(out) :: bmag

magnitude of B vector (km)

real(kind=wp), intent(out) :: theta

aim point orientation [rad]

integer, intent(out) :: istat

status flag:

Read more…

private subroutine compute_vinf_vectors(mu, rv, vinfin, vinfout)

Compute the incoming and/or outgoing v-infinity vectors, given the position and velocity of a hyperbola.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: mu

central body gravitational parameter

real(kind=wp), intent(in), dimension(6) :: rv

position,velocity vector

real(kind=wp), intent(out), optional, dimension(3) :: vinfin

incoming v-infinity vector

real(kind=wp), intent(out), optional, dimension(3) :: vinfout

outgoing v-infinity vector

public subroutine bplane_test()

Unit test for bplane_module.

Arguments

None