suboptimumg.sweep.models#

pydantic model suboptimumg.sweep.models.ArraySweepData[source]#

Bases: BaseModel

Strongly typed container for array sweep data

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field percent_steps: ndarray [Required]#

Percent step values used in the sweep (shared across all variables)

field sweep_outputs: List[SweepData1D] [Required]#

List of sweep output data for each variable

pydantic model suboptimumg.sweep.models.ArraySweepProcessInput[source]#

Bases: BaseModel

Input model for array sweep process.

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field comp_data: CompetitionData [Required]#

Competition configuration data model

field var_name: str [Required]#

Name of the variable being swept

field step: float [Required]#

Value of the variable for this iteration

field var_idx: int [Required]#

Index of the variable in the sweep array

field step_idx: int [Required]#

Index of the step in the sweep

pydantic model suboptimumg.sweep.models.ArraySweepProcessOutput[source]#

Bases: BaseModel

Output model for array sweep process.

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field var_idx: int [Required]#

Index of the variable in the sweep array

field step_idx: int [Required]#

Index of the step in the sweep

field plausible: bool [Required]#

Whether the parameter configuration is plausible

field accel_pts: float [Required]#

Acceleration event points

field skidpad_pts: float [Required]#

Skidpad event points

field autoX_pts: float [Required]#

Autocross event points

field endurance_pts: float [Required]#

Endurance event points

field efficiency_pts: float [Required]#

Efficiency points

field accel_t: float [Required]#

Acceleration event time

field skidpad_t: float [Required]#

Skidpad event time

field autoX_t: float [Required]#

Autocross event time

field endurance_t: float [Required]#

Endurance event time

field warnings: str = ''#

Warning messages from the simulation

field error: str | None = None#

Error message if simulation failed

pydantic model suboptimumg.sweep.models.MotorSweepData[source]#

Bases: BaseModel

Strongly typed container for motor sweep data

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field data_by_motor: Dict[str, SweepData1D] [Required]#

Motor name to sweep data map

pydantic model suboptimumg.sweep.models.SweepData1D[source]#

Bases: BaseModel

Strongly typed 1D sweep data container

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field var_name: str [Required]#

Variable name being swept

field sweep_values: ndarray [Required]#

Actual parameter values used in the sweep (x-values)

field accel_pts: ndarray [Required]#

Acceleration event points

field skidpad_pts: ndarray [Required]#

Skidpad event points

field autoX_pts: ndarray [Required]#

Autocross event points

field endurance_pts: ndarray [Required]#

Endurance event points

field efficiency_pts: ndarray [Required]#

Efficiency points

field accel_t: ndarray [Required]#

Acceleration event time

field skidpad_t: ndarray [Required]#

Skidpad event time

field autoX_t: ndarray [Required]#

Autocross event time

field endurance_t: ndarray [Required]#

Endurance event time

field plausible: ndarray [Required]#

Plausibility check result for each sweep step

property total_pts: ndarray#

Compute total points as sum of all point categories.

classmethod create(var_name, sweep_values)[source]#

Create a SweepData1D with pre-allocated numpy arrays of specified length.

Return type:

SweepData1D

Parameters:
  • var_name (str)

  • sweep_values (ndarray)

pydantic model suboptimumg.sweep.models.SweepData2D[source]#

Bases: BaseModel

Strongly typed 2D sweep data container

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field var_name_1: str [Required]#

First variable name being swept

field var_list_1: ndarray [Required]#

Actual values for first variable used in the sweep (x-values)

field var_name_2: str [Required]#

Second variable name being swept

field var_list_2: ndarray [Required]#

Actual values for second variable used in the sweep (y-values)

field accel_pts: ndarray [Required]#

Acceleration event points

field skidpad_pts: ndarray [Required]#

Skidpad event points

field autoX_pts: ndarray [Required]#

Autocross event points

field endurance_pts: ndarray [Required]#

Endurance event points

field efficiency_pts: ndarray [Required]#

Efficiency points

field accel_t: ndarray [Required]#

Acceleration event time

field skidpad_t: ndarray [Required]#

Skidpad event time

field autoX_t: ndarray [Required]#

Autocross event time

field endurance_t: ndarray [Required]#

Endurance event time

property total_pts: ndarray#

Compute total points as sum of all point categories.

classmethod create(var_name_1, var_list_1, var_name_2, var_list_2)[source]#

Create a SweepData2D with pre-allocated numpy arrays of specified dimensions.

Return type:

SweepData2D

Parameters:
  • var_name_1 (str)

  • var_list_1 (ndarray)

  • var_name_2 (str)

  • var_list_2 (ndarray)

pydantic model suboptimumg.sweep.models.SweepParamConfig[source]#

Bases: BaseModel

Contains the fields needed to specify a sweep variable

Config:
  • frozen: bool = True

  • extra: str = forbid

Fields:
Validators:
field name: str [Required]#

Name of the parameter

Validated by:
field min: float | int [Required]#

Lower bound

Validated by:
field max: float | int [Required]#

Upper bound

Validated by:
field steps: int [Required]#

Number of steps to sweep across

Validated by:
validator check_valid  »  all fields[source]#
pydantic model suboptimumg.sweep.models.SweepProcessInput1D[source]#

Bases: BaseModel

Input model for 1D sweep process.

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field comp_data: CompetitionData [Required]#

Competition configuration data model

field var_1_name: str [Required]#

Name of the variable being swept

field var_1_value: float [Required]#

Value of the variable for this iteration

field dep_vals: Dict[str, float] [Optional]#

Dictionary of dependent parameter values

field idx: int [Required]#

Index of this sweep iteration

pydantic model suboptimumg.sweep.models.SweepProcessInput2D[source]#

Bases: BaseModel

Input model for 2D sweep process.

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field comp_data: CompetitionData [Required]#

Competition configuration data model

field var_1_name: str [Required]#

Name of the first variable being swept

field var_1_value: float [Required]#

Value of the first variable for this iteration

field var_2_name: str [Required]#

Name of the second variable being swept

field var_2_value: float [Required]#

Value of the second variable for this iteration

field dep_vals: Dict[str, float] [Optional]#

Dictionary of dependent parameter values

field x_idx: int [Required]#

X-axis index of this sweep iteration

field y_idx: int [Required]#

Y-axis index of this sweep iteration

pydantic model suboptimumg.sweep.models.SweepProcessOutput1D[source]#

Bases: BaseModel

Output model for 1D sweep process.

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field idx: int [Required]#

Index of this sweep iteration

field accel_pts: float [Required]#

Acceleration event points

field skidpad_pts: float [Required]#

Skidpad event points

field autoX_pts: float [Required]#

Autocross event points

field endurance_pts: float [Required]#

Endurance event points

field efficiency_pts: float [Required]#

Efficiency points

field accel_t: float [Required]#

Acceleration event time

field skidpad_t: float [Required]#

Skidpad event time

field autoX_t: float [Required]#

Autocross event time

field endurance_t: float [Required]#

Endurance event time

field warnings: str = ''#

Warning messages from the simulation

field error: str | None = None#

Error message if simulation failed

pydantic model suboptimumg.sweep.models.SweepProcessOutput2D[source]#

Bases: BaseModel

Output model for 2D sweep process.

Config:
  • arbitrary_types_allowed: bool = True

  • frozen: bool = True

Fields:
field x_idx: int [Required]#

Index of first variable of this sweep iteration

field y_idx: int [Required]#

Index of second variable of this sweep iteration

field accel_pts: float [Required]#

Acceleration event points

field skidpad_pts: float [Required]#

Skidpad event points

field autoX_pts: float [Required]#

Autocross event points

field endurance_pts: float [Required]#

Endurance event points

field efficiency_pts: float [Required]#

Efficiency points

field accel_t: float [Required]#

Acceleration event time

field skidpad_t: float [Required]#

Skidpad event time

field autoX_t: float [Required]#

Autocross event time

field endurance_t: float [Required]#

Endurance event time

field warnings: str = ''#

Warning messages from the simulation

field error: str | None = None#

Error message if simulation failed