Skip to content

Latest commit

 

History

History
237 lines (196 loc) · 8.31 KB

File metadata and controls

237 lines (196 loc) · 8.31 KB

Pipes Functions

Steady State Hole Cleaning

Hole Cleaning Index, Solid concentration and Bed Relative Height vs Depth - Steady State

Compute cuttings transport in steady-state

og.model.cuttingstransport.steadyState(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Output:

  • Bed Relative Height (0-1),
  • Transport Ratio (0-100),
  • cuttings Carrying Index (0-1)
  • Suspension Solids Concentration (m3/m3)
  • vs Depth (m)
  • Lag time (s)

Bed Relative Height

Bed Relative Height = Bed Height / Annular Hydraulic Diameter

Calculate bed relative heights the annular depths

og.model.cuttingstransport.bedRelativeHeight(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Suspension Solids Concentration

Calculate suspension solid concentration the annular depths

og.model.cuttingstransport.suspensionSolidsConcentration(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Total Solids Concentration

Calculate total solid concentration of the annular depths (suspension + solid bed)

og.model.cuttingstransport.totalSolidsConcentration(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Suspension Solids Velocity

Calculate suspension solid velocities along the annular depths

og.model.cuttingstransport.suspensionSolidsVelocity(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Suspension Fluid Velocity (Annular Velocity)

Calculate suspension fluid velocities along the annular depths

og.model.cuttingstransport.suspensionFluidVelocity(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Transport Ratio

Transport Ratio = Suspension Solid Velocity/Suspension Fluid Velocity

Calculate transport ratio along the annular depths

og.model.cuttingstransport.transportRatio(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Minimal Flow For Efficient Cleaning

Calculate minimum flow for efficient cleaning

og.model.cuttingstransport.minimalFlowForEfficientCleaning(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s
                "maxTotalCuttingsConcentration", value_m3/m3)
)

Maximum ROP For Efficient Cleaning

Calculate maximum ROP for Efficient Cleaning

og.model.cuttingstransport.maximumRopForEfficientCleaning(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s,
                "maxTotalCuttingsConcentration", value_m3/m3
                )
)

Lag time (Cuttings)

Calculate the lag time using the cuttings calculator.

Example Pipes:

og.model.cuttingstransport.lagTime(
         newmap("wellId", "{well_id}",  
                "bitDepth", value_m,
                "flowRate", value_m3/s,
                "drillPipeRotation",  value_rad/s, 
                "rateOfPenetration", value_m/s, 
                "cuttingsAverageSize", value_m, 
                "cuttingsDensity", value_kg/m3, 
                "maxCellLength", value_m, 
                "minCellLength", value_m,
                "boosterMeasuredDepth", value_m,
                "boosterFlowRate", value_m3/s)
)

Input Parameters Description

Parameters Description unit
wellId Well Id String
rateOfPenetration Rate of Penetration m/s
flowRate Flow Rate or pump flow in m3/s
cuttingsAverageSize Particle Diameter m
cuttingsDensity Solid density (cuttings) kg/m3
maxTailorLength m
minCellLength Size length of cell (discretization) m
boosterMeasuredDepth Measured depth of booster m MD
boosterFlowRate Booster flow rate m3/s