zero_centered = element->FindElement("zero_centered");
//ToDo if zero centered, then mins must be <0 and max's must be >0
if (zero_centered) {
- sZeroCentered = zero_centered->FindElementValue("zero_centered");
+ sZeroCentered = element->FindElementValue("zero_centered");
if (sZeroCentered == string("0") || sZeroCentered == string("false")) {
ZeroCentered = false;
}
MaxHP = 200;
MinManifoldPressure_inHg = 6.5;
MaxManifoldPressure_inHg = 28.5;
- BSFC = 0.45;
+ BSFC = -1;
// These are internal program variables
if (el->FindElement("ratedaltitude3"))
RatedAltitude[2] = el->FindElementValueAsNumberConvertTo("ratedaltitude3", "FT");
}
+
+ // Create a BSFC to match the engine if not provided
+ // The 0.8 in the equation below is volumetric efficiency
+ if (BSFC < 0) {
+ BSFC = ( Displacement * MaxRPM * 0.8 ) / (9411 * MaxHP);
+ }
char property_name[80];
snprintf(property_name, 80, "propulsion/engine[%d]/power_hp", EngineNumber);
PropertyManager->Tie(property_name, &HP);