suboptimumg.vehicle.aerodynamics.aerodynamics#

class suboptimumg.vehicle.aerodynamics.aerodynamics.Aero(vehicle_model)[source]#

Bases: object

Parameters:

vehicle_model (VehicleModel)

get_drag(v, drs_threshold)[source]#

Calculates the drag force based on the current velocity. Varies the output based on the DRS active state.

Returns:

Drag force (N)

Return type:

float

get_lift(v)[source]#

Calculates the lift force based on the current velocity without DRS.

Returns:

Lift force (N)

Return type:

float

tire_lift_forces(v, drs_threshold, pitch=None, roll=None)[source]#

Calculates the lift force on each tire based on the current velocity. Varies the output based on the DRS active state.

Returns:

Front and rear lift forces on each tire (N)

Return type:

tuple

class suboptimumg.vehicle.aerodynamics.aerodynamics.DRS(vehicle_model)[source]#

Bases: object

Parameters:

vehicle_model (VehicleModel)

drs_activate(drs_threshold)[source]#

Check whether DRS should be activated based on lateral acceleration.

Parameters:

drs_threshold (float) – Current lateral acceleration threshold (m/s^2)

Returns:

True if DRS should be activated, False otherwise

Return type:

bool

get_drs_drag(v)[source]#

Calculate the drag force based on the current velocity with DRS active.

Parameters:

v (float) – Current velocity (m/s)

Returns:

Drag force (N)

Return type:

float

get_drs_lift(v)[source]#

Calculate the lift force based on the current velocity with DRS active.

Parameters:

v (float) – Current velocity (m/s)

Returns:

Lift force (N)

Return type:

float

get_tot_drs_lift(v)[source]#

Calculate the total lift force based on the current velocity with DRS active.

Parameters:

v (float) – Current velocity (m/s)

Returns:

Front and rear lift forces on each tire (N) (fl, fr, rl, rr)

Return type:

tuple