suboptimumg.compsim.utils#

Utility functions for competition scoring and energy calculations.

suboptimumg.compsim.utils.backsolve_energy_from_efficiency(scoring_config, total_endurance_time, efficiency_score)[source]#

Calculates consumed energy in kWh given competition configuration, total endurance event time, and efficiency score.

Parameters:
  • scoring_config (EfficiencyScoring)

  • total_endurance_time (float) – Total endurance event time in seconds (tyour)

  • efficiency_score (float) – Efficiency points score

Returns:

Consumed energy in kWh

Return type:

float

suboptimumg.compsim.utils.compute_efficiency_points(scoring_config, consumed_energy, endurance_runtime)[source]#

Compute efficiency points based on energy consumption and endurance runtime.

Parameters:
  • scoring_config (EfficiencyScoring) – Configuration for efficiency scoring

  • consumed_energy (float) – Energy consumed per lap (kWh)

  • endurance_runtime (float) – Total endurance runtime (seconds)

Returns:

Efficiency points earned

Return type:

float

suboptimumg.compsim.utils.compute_event_points(scoring_config, t_your)[source]#

Compute competition points for an event based on your time.

Parameters:
  • scoring_config (EventScoring) – Configuration for event scoring

  • t_your (float) – Your time for the event

Returns:

Competition points earned

Return type:

float

suboptimumg.compsim.utils.energy_data(time_list, power_list)[source]#

Manually integrates power to determine energy consumption across a lap. Uses trapezoidal integration

Parameters:
  • time_list (npt.ndarray[np.float64]) – Cumulative timestamps corresponding to power values (seconds)

  • power_list (npt.ndarray[np.float64]) – List of power values (Watts)

Return type:

tuple[float, float, float]

Returns:

  • float – Positive energy consumption in kWh

  • float – Negative energy consumption in kWh

  • float – Net energy consumption in kWh

suboptimumg.compsim.utils.pretty_print_results(comp_results)[source]#

Print formatted competition results.

Parameters:

comp_results (CompetitionResults)