42 #include "FGJSBBase.h" 43 #include "math/FGColumnVector3.h" 44 #include "models/propulsion/FGForce.h" 45 #include "math/FGFunction.h" 53 #define ID_GASCELL "$Id: FGGasCell.h,v 1.16 2015/03/28 14:49:02 bcoconni Exp $" 187 const struct Inputs& input);
206 double GetXYZ(
int idx)
const {
return vXYZ(idx);}
236 enum GasType {ttUNKNOWN, ttHYDROGEN, ttHELIUM, ttAIR};
240 unsigned int CellNum;
243 double MaxOverpressure;
245 double Xradius, Yradius, Zradius;
246 double Xwidth, Ywidth, Zwidth;
247 double ValveCoefficient;
248 typedef std::vector <FGFunction*> CoeffArray;
249 CoeffArray HeatTransferCoeff;
250 typedef std::vector <FGBallonet*> BallonetArray;
251 BallonetArray Ballonet;
266 void Debug(
int from);
269 const static double R;
270 const static double M_air;
271 const static double M_hydrogen;
272 const static double M_helium;
325 double GetXYZ(
int idx)
const {
return vXYZ(idx);}
329 double GetMass(
void)
const {
return Contents * M_air;}
346 unsigned int CellNum;
349 double MaxOverpressure;
351 double Xradius, Yradius, Zradius;
352 double Xwidth, Ywidth, Zwidth;
353 double ValveCoefficient;
354 typedef std::vector <FGFunction*> CoeffArray;
355 CoeffArray HeatTransferCoeff;
369 void Debug(
int from);
372 const static double R;
373 const static double M_air;
374 const static double Cv_air;
FGGasCell(FGFDMExec *exec, Element *el, unsigned int num, const struct Inputs &input)
Constructor.
double GetXYZ(int idx) const
Get the center of gravity location of the ballonet.
double GetMass(void) const
Get the current mass of the gas cell (including any ballonets)
void Calculate(double dt)
Runs the gas cell model; called by BuoyantForces.
double GetTemperature(void) const
Get the current gas temperature inside the gas cell.
const FGColumnVector3 & GetXYZ(void) const
Get the center of gravity location of the ballonet.
double GetPressure(void) const
Get the current gas pressure inside the gas cell.
double GetVolume(void) const
Get the current volume of the ballonet.
const FGMatrix33 & GetInertia(void) const
Get the moments of inertia of the gas cell (including any ballonets)
const FGColumnVector3 & GetXYZ(void) const
Get the center of gravity location of the gas cell (including any ballonets)
double GetXYZ(int idx) const
Get the center of gravity location of the gas cell (including any ballonets)
Represents a mathematical function.
double GetHeatFlow(void) const
Get the current heat flow into the ballonet.
This class implements a 3 element column vector.
double GetMass(void) const
Get the current mass of the ballonets.
Handles matrix math operations.
const FGColumnVector3 & GetMassMoment(void) const
Get the moment due to mass of the gas cell (including any ballonets)
Models a ballonet inside a gas cell.
Encapsulates the JSBSim simulation executive.
Utility class that aids in the conversion of forces between coordinate systems and calculation of mom...
Models weight, balance and moment of inertia information.
int GetIndex(void) const
Get the index of this gas cell.
const FGMatrix33 & GetInertia(void) const
Get the moments of inertia of the ballonet.