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.
 
 
 
 
 
 

117 lines
6.8 KiB

  1. MODULE TD_DrillStemComponents
  2. Use CDownHoleVariables
  3. IMPLICIT NONE
  4. PUBLIC
  5. !************************************************************************************************************************************
  6. TYPE, PUBLIC :: TD_StringInfo
  7. INTEGER :: StringConfigurationCount , DrillStemComponentsNumbs , DrillStemForceType
  8. INTEGER :: NoHorizontalMudElements , NoStringMudElements , NoCasingMudElements
  9. REAL(8) :: DrillStemTotalLength , DrillStemTotalLengthIni , OutOfWellLength , DrillStemTotalWeight , DrillStemBottom
  10. REAL(8) :: DrillStemAxialVelocity , DrillStemRotVelocity , TopJointHeight
  11. REAL(8) :: WeightOnBit , BitTorque , TotalTorque , StaticHookLoad , DlMax , DlTotal , DlTouch
  12. REAL(8) :: HookLoad , StringTorque
  13. REAL(8) :: ToolJointRange
  14. real(8) , allocatable :: FluidMudDensity(:) , FluidMudEndX(:) , FluidMudStartX(:)
  15. !====================================================
  16. ! Separated Parts of the Drill Stem
  17. INTEGER :: NearFloorConnectionNo
  18. REAL(8) :: NearFloorConnectionHeight
  19. !====================================================
  20. END TYPE TD_StringInfo
  21. TYPE(TD_StringInfo) :: TD_String
  22. !************************************************************************************************************************************
  23. !************************************************************************************************************************************
  24. !====================================================
  25. ! Drill Stem Components Info
  26. !====================================================
  27. TYPE, PUBLIC :: TD_DrillStemInfo
  28. INTEGER :: Numbs , ComponentType
  29. REAL(8) :: Length , TopDepth , DownDepth , Od , Id , WeightperLength , TotalLength , TotalWeight
  30. END TYPE TD_DrillStemInfo
  31. TYPE(TD_DrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStem
  32. !************************************************************************************************************************************
  33. !************************************************************************************************************************************
  34. !====================================================
  35. ! Separated Parts of the Drill Stem
  36. !====================================================
  37. TYPE , PUBLIC :: TD_SeparatedDrillStemInfo
  38. !=========> Elements Geometry
  39. INTEGER :: HoleType , ComponentType
  40. REAL(8) :: Length , TopDepth , DownDepth , Od , Id , Area , Weight , WeightperLength , StartAngle , EndAngle
  41. REAL(8) :: RCurvature , RtoolJoint , HoleDiameter , ToolJointRange
  42. !=========> Elements initial Geometry
  43. REAL(8) :: LengthIni , TopDepthIni , DownDepthIni , StartAngleIni , EndAngleIni
  44. !=========> Elements initial Geometry (graphic)
  45. REAL(8) :: TopDepthIniG , DownDepthIniG
  46. !=========> Pipes Properties
  47. REAL(8) :: Density , ElasticModule
  48. !=========> Forces Info
  49. REAL(8) :: Force1 , Force2 , Torque , Drag , CombVelRatio
  50. !=========> Mud Properties
  51. REAL(8) :: MudDensityIn , MudDensityOut , MudViscosity , MudVisCorrectCoef , BouyancyFactor , MudWeight , MudPlasticVis , MudYieldPoint
  52. !=========> Viscous Drag Force
  53. REAL(8) :: FricFactor , DiamRatio , MudClingingConst , PipeVelocity , AveEffVelocity , ReNumber , Dp_Dl
  54. !=========> Hook Load
  55. REAL(8) :: StaticHookLoad , TotalSHookLoad , Dl , DlTotal
  56. END TYPE TD_SeparatedDrillStemInfo
  57. TYPE(TD_SeparatedDrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStems
  58. !************************************************************************************************************************************
  59. !************************************************************************************************************************************
  60. !====================================================
  61. ! Add&Remove DrillStem Components
  62. !====================================================
  63. TYPE , PUBLIC :: TD_AddRemoveInfo
  64. INTEGER :: IBOPNewAdd , IBOPOldAdd , SafetyValveNewAdd , SafetyValveOldAdd , KellyNewAdd , KellyOldAdd
  65. INTEGER :: IBOPNewRemove , IBOPOldRemove , SafetyValveNewRemove , SafetyValveOldRemove , KellyNewRemove , KellyOldRemove
  66. INTEGER , Dimension(19) :: KellyOldStatus , KellyNewStatus
  67. !integer :: TD_KellyOldStatus1 , TD_KellyNewStatus1 , TD_KellyOldStatus2 , TD_KellyNewStatus2 , TD_KellyOldStatus3 , TD_KellyNewStatus3
  68. !integer :: TD_KellyOldStatus4 , TD_KellyNewStatus4 , TD_KellyOldStatus5 , TD_KellyNewStatus5 , TD_KellyOldStatus6 , TD_KellyNewStatus6
  69. !integer :: TD_KellyOldStatus7 , TD_KellyNewStatus7 , TD_KellyOldStatus8 , TD_KellyNewStatus8
  70. !integer :: TD_KellyOldStatus9 , TD_KellyNewStatus9 , TD_KellyOldStatus10 , TD_KellyNewStatus10
  71. !integer :: TD_KellyOldStatus11 , TD_KellyNewStatus11 , TD_KellyOldStatus12 , TD_KellyNewStatus12
  72. !integer :: TD_KellyOldStatus13 , TD_KellyNewStatus13 , TD_KellyOldStatus14 , TD_KellyNewStatus14
  73. !integer :: TD_KellyOldStatus15 , TD_KellyNewStatus15 , TD_KellyOldStatus16 , TD_KellyNewStatus16 , TD_KellyOldStatus17 , TD_KellyNewStatus17
  74. !integer :: TD_KellyOldStatus18 , TD_KellyNewStatus18 , TD_KellyOldStatus19 , TD_KellyNewStatus19
  75. END TYPE TD_AddRemoveInfo
  76. TYPE(TD_AddRemoveInfo) :: TD_Count
  77. !************************************************************************************************************************************
  78. !************************************************************************************************************************************
  79. !====================================================
  80. ! Graphic Output Info
  81. !====================================================
  82. !TYPE, PUBLIC :: CStringComponent
  83. ! Integer :: ComponentType
  84. ! REAL(8) :: Length , TopDepth , DownDepth , Od , Id
  85. !END TYPE CStringComponent
  86. TYPE(CStringComponents), ALLOCATABLE, DIMENSION(:) :: G_StringElement
  87. !************************************************************************************************************************************
  88. !************************************************************************************************************************************
  89. !====================================================
  90. ! Removed-Volume Variables
  91. !====================================================
  92. TYPE , PUBLIC :: TD_RemovedVolumeInfo
  93. Integer :: PreCount
  94. REAL(8) :: RemoveVolume , PreElementVolume , PreElementLength
  95. END TYPE TD_RemovedVolumeInfo
  96. TYPE(TD_RemovedVolumeInfo) :: TD_Vol
  97. !************************************************************************************************************************************
  98. END MODULE TD_DrillStemComponents