Skip to content

example_ship

ExampleShip(params)

Bases: AbstractShip

Vessel class with methods designed to model a ship.

Parameters:

Name Type Description Default
params dict

vessel parameters from the vessel config file

required

ice_resistance(cellbox)

Method to find the ice resistance force acting on the ship at a given speed in a given cell

The input cellbox should contain the following values

velocity (float): The speed of the vessel in km/h sic (float): The average sea ice concentration in the cell as a percentage thickness (float): The average ice thickness in the cell in m density (float): The average ice density in the cell in kg/m^3

Parameters:

Name Type Description Default
cellbox AggregatedCellBox

input cell from environmental mesh

required

Returns:

Name Type Description
resistance float

Resistance force in N

invert_resistance(cellbox)

Method to find the vessel speed that keeps the ice resistance force below a given threshold in a given cell

The input cellbox should contain the following values

sic (float) - The average sea ice concentration in the cell as a percentage

thickness (float) - The average ice thickness in the cell in m

density (float) - The average ice density in the cell in kg/m^3

Parameters:

Name Type Description Default
cellbox AggregatedCellBox

input cell from environmental mesh

required

Returns:

Name Type Description
new_speed float

Safe vessel speed in km/h

model_fuel(cellbox)

Method to determine the fuel consumption rate of the ship in a given cell

Parameters:

Name Type Description Default
cellbox AggregatedCellBox

input cell from environmental mesh

required

Returns:

Name Type Description
cellbox AggregatedCellBox

updated cell with fuel consumption values

model_resistance(cellbox)

Method to determine the resistance force acting on the ship in a given cell

Parameters:

Name Type Description Default
cellbox AggregatedCellBox

input cell from environmental mesh

required

Returns:

Name Type Description
cellbox AggregatedCellBox

updated cell with resistance values

model_speed(cellbox)

Method to determine the maximum speed that the ship can traverse the given cell

Parameters:

Name Type Description Default
cellbox AggregatedCellBox

input cell from environmental mesh

required

Returns:

Name Type Description
cellbox AggregatedCellBox

updated cell with speed values

wave_resistance(w_height)

Method to calculate the wave resistance given the wave height and vessel geometry. Recommended by the ITTC for small wave heights: https://ittc.info/media/1936/75-04-01-012.pdf

c_wind(rel_ang)

Function to return the wind resistance coefficient for some relative angle between wind and travel directions.

calc_wind(cellbox)

Function to calculate the wind resistance as well as the relative wind speed and angle for a vessel traversing a cell with 8 different equally spaced angular headings.

Parameters:

Name Type Description Default
cellbox AggregatedCellBox

input cell from environmental mesh

required

Returns:

Name Type Description
cellbox AggregatedCellBox

updated cell with wind information

fuel_eq(speed, resistance)

Equation to calculate the fuel consumption in tons/day given the speed in km/h and the resistance force in N

Parameters:

Name Type Description Default
speed float

the ship's speed in km/h

required
resistance float

the resistance force in N

required

Returns:

Name Type Description
fuel float

the fuel consumption in tons/day

wind_mag_dir(cellbox, va)

Function that returns the relative wind speed and direction given the speed and heading of the vessel and the easterly and northerly components of the true wind vector. Speeds in m/s.

wind_resistance(v_speed, w_speed, rel_ang)

Function to calculate the wind resistance given the wind speed and direction and the vessel speed.