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
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)
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
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, )
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
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.initialize() vessel.at_port = True vessel.at_site = False self.install_vessel = vessel
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.initialize() wtiv.at_port = True wtiv.at_site = False self.wtiv = wtiv
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.initialize() oss_vessel.at_port = True oss_vessel.at_site = False self.oss_vessel = oss_vessel
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.initialize() spi_vessel.at_port = True spi_vessel.at_site = False self.spi_vessel = spi_vessel
def initialize_trench_vessel(self): """Creates the array cable trenching vessel.""" # Vessel name and costs vessel_specs = self.config.get("array_cable_trench_vessel", None) if vessel_specs is None: self.trench_vessel = None return name = vessel_specs.get("name", "Array 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
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.initialize() feeder.at_port = True feeder.at_site = False self.feeders.append(feeder)
def spi_vessel(): specs = extract_library_specs("spi_vessel", "test_scour_protection_vessel") return Vessel("Test SPI Vessel", specs)
def heavy_lift(): specs = extract_library_specs("oss_install_vessel", "test_heavy_lift_vessel") return Vessel("Test Heavy Vessel", specs)
def cable_vessel(): specs = extract_library_specs("array_cable_install_vessel", "test_cable_lay_vessel") return Vessel("Test Cable Vessel", specs)
def feeder(): specs = extract_library_specs("feeder", "test_feeder") return Vessel("Test Feeder", specs)
def wtiv(): specs = extract_library_specs("wtiv", "test_wtiv") return Vessel("Test WTIV", specs)