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 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)
)
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)
)
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)
)
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)
)
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 = 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)
)
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)
)
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
)
)
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)
)
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 |