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.
 
 
 
 
 
 

82 rivejä
2.6 KiB

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