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.

TD_DrillStem.f90 5.1 KiB

1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. MODULE TD_DrillStemComponents
  2. Use CDownHoleVariables
  3. IMPLICIT NONE
  4. PUBLIC
  5. INTEGER :: TD_StringConfigurationCount , TD_DrillStemComponentsNumbs , TD_DrillStemForceType
  6. REAL(8) :: TD_DrillStemTotalLength , TD_DrillStemTotalLengthIni , TD_OutOfWellLength , TD_DrillStemTotalWeight , TD_DrillStemBottom
  7. REAL(8) :: TD_DrillStemAxialVelocity , TD_DrillStemRotVelocity , TD_TopJointHeight
  8. REAL(8) :: TD_WeightOnBit , TD_BitTorque , TD_TotalTorque , TD_StaticHookLoad , TD_DlMax , TD_DlTotal , TD_DlTouch
  9. REAL(8) :: TD_HookLoad , TD_StringTorque
  10. REAL(8) :: TD_ToolJointRange
  11. real(8) , allocatable :: TD_FluidMudDensity(:) , TD_FluidMudEndX(:) , TD_FluidMudStartX(:)
  12. INTEGER :: TD_NoHorizontalMudElements , TD_NoStringMudElements , TD_NoCasingMudElements
  13. !====================================================
  14. ! Drill Stem Components Info
  15. !====================================================
  16. TYPE, PUBLIC :: TD_DrillStemInfo
  17. INTEGER :: Numbs , ComponentType
  18. REAL(8) :: Length , TopDepth , DownDepth , Od , Id , WeightperLength , TotalLength , TotalWeight
  19. END TYPE TD_DrillStemInfo
  20. TYPE(TD_DrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStem
  21. !====================================================
  22. ! Separated Parts of the Drill Stem
  23. !====================================================
  24. TYPE , PUBLIC :: TD_SeparatedDrillStemInfo
  25. !=========> Elements Geometry
  26. INTEGER :: HoleType , ComponentType
  27. REAL(8) :: Length , TopDepth , DownDepth , Od , Id , Area , Weight , WeightperLength , StartAngle , EndAngle
  28. REAL(8) :: RCurvature , RtoolJoint , HoleDiameter , ToolJointRange
  29. !=========> Elements initial Geometry
  30. REAL(8) :: LengthIni , TopDepthIni , DownDepthIni , StartAngleIni , EndAngleIni
  31. !=========> Elements initial Geometry (graphic)
  32. REAL(8) :: TopDepthIniG , DownDepthIniG
  33. !=========> Pipes Properties
  34. REAL(8) :: Density , ElasticModule
  35. !=========> Forces Info
  36. REAL(8) :: Force1 , Force2 , Torque , Drag , CombVelRatio
  37. !=========> Mud Properties
  38. REAL(8) :: MudDensityIn , MudDensityOut , MudViscosity , MudVisCorrectCoef , BouyancyFactor , MudWeight , MudPlasticVis , MudYieldPoint
  39. !=========> Viscous Drag Force
  40. REAL(8) :: FricFactor , DiamRatio , MudClingingConst , PipeVelocity , AveEffVelocity , ReNumber , Dp_Dl
  41. !=========> Hook Load
  42. REAL(8) :: StaticHookLoad , TotalSHookLoad , Dl , DlTotal
  43. END TYPE TD_SeparatedDrillStemInfo
  44. TYPE(TD_SeparatedDrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStems
  45. !====================================================
  46. ! Separated Parts of the Drill Stem
  47. !====================================================
  48. INTEGER :: TD_NearFloorConnectionNo
  49. REAL(8) :: TD_NearFloorConnectionHeight
  50. !====================================================
  51. ! Add&Remove DrillStem Components
  52. !====================================================
  53. integer :: TD_IBOPNewAdd , TD_IBOPOldAdd , TD_SafetyValveNewAdd , TD_SafetyValveOldAdd , TD_KellyNewAdd , TD_KellyOldAdd
  54. integer :: TD_IBOPNewRemove , TD_IBOPOldRemove , TD_SafetyValveNewRemove , TD_SafetyValveOldRemove , TD_KellyNewRemove , TD_KellyOldRemove
  55. integer :: TD_KellyOldStatus1 , TD_KellyNewStatus1 , TD_KellyOldStatus2 , TD_KellyNewStatus2 , TD_KellyOldStatus3 , TD_KellyNewStatus3
  56. integer :: TD_KellyOldStatus4 , TD_KellyNewStatus4 , TD_KellyOldStatus5 , TD_KellyNewStatus5 , TD_KellyOldStatus6 , TD_KellyNewStatus6
  57. integer :: TD_KellyOldStatus7 , TD_KellyNewStatus7 , TD_KellyOldStatus8 , TD_KellyNewStatus8
  58. integer :: TD_KellyOldStatus9 , TD_KellyNewStatus9 , TD_KellyOldStatus10 , TD_KellyNewStatus10
  59. integer :: TD_KellyOldStatus11 , TD_KellyNewStatus11 , TD_KellyOldStatus12 , TD_KellyNewStatus12
  60. integer :: TD_KellyOldStatus13 , TD_KellyNewStatus13 , TD_KellyOldStatus14 , TD_KellyNewStatus14
  61. integer :: TD_KellyOldStatus15 , TD_KellyNewStatus15 , TD_KellyOldStatus16 , TD_KellyNewStatus16 , TD_KellyOldStatus17 , TD_KellyNewStatus17
  62. integer :: TD_KellyOldStatus18 , TD_KellyNewStatus18 , TD_KellyOldStatus19 , TD_KellyNewStatus19
  63. !====================================================
  64. ! Graphic Output Info
  65. !====================================================
  66. !TYPE, PUBLIC :: CStringComponent
  67. ! Integer :: ComponentType
  68. ! REAL(8) :: Length , TopDepth , DownDepth , Od , Id
  69. !END TYPE CStringComponent
  70. TYPE(CStringComponents), ALLOCATABLE, DIMENSION(:) :: G_StringElement
  71. !====================================================
  72. ! Removed-Volume Variables
  73. !====================================================
  74. Integer :: TD_PreCount
  75. REAL(8) :: TD_RemoveVolume , TD_PreElementVolume , TD_PreElementLength
  76. END MODULE TD_DrillStemComponents