Frederic Bouvier writes:
There is an invalid float operation in FGPiston when the engine is off :
in void FGPiston::doAirFlow(void)
...
double swept_volume = (displacement_SI * (RPM/60)) / 2;
double v_dot_air = swept_volume * volumetric_efficiency;
m_dot_air = v_dot_air *
I think we need a special case for engine off here.
Good catch.
I have changed some things in FGPiston (fixed) based on my limited
understanding).
void FGPiston::doManifoldPressure(void)
{
// DAVE: CHECK THIS
if (Running ) {
ManifoldPressure_inHg = MinManifoldPressure_inHg +
I think we need a special case for engine off here.
Good catch.
I have changed some things in FGPiston (fixed) based on my limited
understanding).
void FGPiston::doManifoldPressure(void)
{
// DAVE: CHECK THIS
if (Running ) {
ManifoldPressure_inHg = MinManifoldPressure_inHg
Compilers complains : delta_T_exhaust used without having
been initialized
Why the '-=' in the else case of calculation of
delta_T_exhaust ? What is its previous value ?
Oy! Good catch. I screwed up. Fix to be committed shortly.
___
void FGPiston::doEGT(void)
{
...
...
// DAVE: CHECK THIS
if (heat_capacity_exhaust = 0.001)
delta_T_exhaust = enthalpy_exhaust / heat_capacity_exhaust;
else
delta_T_exhaust -= (dt/2.0)*delta_T_exhaust;
Do you mean :
if (heat_capacity_exhaust = 0.001)