models.boat module

Boat model for the electric recreational port simulator.

class models.boat.Boat(motor_power: int, weight: float, length: float, battery_capacity: float, range_speed: float, soc: float = 1.0, name: str = '')[source]

Bases: object

Electric boat at the port.

motor_power

Motor power (kW).

Type:

int

weight

Weight (kg).

Type:

float

length

Length (m).

Type:

float

battery_capacity

Battery capacity (kWh).

Type:

float

range_speed

Range speed (knots).

Type:

float

soc

State of charge in [0, 1]; default 1.0 (full).

Type:

float

name

Identifier; auto-generated as Boat_N if empty.

Type:

str

_state

Internal state (BoatState); use .state property.

Type:

models.boat.BoatState

battery_capacity: float
property k: float

motor_power / range_speed^3 (used in trip energy estimates).

Type:

Return k-factor for cube law

length: float
motor_power: int
name: str = ''
range_speed: float
soc: float = 1.0
property state: BoatState

Current boat state.

weight: float
class models.boat.BoatState(value)[source]

Bases: Enum

Boat state: idle, charging, or sailing.

CHARGING = 'charging'
IDLE = 'idle'
SAILING = 'sailing'