WSF
WsfTBM_Mover::Stage Class Reference

A stage represents one stage in the vehicle. More...

#include <WsfTBM_Mover.hpp>

Public Member Functions

 Stage ()
bool Initialize (double aStageStartTime)
bool Initialize2 ()
bool ProcessInput (UtInput &aInput)
double RemainingInitialMass () const
 The sum of the initial masses of this and the subsequent stages (kg).
double RemainingBurnoutMass () const
 The sum of the empty (burnout) mass of this and the initial masses of the subsequent stages (kg).

Input values

double mBallisticCoeff
 Beta (N/m^2).
double mEmptyMass
double mFuelMass
double mFuelMassFraction
double mTotalMass
double mThrust
 The thrust (N).
double mSpecificImpulse
 The specific impulse (sec).
double mThrustDuration
 The engine burn time (sec).
double mPreIgnitionCoastTime
double mPreSeparationCoastTime
double mCd0
 Zero-lift drag coefficient (C_d0).
double mReferenceArea
 Reference area.

Derived values

double mWdot
 The time-rate-of-change of the vehicles weight (NOT MASS) while the engine of this stage is burning.
double mPayloadMass
double mS_Cd0
 The surface area times the drag coefficient (m^2).
double mInitialTime
 The time relative to launch and state when the stage comes into existence (previous stage separates).
double mInitialState [9]
double mIgnitionTime
 The time relative to launch and state when the engine ignites.
double mIgnitionState [9]
double mBurnOutTime
 The time relative to launch and state when the engine burns out.
double mBurnOutState [9]
double mSeparationTime
 The time relative to launch when the stage separates from the vehicle.

Detailed Description

A stage represents one stage in the vehicle.

Constructor & Destructor Documentation

◆ Stage()

Member Function Documentation

◆ Initialize()

bool WsfTBM_Mover::Stage::Initialize ( double aInitialTime)

Validate and initialize a stage.

Returns
'true' if successful, 'false' if unsuccessful.

Compute thrust data.

References mBurnOutTime, mEmptyMass, mFuelMass, mFuelMassFraction, mIgnitionTime, mInitialTime, mPreIgnitionCoastTime, mPreSeparationCoastTime, mSeparationTime, mSpecificImpulse, mThrust, mThrustDuration, mTotalMass, mWdot, and ok.

◆ Initialize2()

bool WsfTBM_Mover::Stage::Initialize2 ( )

Perform second pass initialization of a stage.

Returns
'true' if successful, 'false' if unsuccessful.

References mBallisticCoeff, mCd0, mReferenceArea, mS_Cd0, and RemainingBurnoutMass().

Referenced by WsfTBM_Mover::Initialize().

◆ ProcessInput()

bool WsfTBM_Mover::Stage::ProcessInput ( UtInput & aInput)

Process potential inputs for a stage.

Parameters
aInputThe input stream.
Returns
'true' if the command was a stage related command or 'false' if not.

References mBallisticCoeff, mCd0, mEmptyMass, mFuelMass, mFuelMassFraction, mPreIgnitionCoastTime, mPreSeparationCoastTime, mReferenceArea, mSpecificImpulse, mThrust, mThrustDuration, and mTotalMass.

◆ RemainingBurnoutMass()

double WsfTBM_Mover::Stage::RemainingBurnoutMass ( ) const
inline

The sum of the empty (burnout) mass of this and the initial masses of the subsequent stages (kg).

References mEmptyMass, and mPayloadMass.

Referenced by WsfTBM_Mover::Initialize2(), and Initialize2().

◆ RemainingInitialMass()

double WsfTBM_Mover::Stage::RemainingInitialMass ( ) const
inline

The sum of the initial masses of this and the subsequent stages (kg).

References mEmptyMass, mFuelMass, and mPayloadMass.

Referenced by WsfTBM_Mover::Initialize2().

Member Data Documentation

◆ mBallisticCoeff

double WsfTBM_Mover::Stage::mBallisticCoeff

Beta (N/m^2).

The ballistic coefficient (N/m^2)

Note
This should be the coefficient for the composite vehicle consisting of this and all subsequent stages.

Referenced by WsfTBM_Mover::Initialize2(), Initialize2(), ProcessInput(), and Stage().

◆ mBurnOutState

double WsfTBM_Mover::Stage::mBurnOutState[9]

◆ mBurnOutTime

double WsfTBM_Mover::Stage::mBurnOutTime

The time relative to launch and state when the engine burns out.

Referenced by WsfTBM_Mover::ComputeTransitionStateVectors(), Initialize(), WsfTBM_Mover::Initialize2(), WsfTBM_Mover::ScheduleScriptEvents(), and Stage().

◆ mCd0

double WsfTBM_Mover::Stage::mCd0

Zero-lift drag coefficient (C_d0).

Referenced by Initialize2(), ProcessInput(), and Stage().

◆ mEmptyMass

double WsfTBM_Mover::Stage::mEmptyMass

Mass of the THIS stage minus the mass of the fuel on THIS.

Note
This does NOT include the mass of the subsequent stages.

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), ProcessInput(), RemainingBurnoutMass(), RemainingInitialMass(), and Stage().

◆ mFuelMass

double WsfTBM_Mover::Stage::mFuelMass

Mass of just the fuel on THIS stage.

Note
This does NOT include the mass of the subsequent stages.

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), ProcessInput(), RemainingInitialMass(), and Stage().

◆ mFuelMassFraction

double WsfTBM_Mover::Stage::mFuelMassFraction

The fraction of the total mass of THIS stage that is fuel.

Note
This does NOT include the mass of the subsequent stages.

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), ProcessInput(), and Stage().

◆ mIgnitionState

double WsfTBM_Mover::Stage::mIgnitionState[9]

◆ mIgnitionTime

double WsfTBM_Mover::Stage::mIgnitionTime

The time relative to launch and state when the engine ignites.

Referenced by WsfTBM_Mover::ComputeTransitionStateVectors(), Initialize(), WsfTBM_Mover::Initialize2(), WsfTBM_Mover::ScheduleScriptEvents(), and Stage().

◆ mInitialState

double WsfTBM_Mover::Stage::mInitialState[9]

◆ mInitialTime

double WsfTBM_Mover::Stage::mInitialTime

The time relative to launch and state when the stage comes into existence (previous stage separates).

Referenced by WsfTBM_Mover::ComputeTransitionStateVectors(), Initialize(), WsfTBM_Mover::Initialize2(), and Stage().

◆ mPayloadMass

double WsfTBM_Mover::Stage::mPayloadMass

◆ mPreIgnitionCoastTime

double WsfTBM_Mover::Stage::mPreIgnitionCoastTime

Coast time between separation of previous state and ignition of this stage.

Note
A pre-burn coast time for the first stage is not supported.

Referenced by Initialize(), ProcessInput(), and Stage().

◆ mPreSeparationCoastTime

double WsfTBM_Mover::Stage::mPreSeparationCoastTime

Coast time from burnout of this stage to separation.

Note
This is effectively ignored for the last stage.

Referenced by Initialize(), ProcessInput(), and Stage().

◆ mReferenceArea

double WsfTBM_Mover::Stage::mReferenceArea

Reference area.

Referenced by Initialize2(), ProcessInput(), and Stage().

◆ mS_Cd0

double WsfTBM_Mover::Stage::mS_Cd0

The surface area times the drag coefficient (m^2).

Referenced by WsfTBM_Mover::Initialize2(), Initialize2(), and Stage().

◆ mSeparationTime

double WsfTBM_Mover::Stage::mSeparationTime

The time relative to launch when the stage separates from the vehicle.

Referenced by WsfTBM_Mover::ComputeTransitionStateVectors(), Initialize(), WsfTBM_Mover::Initialize2(), WsfTBM_Mover::ScheduleScriptEvents(), and Stage().

◆ mSpecificImpulse

double WsfTBM_Mover::Stage::mSpecificImpulse

The specific impulse (sec).

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), ProcessInput(), and Stage().

◆ mThrust

double WsfTBM_Mover::Stage::mThrust

The thrust (N).

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), ProcessInput(), and Stage().

◆ mThrustDuration

double WsfTBM_Mover::Stage::mThrustDuration

The engine burn time (sec).

Referenced by Initialize(), ProcessInput(), WsfTBM_Mover::ScheduleScriptEvents(), and Stage().

◆ mTotalMass

double WsfTBM_Mover::Stage::mTotalMass

The total mass of the THIS stage (empty mass plus fuel mass).

Note
This does NOT include the mass of the subsequent stages.

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), ProcessInput(), and Stage().

◆ mWdot

double WsfTBM_Mover::Stage::mWdot

The time-rate-of-change of the vehicles weight (NOT MASS) while the engine of this stage is burning.

Referenced by Initialize(), WsfTBM_Mover::Initialize2(), and Stage().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved