Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TopDrive_INPUTS.f90 1.7 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. subroutine TopDrive_Inputs
  2. ! Use CSimulationVariables
  3. Use CTopDrivePanelVariables
  4. Use CTdsConnectionModesEnumVariables
  5. Use TopDrive_VARIABLES
  6. Use TD_DrillStemComponents
  7. IMPLICIT NONE
  8. integer :: i
  9. TDS%String_Torque = TD_String%StringTorque*12.d0 ![lb.ft]*12 ---> [lb.in] ?????????
  10. !TDS%String_Torque = 20000.
  11. TDS%String_Torque = 0.112984829d0*TDS%String_Torque ![N.m]
  12. TDS%PowerState = TopDrivePanel%TopDriveTdsPowerState
  13. TDS%RpmKnob = TopDrivePanel%RpmKnob
  14. !TDS%MotorFaileMalf ! jayi meghdardehi nashode ??????????????????
  15. TDS%RateChange = 193.d0 ![RPM/s] motaghayere voroudi ???
  16. TDS%DrillTorqueState = TopDrivePanel%TopDriveDrillTorqueState
  17. TDS%TorqueLimitKnob = TopDrivePanel%TopDriveTorqueLimitKnob ! bayad hazf shavad??????????????/
  18. !===> TDS%String_JCoef Calculation
  19. if ( (TDS%DrillTorqueState==-1) .and. ((Get_TdsConnectionModes()==TDS_CONNECTION_STRING).or.(Get_TdsConnectionModes()==TDS_CONNECTION_SPINE)) ) then !if TopDrive connected to string
  20. TDS%String_JCoef = 0.d0
  21. Do i = 1,TD_String%StringConfigurationCount
  22. TDS%String_JCoef = TDS%String_JCoef+( (TD_DrillStem(i)%TotalWeight*((TD_DrillStem(i)%Id**2.d0)+(TD_DrillStem(i)%Od**2.d0)))/8.d0 ) ![lb.ft^2] , Jz=(1/2)*m*(r1^2+r2^2)
  23. End Do
  24. TDS%String_JCoef = TDS%String_JCoef*0.0421401d0 ![kg.m^2]
  25. else
  26. TDS%String_JCoef = 0.d0
  27. TDS%String_Torque = 0.d0
  28. end if
  29. TDS%String_JCoef = TDS%String_JCoef/10.d0 !???????? /10: bi dalil, check it
  30. end subroutine