Jacket Installation#

For detailed methodology, please see the Jacket Installation methodology documentation.

MonopileInstallation class and related processes.

class ORBIT.phases.install.monopile_install.standard.MonopileInstallation(config, weather=None, **kwargs)[source]#

Standard monopile installation module using a Wind Turbine Installation Vessel (WTIV). If input feeder and num_feeders are not supplied, the WTIV will perform all transport and installation tasks. If the above inputs are defined, feeder barges will transport monopile components from port to site.

phase = 'Monopile Installation'#
capex_category = 'Substructure'#
expected_config = {'feeder': 'dict | str (optional)', 'monopile': {'deck_space': 'm2', 'diameter': 'm', 'length': 'm', 'mass': 't', 'unit_cost': 'USD'}, 'monopile_supply_chain': {'enabled': '(optional, default: False)', 'num_substructures_delivered': 'int (optional: default: 1)', 'substructure_delivery_time': 'h (optional, default: 168)'}, 'num_feeders': 'int (optional)', 'plant': {'num_turbines': 'int'}, 'port': {'monthly_rate': 'USD/mo (optional)', 'name': 'str (optional)', 'num_cranes': 'int (optional, default: 1)'}, 'site': {'depth': 'm', 'distance': 'km'}, 'transition_piece': {'deck_space': 'm2', 'mass': 't', 'unit_cost': 'USD'}, 'turbine': {'hub_height': 'm'}, 'wtiv': 'dict | str'}#
property system_capex#

Returns procurement cost of the substructures.

initialize_substructure_delivery()[source]#

Creates the simulated monopile delivery model.

setup_simulation(**kwargs)[source]#

Sets up simulation infrastructure, routing to specific methods dependent on number of feeders.

setup_simulation_without_feeders(**kwargs)[source]#

Creates the infrastructure for turbine installations without feeder barges.

setup_simulation_with_feeders(**kwargs)[source]#

Creates the infrastructure for turbine installation using feeder barges.

initialize_wtiv()[source]#

Creates the WTIV simulation object and its onboard storage.

initialize_feeders()[source]#

Initializes feeder barge objects.

initialize_queue()[source]#

Initializes the queue, modeled as a SimPy.Resource that feeders join at site. This limits the simulation to one active feeder at a time.

property detailed_output#

Returns detailed outputs of the monopile installation.

_abc_impl = <_abc._abc_data object>#
ORBIT.phases.install.monopile_install.standard.solo_install_monopiles(vessel, port, distance, monopiles, **kwargs)[source]#

Logic that a Wind Turbine Installation Vessel (WTIV) uses during a single monopile installation process.

Parameters:
  • vessel (vessels.Vessel) -- Vessel object that represents the WTIV.

  • port (Port)

  • distance (int | float) -- Distance between port and site (km).

  • monopiles (int) -- Total monopiles to install.

ORBIT.phases.install.monopile_install.standard.install_monopiles_from_queue(wtiv, queue, monopiles, distance, **kwargs)[source]#

Logic that a Wind Turbine Installation Vessel (WTIV) uses to install monopiles and transition pieces from queue of feeder barges.

Parameters:
  • env (simulation.Environment) -- SimPy environment that the simulation runs in.

  • wtiv (vessels.Vessel) -- Vessel object that represents the WTIV.

  • queue (simpy.Resource) -- Queue object to interact with active feeder barge.

  • number (int) -- Total monopiles to install.

  • distance (int | float) -- Distance from site to port (km).

Common processes and cargo types for Monopile installations.

class ORBIT.phases.install.monopile_install.common.Monopile(length=None, diameter=None, mass=None, deck_space=None, **kwargs)[source]#

Monopile Cargo.

static fasten(**kwargs)[source]#

Returns time required to fasten a monopile at port.

static release(**kwargs)[source]#

Returns time required to release monopile from fastenings.

class ORBIT.phases.install.monopile_install.common.TransitionPiece(mass=None, deck_space=None, **kwargs)[source]#

Transition Piece Cargo.

static fasten(**kwargs)[source]#

Returns time required to fasten a transition piece at port.

static release(**kwargs)[source]#

Returns the time required to release the transition piece from its fastenings.

ORBIT.phases.install.monopile_install.common.upend_monopile(vessel, length, **kwargs)[source]#

Calculates time required to upend monopile to vertical position.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • length (int | float) -- Overall length of monopile (m).

Yields:

vessel.task representing time to "Upend Monopile".

ORBIT.phases.install.monopile_install.common.lower_monopile(vessel, **kwargs)[source]#

Calculates time required to lower monopile to seafloor.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • site_depth (int | float) -- Seafloor depth at site (m).

Yields:

vessel.task representing time to "Lower Monopile".

ORBIT.phases.install.monopile_install.common.drive_monopile(vessel, **kwargs)[source]#

Calculates time required to drive monopile into seafloor.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • mono_embed_len (int | float) -- Monopile embedment length below seafloor (m).

  • mono_drive_rate (int | float) -- Driving rate (m/hr).

Yields:

vessel.task representing time to "Drive Monopile".

ORBIT.phases.install.monopile_install.common.lower_transition_piece(vessel, **kwargs)[source]#

Calculates time required to lower a transition piece onto monopile.

Parameters:

vessel (Vessel) -- Vessel to perform action.

Yields:

vessel.task representing time to "Lower Transition Piece".

ORBIT.phases.install.monopile_install.common.bolt_transition_piece(vessel, **kwargs)[source]#

Returns time required to bolt transition piece to monopile.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • tp_bolt_time (int | float) -- Time required to attach transition piece.

Yields:

vessel.task representing time to "Bolt TP".

ORBIT.phases.install.monopile_install.common.pump_transition_piece_grout(vessel, **kwargs)[source]#

Returns time required to pump grout at the transition piece interface.

Parameters:

grout_pump_time (int | float) -- Time required to pump grout at the interface.

Yields:

vessel.task representing time to "Pump TP Grout".

ORBIT.phases.install.monopile_install.common.cure_transition_piece_grout(vessel, **kwargs)[source]#

Returns time required for the transition piece grout to cure.

Parameters:

grout_cure_time (int | float) -- Time required for the grout to cure.

Yields:

vessel.task representing time to "Cure TP Grout".

ORBIT.phases.install.monopile_install.common.install_monopile(vessel, monopile, **kwargs)[source]#

Process logic for installing a monopile at site.

Subprocesses:

  • Lower monopile, tasks.lower_monopile()

  • Reequip crane, vessel.crane.reequip()

  • Drive monopile, tasks.drive_monopile()

Parameters:
  • env (Environment)

  • vessel (Vessel)

  • monopile (dict)

ORBIT.phases.install.monopile_install.common.install_transition_piece(vessel, tp, **kwargs)[source]#

Process logic for installing a transition piece on a monopile at site.

Subprocesses:

  • Reequip crane, vessel.crane.reequip()

  • Lower transition piece, tasks.lower_transition_piece()

  • Install connection, see below.

  • Jackdown, vessel.jacksys.jacking_time() (if a jackup vessel)

The transition piece can either be installed with a bolted or a grouted connection. By default, ORBIT uses the bolted connection with the following task:

  • Bolt transition piece, tasks.bolt_transition_piece()

ORBIT can also be configured to model a grouted connection by passing in tp_connection_type='grouted' as a kwarg. This process uses the following tasks:

  • Pump grout, tasks.pump_transition_piece_grout()

  • Cure grout, tasks.cure_transition_piece_grout()

Parameters:
  • env (Environment)

  • vessel (Vessel)

  • tp (dict)