bgd

pwptemp - pwellbore temperature distribution

Version License

Find here the documentation of pwptemp. Here you will find all the relevant information about any function included in this package.

bgd

Installation

pwptemp is written to be compatible with Python 3+. The best way to install is using pip.

$ pip install pwptemp

This will make sure that all the dependencies are installed. This requirements are listed below.

bgd

Temperature during Drilling

pwptemp.calc_temp(trajectory, casings=None, set_inputs=None, operation='drilling', time_steps=210, smooth=True, cells_no=None)[source]

Function to calculate the well temperature distribution during a specific operation at a certain time.

Parameters
  • trajectory – wellbore trajectory excel|csv|dataframe|list

  • casings – list of dictionaries with casings characteristics (od, id and depth)

  • set_inputs – dictionary with parameters to set.

  • operation – define operation type. (‘drilling’, ‘circulating’)

  • time_steps – number of time steps to run calculations.

  • smooth – smooth the temperature profiles.

  • cells_no – (int) number of cells. If None -> keep same number of cells than trajectory

Returns

Well temperature distribution object

pwptemp.temperature_behavior(well)[source]

Function to simulate the temperature behavior.

Parameters

well (obj) – well temperature distribution object

Returns

temperature behavior object

Example

>>> import pwptemp as pt
>>> import well_profile as wp

>>> trajectory = wp.load('trajectory1.xlsx', equidistant=True)      # using well_profile to load a trajectory

>>> casings = [{'od': 12, 'id': 11, 'depth': 1200},       # creating 3 casings with respective parameters
>>>            {'od': 10, 'id': 9, 'depth': 1500},       # diameter [in] and depth [m]
>>>            {'od': 8, 'id': 7, 'depth': 2400}]

>>> rop_list = [50, 45, 40, 35]     # setting respective ROP [m/h] for each section

>>> well = pt.calc_temp(trajectory,     # calculate the well temperature distribution using pwptemp
>>>                     casings,
>>>                     set_inputs={'water_depth': 0, 'temp_inlet': 20, 'rop':rop_list,
>>>                     operation='drilling',}

>>> pt.plot_distribution(well).show()

temp_drill

temp_behavior

Notice!

The total time of drilling is calculated based on the ROP’s set for the sections. The simulation assumes a break after each section is drilled (here is when casing is run and cemented) so the temperature becomes stable again. i.e. for this particular case, it takes 92.9 hours only drilling the whole wellbore.

The table below shows the available inputs that can be set when using the parameter set_inputs

Name

Units

temp_inlet

°C

temp_surface

°C

water_depth

in

pipe_id

in

pipe_od

in

riser_id

in

riser_od

in

fm_diam

in

flowrate

m3/min

Thermal Conductivities————-

tc_fluid

W / (m °C)

tc_csg

W / (m °C)

tc_cem

W / (m °C)

tc_pipe

W / (m °C)

tc_fm

W / (m °C)

tc_riser

W / (m °C)

tc_seawater

W / (m °C)

Specific Heat Capacities———–

shc_fluid

J / (kg °C)

shc_csg

J / (kg °C)

shc_cem

J / (kg °C)

shc_pipe

J / (kg °C)

shc_riser

J / (kg °C)

shc_seawater

J / (kg °C)

shc_fm

J / (kg °C)

Densities————————–

rho_fluid

sg

rho_pipe

sg

rho_csg

sg

rho_riser

sg

rho_fm

sg

rho_seawater

sg

rho_cem

sg

Others—————————–

th_grad_fm

°C/m

th_grad_seawater

°C/m

hole_diam

m

rpm

rev. per min.

tbit

kN*m

wob

kN

rop

m/h

an

in^2

bit_n

0 to 1

dp_e

0 to 1

thao_o

Pa

beta

Pa

alpha

1/°C

k

Pa*s^n

n

dimensionless

visc

cP

Web Application

There is also the web-app based on pwptemp:

bgd

Temperature during Circulating

pwptemp.calc_temp(trajectory, casings=None, set_inputs=None, operation='drilling', time_steps=210, smooth=True, cells_no=None)[source]

Function to calculate the well temperature distribution during a specific operation at a certain time.

Parameters
  • trajectory – wellbore trajectory excel|csv|dataframe|list

  • casings – list of dictionaries with casings characteristics (od, id and depth)

  • set_inputs – dictionary with parameters to set.

  • operation – define operation type. (‘drilling’, ‘circulating’)

  • time_steps – number of time steps to run calculations.

  • smooth – smooth the temperature profiles.

  • cells_no – (int) number of cells. If None -> keep same number of cells than trajectory

Returns

Well temperature distribution object

pwptemp.temperature_behavior(well)[source]

Function to simulate the temperature behavior.

Parameters

well (obj) – well temperature distribution object

Returns

temperature behavior object

Example

>>> import pwptemp as pt
>>> import well_profile as wp

>>> trajectory = wp.load('trajectory1.xlsx', equidistant=True)      # using well_profile to load a trajectory

>>> casings = [{'od': 12, 'id': 11, 'depth': 1200},       # creating 3 casings with respective parameters
>>>            {'od': 10, 'id': 9, 'depth': 1500},       # diameter [in] and depth [m]
>>>            {'od': 8, 'id': 7, 'depth': 2400}]

>>> well = pt.calc_temp(trajectory,     # calculate the well temperature distribution using pwptemp
>>>                     casings,
>>>                     set_inputs={'water_depth': 0,       # water depth [m]
>>>                                 'temp_inlet': 20,       # inlet fluid temperature [°C]
>>>                                 'time': 10}             # circulation time [h]
>>>                     operation='circulating',

>>> pt.plot_distribution(well).show()

temp_drill

temp_behavior

The table below shows the available inputs that can be set when using the parameter set_inputs

Name

Units

time

h

temp_inlet

°C

temp_surface

°C

water_depth

in

pipe_id

in

pipe_od

in

riser_id

in

riser_od

in

fm_diam

in

flowrate

m3/min

Thermal Conductivities————-

tc_fluid

W / (m °C)

tc_csg

W / (m °C)

tc_cem

W / (m °C)

tc_pipe

W / (m °C)

tc_fm

W / (m °C)

tc_riser

W / (m °C)

tc_seawater

W / (m °C)

Specific Heat Capacities———–

shc_fluid

J / (kg °C)

shc_csg

J / (kg °C)

shc_cem

J / (kg °C)

shc_pipe

J / (kg °C)

shc_riser

J / (kg °C)

shc_seawater

J / (kg °C)

shc_fm

J / (kg °C)

Densities————————–

rho_fluid

sg

rho_pipe

sg

rho_csg

sg

rho_riser

sg

rho_fm

sg

rho_seawater

sg

rho_cem

sg

Others—————————–

th_grad_fm

°C/m

th_grad_seawater

°C/m

hole_diam

m

rpm

rev. per min.

tbit

kN*m

wob

kN

rop

m/h

an

in^2

bit_n

0 to 1

dp_e

0 to 1

thao_o

Pa

beta

Pa

alpha

1/°C

k

Pa*s^n

n

dimensionless

visc

cP

Web Application

There is also the web-app based on pwptemp:

About Pro Well Plan

Pro Well Plan offers an easy and effective well planning platform for the entire team. Check out our website to know more about us.