181 const struct Inputs& input);
200 double GetXYZ(
int idx)
const {
return vXYZ(idx);}
230 enum GasType {ttUNKNOWN, ttHYDROGEN, ttHELIUM, ttAIR};
234 unsigned int CellNum;
237 double MaxOverpressure;
239 double Xradius, Yradius, Zradius;
240 double Xwidth, Ywidth, Zwidth;
241 double ValveCoefficient;
242 typedef std::vector <FGFunction*> CoeffArray;
243 CoeffArray HeatTransferCoeff;
244 typedef std::vector <FGBallonet*> BallonetArray;
245 BallonetArray Ballonet;
260 void Debug(
int from);
263 const static double R;
264 const static double M_air;
265 const static double M_hydrogen;
266 const static double M_helium;
319 double GetXYZ(
int idx)
const {
return vXYZ(idx);}
323 double GetMass(
void)
const {
return Contents * M_air;}
340 unsigned int CellNum;
343 double MaxOverpressure;
345 double Xradius, Yradius, Zradius;
346 double Xwidth, Ywidth, Zwidth;
347 double ValveCoefficient;
348 typedef std::vector <FGFunction*> CoeffArray;
349 CoeffArray HeatTransferCoeff;
363 void Debug(
int from);
366 const static double R;
367 const static double M_air;
368 const static double Cv_air;
Models a ballonet inside a gas cell.
const struct FGGasCell::Inputs & in
const FGColumnVector3 & GetXYZ(void) const
Get the center of gravity location of the ballonet.
double GetHeatFlow(void) const
Get the current heat flow into the ballonet.
double GetVolume(void) const
Get the current volume of the ballonet.
const FGMatrix33 & GetInertia(void) const
Get the moments of inertia of the ballonet.
double GetXYZ(int idx) const
Get the center of gravity location of the ballonet.
FGBallonet(FGFDMExec *exec, Element *el, unsigned int num, FGGasCell *parent, const struct FGGasCell::Inputs &input)
void Calculate(double dt)
Runs the ballonet model; called by FGGasCell.
double GetMass(void) const
Get the current mass of the ballonets.
This class implements a 3 element column vector.
FGForce(FGFDMExec *FDMExec)
Constructor.
Represents a mathematical function.
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)
double GetMass(void) const
Get the current mass of the gas cell (including any ballonets)
FGGasCell(FGFDMExec *exec, Element *el, unsigned int num, const struct Inputs &input)
Constructor.
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.
int GetIndex(void) const
Get the index of this gas cell.
double GetPressure(void) const
Get the current gas pressure inside the gas cell.
const FGColumnVector3 & GetMassMoment(void) const
Get the moment due to mass of the gas cell (including any ballonets)
const FGMatrix33 & GetInertia(void) const
Get the moments of inertia of the gas cell (including any ballonets)
FGJSBBase()
Constructor for FGJSBBase.
Models weight, balance and moment of inertia information.
Handles matrix math operations.