ResSimpy.Nexus.DataModels.NexusCompletion.NexusCompletion

class ResSimpy.Nexus.DataModels.NexusCompletion.NexusCompletion(date: str, i: int | None = None, j: int | None = None, k: int | None = None, skin: float | None = None, depth: float | None = None, well_radius: float | None = None, x: float | None = None, y: float | None = None, angle_a: float | None = None, angle_v: float | None = None, grid: str | None = None, measured_depth: float | None = None, well_indices: float | None = None, depth_to_top: float | None = None, depth_to_bottom: float | None = None, rel_perm_method: int | None = None, dfactor: float | None = None, status: str | None = None, partial_perf: float | None = None, cell_number: int | None = None, perm_thickness_ovr: float | None = None, bore_radius: float | None = None, fracture_mult: float | None = None, sector: None | str | int = None, well_group: str | None = None, zone: int | None = None, angle_open_flow: float | None = None, temperature: float | None = None, flowsector: int | None = None, parent_node: str | None = None, mdcon: float | None = None, pressure_avg_pattern: int | None = None, length: float | None = None, permeability: float | None = None, non_darcy_model: str | None = None, comp_dz: float | None = None, layer_assignment: int | None = None, polymer_bore_radius: float | None = None, polymer_well_radius: float | None = None, portype: str | None = None, rel_perm_end_point: NexusRelPermEndPoint | None = None, kh_mult: float | None = None, date_format: DateFormat | None = None, start_date: str | None = None)[source]

Bases: Completion

A class representing a completion specific to a Nexus Model. Inherits from Completion.

Additional Attributes:

measured_depth (Optional[float]): Measured depth of a completion. ‘MD’ in Nexus well_indices (Optional[float]): Well index used to calculate performance of the completion. ‘WI’ in Nexus partial_perf (Optional[float]): Partial penetration factor. ‘PPERF’ in Nexus cell_number (Optional[int]): cell number for the completion in unstructured grids. ‘CELL’ in Nexus bore_radius (Optional[float]): Well bore radius. ‘RADB’ in Nexus portype (Optional[str]): indicates the pore type for the completion FRACTURE OR MATRIX. ‘PORTYPE’ in Nexus sector (None | str | int): the section of the wellbore to which this completion flows. ‘SECT’ in Nexus khmult (Optional[float]): the multiplier that is applied to the permeability-thickness. ‘KHMULT’ in Nexus.

Public Data Attributes:

measured_depth

well_indices

partial_perf

cell_number

bore_radius

portype

fracture_mult

sector

well_group

zone

angle_open_flow

temperature

flowsector

parent_node

mdcon

pressure_avg_pattern

length

permeability

non_darcy_model

comp_dz

layer_assignment

polymer_bore_radius

polymer_well_radius

rel_perm_end_point

kh_mult

Inherited from Completion

well_radius

date

iso_date

i

j

k

skin

depth

x

y

angle_a

angle_v

grid

depth_to_top

depth_to_bottom

perm_thickness_ovr

dfactor

rel_perm_method

status

date_format

start_date

Inherited from DataObjectMixin

id

Unique identifier for each object.

Methods:

__init__(date[, i, j, k, skin, depth, ...])

__repr__()

Return repr(self).

to_dict([keys_in_keyword_style, add_date, ...])

Returns a dictionary of the attributes of the object.

completion_is_perforation(completion)

Determines if the supplied completion is a perforation or not.

completion_is_shutin(completion)

Determines if the supplied completion is a shut-in or not.

get_keyword_mapping()

Returns a dictionary of mapping from nexus keyword to attribute name.

valid_attributes()

Lists all possible attributes for the object that relate to a Nexus keyword.

from_dict(input_dictionary)

Generates a NexusCompletion from a dictionary.

update(input_dictionary)

Updates a completion based on a dictionary of attributes.

__eq__(other)

Return self==value.

Inherited from Completion

__init__(date[, i, j, k, skin, depth, ...])

set_iso_date()

__repr__()

Return repr(self).

__eq__(other)

Return self==value.

Inherited from DataObjectMixin

__init__(properties_dict)

to_dict([keys_in_keyword_style, add_date, ...])

Returns a dictionary of the attributes of the object.

to_table_line(headers)

Takes a generic Nexus object and returns the attribute values as a string in the order of headers provided.

get_keyword_mapping()

Gets the mapping of keywords to attribute definitions.

__repr__()

Return repr(self).

__eq__(other)

Return self==value.


__init__(date: str, i: int | None = None, j: int | None = None, k: int | None = None, skin: float | None = None, depth: float | None = None, well_radius: float | None = None, x: float | None = None, y: float | None = None, angle_a: float | None = None, angle_v: float | None = None, grid: str | None = None, measured_depth: float | None = None, well_indices: float | None = None, depth_to_top: float | None = None, depth_to_bottom: float | None = None, rel_perm_method: int | None = None, dfactor: float | None = None, status: str | None = None, partial_perf: float | None = None, cell_number: int | None = None, perm_thickness_ovr: float | None = None, bore_radius: float | None = None, fracture_mult: float | None = None, sector: None | str | int = None, well_group: str | None = None, zone: int | None = None, angle_open_flow: float | None = None, temperature: float | None = None, flowsector: int | None = None, parent_node: str | None = None, mdcon: float | None = None, pressure_avg_pattern: int | None = None, length: float | None = None, permeability: float | None = None, non_darcy_model: str | None = None, comp_dz: float | None = None, layer_assignment: int | None = None, polymer_bore_radius: float | None = None, polymer_well_radius: float | None = None, portype: str | None = None, rel_perm_end_point: NexusRelPermEndPoint | None = None, kh_mult: float | None = None, date_format: DateFormat | None = None, start_date: str | None = None) None[source]
property id: UUID

Unique identifier for each object.

to_table_line(headers: list[str]) str

Takes a generic Nexus object and returns the attribute values as a string in the order of headers provided. Requires an implemented to_dict method and get_keyword_mapping() method.

Parameters:

headers (list[str]) – list of header values in keyword format

Returns:

string of the values in the order of the headers provided.

to_dict(keys_in_keyword_style: bool = False, add_date=True, add_units=False, include_nones=True) dict[str, None | str | int | float][source]

Returns a dictionary of the attributes of the object.

Parameters:
  • include_nones (bool) –

  • keys_in_keyword_style (bool) – if True returns the key values as simulator keywords, otherwise returns the attribute name as stored by ressimpy.

Returns:

a dictionary keyed by attributes and values as the value of the attribute

static completion_is_perforation(completion: NexusCompletion) bool[source]

Determines if the supplied completion is a perforation or not.

static completion_is_shutin(completion: NexusCompletion) bool[source]

Determines if the supplied completion is a shut-in or not.

static get_keyword_mapping() dict[str, tuple[str, type]][source]

Returns a dictionary of mapping from nexus keyword to attribute name.

static valid_attributes() list[str][source]

Lists all possible attributes for the object that relate to a Nexus keyword.

classmethod from_dict(input_dictionary: dict[str, None | float | int | str]) Self[source]

Generates a NexusCompletion from a dictionary.

update(input_dictionary: dict[str, None | float | int | str]) None[source]

Updates a completion based on a dictionary of attributes.