# 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

rocketpy.SolidMotor.exhaustVelocity

Calculates and returns exhaust velocity by assuming it as a constant. The formula used is total impulse/propellant initial mass. The value is also stored in self.exhaustVelocity.

Parameters

None

Returns

self.exhaustVelocity – Constant gas exhaust velocity of the motor.

Return type

float