From 84853002c218843f61ca191175ea34ef65a071f3 Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Wed, 28 Feb 2024 07:05:53 -0800 Subject: [PATCH] Update repair time handling (#174) Signed-off-by: Alyona Teyber --- module/powerflow/pole.cpp | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/module/powerflow/pole.cpp b/module/powerflow/pole.cpp index c02524c1c..f06034f00 100644 --- a/module/powerflow/pole.cpp +++ b/module/powerflow/pole.cpp @@ -575,23 +575,29 @@ TIMESTAMP pole::postsync(TIMESTAMP t0) //// down_time = gl_globalclock; verbose("down_time = %lld", down_time); } - - // // M = a * V^2 + b * V + c - // // TODO - // pole_stress_polynomial_a = pole_moment_per_wind + equipment_moment_nowind + wire_moment_nowind; - // pole_stress_polynomial_b = 0.0; - // pole_stress_polynomial_c = wire_tension; - - TIMESTAMP next_event = pole_status == PS_FAILED ? down_time + (int)(repair_time*3600) : TS_NEVER; - verbose("next_event = %lld", next_event); //// should return repair time recalc = false; - return stop_on_pole_failure && pole_status == PS_FAILED ? TS_INVALID : next_event; } else { verbose("no pole recalculation flagged"); - return TS_NEVER; } + + if ( pole_status == PS_FAILED ) + { + if ( stop_on_pole_failure ) + { + return TS_INVALID; + } + TIMESTAMP next_event = down_time + (int)(repair_time*3600); + if ( t0 == next_event ) + { + return TS_NEVER; + } + verbose("next_event = %lld", next_event); //// should return repair time + return next_event; + + } + return TS_NEVER; } TIMESTAMP pole::commit(TIMESTAMP t1, TIMESTAMP t2)