Pressure along of the drill string
Surge
Computes surge pressure along the specified well with the specified pipe speed)
Copy og . model . surge .pressure (
newmap ( "wellId" , "{well_id}" ,
"bitDepth" , value_m ,
"pipeSpeed" , value_m / s ,
"computationUom" , 'Pa' ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Pressure Surge (Pa) vs Depth
Swab
Computes swab pressure along the specified well with the specified pipe speed
Copy og . model . swab .pressure (
newmap ( "wellId" , "{well_id}" ,
"bitDepth" , value_m ,
"pipeSpeed" , value_m / s ,
"computationUom" , 'Pa' ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Pressure Swab (Pa) vs Depth
Example Pipes:
Copy -- Swab ECD
=> og . model . swab .pressure ( newmap ( "wellId" , "11" , "pipeSpeed" , 0.05 )) every batch
=> @for => @yield => { swab .pressure} as Swab_pressure , depth
-- Surge ECD
=> og . model . surge .pressure ( newmap ( "wellId" , "11" , "pipeSpeed" , 0.05 )) every batch
=> @for => @yield => { surge .pressure} as Surge_pressure , depth
Equivalent Pressure along the drill string
Swab
Computes swab density along with the specified well with the specified pipe speed
Copy og . model . swab .pressure (
newmap ( "wellId" , "{well_id}" ,
"bitDepth" , value_m ,
"pipeSpeed" , value_m / s ,
"computationUom" , 'kg/m3' ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: ECD swab (kg/m3) vs Depth
Surge
Computes surge density along with the specified well with the specified pipe speed
Copy og . model . surge .pressure (
newmap ( "wellId" , "{well_id}" ,
"bitDepth" , value_m ,
"pipeSpeed" , value_m / s ,
"computationUom" , 'kg/m3' ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: ECD surge (kg/m3) vs Depth
ECD and Pressure at a given depth
Surge
Computes surge equivalent circulating density at given depth
Copy og . model . surge .pressure (
newmap ( "wellId" , "{well_id}" ,
"bitDepth" , value_m ,
"pipeSpeed" , value_m / s ,
"computationUom" , 'kg/m3' ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean ,
"atDepth" , value_m)
)
Output: ECD surge (kg/m3)
Swab
Computes swab equivalent circulating density at given depth
Copy og . model . swab .pressure (
newmap ( "wellId" , "{well_id}" ,
"bitDepth" , value_m ,
"pipeSpeed" , value_m / s ,
"computationUom" , 'kg/m3' ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean ,
"atDepth" , value_m)
)
Output: ECD swab (kg/m3)
Example Pipes:
Copy -- Swab ECD
=> og . model . swab .pressure (
newmap ( 'wellId' , '9' ,
'computationUom' , 'kg/m3' ,
'pipeSpeed' , 0.01 ,
'bitDepth' , 1000 ,
'minSectionLength' , 250 )) -> result : seq at the end
=> @chain
=> {swab.pressure}#curve_unit_convert(kg/m3,'lbm/galUS') as {Swab}, depth#curve_unit_convert('m',@@depthOutputUnit) as depth
-- Swab ECD
=> og . model . surge .pressure (
newmap ( 'wellId' , '9' ,
'computationUom' , 'kg/m3' ,
'pipeSpeed' , 0.01 ,
'bitDepth' , 1000 ,
'minSectionLength' , 250 )) -> result : seq at the end
=> @chain
=> {swab.pressure}#curve_unit_convert(kg/m3,'lbm/galUS') as {Surge}, depth#curve_unit_convert('m',@@depthOutputUnit) as depth
Maximum running speed
Surge
Computes maximum pipe speed profile on surge along the specified well
Copy og . model . surge .maxPipeSpeed (
newmap ( "wellId" , "{well_id}" ,
"depthLowerBound" , value_m ,
"initialBitDepth" , value_m ,
"bitStepSize" , value_m ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Max Surge Speed (m/s) vs Depth
Swab
Computes maximum pipe speed profile on swab along the specified well
Copy og . model . swab .maxPipeSpeed (
newmap ( "wellId" , "{well_id}" ,
"depthLowerBound" , value_m ,
"initialBitDepth" , value_m ,
"bitStepSize" , value_m ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Max Swab Speed (m/s) vs Depth
Example Pipes:
Copy => og . model . swab .maxPipeSpeed (
newmap ( "wellId" , "11" ,
"depthLowerBound" , 50 ,
"initialBitDepth" , 1000 ,
"stepSize" 50 )) -> result : seq at the end
=> @for => @yield => - {swab.maxPipeSpeed}# as { Max Swab Speed} , depth# as depth
=> og . model . surge .maxPipeSpeed (
newmap ( "wellId" , "11" ,
"depthLowerBound" , 50 ,
"initialBitDepth" , 1000 ,
"stepSize" , 50 )) -> result : seq at the end
=> @for => @yield => - {swab.maxPipeSpeed}# as { Max surge Speed} , depth# as depth
Maximum and Minimum trip - ECD
Surge
Computes surge equivalent circulating density in drill string trip
Copy og . model . surge .tripLimits (
newmap ( "wellId" , "{well_id}" ,
"pipeSpeed" , value_m / s ,
"depthLowerBound" , value_m ,
"initialBitDepth" , value_m ,
"computationUom" , "kg/m3" ,
"bitStepSize" , value_m ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Max and Min Surge ECD (kg/m3) vs Depth
Swab
Computes swab equivalent circulating density in drill string trip
Copy og . model . swab .tripLimits (
newmap ( "wellId" , "{well_id}" ,
"pipeSpeed" , value_m / s ,
"depthLowerBound" , value_m ,
"initialBitDepth" , value_m ,
"computationUom" , "kg/m3" ,
"bitStepSize" , value_m ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Maximum and Minimum trip - Pressure
Surge
Computes surge pressure in drill string trip
Copy og . model . surge .tripLimits (
newmap ( "wellId" , "{well_id}" ,
"pipeSpeed" , value_m / s ,
"depthLowerBound" , value_m ,
"initialBitDepth" , value_m ,
"computationUom" , "Pa" ,
"bitStepSize" , value_m ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Max and Min Surge Pressure (Pa) vs Depth
Swab
Computes swab pressure in drill string trip
Copy og . model . swab .tripLimits (
newmap ( "wellId" , "{well_id}" ,
"pipeSpeed" , value_m / s ,
"depthLowerBound" , value_m ,
"initialBitDepth" , value_m ,
"computationUom" , "Pa" ,
"bitStepSize" , value_m ,
"maxSectionLength" , value_m ,
"minSectionLength" , value_m ,
"closedEnded" , boolean)
)
Output: Max and Min Swab Pressure (Pa) vs Depth
Input Parameters Description