Simulation Core
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

CLostProblemsVariables.f90 2.1 KiB

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