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.
 
 
 
 
 
 

74 lines
2.3 KiB

  1. module CLostProblemsVariables
  2. use CProblemDifinition
  3. implicit none
  4. public
  5. ! Input vars
  6. type::LostProblemsType
  7. type(CProblem) :: LostCirculation
  8. real(8) :: FlowRate
  9. end type LostProblemsType
  10. type(LostProblemsType)::LostProblems
  11. ! procedure (ActionInteger), pointer :: LostCirculationPtr
  12. contains
  13. subroutine ProcessLostProblemsDueTime(time)
  14. implicit none
  15. integer :: time
  16. if(LostProblems%LostCirculation%ProblemType == Time_ProblemType) call ProcessDueTime(LostProblems%LostCirculation, ChangeLostCirculation, time)
  17. end subroutine
  18. subroutine ProcessLostProblemsDuePumpStrokes(strokes)
  19. implicit none
  20. integer :: strokes
  21. if(LostProblems%LostCirculation%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(LostProblems%LostCirculation, ChangeLostCirculation, strokes)
  22. end subroutine
  23. subroutine ProcessLostProblemsDueVolumePumped(volume)
  24. implicit none
  25. real(8) :: volume
  26. if(LostProblems%LostCirculation%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(LostProblems%LostCirculation, ChangeLostCirculation, volume)
  27. end subroutine
  28. subroutine ProcessLostProblemsDueDistanceDrilled(distance)
  29. implicit none
  30. real(8) :: distance
  31. if(LostProblems%LostCirculation%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(LostProblems%LostCirculation, ChangeLostCirculation, distance)
  32. end subroutine
  33. subroutine ChangeLostCirculation(status)
  34. implicit none
  35. integer, intent (in) :: status
  36. ! if(associated(LostCirculationPtr)) call LostCirculationPtr(status)
  37. !if(status == Clear_StatusType) print*,'On_LostCirculation_Clear'
  38. !if(status == Executed_StatusType) print*,'On_LostCirculation_Execute'
  39. endsubroutine
  40. ! subroutine SubscribeLostCirculation(v)
  41. ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLostCirculation
  42. ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLostCirculation' :: SubscribeLostCirculation
  43. ! implicit none
  44. ! procedure (ActionInteger) :: v
  45. ! LostCirculationPtr => v
  46. ! end subroutine
  47. end module CLostProblemsVariables