Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Pump3_OnMode_Solver.f90 1.4 KiB

1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. subroutine Pump3_OnMode_Solver
  2. use Pump_VARIABLES
  3. use CPumpsVariables
  4. use CDrillingConsoleVariables
  5. use CDataDisplayConsoleVariables
  6. use CSimulationVariables
  7. use CDrillWatchVariables
  8. use equipments_PowerLimit
  9. use CSounds
  10. use CWarningsVariables
  11. IMPLICIT NONE
  12. INTEGER :: Pump_No
  13. Call Pump_INPUTS
  14. !! Torque unit = (in.lbf)
  15. !PUMP(Pump_No)%Torque = (63025./132000.)*(1./PUMP(Pump_No)%Trans_Ratio)*(PUMP(Pump_No)%Piston_Area*PUMP(Pump_No)%Stroke_Length*PUMP(Pump_No)%StandPipe_Pressure/PUMP(Pump_No)%Mech_Efficiency/PUMP(Pump_No)%Vol_Efficiency)
  16. PUMP(3)%Speed = PUMP(3)%N_ref !Speed [RPM]
  17. if ( Pump3Failure == .true. ) then
  18. PUMP(3)%Speed = 0.d0
  19. PUMP(3)%w = 0.d0
  20. PUMP(3)%w_new = 0.d0
  21. PUMP(3)%w_old = 0.d0
  22. end if
  23. Call Pump_Solver(3)
  24. Call Pump_Total_Counts
  25. Call Set_MP1SPMGauge( real((PUMP(3)%Speed/PUMP(3)%Trans_Ratio),8) )
  26. SPM1 = MP1SPMGauge
  27. PUMP(3)%SoundSPM = INT(PUMP(3)%Speed/PUMP(3)%Trans_Ratio)
  28. Call SetSoundMP3( PUMP(3)%SoundSPM )
  29. IF (PUMP(3)%Flow_Rate>0.) Then
  30. Call OpenCementPump()
  31. Else
  32. Call CloseCementPump()
  33. End if
  34. end subroutine Pump3_OnMode_Solver