Gravity Engine 12.0
Unity Asset for Gravity
Loading...
Searching...
No Matches
HohmannGeneral Class Reference

Hohmann transfer or rendezvous between any two circular orbits. Handles diffences in radius, inclination and RAAN (Omega). More...

Inheritance diagram for HohmannGeneral:
OrbitTransfer

Public Member Functions

 HohmannGeneral (OrbitData fromOrbit, OrbitData toOrbit, bool rendezvous)
 
void CircularInclinationAndAN (OrbitData fromOrbit, OrbitData toOrbit, bool rendezvous)
 
- Public Member Functions inherited from OrbitTransfer
 OrbitTransfer (OrbitData fromOrbit, OrbitData toOrbit)
 
 OrbitTransfer (OrbitData fromOrbit)
 
float GetDeltaV ()
 
float GetDeltaT ()
 
List< ManeuverGetManeuvers ()
 
override string ToString ()
 

Static Public Member Functions

static void FindClosestNode (OrbitData fromData, OrbitData toData, ref double u_initial, ref double u_final, ref double phase_to_node)
 Determine the closest node of the fromOrbit with respect to the to orbit i.e. the point at which the planes of the orbits cross. The result is the phase from the current position in the from orbit to the nearest node.
 

Additional Inherited Members

- Protected Attributes inherited from OrbitTransfer
string name = "base (error)"
 Name of the transfer (will be over-riden by implementing class.
 
List< Maneuvermaneuvers
 Maneuvers required to execute the transfer.
 
float deltaV
 total cost of the manuevers
 
float deltaT
 
OrbitData fromOrbit
 
OrbitData toOrbit
 
NBody centerBody
 

Detailed Description

Hohmann transfer or rendezvous between any two circular orbits. Handles diffences in radius, inclination and RAAN (Omega).

Rendezvous in general requires an intermediate transfer orbit to adjust the phasing of the chasing ship in order that it arrives at the common node with the correct phase relationship for rendezvous. This intermediate orbit is "free" in dV (since the velocity will help it get to the target).

The general case follows Vallado Algorithm 46 (p368) with additional code to handle the case of outer orbit to inner orbit.

Coplanar transfer/rdvs is handled by the same code that was used in the original HohmannXfer class.

Member Function Documentation

◆ FindClosestNode()

static void HohmannGeneral.FindClosestNode ( OrbitData  fromData,
OrbitData  toData,
ref double  u_initial,
ref double  u_final,
ref double  phase_to_node 
)
static

Determine the closest node of the fromOrbit with respect to the to orbit i.e. the point at which the planes of the orbits cross. The result is the phase from the current position in the from orbit to the nearest node.

Parameters
fromDataOrbit data of fromOrbit, including phase
toDataOrbit data of to orbit (including phase)
u_initialabsolute phase angle of nearest node in fromOrbit (radians)
u_finalabsolute phase angle to nearest node in toOrbit (radians)
phase_to_nodePhase delta from current position in from orbit to node (radians)

The documentation for this class was generated from the following file: