Example #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.initialize()
        self.install_vessel = vessel
Example #2
0
    def initialize_vessel(self, name, specs):
        """"""

        avail = getattr(self, "availability")
        if avail is None:
            return Vessel(name, specs)

        elif isinstance(avail, dict):
            default = avail.get("default", 1)
            return Vessel(name, specs, avail.get(name, default))

        else:
            return Vessel(name, specs, avail)
Example #3
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.initialize()
        self.bury_vessel = vessel
Example #4
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
Example #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
Example #6
0
    def initialize_support_vessel(self, **kwargs):
        """
        Initializes Multi-Purpose Support Vessel to perform installation
        processes at site.
        """

        specs = self.config["support_vessel"]
        vessel = Vessel("Multi-Purpose Support Vessel", specs)

        self.env.register(vessel)
        vessel.initialize(mobilize=False)
        self.support_vessel = vessel

        station_keeping_vessels = self.config["towing_vessel_groups"]["station_keeping_vessels"]

        install_moored_substructures(
            self.support_vessel,
            self.active_group,
            self.distance,
            self.num_turbines,
            station_keeping_vessels,
            **kwargs,
        )
Example #7
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
Example #8
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
Example #9
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
Example #10
0
    def initialize_installation_vessel(self):
        """Initializes the mooring system installation vessel."""

        vessel_specs = self.config.get("mooring_install_vessel", None)
        name = vessel_specs.get("name", "Mooring System Installation Vessel")

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

        vessel.initialize()
        vessel.at_port = True
        vessel.at_site = False
        self.vessel = vessel
Example #11
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)
Example #12
0
    def initialize_trench_vessel(self):
        """Creates the export cable trenching vessel."""

        # Vessel name and costs
        vessel_specs = self.config.get("export_cable_trench_vessel", None)
        if vessel_specs is None:
            self.trench_vessel = None
            return
        name = vessel_specs.get("name", "Export Cable Trench Vessel")

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

        vessel.initialize()
        vessel.at_port = True
        vessel.at_site = False
        self.trench_vessel = vessel
Example #13
0
def wtiv():

    specs = extract_library_specs("wtiv", "test_wtiv")
    return Vessel("Test WTIV", specs)
Example #14
0
def spi_vessel():

    specs = extract_library_specs("spi_vessel", "test_scour_protection_vessel")
    return Vessel("Test SPI Vessel", specs)
Example #15
0
def heavy_lift():

    specs = extract_library_specs("oss_install_vessel",
                                  "test_heavy_lift_vessel")
    return Vessel("Test Heavy Vessel", specs)
Example #16
0
def cable_vessel():

    specs = extract_library_specs("array_cable_install_vessel",
                                  "test_cable_lay_vessel")
    return Vessel("Test Cable Vessel", specs)
Example #17
0
def feeder():

    specs = extract_library_specs("feeder", "test_feeder")
    return Vessel("Test Feeder", specs)