示例#1
0
    def initialize_installation_vessel(self):
        """Creates the export cable installation vessel."""

        # Vessel name and costs
        vessel_specs = self.config.get("export_cable_install_vessel", None)
        name = vessel_specs.get("name", "Export Cable Installation Vessel")

        vessel = Vessel(name, vessel_specs)
        self.env.register(vessel)

        vessel.extract_vessel_specs()
        vessel.mobilize()
        self.install_vessel = vessel
示例#2
0
    def initialize_installation_vessel(self):
        """Creates the array cable installation vessel."""

        # Vessel name and costs
        vessel_specs = self.config.get("array_cable_install_vessel", None)
        name = vessel_specs.get("name", "Array Cable Installation Vessel")

        vessel = Vessel(name, vessel_specs)
        self.env.register(vessel)

        vessel.extract_vessel_specs()
        vessel.mobilize()
        vessel.at_port = True
        vessel.at_site = False
        self.install_vessel = vessel
示例#3
0
    def initialize_oss_install_vessel(self):
        """
        Creates the offshore substation installation vessel object.
        """

        oss_vessel_specs = self.config.get("oss_install_vessel", None)
        name = oss_vessel_specs.get("name", "Heavy Lift Vessel")

        oss_vessel = Vessel(name, oss_vessel_specs)
        self.env.register(oss_vessel)

        oss_vessel.extract_vessel_specs()
        oss_vessel.mobilize()
        oss_vessel.at_port = True
        oss_vessel.at_site = False
        self.oss_vessel = oss_vessel
示例#4
0
    def initialize_wtiv(self):
        """
        Initializes the WTIV simulation object and the onboard vessel storage.
        """

        wtiv_specs = self.config.get("wtiv", None)
        name = wtiv_specs.get("name", "WTIV")

        wtiv = Vessel(name, wtiv_specs)
        self.env.register(wtiv)

        wtiv.extract_vessel_specs()
        wtiv.mobilize()
        wtiv.at_port = True
        wtiv.at_site = False
        self.wtiv = wtiv
示例#5
0
    def initialize_spi_vessel(self):
        """
        Creates the scouring protection isntallation (SPI) vessel.
        """

        spi_specs = self.config["spi_vessel"]
        name = spi_specs.get("name", "SPI Vessel")

        spi_vessel = Vessel(name, spi_specs)
        self.env.register(spi_vessel)

        spi_vessel.extract_vessel_specs()
        spi_vessel.mobilize()
        spi_vessel.at_port = True
        spi_vessel.at_site = False
        self.spi_vessel = spi_vessel
示例#6
0
    def initialize_burial_vessel(self):
        """Creates the export cable burial vessel."""

        # Vessel name and costs
        vessel_specs = self.config.get("export_cable_bury_vessel", None)
        if vessel_specs is None:
            self.bury_vessel = None
            return

        name = vessel_specs.get("name", "Export Cable Burial Vessel")

        vessel = Vessel(name, vessel_specs)
        self.env.register(vessel)

        vessel.extract_vessel_specs()
        vessel.mobilize()
        self.bury_vessel = vessel
示例#7
0
    def initialize_burial_vessel(self):
        """Creates the array cable burial vessel."""

        # Vessel name and costs
        vessel_specs = self.config.get("array_cable_bury_vessel", None)
        if vessel_specs is None:
            self.bury_vessel = None
            return

        name = vessel_specs.get("name", "Array Cable Burial Vessel")

        vessel = Vessel(name, vessel_specs)
        self.env.register(vessel)

        vessel.extract_vessel_specs()
        vessel.mobilize()
        vessel.at_port = True
        vessel.at_site = False
        self.bury_vessel = vessel
示例#8
0
    def initialize_feeders(self):
        """
        Initializes feeder barge objects.
        """

        number = self.config.get("num_feeders", None)
        feeder_specs = self.config.get("feeder", None)

        self.feeders = []
        for n in range(number):
            # TODO: Add in option for named feeders.
            name = "Feeder {}".format(n)

            feeder = Vessel(name, feeder_specs)
            self.env.register(feeder)

            feeder.extract_vessel_specs()
            feeder.mobilize()
            feeder.at_port = True
            feeder.at_site = False
            self.feeders.append(feeder)