kappa_sdk.keg5.Keg5WellPropertyInputs#

class kappa_sdk.keg5.Keg5WellPropertyInputs(name, uwi, x, y, permeability, porosity, thickness, is_horizontal, radius, perforation_length, skin)[source]#

Class to store the properties to use to create a well in KEG5

Attributes

Keg5WellPropertyInputs.borehole_id

BoreholeId that will be used internally in KEG5 objects linked to this well

Keg5WellPropertyInputs.name

Name of the well

Keg5WellPropertyInputs.perforation_id

PerforationId that will be used internally in KEG5 objects linked to this well

Keg5WellPropertyInputs.permeability

Permeability to apply to the zone where the well is

Keg5WellPropertyInputs.porosity

Porosity to apply to the zone where the well is

Keg5WellPropertyInputs.radius

Well radius

Keg5WellPropertyInputs.skin

Skin

Keg5WellPropertyInputs.thickness

Permeability to apply to the zone where the well is

Keg5WellPropertyInputs.uwi

Unique well id of the well

Keg5WellPropertyInputs.well_id

WellId that will be used internally in KEG5 objects linked to this well

Keg5WellPropertyInputs.x

x well head coordinate

Keg5WellPropertyInputs.y

x well head coordinate

Methods

Keg5WellPropertyInputs.get_perforation_md_end(z_top)

Returns the md end to use for the well perforation, for both type of wells we take the last point of the well

Keg5WellPropertyInputs.get_perforation_md_start(z_top)

Returns the md start to use for the well perforation, for vertical wells: if the initial perforation length is undefined, we take md_start = well_md_start so the perforations will be present all along the well.

Keg5WellPropertyInputs.get_well_trajectory(z_top)

Calculates the trajectory of the well according to its type (horizontal of vertical)

Keg5WellPropertyInputs.get_well_type()

Parameters:
  • name (str)

  • uwi (str)

  • x (float)

  • y (float)

  • permeability (float)

  • porosity (float)

  • thickness (float)

  • is_horizontal (bool)

  • radius (float | None)

  • perforation_length (float | None)

  • skin (float | None)

__init__(name, uwi, x, y, permeability, porosity, thickness, is_horizontal, radius, perforation_length, skin)[source]#

Initialization of the well properties to use in a KEG to create a well

Parameters:
  • name (well name)

  • uwi (unique well id)

  • x (x wellhead coordinate)

  • y (y wellhead coordinate)

  • permeability (permeability to apply to the zone where the well is)

  • porosity (porosity to apply to the zone where the well is)

  • thickness (thickness to apply to the zone where the well is)

  • is_horizontal (True if the well is horizontal, False if it is vertical)

  • radius (well radius, can be None, in that case the default radius (0.09144) will be used)

  • perforation_length (perforation length to apply, mandatory for horizontal wells, can be None for vertical ones, in that case all the well will be perforated)

  • skin (skin to apply)

property name: str#

Name of the well

property uwi: str#

Unique well id of the well

property x: float#

x well head coordinate

property y: float#

x well head coordinate

property permeability: float#

Permeability to apply to the zone where the well is

property porosity: float#

Porosity to apply to the zone where the well is

property thickness: float#

Permeability to apply to the zone where the well is

property radius: float#

Well radius

property skin: float | None#

Skin

property well_id: str#

WellId that will be used internally in KEG5 objects linked to this well

property perforation_id: str#

PerforationId that will be used internally in KEG5 objects linked to this well

property borehole_id: str#

BoreholeId that will be used internally in KEG5 objects linked to this well

get_perforation_md_start(z_top)[source]#

Returns the md start to use for the well perforation, for vertical wells: if the initial perforation length is undefined, we take md_start = well_md_start so the perforations will be present all along the well. If perforation length is defined, we apply that length from the end of the well. For horizontal wells we take z_top + thickness/2, which correspond to the first point of the well.

Parameters:

z_top (z_top at the wellhead position)

Returns:

md start of the perforation

Return type:

float

get_perforation_md_end(z_top)[source]#

Returns the md end to use for the well perforation, for both type of wells we take the last point of the well

Parameters:

z_top (z_top at the wellhead position)

Returns:

md start of the perforation

Return type:

float

get_well_trajectory(z_top)[source]#

Calculates the trajectory of the well according to its type (horizontal of vertical)

Parameters:

z_top (z_top at the well position)

Returns:

A list of Point3D representing the trajectory of the well

Return type:

List[Point3D]

get_well_type()[source]#
Return type:

str