@@ -159,6 +159,7 @@ protected float VacResPressureAdjPSIA()
159159 ( Car as MSTSWagon ) . HandBrakePresent ? string . Format ( "{0:F0}%" , HandbrakePercent ) : string . Empty ,
160160 FrontBrakeHoseConnected ? "I" : "T" ,
161161 string . Format ( "A{0} B{1}" , AngleCockAOpen ? "+" : "-" , AngleCockBOpen ? "+" : "-" ) ,
162+ BleedOffValveOpen ? Simulator . Catalog . GetString ( "Open" ) : string . Empty ,
162163 } ;
163164 }
164165 else
@@ -177,6 +178,7 @@ protected float VacResPressureAdjPSIA()
177178 HandbrakePercent > 0 ? string . Format ( "{0:F0}%" , HandbrakePercent ) : string . Empty ,
178179 FrontBrakeHoseConnected ? "I" : "T" ,
179180 string . Format ( "A{0} B{1}" , AngleCockAOpen ? "+" : "-" , AngleCockBOpen ? "+" : "-" ) ,
181+ BleedOffValveOpen ? Simulator . Catalog . GetString ( "Open" ) : string . Empty ,
180182 } ;
181183 }
182184 }
@@ -481,7 +483,25 @@ public override void Update(float elapsedClockSeconds)
481483 }
482484 else
483485 {
484- if ( BrakeLine1PressurePSI < VacResPressurePSIA )
486+
487+ if ( BleedOffValveOpen )
488+ {
489+ // the following reduces the brake cylinder and vacuum reservoir to 0inHg if the bleed valve is operated
490+ float dp = elapsedClockSeconds * MaxApplicationRatePSIpS ;
491+ VacResPressurePSIA += dp ;
492+ if ( VacResPressurePSIA > OneAtmospherePSI )
493+ {
494+ VacResPressurePSIA = OneAtmospherePSI ;
495+ }
496+
497+ CylPressurePSIA += dp ;
498+ if ( CylPressurePSIA > OneAtmospherePSI )
499+ {
500+ CylPressurePSIA = OneAtmospherePSI ;
501+ }
502+
503+ }
504+ else if ( BrakeLine1PressurePSI < VacResPressurePSIA )
485505 {
486506 float dp = elapsedClockSeconds * MaxApplicationRatePSIpS * ( NumBrakeCylinders * BrakeCylVolM3 ) / VacResVolM3 ;
487507 float vr = VacResVolM3 / BrakePipeVolumeM3 ;
0 commit comments