|
- subroutine RTable_INPUTS
-
- use CDrillingConsoleVariables
- use CDataDisplayConsoleVariables
- ! use CSimulationVariables
- use CTdsConnectionModesEnumVariables
- use CTdsElevatorModesEnumVariables
- use CHoistingVariables
- use RTable_VARIABLES
- use TD_DrillStemComponents
- use CUnityInputs
- use UnitySignalVariables
- ! use CSlipsEnumVariables
-
- IMPLICIT NONE
- integer :: i
-
-
-
- !===> String Torque
- !print* , 'TD_StringTorquert=' , TD_StringTorque
- RTable%String_Torque = TD_StringTorque*12.d0 ![lb.ft]*12 ---> [lb.in] ?????????
- !RTable%String_Torque = 20000.
- RTable%String_Torque = 0.112984829*RTable%String_Torque ![N.m]
- !print* , 'TD_StringTorquert2=' , RTable%String_Torque
-
-
-
-
- !===> String_JCoef Calculation
- if ( Hoisting%DriveType==0 ) then
- if ( Get_TdsConnectionModes()==TDS_CONNECTION_NOTHING .and. Get_TdsElevatorModes()==TDS_ELEVATOR_CONNECTION_NOTHING ) then
- RT_RotaryMode = 1
- RTable%String_JCoef = 0.0
- Do i = 1,TD_StringConfigurationCount
- RTable%String_JCoef = RTable%String_JCoef+( (TD_DrillStem(i)%TotalWeight*((TD_DrillStem(i)%Id**2)+(TD_DrillStem(i)%Od**2)))/8.0 ) ![lb.ft^2] , Jz=(1/2)*m*(r1^2+r2^2)
- End Do
- RTable%String_JCoef = RTable%String_JCoef*0.0421401 ![kg.m^2]
- else if ( Get_Slips() /= SLIPS_SET_END ) then
- RT_RotaryMode = 2
- RTable%String_JCoef = 0.0
- RTable%String_Torque = 0.0
- else
- RT_RotaryMode = 3
- RTable%String_JCoef = 0.0
- RTable%String_Torque = 0.0
- end if
- else if ( Hoisting%DriveType==1 ) then
- if ( Get_IsKellyBushingSetInTable() .or. Get_Slips() == SLIPS_SET_END ) then !if rotary connected to string
- RT_RotaryMode = 4
- RTable%String_JCoef = 0.0
- Do i = 1,TD_StringConfigurationCount
- RTable%String_JCoef = RTable%String_JCoef+( (TD_DrillStem(i)%TotalWeight*((TD_DrillStem(i)%Id**2)+(TD_DrillStem(i)%Od**2)))/8.0 ) ![lb.ft^2] , Jz=(1/2)*m*(r1^2+r2^2)
- End Do
- RTable%String_JCoef = RTable%String_JCoef*0.0421401 ![kg.m^2]
- else
- RT_RotaryMode = 5
- RTable%String_JCoef = 0.0
- RTable%String_Torque = 0.0
- end if
- end if
- !print*, 'DriveType=', DriveType , RT_RotaryMode , Get_IsKellyBushingSetInTable() , Get_Slips()
- !if ( Get_IsKellyBushingSetInTable() .or. Get_Slips() == SLIPS_SET_END ) then !if rotary connected to string
- ! RTable%String_JCoef = 0.0
- ! Do i = 1,TD_StringConfigurationCount
- ! RTable%String_JCoef = RTable%String_JCoef+( (TD_DrillStem(i)%TotalWeight*((TD_DrillStem(i)%Id**2)+(TD_DrillStem(i)%Od**2)))/8.0 ) ![lb.ft^2] , Jz=(1/2)*m*(r1^2+r2^2)
- ! End Do
- ! RTable%String_JCoef = RTable%String_JCoef*0.0421401 ![kg.m^2]
- !else
- ! RTable%String_JCoef = 0.0
- ! RTable%String_Torque = 0.0
- !end if
- !RTable%String_JCoef = RTable%String_JCoef/10. !???????? /10: with no reason, check it
-
-
-
-
- !===> Transmission Mode
- if (DrillingConsole%RTTransmissionLever==1) then ! in high mode
- RTable%Conv_Ratio = RTable%High_Conv_Ratio
- else if (DrillingConsole%RTTransmissionLever==-1) then ! in low mode
- RTable%Conv_Ratio = RTable%Low_Conv_Ratio
- else if (DrillingConsole%RTTransmissionLever==0) then ! in low mode
- RTable%Conv_Ratio = RTable%Low_Conv_Ratio
- end if
-
-
-
-
-
- end subroutine RTable_INPUTS
|