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)