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.
 
 
 
 
 
 

113 lines
4.7 KiB

  1. subroutine Pumps_Inputs
  2. use CDrillingConsoleVariables
  3. use SimulationVariables
  4. Use MudSystemModule
  5. IMPLICIT NONE
  6. !>>>>>>>>>>>>>>>>>>>>>>> PUMP 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<
  7. !data%State%Pump(1)%BlowPopOffMalf = 0 !??????? motaghayere voroudi
  8. if ( data%State%Pump(1)%BlowPopOffMalf==1 ) then ! Pump1 Malfunction ----> Blow Pop-offs (Relief Valves)
  9. data%State%Pump(1)%StandPipe_Pressure = 0.d0
  10. else
  11. data%State%Pump(1)%StandPipe_Pressure = PumpPressure1 ![psi]
  12. if ( data%State%Pump(1)%StandPipe_Pressure<=14.d0 ) then
  13. data%State%Pump(1)%StandPipe_Pressure = 14.d0
  14. end if
  15. end if
  16. data%State%Pump(1)%AssignmentSwitchh = data%Equipments%DrillingConsole%AssignmentSwitch
  17. data%State%Pump(1)%Switch = data%Equipments%DrillingConsole%MP1CPSwitch
  18. data%State%Pump(1)%Throttle = data%Equipments%DrillingConsole%MP1Throttle ![SPM] 0<MP1Throttle<data%State%Pump(1)%MaxSPM
  19. data%State%Pump(1)%Throttle = data%State%Pump(1)%Throttle*data%State%Pump(1)%Trans_Ratio ![RPM] 0<Pump(1)%Throttle<965 rpm
  20. !data%State%Pump(1)%PowerFailMalf = 0 !??????? motaghayere voroudi (Pump1 Malfunction ----> Power Failure) !dar CPumpProblemsVariables meghdardehi mishavad
  21. data%State%Pump(1)%Failure = data%Warnings%Pump1Failure !(Pump1 Warning ----> Failure)
  22. data%State%Pump(1)%N_new = data%State%Pump(1)%Throttle
  23. !>>>>>>>>>>>>>>>>>>>>>>> PUMP 2 <<<<<<<<<<<<<<<<<<<<<<<<<<<
  24. !data%State%Pump(2)%BlowPopOffMalf = 0 !??????? motaghayere voroudi
  25. if ( data%State%Pump(2)%BlowPopOffMalf==1 ) then ! Pump2 Malfunction ----> Blow Pop-offs (Relief Valves)
  26. data%State%Pump(2)%StandPipe_Pressure = 0.d0
  27. else
  28. data%State%Pump(2)%StandPipe_Pressure = PumpPressure2 ![psi]
  29. if ( data%State%Pump(2)%StandPipe_Pressure<=14.d0 ) then
  30. data%State%Pump(2)%StandPipe_Pressure = 14.d0
  31. end if
  32. end if
  33. data%State%Pump(2)%AssignmentSwitchh = data%Equipments%DrillingConsole%AssignmentSwitch
  34. data%State%Pump(2)%Switch = data%Equipments%DrillingConsole%MP2Switch
  35. data%State%Pump(2)%Throttle = data%Equipments%DrillingConsole%MP2Throttle ![SPM] 0<MP2Throttle<data%State%Pump(2)%MaxSPM
  36. data%State%Pump(2)%Throttle = data%State%Pump(2)%Throttle*data%State%Pump(2)%Trans_Ratio ![RPM] 0<Pump(2)%Throttle<965 rpm
  37. !data%State%Pump(2)%PowerFailMalf = 0 !??????? motaghayere voroudi (Pump2 Malfunction ----> Power Failure) !dar CPumpProblemsVariables meghdardehi mishavad
  38. data%State%Pump(2)%Failure = data%Warnings%Pump2Failure !(Pump2 Warning ----> Failure)
  39. data%State%Pump(2)%N_new = data%State%Pump(2)%Throttle
  40. !!>>>>>>>>>>>>>>>>>>>>>>> PUMP 3 <<<<<<<<<<<<<<<<<<<<<<<<<<<
  41. !data%State%Pump(3)%BlowPopOffMalf = 0 !??????? motaghayere voroudi
  42. if ( data%State%Pump(3)%BlowPopOffMalf==1 ) then ! Pump3 Malfunction ----> Blow Pop-offs (Relief Valves)
  43. data%State%Pump(3)%StandPipe_Pressure = 0.d0
  44. else
  45. data%State%Pump(3)%StandPipe_Pressure = PumpPressure3 ![psi]
  46. if ( data%State%Pump(3)%StandPipe_Pressure<=14.d0 ) then
  47. data%State%Pump(3)%StandPipe_Pressure = 14.d0
  48. end if
  49. end if
  50. data%State%Pump(3)%Switch = data%Equipments%DrillingConsole%MP1CPSwitch
  51. data%State%Pump(3)%Throttle = data%Equipments%DrillingConsole%MP1Throttle ![SPM] 0<MP1Throttle<data%State%Pump(3)%MaxSPM
  52. data%State%Pump(3)%Throttle = data%State%Pump(3)%Throttle*data%State%Pump(3)%Trans_Ratio ![RPM] 0<Pump(3)%Throttle<965 rpm
  53. !data%State%Pump(3)%PowerFailMalf = 0 !??????? motaghayere voroudi (Pump3 Malfunction ----> Power Failure) !dar CPumpProblemsVariables meghdardehi mishavad
  54. data%State%Pump(3)%Failure = data%Warnings%Pump3Failure !(Pump1 Warning ----> Failure)
  55. data%State%Pump(3)%N_new = data%State%Pump(3)%Throttle
  56. !>>>>>>>>>>>>>>>>>>>>>>> Total Pumps <<<<<<<<<<<<<<<<<<<<<<<<<<<
  57. end subroutine Pumps_Inputs