suboptimumg.sweep.energy_grid_models#
- class suboptimumg.sweep.energy_grid_models.EnergyGridConfig[source]#
Bases:
BaseModelConfiguration for energy-constrained grid characterization.
Sweeps two design variables on a regular grid. At each grid point, coast_trigger is solved via bisection so that 22-lap endurance energy equals (pack capacity - buffer).
Fields# Field
Type
Required
Default
Constraints
intNo
40gt=0
floatNo
0.05gt=0
floatNo
0.1ge=0
tuple[float,float]No
(5.0, 50.0)Yes
Yes
- Parameters:
var_1 (SweepParamConfig)
var_2 (SweepParamConfig)
coast_trigger_bounds (tuple[float, float])
capacity_buffer_kwh (Annotated[float, Ge(ge=0)])
bisection_tol (Annotated[float, Gt(gt=0)])
bisection_max_iter (Annotated[int, Gt(gt=0)])
- bisection_max_iter: int#
- bisection_tol: float#
- capacity_buffer_kwh: float#
- coast_trigger_bounds: tuple[float, float]#
- var_1: SweepParamConfig#
- var_2: SweepParamConfig#
- class suboptimumg.sweep.energy_grid_models.EnergyGridData[source]#
Bases:
BaseModelCollected 2D grid results for all metrics.
Fields# Field
Type
Required
Default
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[int64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
floatYes
NDArray[bool]Yes
NDArray[float64]Yes
floatYes
floatYes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
NDArray[float64]Yes
strYes
NDArray[float64]Yes
strYes
NDArray[float64]Yes
- Parameters:
var_1_name (str)
var_1_list (NDArray[float64])
var_2_name (str)
var_2_list (NDArray[float64])
nominal_pack_weight (float)
nominal_capacity (float)
energy_density (float)
total_pts (NDArray[float64])
accel_pts (NDArray[float64])
skidpad_pts (NDArray[float64])
autoX_pts (NDArray[float64])
endurance_pts (NDArray[float64])
efficiency_pts (NDArray[float64])
accel_t (NDArray[float64])
skidpad_t (NDArray[float64])
autoX_t (NDArray[float64])
endurance_t (NDArray[float64])
optimal_coast_trigger (NDArray[float64])
net_energy_kwh (NDArray[float64])
capacity_kwh (NDArray[float64])
vehicle_mass (NDArray[float64])
feasible (NDArray[bool])
bisection_iters (NDArray[int64])
- accel_pts: NDArray[np.float64]#
- accel_t: NDArray[np.float64]#
- autoX_pts: NDArray[np.float64]#
- autoX_t: NDArray[np.float64]#
- bisection_iters: NDArray[np.int_]#
- capacity_kwh: NDArray[np.float64]#
- classmethod create(var_1_name, var_1_list, var_2_name, var_2_list, nominal_pack_weight, nominal_capacity, energy_density)[source]#
Create an EnergyGridData with pre-allocated, zero-filled grid arrays.
- Parameters:
var_1_name (str)
var_1_list (NDArray[float64])
var_2_name (str)
var_2_list (NDArray[float64])
nominal_pack_weight (float)
nominal_capacity (float)
energy_density (float)
- Return type:
- efficiency_pts: NDArray[np.float64]#
- endurance_pts: NDArray[np.float64]#
- endurance_t: NDArray[np.float64]#
- energy_density: float#
- feasible: NDArray[np.bool_]#
- net_energy_kwh: NDArray[np.float64]#
- nominal_capacity: float#
- nominal_pack_weight: float#
- optimal_coast_trigger: NDArray[np.float64]#
- skidpad_pts: NDArray[np.float64]#
- skidpad_t: NDArray[np.float64]#
- total_pts: NDArray[np.float64]#
- var_1_list: NDArray[np.float64]#
- var_1_name: str#
- var_2_list: NDArray[np.float64]#
- var_2_name: str#
- vehicle_mass: NDArray[np.float64]#
- class suboptimumg.sweep.energy_grid_models.EnergyGridProcessInput[source]#
Bases:
BaseModelFrozen input shipped to each worker process.
Fields# Field
Type
Required
Default
intYes
floatYes
floatYes
floatYes
floatYes
Yes
strYes
floatYes
strYes
floatYes
intYes
intYes
- Parameters:
comp_data (CompetitionData)
var_1_name (str)
var_1_value (float)
var_2_name (str)
var_2_value (float)
coast_trigger_lo (float)
coast_trigger_hi (float)
capacity_buffer_kwh (float)
bisection_tol (float)
bisection_max_iter (int)
x_idx (int)
y_idx (int)
- bisection_max_iter: int#
- bisection_tol: float#
- capacity_buffer_kwh: float#
- coast_trigger_hi: float#
- coast_trigger_lo: float#
- comp_data: CompetitionData#
- var_1_name: str#
- var_1_value: float#
- var_2_name: str#
- var_2_value: float#
- x_idx: int#
- y_idx: int#
- class suboptimumg.sweep.energy_grid_models.EnergyGridProcessOutput[source]#
Bases:
BaseModelFrozen output returned from each worker process.
Fields# Field
Type
Required
Default
floatNo
0floatNo
0floatNo
0floatNo
0intNo
0floatNo
0floatNo
0floatNo
0floatNo
0str|NoneNo
NoneboolYes
floatNo
0floatYes
floatNo
0floatNo
0floatYes
floatNo
0strNo
''intYes
intYes
- Parameters:
x_idx (int)
y_idx (int)
optimal_coast_trigger (float)
feasible (bool)
total_points (float)
accel_pts (float)
skidpad_pts (float)
autoX_pts (float)
endurance_pts (float)
efficiency_pts (float)
accel_t (float)
skidpad_t (float)
autoX_t (float)
endurance_t (float)
net_energy_kwh (float)
capacity_kwh (float)
vehicle_mass (float)
bisection_iters (int)
warnings (str)
error (str | None)
- accel_pts: float#
- accel_t: float#
- autoX_pts: float#
- autoX_t: float#
- bisection_iters: int#
- capacity_kwh: float#
- efficiency_pts: float#
- endurance_pts: float#
- endurance_t: float#
- error: str | None#
- feasible: bool#
- net_energy_kwh: float#
- optimal_coast_trigger: float#
- skidpad_pts: float#
- skidpad_t: float#
- total_points: float#
- vehicle_mass: float#
- warnings: str#
- x_idx: int#
- y_idx: int#