Simulation Core
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

CMudTreatmentProblems.f90 5.0 KiB

1 rok temu
1 rok temu
1 rok temu
1 rok temu
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. module CMudTreatmentProblems
  2. use SimulationVariables
  3. implicit none
  4. public
  5. contains
  6. subroutine ProcessMudTreatmentProblemsDueTime(time)
  7. implicit none
  8. integer :: time
  9. if(data%problems%MudTreatmentProblems%Degasser%ProblemType == Time_ProblemType) call ProcessDueTime(data%problems%MudTreatmentProblems%Degasser, ChangeDegasser, time)
  10. if(data%problems%MudTreatmentProblems%ShaleShaker%ProblemType == Time_ProblemType) call ProcessDueTime(data%problems%MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, time)
  11. if(data%problems%MudTreatmentProblems%Desander%ProblemType == Time_ProblemType) call ProcessDueTime(data%problems%MudTreatmentProblems%Desander, ChangeDesander, time)
  12. if(data%problems%MudTreatmentProblems%Desilter%ProblemType == Time_ProblemType) call ProcessDueTime(data%problems%MudTreatmentProblems%Desilter, ChangeDesilter, time)
  13. end subroutine
  14. subroutine ProcessMudTreatmentProblemsDuePumpStrokes(strokes)
  15. implicit none
  16. integer :: strokes
  17. if(data%problems%MudTreatmentProblems%Degasser%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(data%problems%MudTreatmentProblems%Degasser, ChangeDegasser, strokes)
  18. if(data%problems%MudTreatmentProblems%ShaleShaker%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(data%problems%MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, strokes)
  19. if(data%problems%MudTreatmentProblems%Desander%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(data%problems%MudTreatmentProblems%Desander, ChangeDesander, strokes)
  20. if(data%problems%MudTreatmentProblems%Desilter%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(data%problems%MudTreatmentProblems%Desilter, ChangeDesilter, strokes)
  21. end subroutine
  22. subroutine ProcessMudTreatmentProblemsDueVolumePumped(volume)
  23. implicit none
  24. real(8) :: volume
  25. if(data%problems%MudTreatmentProblems%Degasser%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(data%problems%MudTreatmentProblems%Degasser, ChangeDegasser, volume)
  26. if(data%problems%MudTreatmentProblems%ShaleShaker%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(data%problems%MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, volume)
  27. if(data%problems%MudTreatmentProblems%Desander%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(data%problems%MudTreatmentProblems%Desander, ChangeDesander, volume)
  28. if(data%problems%MudTreatmentProblems%Desilter%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(data%problems%MudTreatmentProblems%Desilter, ChangeDesilter, volume)
  29. end subroutine
  30. subroutine ProcessMudTreatmentProblemsDueDistanceDrilled(distance)
  31. implicit none
  32. real(8) :: distance
  33. if(data%problems%MudTreatmentProblems%Degasser%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(data%problems%MudTreatmentProblems%Degasser, ChangeDegasser, distance)
  34. if(data%problems%MudTreatmentProblems%ShaleShaker%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(data%problems%MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, distance)
  35. if(data%problems%MudTreatmentProblems%Desander%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(data%problems%MudTreatmentProblems%Desander, ChangeDesander, distance)
  36. if(data%problems%MudTreatmentProblems%Desilter%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(data%problems%MudTreatmentProblems%Desilter, ChangeDesilter, distance)
  37. end subroutine
  38. subroutine ChangeDegasser(status)
  39. implicit none
  40. integer, intent (in) :: status
  41. !if(associated(DegasserPtr)) call DegasserPtr(status)
  42. !if(status == Clear_StatusType) print*,'On_Degasser_Clear'
  43. !if(status == Executed_StatusType) print*,'On_Degasser_Execute'
  44. endsubroutine
  45. subroutine ChangeShaleShaker(status)
  46. implicit none
  47. integer, intent (in) :: status
  48. !if(associated(ShaleShakerPtr)) call ShaleShakerPtr(status)
  49. !if(status == Clear_StatusType) print*,'On_ShaleShaker_Clear'
  50. !if(status == Executed_StatusType) print*,'On_ShaleShaker_Execute'
  51. endsubroutine
  52. subroutine ChangeDesander(status)
  53. implicit none
  54. integer, intent (in) :: status
  55. !if(associated(DesanderPtr)) call DesanderPtr(status)
  56. !if(status == Clear_StatusType) print*,'On_Desander_Clear'
  57. !if(status == Executed_StatusType) print*,'On_Desander_Execute'
  58. endsubroutine
  59. subroutine ChangeDesilter(status)
  60. implicit none
  61. integer, intent (in) :: status
  62. !if(associated(DesilterPtr)) call DesilterPtr(status)
  63. !if(status == Clear_StatusType) print*,'On_Desilter_Clear'
  64. !if(status == Executed_StatusType) print*,'On_Desilter_Execute'
  65. endsubroutine
  66. end module CMudTreatmentProblems