SolidMotor Class#

Class to specify characteristics and useful operations for solid motors.

Geometrical attributes
Motor.nozzleRadius#

Radius of motor nozzle outlet in meters.

Type:

float

Motor.throatRadius#

Radius of motor nozzle throat in meters.

Type:

float

Motor.grainNumber#

Number of solid grains.

Type:

int

Motor.grainSeparation#

Distance between two grains in meters.

Type:

float

Motor.grainDensity#

Density of each grain in kg/meters cubed.

Type:

float

Motor.grainOuterRadius#

Outer radius of each grain in meters.

Type:

float

Motor.grainInitialInnerRadius#

Initial inner radius of each grain in meters.

Type:

float

Motor.grainInitialHeight#

Initial height of each grain in meters.

Type:

float

Motor.grainInitialVolume#

Initial volume of each grain in meters cubed.

Type:

float

Motor.grainInnerRadius#

Inner radius of each grain in meters as a function of time.

Type:

Function

Motor.grainHeight#

Height of each grain in meters as a function of time.

Type:

Function

Mass and moment of inertia attributes
Motor.grainInitialMass#

Initial mass of each grain in kg.

Type:

float

Motor.propellantInitialMass#

Total propellant initial mass in kg.

Type:

float

Motor.mass#

Propellant total mass in kg as a function of time.

Type:

Function

Motor.massDot#

Time derivative of propellant total mass in kg/s as a function of time.

Type:

Function

Motor.inertiaI#

Propellant moment of inertia in kg*meter^2 with respect to axis perpendicular to axis of cylindrical symmetry of each grain, given as a function of time.

Type:

Function

Motor.inertiaIDot#

Time derivative of inertiaI given in kg*meter^2/s as a function of time.

Type:

Function

Motor.inertiaZ#

Propellant moment of inertia in kg*meter^2 with respect to axis of cylindrical symmetry of each grain, given as a function of time.

Type:

Function

Motor.inertiaDot#

Time derivative of inertiaZ given in kg*meter^2/s as a function of time.

Type:

Function

Thrust and burn attributes
Motor.thrust#

Motor thrust force, in Newtons, as a function of time.

Type:

Function

Motor.totalImpulse#

Total impulse of the thrust curve in N*s.

Type:

float

Motor.maxThrust#

Maximum thrust value of the given thrust curve, in N.

Type:

float

Motor.maxThrustTime#

Time, in seconds, in which the maximum thrust value is achieved.

Type:

float

Motor.averageThrust#

Average thrust of the motor, given in N.

Type:

float

Motor.burnOutTime#

Total motor burn out time, in seconds. Must include delay time when the motor takes time to ignite. Also seen as time to end thrust curve.

Type:

float

Motor.exhaustVelocity#

Propulsion gases exhaust velocity, assumed constant, in m/s.

Type:

float

Motor.burnArea#

Total burn area considering all grains, made out of inner cylindrical burn area and grain top and bottom faces. Expressed in meters squared as a function of time.

Type:

Function

Motor.Kn#

Motor Kn as a function of time. Defined as burnArea divided by nozzle throat cross sectional area. Has no units.

Type:

Function

Motor.burnRate#

Propellant burn rate in meter/second as a function of time.

Type:

Function

Motor.interpolate#

Method of interpolation used in case thrust curve is given by data set in .csv or .eng, or as an array. Options are ‘spline’ ‘akima’ and ‘linear’. Default is “linear”.

Type:

string