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

Functions

template<typename Scalar>
Scalar thrust_from_mdot (const Scalar &mdot, const Scalar &Ve)
 Calculates thrust from mass flow rate and effective exhaust velocity.
template<typename Scalar>
Scalar exhaust_velocity (const Scalar &Isp, double g0=9.80665)
 Calculates effective exhaust velocity from specific impulse.
template<typename Scalar>
Scalar specific_impulse (const Scalar &thrust, const Scalar &mdot, double g0=9.80665)
 Calculates specific impulse from thrust, mass flow rate, and gravity.
template<typename Scalar>
Scalar delta_v (const Scalar &Ve, const Scalar &m0, const Scalar &mf)
 Calculates Delta-V using the Tsiolkovsky rocket equation.
template<typename Scalar>
Scalar propellant_mass (const Scalar &delta_v, const Scalar &m0, const Scalar &Ve)
 Calculates required propellant mass for a given Delta-V.
template<typename Scalar>
Scalar mass_flow_rate (const Scalar &thrust, const Scalar &Ve)
 Calculates mass flow rate from thrust and exhaust velocity.
template<typename Scalar>
Scalar burn_time (const Scalar &propellant_mass, const Scalar &mdot)
 Calculates burn time for a given propellant mass and flow rate.

Function Documentation

◆ burn_time()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::burn_time ( const Scalar & propellant_mass,
const Scalar & mdot )

Calculates burn time for a given propellant mass and flow rate.

t = mp / mdot

Template Parameters
ScalarVariable type
Parameters
propellant_massMass of propellant to burn [kg]
mdotMass flow rate [kg/s]
Returns
Burn time [s]

◆ delta_v()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::delta_v ( const Scalar & Ve,
const Scalar & m0,
const Scalar & mf )

Calculates Delta-V using the Tsiolkovsky rocket equation.

dV = Ve * ln(m0 / mf)

Template Parameters
ScalarVariable type
Parameters
VeEffective exhaust velocity [m/s]
m0Initial mass [kg]
mfFinal mass [kg]
Returns
Delta-V [m/s]

◆ exhaust_velocity()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::exhaust_velocity ( const Scalar & Isp,
double g0 = 9.80665 )

Calculates effective exhaust velocity from specific impulse.

Ve = Isp * g0

Template Parameters
ScalarVariable type
Parameters
IspSpecific impulse [s]
g0Standard gravity [m/s^2] (default: 9.80665)
Returns
Effective exhaust velocity [m/s]

◆ mass_flow_rate()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::mass_flow_rate ( const Scalar & thrust,
const Scalar & Ve )

Calculates mass flow rate from thrust and exhaust velocity.

mdot = F / Ve

Template Parameters
ScalarVariable type
Parameters
thrustThrust force [N]
VeEffective exhaust velocity [m/s]
Returns
Mass flow rate [kg/s]

◆ propellant_mass()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::propellant_mass ( const Scalar & delta_v,
const Scalar & m0,
const Scalar & Ve )

Calculates required propellant mass for a given Delta-V.

mp = m0 * (1 - exp(-dV / Ve))

Template Parameters
ScalarVariable type
Parameters
delta_vTarget Delta-V [m/s]
m0Initial mass [kg]
VeEffective exhaust velocity [m/s]
Returns
Propellant mass required [kg]

◆ specific_impulse()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::specific_impulse ( const Scalar & thrust,
const Scalar & mdot,
double g0 = 9.80665 )

Calculates specific impulse from thrust, mass flow rate, and gravity.

Isp = F / (mdot * g0)

Template Parameters
ScalarVariable type
Parameters
thrustThrust force [N]
mdotMass flow rate [kg/s]
g0Standard gravity [m/s^2] (default: 9.80665)
Returns
Specific impulse [s]

◆ thrust_from_mdot()

template<typename Scalar>
Scalar vulcan::propulsion::rocket::thrust_from_mdot ( const Scalar & mdot,
const Scalar & Ve )

Calculates thrust from mass flow rate and effective exhaust velocity.

F = mdot * Ve

Template Parameters
ScalarVariable type (e.g., double or casadi::MX)
Parameters
mdotMass flow rate [kg/s]
VeEffective exhaust velocity [m/s]
Returns
Thrust [N]