|
- module CDrillStemProblemsVariables
- use CProblemDifinition
- implicit none
- public
-
- ! Input vars
- type(CProblem) :: StringDragIncrease
- type(CProblem) :: StringTorqueIncrease
- type(CProblem) :: StringTorqueFluctuation
- real(8) :: StringDragIncreaseTime
- real(8) :: StringTorqueIncreaseTime
-
-
- procedure (ActionInteger), pointer :: StringDragIncreasePtr
- procedure (ActionInteger), pointer :: StringTorqueIncreasePtr
- procedure (ActionInteger), pointer :: StringTorqueFluctuationPtr
-
- contains
-
- subroutine ProcessDrillStemProblemsDueTime(time)
- implicit none
- integer :: time
- if(StringDragIncrease%ProblemType == Time_ProblemType) call ProcessDueTime(StringDragIncrease, ChangeStringDragIncrease, time)
- if(StringTorqueIncrease%ProblemType == Time_ProblemType) call ProcessDueTime(StringTorqueIncrease, ChangeStringTorqueIncrease, time)
- if(StringTorqueFluctuation%ProblemType == Time_ProblemType) call ProcessDueTime(StringTorqueFluctuation, ChangeStringTorqueFluctuation, time)
- end subroutine
-
- subroutine ProcessDrillStemProblemsDuePumpStrokes(strokes)
- implicit none
- integer :: strokes
- if(StringDragIncrease%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(StringDragIncrease, ChangeStringDragIncrease, strokes)
- if(StringTorqueIncrease%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(StringTorqueIncrease, ChangeStringTorqueIncrease, strokes)
- if(StringTorqueFluctuation%ProblemType == PumpStrokes_ProblemType) call ProcessDuePumpStrokes(StringTorqueFluctuation, ChangeStringTorqueFluctuation, strokes)
- end subroutine
-
- subroutine ProcessDrillStemProblemsDueVolumePumped(volume)
- implicit none
- real(8) :: volume
- if(StringDragIncrease%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(StringDragIncrease, ChangeStringDragIncrease, volume)
- if(StringTorqueIncrease%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(StringTorqueIncrease, ChangeStringTorqueIncrease, volume)
- if(StringTorqueFluctuation%ProblemType == VolumePumped_ProblemType) call ProcessDueVolumePumped(StringTorqueFluctuation, ChangeStringTorqueFluctuation, volume)
- end subroutine
-
- subroutine ProcessDrillStemProblemsDueDistanceDrilled(distance)
- implicit none
- real(8) :: distance
- if(StringDragIncrease%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(StringDragIncrease, ChangeStringDragIncrease, distance)
- if(StringTorqueIncrease%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(StringTorqueIncrease, ChangeStringTorqueIncrease, distance)
- if(StringTorqueFluctuation%ProblemType == DistanceDrilled_ProblemType) call ProcessDueDistanceDrilled(StringTorqueFluctuation, ChangeStringTorqueFluctuation, distance)
- end subroutine
-
-
-
- subroutine ChangeStringDragIncrease(status)
- implicit none
- integer, intent (in) :: status
- if(associated(StringDragIncreasePtr)) call StringDragIncreasePtr(status)
- !if(status == Clear_StatusType) print*,'On_StringDragIncrease_Clear'
- !if(status == Executed_StatusType) print*,'On_StringDragIncrease_Execute'
- endsubroutine
-
- subroutine ChangeStringTorqueIncrease(status)
- implicit none
- integer, intent (in) :: status
- if(associated(StringTorqueIncreasePtr)) call StringTorqueIncreasePtr(status)
- !if(status == Clear_StatusType) print*,'On_StringTorqueIncrease_Clear'
- !if(status == Executed_StatusType) print*,'On_StringTorqueIncrease_Execute'
- endsubroutine
-
- subroutine ChangeStringTorqueFluctuation(status)
- implicit none
- integer, intent (in) :: status
- if(associated(StringTorqueFluctuationPtr)) call StringTorqueFluctuationPtr(status)
- !if(status == Clear_StatusType) print*,'On_StringTorqueFluctuation_Clear'
- !if(status == Executed_StatusType) print*,'On_StringTorqueFluctuation_Execute'
- endsubroutine
-
-
-
-
-
-
-
-
-
- subroutine SubscribeStringDragIncrease(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringDragIncrease
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringDragIncrease' :: SubscribeStringDragIncrease
- implicit none
- procedure (ActionInteger) :: v
- StringDragIncreasePtr => v
- end subroutine
-
- subroutine SubscribeStringTorqueIncrease(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringTorqueIncrease
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringTorqueIncrease' :: SubscribeStringTorqueIncrease
- implicit none
- procedure (ActionInteger) :: v
- StringTorqueIncreasePtr => v
- end subroutine
-
- subroutine SubscribeStringTorqueFluctuation(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringTorqueFluctuation
- !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringTorqueFluctuation' :: SubscribeStringTorqueFluctuation
- implicit none
- procedure (ActionInteger) :: v
- StringTorqueFluctuationPtr => v
- end subroutine
-
-
-
-
- end module CDrillStemProblemsVariables
|