 |
JSBSim Flight Dynamics Model
1.1.11 (13 Feb 2022)
An Open Source Flight Dynamics and Control Software Library in C++
|
44 #include "FGThruster.h"
45 #include "FGTransmission.h"
237 enum eCtrlMapping {eMainCtrl=0, eTailCtrl, eTandemCtrl};
258 double GetRPM(
void)
const {
return RPM; }
259 void SetRPM(
double rpm) { RPM = rpm; }
263 void SetEngineRPM(
double rpm) {EngineRPM = rpm;}
270 double GetA0(
void)
const {
return a0; }
272 double GetA1(
void)
const {
return a1s; }
274 double GetB1(
void)
const {
return b1s; }
279 double GetMu(
void)
const {
return mu; }
281 double GetNu(
void)
const {
return nu; }
283 double GetVi(
void)
const {
return v_induced; }
285 double GetCT(
void)
const {
return C_T; }
292 double GetPhiDW(
void)
const {
return phi_downwash; }
314 std::string GetThrusterLabels(
int id,
const std::string& delimeter);
315 std::string GetThrusterValues(
int id,
const std::string& delimeter);
320 double ConfigValueConv(
Element* e,
const std::string& ename,
double default_val=0.0,
321 const std::string& unit =
"",
bool tell=
false);
323 double ConfigValue(
Element* e,
const std::string& ename,
double default_val=0.0,
326 double Configure(
Element* rotor_element);
328 void CalcRotorState(
void);
331 void calc_flow_and_thrust(
double theta_0,
double Uw,
double Ww,
double flow_scale = 1.0);
332 void calc_coning_angle(
double theta_0);
333 void calc_flapping_angles(
double theta_0,
const FGColumnVector3 &pqr_fus_w);
334 void calc_drag_and_side_forces(
double theta_0);
335 void calc_torque(
double theta_0);
336 void calc_downwash_angles();
340 double a_ic = 0.0 ,
double b_ic = 0.0 );
347 void Debug(
int from);
365 FGPropertyNode_ptr ExtRPMsource;
366 double SourceGearRatio;
370 double LiftCurveSlope;
373 double BladeFlappingMoment;
374 double BladeMassMoment;
380 double GroundEffectExp;
381 double GroundEffectShift;
382 double GroundEffectScaleNorm;
385 double LockNumberByRho;
402 double a_1, b_1, a_dw;
404 double H_drag, J_side;
413 double theta_downwash;
417 eCtrlMapping ControlMap;
418 double CollectiveCtrl;
420 double LongitudinalCtrl;
425 double MaxBrakePower;
~FGRotor()
Destructor for FGRotor.
double GetVi(void) const
Retrieves the induced velocity.
Encapsulates the JSBSim simulation executive.
void SetLateralCtrl(double c)
Sets the lateral control input in radians.
double GetThetaDW(void) const
Downwash angle - positive values point forward (given a horizontal spinning rotor)
This class implements a 3 element column vector.
double GetThrust(void) const
Retrieves the thrust of the rotor.
double GetRPM(void) const
Retrieves the RPMs of the rotor.
void SetLongitudinalCtrl(double c)
Sets the longitudinal control input in radians.
double GetA1(void) const
Retrieves the longitudinal flapping angle with respect to the rotor shaft.
double GetCT(void) const
Retrieves the thrust coefficient.
double GetEngineRPM(void) const
Retrieves the RPMs of the Engine, as seen from this rotor.
void SetCollectiveCtrl(double c)
Sets the collective control input in radians.
Handles matrix math operations.
double GetLongitudinalCtrl(void) const
Retrieves the longitudinal control input in radians.
Utility class that handles power transmission in conjunction with FGRotor.
double GetPhiDW(void) const
Downwash angle - positive values point leftward (given a horizontal spinning rotor)
void SetGroundEffectScaleNorm(double g)
Sets the ground effect scaling factor.
double GetCollectiveCtrl(void) const
Retrieves the collective control input in radians.
Models a helicopter rotor.
double GetNu(void) const
Retrieves the induced inflow ratio.
double GetA0(void) const
Retrieves the rotor's coning angle.
double GetGearRatio(void)
Tells the rotor's gear ratio, usually the engine asks for this.
FGRotor(FGFDMExec *exec, Element *rotor_element, int num)
Constructor for FGRotor.
double GetLambda(void) const
Retrieves the inflow ratio.
double GetLateralCtrl(void) const
Retrieves the lateral control input in radians.
double GetB1(void) const
Retrieves the lateral flapping angle with respect to the rotor shaft.
Base class for specific thrusting devices such as propellers, nozzles, etc.
double GetPowerRequired(void) const
Returns the power required by the rotor.
double GetTorque(void) const
Retrieves the torque.
double Calculate(double EnginePower)
Returns the scalar thrust of the rotor, and adjusts the RPM value.
double GetMu(void) const
Retrieves the tip-speed (aka advance) ratio.
double GetGroundEffectScaleNorm(void) const
Retrieves the ground effect scaling factor.