subroutine Pump_OnMode_Solver(Pump_No) Use Pumps_VARIABLES IMPLICIT NONE INTEGER :: Pump_No PUMP(Pump_No)%Flow_Rate = PUMP(Pump_No)%FlowRatePerSTK*4118.d0*0.01d0*(PUMP(Pump_No)%Speed/PUMP(Pump_No)%Trans_Ratio) ![gpm] PUMP(Pump_No)%Max_FlowRate = PUMP(Pump_No)%FlowRatePerSTK*4118.d0*0.01d0*PUMP(Pump_No)%MaxSPM ![gpm] PUMP(Pump_No)%HorsePower = ((PUMP(Pump_No)%Flow_Rate/0.01d0)*PUMP(Pump_No)%StandPipe_Pressure)/(168067.d0*PUMP(Pump_No)%Mech_Efficiency) ![HHP] !PUMP(Pump_No)%Max_Horsepower = ((PUMP(Pump_No)%Flow_Rate/0.01d0)*PUMP(Pump_No)%Max_Pressure)/(168067.d0*PUMP(Pump_No)%Mech_Efficiency) ![HHP] PUMP(Pump_No)%Max_Horsepower = (PUMP(Pump_No)%Flow_Rate*PUMP(Pump_No)%Max_Pressure)/(1714.d0*PUMP(Pump_No)%Mech_Efficiency) if ( PUMP(Pump_No)%StandPipe_Pressure>PUMP(Pump_No)%Max_Pressure ) then ! in shart check shavad !if ( (PUMP(Pump_No)%StandPipe_Pressure*PUMP(Pump_No)%Flow_Rate)>(1714.d0*PUMP(Pump_No)%Max_Horsepower*PUMP(Pump_No)%Mech_Efficiency) ) then PUMP(Pump_No)%Flow_Rate = (1714.d0*PUMP(Pump_No)%Mech_Efficiency*PUMP(Pump_No)%Max_Horsepower)/PUMP(Pump_No)%StandPipe_Pressure ![gpm] PUMP(Pump_No)%Speed = ( PUMP(Pump_No)%Flow_Rate/(PUMP(Pump_No)%FlowRatePerSTK*4118.d0*0.01d0) )*PUMP(Pump_No)%Trans_Ratio ![rpm] end if PUMP(Pump_No)%SoundSPM = INT(PUMP(Pump_No)%Speed/PUMP(Pump_No)%Trans_Ratio) ![spm] If (PUMP(Pump_No)%Flow_Rate>0.d0) Then PUMP(Pump_No)%Open_Close = 1 Else PUMP(Pump_No)%Open_Close = 0 End if end subroutine Pump_OnMode_Solver