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:
[docs]
    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