subroutine Pump_Solver(Pump_No) use Pump_VARIABLES use CPumpsVariables use CDrillingConsoleVariables use CDataDisplayConsoleVariables use CSimulationVariables IMPLICIT NONE INTEGER :: Pump_No PUMP(Pump_No)%Flow_Rate = PUMP(Pump_No)%Piston_Area*PUMP(Pump_No)%Stroke_Length*(PUMP(Pump_No)%Speed/PUMP(Pump_No)%Trans_Ratio)*PUMP(Pump_No)%Vol_Efficiency/77.d0 ![gpm] PUMP(Pump_No)%Hydraulic_HorsePower = PUMP(Pump_No)%Piston_Area*PUMP(Pump_No)%Stroke_Length*(PUMP(Pump_No)%Speed/PUMP(Pump_No)%Trans_Ratio)*PUMP(Pump_No)%StandPipe_Pressure/132000.d0 ![HHP] PUMP(Pump_No)%TracMotor_Horsepower = PUMP(Pump_No)%Hydraulic_HorsePower/PUMP(Pump_No)%Mech_Efficiency/PUMP(Pump_No)%Vol_Efficiency ![HHP] !PUMP(Pump_No)%Max_Pressure = (PUMP(Pump_No)%Max_Horsepower*1714.)/PUMP(Pump_No)%Flow_Rate ![psi] if ( (PUMP(Pump_No)%StandPipe_Pressure*PUMP(Pump_No)%Flow_Rate)>(1714.d0*PUMP(Pump_No)%Max_Horsepower*PUMP(Pump_No)%Mech_Efficiency*PUMP(Pump_No)%Vol_Efficiency) ) then PUMP(Pump_No)%Flow_Rate = (1714.d0*PUMP(Pump_No)%Max_Horsepower*PUMP(Pump_No)%Mech_Efficiency*PUMP(Pump_No)%Vol_Efficiency)/PUMP(Pump_No)%StandPipe_Pressure ![gpm] PUMP(Pump_No)%Speed = ( (PUMP(Pump_No)%Flow_Rate*77.d0)/(PUMP(Pump_No)%Piston_Area*PUMP(Pump_No)%Stroke_Length) )*PUMP(Pump_No)%Trans_Ratio ![rpm] end if end subroutine Pump_Solver