Updated to latest JSBSim, including preliminary support for
windmilling propellers.
This commit is contained in:
parent
73a898e346
commit
36f00b1c12
1 changed files with 11 additions and 1 deletions
|
@ -154,9 +154,18 @@ double FGPropeller::Calculate(double PowerAvailable)
|
||||||
}
|
}
|
||||||
|
|
||||||
Thrust = C_Thrust*RPS*RPS*Diameter*Diameter*Diameter*Diameter*rho;
|
Thrust = C_Thrust*RPS*RPS*Diameter*Diameter*Diameter*Diameter*rho;
|
||||||
vFn(1) = Thrust;
|
|
||||||
omega = RPS*2.0*M_PI;
|
omega = RPS*2.0*M_PI;
|
||||||
|
|
||||||
|
// Check for windmilling.
|
||||||
|
double radius = Diameter * 0.375; // 75% of radius
|
||||||
|
double windmill_cutoff = tan(Pitch * 1.745329E-2) * omega * radius;
|
||||||
|
if (Vel > windmill_cutoff) {
|
||||||
|
cout << "Windmilling: " << Vel << " > " << windmill_cutoff << endl;
|
||||||
|
Thrust = -Thrust;
|
||||||
|
}
|
||||||
|
|
||||||
|
vFn(1) = Thrust;
|
||||||
|
|
||||||
// The Ixx value and rotation speed given below are for rotation about the
|
// The Ixx value and rotation speed given below are for rotation about the
|
||||||
// natural axis of the engine. The transform takes place in the base class
|
// natural axis of the engine. The transform takes place in the base class
|
||||||
// FGForce::GetBodyForces() function.
|
// FGForce::GetBodyForces() function.
|
||||||
|
@ -187,6 +196,7 @@ double FGPropeller::GetPowerRequired(void)
|
||||||
double rho = fdmex->GetAtmosphere()->GetDensity();
|
double rho = fdmex->GetAtmosphere()->GetDensity();
|
||||||
|
|
||||||
if (MaxPitch == MinPitch) { // Fixed pitch prop
|
if (MaxPitch == MinPitch) { // Fixed pitch prop
|
||||||
|
Pitch = MinPitch;
|
||||||
cPReq = cPower->GetValue(J);
|
cPReq = cPower->GetValue(J);
|
||||||
} else { // Variable pitch prop
|
} else { // Variable pitch prop
|
||||||
double advance = fdmex->GetFCS()->GetPropAdvance(ThrusterNumber);
|
double advance = fdmex->GetFCS()->GetPropAdvance(ThrusterNumber);
|
||||||
|
|
Loading…
Add table
Reference in a new issue