|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- module CMudTreatmentProblemsVariables
- use CProblemDifinition
- implicit none
- public
-
- ! Input vars
- type(CProblem) :: Degasser
- type(CProblem) :: ShaleShaker
- type(CProblem) :: Desander
- type(CProblem) :: Desilter
-
-
- procedure (ActionInteger), pointer :: DegasserPtr
- procedure (ActionInteger), pointer :: ShaleShakerPtr
- procedure (ActionInteger), pointer :: DesanderPtr
- procedure (ActionInteger), pointer :: DesilterPtr
-
- contains
-
- subroutine ProcessMudTreatmentProblemsDueTime(time)
- implicit none
- integer :: time
-
- if(Degasser%ProblemType == Time_ProblemType) call ProcessDueTime(Degasser, ChangeDegasser, time)
- if(ShaleShaker%ProblemType == Time_ProblemType) call ProcessDueTime(ShaleShaker, ChangeShaleShaker, time)
- if(Desander%ProblemType == Time_ProblemType) call ProcessDueTime(Desander, ChangeDesander, time)
- if(Desilter%ProblemType == Time_ProblemType) call ProcessDueTime(Desilter, ChangeDesilter, time)
-
- end subroutine
-
-
- subroutine ProcessMudTreatmentProblemsDuePumpStrokes(strokes)
- implicit none
- integer :: strokes
-
- if(Degasser%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(Degasser, ChangeDegasser, strokes)
- if(ShaleShaker%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(ShaleShaker, ChangeShaleShaker, strokes)
- if(Desander%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(Desander, ChangeDesander, strokes)
- if(Desilter%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(Desilter, ChangeDesilter, strokes)
-
- end subroutine
-
-
- subroutine ProcessMudTreatmentProblemsDueVolumePumped(volume)
- implicit none
- real(8) :: volume
-
- if(Degasser%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(Degasser, ChangeDegasser, volume)
- if(ShaleShaker%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(ShaleShaker, ChangeShaleShaker, volume)
- if(Desander%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(Desander, ChangeDesander, volume)
- if(Desilter%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(Desilter, ChangeDesilter, volume)
-
- end subroutine
-
- subroutine ProcessMudTreatmentProblemsDueDistanceDrilled(distance)
- implicit none
- real(8) :: distance
-
- if(Degasser%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(Degasser, ChangeDegasser, distance)
- if(ShaleShaker%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(ShaleShaker, ChangeShaleShaker, distance)
- if(Desander%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(Desander, ChangeDesander, distance)
- if(Desilter%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(Desilter, ChangeDesilter, distance)
-
- end subroutine
-
-
-
-
-
-
-
- subroutine ChangeDegasser(status)
- implicit none
- integer, intent (in) :: status
- if(associated(DegasserPtr)) call DegasserPtr(status)
- !if(status == Clear_StatusType) print*,'On_Degasser_Clear'
- !if(status == Executed_StatusType) print*,'On_Degasser_Execute'
- endsubroutine
-
- subroutine ChangeShaleShaker(status)
- implicit none
- integer, intent (in) :: status
- if(associated(ShaleShakerPtr)) call ShaleShakerPtr(status)
- !if(status == Clear_StatusType) print*,'On_ShaleShaker_Clear'
- !if(status == Executed_StatusType) print*,'On_ShaleShaker_Execute'
- endsubroutine
-
- subroutine ChangeDesander(status)
- implicit none
- integer, intent (in) :: status
- if(associated(DesanderPtr)) call DesanderPtr(status)
- !if(status == Clear_StatusType) print*,'On_Desander_Clear'
- !if(status == Executed_StatusType) print*,'On_Desander_Execute'
- endsubroutine
-
- subroutine ChangeDesilter(status)
- implicit none
- integer, intent (in) :: status
- if(associated(DesilterPtr)) call DesilterPtr(status)
- !if(status == Clear_StatusType) print*,'On_Desilter_Clear'
- !if(status == Executed_StatusType) print*,'On_Desilter_Execute'
- endsubroutine
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- subroutine SubscribeDegasser(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeDegasser
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeDegasser' :: SubscribeDegasser
- implicit none
- procedure (ActionInteger) :: v
- DegasserPtr => v
- end subroutine
-
- subroutine SubscribeShaleShaker(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeShaleShaker
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeShaleShaker' :: SubscribeShaleShaker
- implicit none
- procedure (ActionInteger) :: v
- ShaleShakerPtr => v
- end subroutine
-
- subroutine SubscribeDesander(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeDesander
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeDesander' :: SubscribeDesander
- implicit none
- procedure (ActionInteger) :: v
- DesanderPtr => v
- end subroutine
-
- subroutine SubscribeDesilter(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeDesilter
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeDesilter' :: SubscribeDesilter
- implicit none
- procedure (ActionInteger) :: v
- DesilterPtr => v
- end subroutine
-
-
-
-
- end module CMudTreatmentProblemsVariables
|