Steady State Hole Cleaning
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),
cuttings Carrying Index (0-1)
Suspension Solids Concentration (m3/m3)
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
| | |
| | |
| | |
| Flow Rate or pump flow in | |
| | |
| | |
| | |
| Size length of cell (discretization) | |
| Measured depth of booster | |
| | |