Simulation Core
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

68 linhas
2.0 KiB

  1. subroutine Pump1_OffMode_Solver(Pump_No)
  2. use Pump_VARIABLES
  3. use CPumpsVariables
  4. use CDrillingConsoleVariables
  5. use CDataDisplayConsoleVariables
  6. use CSimulationVariables
  7. use CDrillWatchVariables
  8. use CSounds
  9. IMPLICIT NONE
  10. INTEGER :: Pump_No
  11. CALL Pump_INPUTS
  12. !==================================================================
  13. ! Rate limit for off Mode
  14. Do while (((PUMP(Pump_No)%N_old-0.0d0)/PUMP(Pump_No)%time_step)>386.0d0)
  15. PUMP(Pump_No)%N_ref = (-386.0d0*PUMP(Pump_No)%time_step)+PUMP(Pump_No)%N_old
  16. !else
  17. ! PUMP(1)%N_ref=0.0d0
  18. !end if
  19. Call Pump1_OnMode_Solver(Pump_No)
  20. PUMP(Pump_No)%N_old = PUMP(Pump_No)%N_ref
  21. Call sleepqq (80) !?????????????????
  22. End Do
  23. !==================================================================
  24. PUMP(Pump_No)%Speed = 0.0d0
  25. PUMP(Pump_No)%w = 0.0d0
  26. PUMP(Pump_No)%w_old = 0.0d0
  27. PUMP(Pump_No)%w_new = 0.0d0
  28. PUMP(Pump_No)%ia = 0.0d0
  29. PUMP(Pump_No)%ia_old = 0.0d0
  30. PUMP(Pump_No)%ia_new = 0.0d0
  31. PUMP(Pump_No)%x = 0.0d0
  32. PUMP(Pump_No)%x_old = 0.0d0
  33. PUMP(Pump_No)%x_new = 0.0d0
  34. Call Pump_Solver(Pump_No)
  35. Call Pump_Total_Counts
  36. Call Set_MP1SPMGauge( sngl(1-PUMP(1)%SPMGaugeMalf)*real((PUMP(1)%Speed/PUMP(1)%Trans_Ratio),8) )
  37. SPM1 = MP1SPMGauge
  38. PUMP(1)%SoundSPM = INT(PUMP(1)%Speed/PUMP(1)%Trans_Ratio)
  39. Call SetSoundMP1( PUMP(1)%SoundSPM )
  40. !Call Set_MP2SPMGauge( real((PUMP(2)%Speed/PUMP(2)%Trans_Ratio),8) )
  41. !SPM2 = MP2SPMGauge
  42. !print*, 'PUMP(1)%Speed2=', PUMP(1)%Speed
  43. !print*, 'PUMP(Pump_No)%N_ref2=', PUMP(Pump_No)%N_ref
  44. end subroutine Pump1_OffMode_Solver