Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::orbital::transfer Namespace Reference

Functions

template<typename Scalar>
std::pair< Scalar, Scalar > hohmann_delta_v (const Scalar &r1, const Scalar &r2, double mu=constants::earth::mu)
 Hohmann transfer delta-v.
template<typename Scalar>
Scalar hohmann_total_delta_v (const Scalar &r1, const Scalar &r2, double mu=constants::earth::mu)
 Total Hohmann transfer delta-v.
template<typename Scalar>
Scalar hohmann_transfer_time (const Scalar &r1, const Scalar &r2, double mu=constants::earth::mu)
 Hohmann transfer time.
template<typename Scalar>
std::tuple< Scalar, Scalar, Scalar > bielliptic_delta_v (const Scalar &r1, const Scalar &r2, const Scalar &r_b, double mu=constants::earth::mu)
 Bielliptic transfer delta-v.
template<typename Scalar>
Scalar plane_change_delta_v (const Scalar &v, const Scalar &delta_i)
 Simple plane change delta-v.
template<typename Scalar>
Scalar combined_maneuver_delta_v (const Scalar &v1, const Scalar &v2, const Scalar &delta_i)
 Combined plane change and altitude change.

Function Documentation

◆ bielliptic_delta_v()

template<typename Scalar>
std::tuple< Scalar, Scalar, Scalar > vulcan::orbital::transfer::bielliptic_delta_v ( const Scalar & r1,
const Scalar & r2,
const Scalar & r_b,
double mu = constants::earth::mu )

Bielliptic transfer delta-v.

Three-impulse transfer that can be more efficient than Hohmann for large radius ratios (r2/r1 > 11.94).

Template Parameters
Scalardouble or casadi::MX
Parameters
r1Initial orbit radius [m]
r2Final orbit radius [m]
r_bIntermediate apoapsis radius [m] (should be > max(r1, r2))
muGravitational parameter [m³/s²] (default: Earth)
Returns
Tuple of (dv1, dv2, dv3) [m/s]

◆ combined_maneuver_delta_v()

template<typename Scalar>
Scalar vulcan::orbital::transfer::combined_maneuver_delta_v ( const Scalar & v1,
const Scalar & v2,
const Scalar & delta_i )

Combined plane change and altitude change.

For a single-impulse maneuver that changes both plane and altitude.

Template Parameters
Scalardouble or casadi::MX
Parameters
v1Initial velocity magnitude [m/s]
v2Final velocity magnitude [m/s]
delta_iInclination change [rad]
Returns
Delta-v required [m/s]

◆ hohmann_delta_v()

template<typename Scalar>
std::pair< Scalar, Scalar > vulcan::orbital::transfer::hohmann_delta_v ( const Scalar & r1,
const Scalar & r2,
double mu = constants::earth::mu )

Hohmann transfer delta-v.

Computes the delta-v required for a two-impulse Hohmann transfer between coplanar circular orbits.

Template Parameters
Scalardouble or casadi::MX
Parameters
r1Initial orbit radius [m]
r2Final orbit radius [m]
muGravitational parameter [m³/s²] (default: Earth)
Returns
Pair of (dv1, dv2) at periapsis and apoapsis [m/s]

◆ hohmann_total_delta_v()

template<typename Scalar>
Scalar vulcan::orbital::transfer::hohmann_total_delta_v ( const Scalar & r1,
const Scalar & r2,
double mu = constants::earth::mu )

Total Hohmann transfer delta-v.

Template Parameters
Scalardouble or casadi::MX
Parameters
r1Initial orbit radius [m]
r2Final orbit radius [m]
muGravitational parameter [m³/s²] (default: Earth)
Returns
Total delta-v [m/s]

◆ hohmann_transfer_time()

template<typename Scalar>
Scalar vulcan::orbital::transfer::hohmann_transfer_time ( const Scalar & r1,
const Scalar & r2,
double mu = constants::earth::mu )

Hohmann transfer time.

Template Parameters
Scalardouble or casadi::MX
Parameters
r1Initial orbit radius [m]
r2Final orbit radius [m]
muGravitational parameter [m³/s²] (default: Earth)
Returns
Transfer time (half period) [s]

◆ plane_change_delta_v()

template<typename Scalar>
Scalar vulcan::orbital::transfer::plane_change_delta_v ( const Scalar & v,
const Scalar & delta_i )

Simple plane change delta-v.

Delta-v for a pure inclination change at constant altitude. Most efficient at apoapsis where velocity is lowest.

Template Parameters
Scalardouble or casadi::MX
Parameters
vOrbital velocity magnitude [m/s]
delta_iInclination change [rad]
Returns
Delta-v required [m/s]