12#ifndef P6DOFFUELTANK_H
13#define P6DOFFUELTANK_H
15#include "p6dof_export.h"
22#include "UtVec3dX.hpp"
51 void Update(int64_t aSimTime_nanosec);
65 bool CalculateFuelBurn(
double aDeltaT_sec,
66 double aFuelBurnRequest_lbs,
67 double& aFuelActuallyProvided_lbs,
68 double& aNewFuelMass_lbs,
69 UtVec3dX& aCgLocation_ft);
76 bool UpdateFuelBurn(
double aDeltaT_sec,
77 double aFuelBurnRequest_lbs,
78 double& aFuelActuallyProvided_lbs,
79 double& aNewFuelMass_lbs,
80 UtVec3dX& aCgLocation_ft);
87 bool CalculateFuelFill(
double aDeltaT_sec,
88 double aFuelAddRequest_lbs,
89 double& aFuelActuallyProvided_lbs,
90 double& aNewFuelMass_lbs,
91 UtVec3dX& aCgLocation_ft);
99 bool UpdateFuelFill(
double aDeltaT_sec,
100 double aFuelAddRequest_lbs,
101 double& aFuelActuallyProvided_lbs,
102 double& aNewFuelMass_lbs,
103 UtVec3dX& aCgLocation_ft);
111 bool CalculateFuelTransfer(
double aDeltaT_sec,
112 double aFuelAddRequest_lbs,
113 double& aFuelActuallyProvided_lbs,
114 double& aNewFuelMass_lbs,
115 UtVec3dX& aCgLocation_ft);
124 bool UpdateFuelTransfer(
double aDeltaT_sec,
125 double aFuelAddRequest_lbs,
126 double& aFuelActuallyProvided_lbs,
127 double& aNewFuelMass_lbs,
128 UtVec3dX& aCgLocation_ft);
131 void SetMaxFuelQuantity(
double aFuelQuantity_lbs);
134 double GetFuelCapacity_lbs()
const;
137 double GetPercentFull()
const;
140 void SetCurrentFuelQuantity(
double aFuelQuantity_lbs);
143 double GetCurrentFuelQuantity_lbs()
const;
147 double GetFuelFraction()
const;
150 double GetFuelFlow_pps()
const;
153 double GetFuelFlow_pph()
const;
156 double GetFuelFillRate_pps()
const;
159 double GetFuelFillRate_pph()
const;
162 double GetMaxFuelTransferRate_pps()
const;
165 double GetFuelTransferRate_pps()
const;
168 double GetFuelTransferRate_pph()
const;
172 void SetFullCgLocation_ft(UtVec3dX& aCgLocation_ft);
176 void SetEmptyCgLocation_ft(UtVec3dX& aCgLocation_ft);
181 UtVec3dX GetCurrentCgLocation_ft()
const;
184 UtVec3dX GetFullCgLocation_ft()
const;
187 UtVec3dX GetEmptyCgLocation_ft()
const;
199 void CalculateCurrentMassProperties();
205 UtVec3dX CalcCgLocation_ft(
double aFuelQuantity_lbs);
aObjectPtr Update(simTime)
Definition P6DofFuelTank.hpp:33
double mTempCurrentFillRate_pps
Definition P6DofFuelTank.hpp:221
P6DofMassProperties mMassProperties
Definition P6DofFuelTank.hpp:231
double mMaxFlowRate_pps
Definition P6DofFuelTank.hpp:209
double mCurrentTransferRate_pps
Definition P6DofFuelTank.hpp:218
int64_t mLastSimTime_nanosec
Definition P6DofFuelTank.hpp:229
P6DofPropulsionSystem * mPropulsionSystem
Definition P6DofFuelTank.hpp:207
P6DofFuelTank & operator=(const P6DofFuelTank &other)=delete
bool ProcessInput(UtInput &aInput)
Definition P6DofFuelTank.cpp:82
friend class P6DofPropulsionSystem
Definition P6DofFuelTank.hpp:34
double mCurrentQuantity_lbs
Definition P6DofFuelTank.hpp:214
double mMaxQuantity_lbs
Definition P6DofFuelTank.hpp:213
bool Initialize(int64_t aSimTime_nanosec)
Definition P6DofFuelTank.cpp:224
const P6DofMassProperties & GetMassProperties() const
Definition P6DofFuelTank.hpp:194
UtVec3dX mCgEmptyToFullVector
Definition P6DofFuelTank.hpp:227
double mMaxTransferRate_pps
Definition P6DofFuelTank.hpp:211
UtVec3dX mCurrentCgLocation_ft
Definition P6DofFuelTank.hpp:224
UtVec3dX mEmptyCgLocation_ft
Definition P6DofFuelTank.hpp:226
P6DofFuelTank(P6DofScenario *aScenario)
Definition P6DofFuelTank.cpp:25
double mTempCurrentTransferRate_pps
Definition P6DofFuelTank.hpp:222
double mMaxFillRate_pps
Definition P6DofFuelTank.hpp:210
double mCurrentFuelFlow_pps
Definition P6DofFuelTank.hpp:216
double mTempCurrentFuelFlow_pps
Definition P6DofFuelTank.hpp:220
UtVec3dX mFullCgLocation_ft
Definition P6DofFuelTank.hpp:225
void SetPropulsionSystem(P6DofPropulsionSystem *aParent)
Definition P6DofFuelTank.hpp:54
double mCurrentFillRate_pps
Definition P6DofFuelTank.hpp:217
void SetMaxFlowRate_pps(double aMaxFlowRate_pps)
Definition P6DofFuelTank.hpp:191
Definition P6DofMassProperties.hpp:26
P6DofObject(P6DofScenario *aScenario)
Definition P6DofObject.cpp:17
P6DofObject * Clone() const
Definition P6DofObject.cpp:24
Definition P6DofPropulsionSystem.hpp:35
Definition P6DofScenario.hpp:25