Spacecraft Models Package 2.0
Spacecraft Models for DSim
|
Models a pulsewidth modulated suite of thrusters with a single blowdown tank. More...
#include <propulsion.h>
Inherits dsim_model.
Public Member Functions | |
propulsion (dsim_model_setup *setup) | |
Constructor. | |
~propulsion () | |
Destructor. | |
void * | describe_setup (void *ds) |
Describe the setup variables. | |
bool | parse_setup (const char *command, const char *data) |
Parse the setup file for variables. More... | |
void | initialize_data () |
Initialize outlets and output variables. | |
void | initialization_complete () |
Finish initialization. | |
void | initialize_timestep () |
Computation done prior to numerical integration. More... | |
void | rhs (double t, double jd) |
Right-hand-side. More... | |
void | complete_timestep () |
Computation done after numerical integration. | |
Models a pulsewidth modulated suite of thrusters with a single blowdown tank.
A pulsewidth command is sent to the thrusters. The thrusters then fire until the pulsewidth is complete.
A blowdown system is assumed using Helium as the pressurant. The pressure is modeled assuming a single tank. The fuel mass is an integrated state so that fuel consumption is tracked.
Each thruster can have a catalyst bed. The length of the catalyst bed must be the same as the length of the thrusters.
Thrusters are added using a AddThruster setup directive. The thrust model is
Thrust = T*P
where T is the thrust coefficient and P is the current tank pressure.
bool propulsion::parse_setup | ( | const char * | command, |
const char * | data | ||
) |
Parse the setup file for variables.
Processes AddThruster commands.
The data is a matrix of 11 parameters, including in order:
void propulsion::initialize_timestep | ( | ) |
Computation done prior to numerical integration.
void propulsion::rhs | ( | double | t, |
double | jd | ||
) |
Right-hand-side.
The right hand side applies the force and torque to the parent object and computes the fuel mass derivative using the mass flow.