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
BoreholeId that will be used internally in KEG5 objects linked to this well
Name of the well
PerforationId that will be used internally in KEG5 objects linked to this well
Permeability to apply to the zone where the well is
Porosity to apply to the zone where the well is
Well radius
Skin
Permeability to apply to the zone where the well is
Unique well id of the well
WellId that will be used internally in KEG5 objects linked to this well
x well head coordinate
x well head coordinate
Methods
Returns the md end to use for the well perforation, for both type of wells we take the last point of the well
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.
Calculates the trajectory of the well according to its type (horizontal of vertical)
- 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 (
permeabilitytoapplytothe zone where the well is)porosity (
porositytoapplytothe zone where the well is)thickness (
thicknesstoapplytothe 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 lengthtoapply,mandatory for horizontal wells,can be None for vertical ones,in that case all the well will be perforated)skin (
skintoapply)
- 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 startofthe 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 startofthe perforation- Return type:
float