Simulation Core
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

48 lines
1.8 KiB

  1. module CLostProblems
  2. use SimulationVariables
  3. implicit none
  4. public
  5. contains
  6. subroutine ProcessLostProblemsDueTime(time)
  7. implicit none
  8. integer :: time
  9. if(data%problems%LostProblems%LostCirculation%ProblemType == Time_ProblemType) call ProcessDueTime(data%problems%LostProblems%LostCirculation, ChangeLostCirculation, time)
  10. end subroutine
  11. subroutine ProcessLostProblemsDuePumpStrokes(strokes)
  12. implicit none
  13. integer :: strokes
  14. if(data%problems%LostProblems%LostCirculation%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(data%problems%LostProblems%LostCirculation, ChangeLostCirculation, strokes)
  15. end subroutine
  16. subroutine ProcessLostProblemsDueVolumePumped(volume)
  17. implicit none
  18. real(8) :: volume
  19. if(data%problems%LostProblems%LostCirculation%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(data%problems%LostProblems%LostCirculation, ChangeLostCirculation, volume)
  20. end subroutine
  21. subroutine ProcessLostProblemsDueDistanceDrilled(distance)
  22. implicit none
  23. real(8) :: distance
  24. if(data%problems%LostProblems%LostCirculation%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(data%problems%LostProblems%LostCirculation, ChangeLostCirculation, distance)
  25. end subroutine
  26. subroutine ChangeLostCirculation(status)
  27. implicit none
  28. integer, intent (in) :: status
  29. ! if(associated(LostCirculationPtr)) call LostCirculationPtr(status)
  30. !if(status == Clear_StatusType) print*,'On_LostCirculation_Clear'
  31. !if(status == Executed_StatusType) print*,'On_LostCirculation_Execute'
  32. endsubroutine
  33. end module CLostProblems