|
- module CMudTreatmentProblemsVariables
- use CProblemDifinition
- implicit none
- public
-
- ! Input vars
- Type::MudTreatmentProblemsType
- type(CProblem) :: Degasser
- type(CProblem) :: ShaleShaker
- type(CProblem) :: Desander
- type(CProblem) :: Desilter
- end type MudTreatmentProblemsType
- type(MudTreatmentProblemsType)::MudTreatmentProblems
-
- ! 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(MudTreatmentProblems%Degasser%ProblemType == Time_ProblemType) call ProcessDueTime(MudTreatmentProblems%Degasser, ChangeDegasser, time)
- if(MudTreatmentProblems%ShaleShaker%ProblemType == Time_ProblemType) call ProcessDueTime(MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, time)
- if(MudTreatmentProblems%Desander%ProblemType == Time_ProblemType) call ProcessDueTime(MudTreatmentProblems%Desander, ChangeDesander, time)
- if(MudTreatmentProblems%Desilter%ProblemType == Time_ProblemType) call ProcessDueTime(MudTreatmentProblems%Desilter, ChangeDesilter, time)
-
- end subroutine
-
-
- subroutine ProcessMudTreatmentProblemsDuePumpStrokes(strokes)
- implicit none
- integer :: strokes
-
- if(MudTreatmentProblems%Degasser%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(MudTreatmentProblems%Degasser, ChangeDegasser, strokes)
- if(MudTreatmentProblems%ShaleShaker%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, strokes)
- if(MudTreatmentProblems%Desander%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(MudTreatmentProblems%Desander, ChangeDesander, strokes)
- if(MudTreatmentProblems%Desilter%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(MudTreatmentProblems%Desilter, ChangeDesilter, strokes)
-
- end subroutine
-
-
- subroutine ProcessMudTreatmentProblemsDueVolumePumped(volume)
- implicit none
- real(8) :: volume
-
- if(MudTreatmentProblems%Degasser%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(MudTreatmentProblems%Degasser, ChangeDegasser, volume)
- if(MudTreatmentProblems%ShaleShaker%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, volume)
- if(MudTreatmentProblems%Desander%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(MudTreatmentProblems%Desander, ChangeDesander, volume)
- if(MudTreatmentProblems%Desilter%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(MudTreatmentProblems%Desilter, ChangeDesilter, volume)
-
- end subroutine
-
- subroutine ProcessMudTreatmentProblemsDueDistanceDrilled(distance)
- implicit none
- real(8) :: distance
-
- if(MudTreatmentProblems%Degasser%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(MudTreatmentProblems%Degasser, ChangeDegasser, distance)
- if(MudTreatmentProblems%ShaleShaker%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(MudTreatmentProblems%ShaleShaker, ChangeShaleShaker, distance)
- if(MudTreatmentProblems%Desander%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(MudTreatmentProblems%Desander, ChangeDesander, distance)
- if(MudTreatmentProblems%Desilter%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(MudTreatmentProblems%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
|