Module: fuelTank¶
This class is an instantiation of the stateEffector abstract class and implements an effector representing a fuel tank. This fuel tank has one state associated with it and is the mass of the fuel inside the tank
The module
PDF Description
contains further information on this module’s function,
how to run it, as well as testing.
Enums
Variables
-
FuelTankModelConstantVolume_t
FuelTankModelConstantVolume
¶
-
FuelTankModelConstantDensity_t
FuelTankModelConstantDensity
¶
-
FuelTankModelEmptying_t
FuelTankModelEmptying
¶
-
FuelTankModelUniformBurn_t
FuelTankModelUniformBurn
¶
-
FuelTankModelCentrifugalBurn_t
FuelTankModelCentrifugalBurn
¶
-
FuelTankModel *
FuelTankModels
[TANK_MODEL_LAST_MODEL
-TANK_MODEL_FIRST_MODEL
]¶
-
struct
FuelTankModel
¶ Subclassed by FuelTankModelCentrifugalBurn_t, FuelTankModelConstantDensity_t, FuelTankModelConstantVolume_t, FuelTankModelEmptying_t, FuelTankModelUniformBurn_t
Public Functions
-
void
computeTankProps
(double mFuel) = 0¶
-
void
computeTankPropDerivs
(double mFuel, double mDotFuel) = 0¶
-
FuelTankModel
()¶
-
~FuelTankModel
()¶
-
void
-
struct
FuelTankModelConstantVolume_t
: public FuelTankModel¶ Public Functions
-
void
computeTankProps
(double mFuel)¶
-
void
computeTankPropDerivs
(double mFuel, double mDotFuel)¶
Public Members
-
double
radiusTankInit
¶ [m] Initial radius of the spherical tank
-
void
-
struct
FuelTankModelConstantDensity_t
: public FuelTankModel¶
-
struct
FuelTankModelEmptying_t
: public FuelTankModel¶ Public Functions
-
void
computeTankProps
(double mFuel)¶
-
void
computeTankPropDerivs
(double mFuel, double mDotFuel)¶
Public Members
-
double
radiusTankInit
¶ [m] Initial radius of the spherical tank
-
double
rhoFuel
¶ [kg/m^3] density of the fuel
-
double
thetaStar
¶ [rad] angle from vertical to top of fuel
-
double
thetaDotStar
¶ [rad/s] derivative of angle from vertical to top of fuel
-
double
thetaDDotStar
¶ [rad/s^2] second derivative of angle from vertical to top of fuel
-
void
-
struct
FuelTankModelUniformBurn_t
: public FuelTankModel¶
-
struct
FuelTankModelCentrifugalBurn_t
: public FuelTankModel¶
-
class
FuelTank
: public StateEffector, public SysModel¶ Public Functions
-
FuelTank
()¶ Contructor
This is the constructor, setting variables to default values
-
~FuelTank
()¶ Destructor
This is the destructor, nothing to report here
-
void
SelfInit
()¶ This method initializes the object. It creates the module’s output messages.
- Return
void
-
void
CrossInit
()¶ This method allows for cross initialization between different modules
- Return
void
-
void
WriteOutputMessages
(uint64_t CurrentClock)¶ This method takes the computed fuel tank mass properties and outputs them to the messaging system.
- Return
void
- Parameters
CurrentClock
: The current simulation time (used for time stamping)
-
void
UpdateState
(uint64_t CurrentSimNanos)¶ This method allows the fuel tank to write out its messages to the messaging system
- Return
void
- Parameters
CurrentSimNanos
: The current simulation time in nanoseconds
-
void
setTankModel
(FuelTankModelTypes model)¶
-
void
pushFuelSloshParticle
(FuelSlosh *particle)¶ Method to attach fuel slosh particle
This is a method to attach a fuel slosh particle to the tank
-
void
registerStates
(DynParamManager &states)¶ Method to register mass state with state manager
Method for fuel tank to register states. The fuel tank has one state associated with it: mass, and it also has the responsibility to call register states for the fuel slosh particles
-
void
linkInStates
(DynParamManager &states)¶ Method to give the tank access to other states
Method for fuel tank to access the states that it needs, needs omega
-
void
updateEffectorMassProps
(double integTime)¶ Method to add contribtution mass props from the tank
This method gives the fuel tank the ability to add its contributions the mass of the vehicle.
-
void
addThrusterSet
(DynamicEffector *NewdynEff)¶ Method to add thruster
-
void
updateContributions
(double integTime, BackSubMatrices &backSubContr, Eigen::Vector3d sigma_BN, Eigen::Vector3d omega_BN_B, Eigen::Vector3d g_N)¶ Back-sub contributions
This method allows the fuel tank to add its contributions to the matrices for the back-sub method.
Public Members
-
std::string
nameOfMassState
¶ name of mass state
-
std::vector<DynamicEffector*>
dynEffectors
¶ Vector of dynamic effectors for thrusters
-
bool
updateOnly
¶ Sets whether to use update only mass depletion
-
std::string
FuelTankOutMsgName
¶ fuel tank output message name
-
FuelTankSimMsg
FuelTankMassPropMsg
¶ instance of messaging system message struct
Private Members
-
double
fuelConsumption
¶ [kg/s] rate of fuel being consumed
-
double
tankFuelConsumption
¶ [kg/s] rate of fuel being consumed from tank
-
FuelTankModel *
fuelTankModel
¶ style of tank to simulate
-
int64_t
FuelTankOutMsgId
¶ state output message ID
-