Simulation Core
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1 рік тому
1 рік тому
1 рік тому
1 рік тому
1 рік тому
1 рік тому
1 рік тому
1 рік тому
1 рік тому
1 рік тому
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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