suboptimumg.compsim.models#

class suboptimumg.compsim.models.CompetitionData[source]#

Bases: BaseModel

Parameters:
accel: ContinuousTrackData | DiscreteTrackData#
autoX: ContinuousTrackData | DiscreteTrackData#
endurance: ContinuousTrackData | DiscreteTrackData#
scoring: CompetitionScoring#
skidpad: ContinuousTrackData | DiscreteTrackData#
vehicle_model: VehicleModel#
class suboptimumg.compsim.models.CompetitionResults[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

accel

EventResults

Yes

autoX

EventResults

Yes

efficiency_points

float

Yes

endu_consumed_energy

float

Yes

endurance

EventResults

Yes

skidpad

EventResults

Yes

Parameters:
accel: EventResults#
autoX: EventResults#
efficiency_points: float#
endu_consumed_energy: float#
endurance: EventResults#
skidpad: EventResults#
property total_points: float#
class suboptimumg.compsim.models.CompetitionScoring[source]#

Bases: BaseModel

Parameters:
accel: EventScoring#
autoX: EventScoring#
efficiency: EfficiencyScoring#
endurance: EventScoring#
skidpad: EventScoring#
class suboptimumg.compsim.models.EfficiencyScoring[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

co2_min

float

Yes

co2_scaling

float

Yes

eff_max

float

Yes

eff_min_co2_your

float

Yes

fastest_lap_time

float

Yes

max_eff_points

float

Yes

max_time_scale

float

Yes

num_endurance_laps

int

Yes

Parameters:
  • num_endurance_laps (int)

  • max_eff_points (float)

  • co2_scaling (float)

  • fastest_lap_time (float)

  • co2_min (float)

  • eff_max (float)

  • max_time_scale (float)

  • eff_min_co2_your (float)

co2_min: float#
co2_scaling: float#
eff_max: float#
eff_min_co2_your: float#
fastest_lap_time: float#
max_eff_points: float#
max_time_scale: float#
num_endurance_laps: int#
class suboptimumg.compsim.models.EventResults[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

lapsim_results

LapsimResults

Yes

points

float

Yes

tyour

float

Yes

Parameters:
lapsim_results: LapsimResults#
points: float#
tyour: float#
class suboptimumg.compsim.models.EventScoring[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

event_best_time

float

Yes

max_point_gain

float

Yes

min_points

float

Yes

scale_time_ratio

float

Yes

worst_time_ratio

float

Yes

Parameters:
  • event_best_time (float)

  • worst_time_ratio (float)

  • min_points (float)

  • max_point_gain (float)

  • scale_time_ratio (float)

event_best_time: float#
max_point_gain: float#
min_points: float#
scale_time_ratio: float#
worst_time_ratio: float#
class suboptimumg.compsim.models.InternalData[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

cumulative_dist

NDArray[float64]

Yes

initial_velocity

float

Yes

per_seed

list[InternalDataSeedInfo]

Yes

seed_idx_list

NDArray[integer]

Yes

seed_v_list

NDArray[float64]

Yes

v_max_profile

NDArray[float64]

Yes

Parameters:
  • initial_velocity (float)

  • v_max_profile (NDArray[float64])

  • seed_idx_list (NDArray[integer])

  • cumulative_dist (NDArray[float64])

  • seed_v_list (NDArray[float64])

  • per_seed (list[InternalDataSeedInfo])

cumulative_dist: NDArray[float64]#
initial_velocity: float#
per_seed: list[InternalDataSeedInfo]#
seed_idx_list: NDArray[integer]#
seed_v_list: NDArray[float64]#
v_max_profile: NDArray[float64]#
class suboptimumg.compsim.models.InternalDataSeedInfo[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

acc_max_post

NDArray[float64]

Yes

acc_proposal

NDArray[float64]

Yes

grown_forward_mask

NDArray[bool]

Yes

p_proposal

NDArray[float64]

Yes

slower_mask

NDArray[bool]

Yes

v_max_post

NDArray[float64]

Yes

v_proposal

NDArray[float64]

Yes

Parameters:
  • v_proposal (NDArray[float64])

  • acc_proposal (NDArray[float64])

  • grown_forward_mask (NDArray[bool])

  • slower_mask (NDArray[bool])

  • v_max_post (NDArray[float64])

  • acc_max_post (NDArray[float64])

  • p_proposal (NDArray[float64])

acc_max_post: NDArray[float64]#
acc_proposal: NDArray[float64]#
grown_forward_mask: NDArray[bool]#
p_proposal: NDArray[float64]#
slower_mask: NDArray[bool]#
v_max_post: NDArray[float64]#
v_proposal: NDArray[float64]#
class suboptimumg.compsim.models.LapsimResults[source]#

Bases: BaseModel

Fields#

Field

Type

Required

Default

internal_data

InternalData | None

No

None

lap_accs

NDArray[float64]

Yes

lap_dxs

NDArray[float64]

Yes

lap_eff_motor_torques

NDArray[float64]

Yes

lap_powers

NDArray[float64]

Yes

lap_t

NDArray[float64]

Yes

lap_vels

NDArray[float64]

Yes

Parameters:
  • lap_t (NDArray[float64])

  • lap_dxs (NDArray[float64])

  • lap_vels (NDArray[float64])

  • lap_accs (NDArray[float64])

  • lap_powers (NDArray[float64])

  • lap_eff_motor_torques (NDArray[float64])

  • internal_data (InternalData | None)

internal_data: InternalData | None#
lap_accs: NDArray[float64]#
lap_dxs: NDArray[float64]#
lap_eff_motor_torques: NDArray[float64]#
lap_powers: NDArray[float64]#
lap_t: NDArray[float64]#
lap_vels: NDArray[float64]#
write_csv(filepath)[source]#

Write the lap simulation time series to a CSV file.

Parameters:

filepath (str or Path) – Destination CSV file path.

Return type:

None