Simulation Core
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

MudSystemMain.f90 2.5 KiB

hace 1 año
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. module MudSystemMain
  2. implicit none
  3. public
  4. contains
  5. subroutine MudSystem_Setup()
  6. use CSimulationVariables
  7. use MudSystem
  8. implicit none
  9. call SetupMudSystem()
  10. call OnSimulationStop%Add(MudSystem_Stop)
  11. call OnMudSystemStart%Add(MudSystem_Start)
  12. call OnMudSystemStep%Add(MudSystem_Step)
  13. call OnMudSystemMain%Add(MudSystemMainBody)
  14. end subroutine
  15. subroutine MudSystem_Stop
  16. implicit none
  17. !print* , 'MudSystem_Stop'
  18. CALL DEALLOCATE_ARRAYS_MudSystem()
  19. end subroutine MudSystem_Stop
  20. subroutine MudSystem_Start
  21. implicit none
  22. !print* , 'MudSystem_Start'
  23. CALL MudSystem_StartUp()
  24. end subroutine MudSystem_Start
  25. subroutine MudSystem_Step
  26. use MudSystem
  27. use CManifolds
  28. implicit none
  29. !print* , 'MudSystem_Step'
  30. !CALL main
  31. if(IsTraverse) then
  32. call LineupAndPath()
  33. IsTraverse = .false.
  34. endif
  35. call main()
  36. end subroutine MudSystem_Step
  37. subroutine MudSystemMainBody
  38. USE CSimulationVariables
  39. use MudSystem
  40. implicit none
  41. ! INTEGER :: MudDuration
  42. ! integer,dimension(8) :: MudStartTime , MudEndTime
  43. !
  44. !CALL MudSystem_StartUp()
  45. ! loop1: DO
  46. !
  47. ! CALL DATE_AND_TIME(values=MudStartTime)
  48. ! !WRITE (*,*) '***MudSys_timeCounter', MudSys_timeCounter
  49. !
  50. !
  51. ! CALL main
  52. !
  53. ! CALL DATE_AND_TIME(values=MudEndTime)
  54. !
  55. ! MudDuration = 3600000 * (MudEndTime(5) - MudStartTime(5)) + 60000 * (MudEndTime(6) - MudStartTime(6)) + 1000 * (MudEndTime(7) - MudStartTime(7)) + (MudEndTime(8) - MudStartTime(8))
  56. !
  57. ! if (MudDuration < 100) then
  58. ! ELSE
  59. ! WRITE (*,*) 'Mud System run duration exceeded 100 ms and =', MudDuration
  60. ! end if
  61. !
  62. ! IF (IsStopped==.true.) THEN
  63. ! EXIT loop1
  64. ! ENDIF
  65. !
  66. ! !CALL DATE_AND_TIME(values=FlowEndTime)
  67. ! !WRITE (*,*) 'FlowEndTime=' , FlowEndTime
  68. !
  69. ! !FlowDuration = FlowEndTime(8) - FlowStartTime(8)
  70. !
  71. ! !WRITE (*,*) 'FlowDuration Mud system=' , FlowDuration
  72. !
  73. ! ENDDO loop1
  74. !
  75. ! CALL DEALLOCATE_ARRAYS_MudSystem()
  76. end subroutine MudSystemMainBody
  77. end module MudSystemMain