Simulation Core
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

84 Zeilen
2.5 KiB

  1. # 1 "/mnt/c/Projects/VSIM/SimulationCore2/Equipments/BopStack/ChokeLineMain.f90"
  2. module ChokeLineMain
  3. implicit none
  4. public
  5. contains
  6. ! subroutine ChokeLine_Setup()
  7. ! ! use CSimulationVariables
  8. ! implicit none
  9. ! call OnSimulationInitialization%Add(ChokeLine_Init)
  10. ! call OnSimulationStop%Add(ChokeLine_Init)
  11. ! call OnChokeLineStep%Add(ChokeLine_Step)
  12. ! call OnChokeLineOutput%Add(ChokeLine_Output)
  13. ! call OnChokeLineMain%Add(ChokeLineMainBody)
  14. ! end subroutine
  15. ! subroutine ChokeLine_Init
  16. ! implicit none
  17. ! end subroutine ChokeLine_Init
  18. subroutine ChokeLine_Step
  19. use SimulationVariables
  20. implicit none
  21. if (data%State%ChokeLine%finished/=0) then
  22. call CHOKE_LINE
  23. if (data%State%ChokeLine%IsOpening .or. data%State%ChokeLine%IsClosing) then
  24. data%State%Annular%FirstSet= 0
  25. data%State%AnnularComputational%RamsFirstSet= 0
  26. if(data%State%ChokeLine%finished==0) then
  27. call CHOKE_LINE_SUB !only body of loop2
  28. endif
  29. endif
  30. else
  31. call SHEAR_RAMS_SUB
  32. endif
  33. end subroutine ChokeLine_Step
  34. ! subroutine ChokeLine_Output
  35. ! implicit none
  36. ! end subroutine ChokeLine_Output
  37. ! subroutine ChokeLineMainBody
  38. ! USE ifport
  39. ! USE ifmt
  40. ! ! use CSimulationVariables
  41. ! ! USE BOP
  42. ! implicit none
  43. ! INTEGER :: ChokeLineDuration
  44. ! integer,dimension(8) :: ChokeLineStartTime , ChokeLineEndTime
  45. ! ! CALL BOP_StartUp()
  46. ! loop1: DO
  47. ! CALL DATE_AND_TIME(values=ChokeLineStartTime)
  48. ! CALL CHOKE_LINE
  49. ! CALL DATE_AND_TIME(values=chokeLineEndTime)
  50. ! chokeLineDuration = 3600000 * (chokeLineEndTime(5) - chokeLineStartTime(5)) + 60000 * (chokeLineEndTime(6) - chokeLineStartTime(6)) + 1000 * (chokeLineEndTime(7) - chokeLineStartTime(7)) + (chokeLineEndTime(8) - chokeLineStartTime(8))
  51. ! if (chokeLineDuration < 100) then
  52. ! call sleepqq(100 - chokeLineDuration)
  53. ! ELSE
  54. ! WRITE (*,*) 'chokeLine BOP run duration exceeded 100 ms and =', chokeLineDuration
  55. ! end if
  56. ! IF (IsStopped==.true.) THEN
  57. ! EXIT loop1
  58. ! ENDIF
  59. ! ENDDO loop1
  60. ! ! CALL DEALLOCATE_ARRAYS()
  61. ! end subroutine ChokeLineMainBody
  62. end module ChokeLineMain