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