|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- module AnnularMain
- implicit none
- public
- contains
-
- subroutine Annular_Setup()
- use CSimulationVariables
- implicit none
- call OnSimulationInitialization%Add(Annular_Init)
- call OnSimulationStop%Add(Annular_Init)
- call OnAnnularStep%Add(Annular_Step)
- call OnAnnularOutput%Add(Annular_Output)
- call OnAnnularMain%Add(AnnularMainBody)
- end subroutine
-
- subroutine Annular_Init
- implicit none
- end subroutine Annular_Init
-
- subroutine Annular_Step
- CALL ANNULAR
- end subroutine Annular_Step
-
- subroutine Annular_Output
- implicit none
- end subroutine Annular_Output
-
- subroutine AnnularMainBody
- USE ifport
- USE ifmt
- USE CSimulationVariables
- ! USE BOP
- implicit none
-
- INTEGER :: AnnularDuration
- integer,dimension(8) :: AnnularStartTime , AnnularEndTime
-
- ! CALL BOP_StartUp()
- loop1: DO
- CALL DATE_AND_TIME(values=AnnularStartTime)
-
- CALL ANNULAR
-
- CALL DATE_AND_TIME(values=AnnularEndTime)
-
- AnnularDuration = 3600000 * (AnnularEndTime(5) - AnnularStartTime(5)) + 60000 * (AnnularEndTime(6) - AnnularStartTime(6)) + 1000 * (AnnularEndTime(7) - AnnularStartTime(7)) + (AnnularEndTime(8) - AnnularStartTime(8))
-
- if (AnnularDuration < 100) then
- call sleepqq(100 - AnnularDuration)
- ELSE
- WRITE (*,*) 'Annular BOP run duration exceeded 100 ms and =', AnnularDuration
- end if
-
- IF (IsStopped==.true.) THEN
- EXIT loop1
- ENDIF
-
-
- ENDDO loop1
-
-
- ! CALL DEALLOCATE_ARRAYS()
- end subroutine AnnularMainBody
-
- end module AnnularMain
|