12#ifndef WSFSIXDOFFUELTANK_HPP
13#define WSFSIXDOFFUELTANK_HPP
15#include "wsf_six_dof_export.h"
21#include "UtVec3dX.hpp"
53 void Update(int64_t aSimTime_nanosec);
70 bool CalculateFuelBurn(
double aDeltaT_sec,
71 double aFuelBurnRequest_lbs,
72 double& aFuelActuallyProvided_lbs,
73 double& aNewFuelMass_lbs,
74 UtVec3dX& aCgLocation_ft);
81 bool UpdateFuelBurn(
double aDeltaT_sec,
82 double aFuelBurnRequest_lbs,
83 double& aFuelActuallyProvided_lbs,
84 double& aNewFuelMass_lbs,
85 UtVec3dX& aCgLocation_ft);
92 bool CalculateFuelFill(
double aDeltaT_sec,
93 double aFuelAddRequest_lbs,
94 double& aFuelActuallyProvided_lbs,
95 double& aNewFuelMass_lbs,
96 UtVec3dX& aCgLocation_ft);
104 bool UpdateFuelFill(
double aDeltaT_sec,
105 double aFuelAddRequest_lbs,
106 double& aFuelActuallyProvided_lbs,
107 double& aNewFuelMass_lbs,
108 UtVec3dX& aCgLocation_ft);
116 bool CalculateFuelTransfer(
double aDeltaT_sec,
117 double aFuelAddRequest_lbs,
118 double& aFuelActuallyProvided_lbs,
119 double& aNewFuelMass_lbs,
120 UtVec3dX& aCgLocation_ft);
129 bool UpdateFuelTransfer(
double aDeltaT_sec,
130 double aFuelAddRequest_lbs,
131 double& aFuelActuallyProvided_lbs,
132 double& aNewFuelMass_lbs,
133 UtVec3dX& aCgLocation_ft);
136 void SetMaxFuelQuantity(
double aFuelQuantity_lbs);
139 double GetFuelCapacity_lbs()
const;
142 double GetPercentFull()
const;
145 void SetCurrentFuelQuantity(
double aFuelQuantity_lbs);
148 double GetCurrentFuelQuantity_lbs()
const;
152 double GetFuelFraction()
const;
155 double GetFuelFlow_pps()
const;
158 double GetFuelFlow_pph()
const;
161 double GetFuelFillRate_pps()
const;
164 double GetFuelFillRate_pph()
const;
167 double GetMaxFuelTransferRate_pps()
const;
170 double GetFuelTransferRate_pps()
const;
173 double GetFuelTransferRate_pph()
const;
177 void SetFullCgLocation_ft(
const UtVec3dX& aCgLocation_ft);
181 void SetEmptyCgLocation_ft(
const UtVec3dX& aCgLocation_ft);
186 UtVec3dX GetCurrentCgLocation_ft()
const;
189 UtVec3dX GetFullCgLocation_ft()
const;
192 UtVec3dX GetEmptyCgLocation_ft()
const;
201 void CalculateCurrentMassProperties();
207 UtVec3dX CalcCgLocation_ft(
double aFuelQuantity_lbs);
aObjectPtr Update(simTime)
Definition WsfSixDOF_FuelTank.hpp:35
UtVec3dX mEmptyCgLocation_ft
Definition WsfSixDOF_FuelTank.hpp:228
bool Initialize(int64_t aSimTime_nanosec)
Definition WsfSixDOF_FuelTank.cpp:205
void SetMaxFlowRate_pps(double aMaxFlowRate_pps)
Definition WsfSixDOF_FuelTank.hpp:196
double mTempCurrentTransferRate_pps
Definition WsfSixDOF_FuelTank.hpp:224
double mTempCurrentFillRate_pps
Definition WsfSixDOF_FuelTank.hpp:223
FuelTank()
Definition WsfSixDOF_FuelTank.cpp:23
double mMaxFlowRate_pps
Definition WsfSixDOF_FuelTank.hpp:212
friend class PropulsionSystem
Definition WsfSixDOF_FuelTank.hpp:36
double mCurrentTransferRate_pps
Definition WsfSixDOF_FuelTank.hpp:219
bool ProcessInput(UtInput &aInput)
Definition WsfSixDOF_FuelTank.cpp:63
double mMaxFillRate_pps
Definition WsfSixDOF_FuelTank.hpp:213
PropulsionSystem * mPropulsionSystem
Definition WsfSixDOF_FuelTank.hpp:209
double mMaxTransferRate_pps
Definition WsfSixDOF_FuelTank.hpp:214
FuelTank & operator=(const FuelTank &other)=delete
UtVec3dX mFullCgLocation_ft
Definition WsfSixDOF_FuelTank.hpp:227
UtVec3dX mCgEmptyToFullVector
Definition WsfSixDOF_FuelTank.hpp:229
void SetPropulsionSystem(PropulsionSystem *aParent)
Definition WsfSixDOF_FuelTank.hpp:59
double mTempCurrentFuelFlow_pps
Definition WsfSixDOF_FuelTank.hpp:222
int64_t mLastSimTime_nanosec
Definition WsfSixDOF_FuelTank.hpp:231
const MassProperties & GetMassProperties() const
Definition WsfSixDOF_FuelTank.hpp:56
UtVec3dX mCurrentCgLocation_ft
Definition WsfSixDOF_FuelTank.hpp:226
double mCurrentFuelFlow_pps
Definition WsfSixDOF_FuelTank.hpp:217
FuelTank * Clone() const
Definition WsfSixDOF_FuelTank.cpp:33
double mMaxQuantity_lbs
Definition WsfSixDOF_FuelTank.hpp:215
MassProperties mMassProperties
Definition WsfSixDOF_FuelTank.hpp:210
double mCurrentQuantity_lbs
Definition WsfSixDOF_FuelTank.hpp:220
double mCurrentFillRate_pps
Definition WsfSixDOF_FuelTank.hpp:218
Definition WsfSixDOF_MassProperties.hpp:29
Definition WsfSixDOF_PropulsionSystem.hpp:35
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32