subroutine Pump3_MainSolver Use Pumps_VARIABLES Implicit none if (PUMP(3)%Throttle<=0.d0) then PUMP(3)%K_throttle = 1 end if if((PUMP(3)%Switch==1) .and. (PUMP(3)%K_throttle==1) .and. (PUMP(3)%PowerFailMalf==0) .and. (PUMP(3)%Failure==0)) then !========================== Pump 3 Rate limit ========================== if (((PUMP(3)%N_new-PUMP(3)%N_old)/PUMP(3)%time_step)>PUMP(3)%RateChange) then PUMP(3)%Speed =(PUMP(3)%RateChange*PUMP(3)%time_step)+PUMP(3)%N_old ![RPM] else if (((PUMP(3)%N_old-PUMP(3)%N_new)/PUMP(3)%time_step)>PUMP(3)%RateChange) then PUMP(3)%Speed = (-PUMP(3)%RateChange*PUMP(3)%time_step)+PUMP(3)%N_old else PUMP(3)%Speed = PUMP(3)%N_new end if !======================================================================= Call Pump_OnMode_Solver(3) else Call Pump_OffMode_Solver(3) PUMP(3)%K_throttle = 0 end if PUMP(3)%N_old = PUMP(3)%Speed end subroutine Pump3_MainSolver