Spacecraft Models Package 2.0
Spacecraft Models for DSim
Public Member Functions | List of all members
propulsion Class Reference

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.
 

Detailed Description

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.

Member Function Documentation

◆ parse_setup()

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:

  • position (vector to thruster CM), 3 elements
  • thrust unit vector, 3 elements
  • thrust coefficient (N/bar)
  • exhaust velocity of the thruster (m/s)
  • minimum impulse bit (sec)
  • thruster nozzle base width (m)
  • thruster fuel type (0 = fossil fuel, 1 = hydrogen)

◆ initialize_timestep()

void propulsion::initialize_timestep ( )

Computation done prior to numerical integration.

See also
BloDown()

◆ rhs()

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.


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