Spacecraft Control Framework 1.0
Spacecraft Control Library
sc_propulsion.h
Go to the documentation of this file.
1/*
2 * sc_propulsion.h
3 *
4 * Programmers: Stephanie Thomas, Michael Paluszek
5 *
6 * Copyright 2000-2006, Princeton Satellite Systems. All rights reserved.
7 */
8
15#ifndef __SC_PROPULSION__
16#define __SC_PROPULSION__
17
18#include <math.h>
19#ifdef AS_OS_WINDOWS
20#include "matrixlib.h"
21#else
22#include <MatrixLib/MatrixLib.h>
23#endif
24#include "sc_constants.h"
25
27typedef struct {
29 double gamma;
31 double aR;
32} aero_info;
33
34
35extern "C++"
36{
37
39 double thruster_power( double thrust, double u_e, double eff );
41 double boron_proton_thruster_exhaust_velocity( double n_protons );
43 double BloDown( double mPress, double rhoFuel, double vTank, double rPress, double T, double mFuel );
45 ml_matrix EngineDataFromTable( ml_matrix thrustTable, ml_matrix sFC_Table, ml_matrix mach_no, ml_matrix altitude, double m, double h );
47 double area_ratio_from_mach( double M, double gamma );
49 double isentropic_expansion( double M, double gamma );
51 double ue_qr( double qR, double gamma, double p0, double pE );
53 double qr_hydrogen( void );
55 double mach_from_area_ratio( double aR, double gamma );
57 ml_matrix RocketH2( double p0, double pA, double aStar, double aE, double f );
59 double rhs_mach_from_area_ratio( double M, void *context );
61 ml_matrix solid_rocket_inertia( double mDot, double a, double b, double rho, double h );
63 double FindH( double r, double d, double tol, int nMax );
65 double TankHeight( double r, double vF );
66
67}
68
69#endif
Physical and mathematical constants.
double isentropic_expansion(double M, double gamma)
Computes the isentropic expansion of a gas.
Definition: sc_propulsion.cc:109
double rhs_mach_from_area_ratio(double M, void *context)
Right hand side of the minimization algorithm for mach from area ratio.
Definition: sc_propulsion.cc:183
double qr_hydrogen(void)
Heating value of hydrogen.
Definition: sc_propulsion.cc:136
double BloDown(double mPress, double rhoFuel, double vTank, double rPress, double T, double mFuel)
Blow down pressurized fuel system model.
Definition: sc_propulsion.cc:56
double ue_qr(double qR, double gamma, double p0, double pE)
Exhaust velocity from heating value.
Definition: sc_propulsion.cc:126
double boron_proton_thruster_exhaust_velocity(double n_protons)
Boron-proton exhaust velocity.
Definition: sc_propulsion.cc:35
double TankHeight(double r, double vF)
Find the height of a fluid in a sphere.
Definition: sc_propulsion.cc:338
double area_ratio_from_mach(double M, double gamma)
Computes area ratio to mach number.
Definition: sc_propulsion.cc:91
ml_matrix EngineDataFromTable(ml_matrix thrustTable, ml_matrix sFC_Table, ml_matrix mach_no, ml_matrix altitude, double m, double h)
Extracts engine data from a table. Outputs thrust and specific fuel consumption.
Definition: sc_propulsion.cc:72
double thruster_power(double thrust, double u_e, double eff)
General power required by a thruster.
Definition: sc_propulsion.cc:24
ml_matrix RocketH2(double p0, double pA, double aStar, double aE, double f)
Thrust and exhaust velocity of an H2/O2 rocket.
Definition: sc_propulsion.cc:201
ml_matrix solid_rocket_inertia(double mDot, double a, double b, double rho, double h)
Solid rocket model.
Definition: sc_propulsion.cc:249
double mach_from_area_ratio(double aR, double gamma)
Mach number from area ratio.
Definition: sc_propulsion.cc:147
double FindH(double r, double d, double tol, int nMax)
Bisection routine to find the height of a fluid in a sphere.
Definition: sc_propulsion.cc:285
Aerodynamic information.
Definition: sc_propulsion.h:27
double aR
Area ratio.
Definition: sc_propulsion.h:31
double gamma
Gamma.
Definition: sc_propulsion.h:29