Source code for kappa_sdk.wellbore.wellbore_geometry
from datetime import datetime
from typing import Optional
from .wellbore_pipe import WellborePipe
from .gas_lift_equipment import GasLiftEquipment
from ..vs_depth_vector import VsDepthVector
[docs]
class WellboreGeometry:
def __init__(self, start_date: datetime, root_pipe: WellborePipe, md_vs_deviation: Optional[VsDepthVector] = None,
md_vs_tvd: Optional[VsDepthVector] = None, child_pipe: Optional[WellborePipe] = None, gas_lift_equipment: Optional[GasLiftEquipment] = None,
is_annular_flow: bool = False) -> None:
self.__start_date = start_date
self.__md_vs_deviation = md_vs_deviation if md_vs_deviation is not None else VsDepthVector([], [])
self.__md_vs_tvd = md_vs_tvd if md_vs_tvd is not None else VsDepthVector([], [])
self.__root_pipe = root_pipe
self.__child_pipe = child_pipe
self.__gas_lift_equipment = gas_lift_equipment
self.__is_annular_flow = is_annular_flow
@property
def start_date(self) -> datetime:
"""Gets the start date of this :class:`WellboreGeometry`."""
return self.__start_date
@property
def root_pipe(self) -> WellborePipe:
"""Gets the root pipe of this :class:`WellboreGeometry`."""
return self.__root_pipe
@property
def child_pipe(self) -> Optional[WellborePipe]:
"""Gets the child pipe of this :class:`WellboreGeometry`."""
return self.__child_pipe
@property
def gas_lift_equipment(self) -> Optional[GasLiftEquipment]:
"""Gets the gas lift equipment of this :class:`WellboreGeometry`."""
return self.__gas_lift_equipment
@property
def is_annular_flow(self) -> bool:
"""Gets whether this :class:`WellboreGeometry` has annular flow."""
return self.__is_annular_flow
@property
def deviation(self) -> VsDepthVector:
"""Gets the md_vs_deviation of this :class:`WellboreGeometry` as a VsDepthVector."""
return self.__md_vs_deviation
@property
def tvd(self) -> VsDepthVector:
"""Gets the md_vs_tvd of this :class:`WellboreGeometry`."""
return self.__md_vs_tvd