suboptimumg.vehicle.suspension.suspension#
- class suboptimumg.vehicle.suspension.suspension.ComplexSuspension(vehicle_model)[source]#
Bases:
Suspensionhttps://kktse.github.io/jekyll/update/2021/05/12/simplied-lateral-load-transfer-analysis.html
Front & Rear Roll Stiffness includes: - Corner Spring/Torsion Bar Stiffness (Spring Rate, Motion Ratio, etc.) - Anti-roll bar stiffness (ARB Setting, Motion Ratio, etc.)
- Parameters:
vehicle_model (VehicleModel)
- lateral_weight_transfer(axle, axle_track, m_front, m_rear, cg_height, lat_acc_x, **kwargs)[source]#
Calculate lateral weight transfer using complex suspension model.
- Parameters:
axle (str) – The position of the suspension (either ‘front’ or ‘rear’)
axle_track (float) – The track width of the axle (m)
m_front (float) – The mass on the front axle (kg)
m_rear (float) – The mass on the rear axle (kg)
cg_height (float) – The height of the center of gravity of the vehicle (m)
lat_acc_x (float) – The lateral acceleration of the vehicle (m/s^2)
**kwargs (dict) – Additional keyword arguments (unused)
- Returns:
Force deltas due to lateral weight transfer (N) (left, right)
- Return type:
tuple[float, float]
Notes
This model is based on the paper referenced in the class docstring.
Formula:
\[|\Delta F_{y,axle}| = \frac{m_{axle} \cdot h_{RC,axle}}{t_{axle}} \cdot a_x + \frac{k_{\phi,axle}}{k_{\phi,axle} + k_{\phi,opp}} \cdot \frac{m_{axle} \cdot (h_{CG} - h_{RC,axle}) + m_{opp} \cdot (h_{CG} - h_{RC,opp})}{t_{axle}} \cdot a_x\]Where:
\(\Delta F_{y,axle}\) : change in normal force on the axle (N)
\(m_{axle}\) : mass on the axle (kg)
\(h_{RC,axle}\) : roll center height of the axle (m)
\(t_{axle}\) : track width of the axle (m)
\(a_x\) : lateral acceleration of the vehicle (m/s²)
\(k_{\phi,axle}\) : roll stiffness of the axle (Nm/rad)
\(h_{CG}\) : height of the center of gravity (m)
- longitudinal_weight_transfer(wheelbase, total_mass, cg_height, long_acc_z, **kwargs)[source]#
Calculate longitudinal weight transfer using complex suspension model.
- Parameters:
wheelbase (float) – Wheelbase of the vehicle (m)
total_mass (float) – Total mass of the car (kg)
cg_height (float) – Height of the center of gravity (m)
long_acc_z (float) – Longitudinal acceleration of the vehicle (m/s^2)
**kwargs (dict) – Additional keyword arguments (unused)
- Returns:
Force deltas due to longitudinal weight transfer (N) (front, rear)
- Return type:
tuple[float, float]
Notes
This model was derived by Vedansh Goenka based on the paper referenced in the class docstring. Currently uses simplified model pending full implementation with pitch stiffness parameters.
Formula:
\[\Delta F_{y,axle} = \frac{m \cdot h_{PC}}{L} \cdot a_z + \frac{k_{\theta,axle}}{k_{\theta,axle} + k_{\theta,opp}} \cdot \frac{m \cdot (h_{CG} - h_{PC})}{L} \cdot a_z\]Where:
\(\Delta F_{y,axle}\) : change in normal force on the axle (N)
\(m\) : mass on the axle (kg)
\(h_{PC}\) : pitch center height (m)
\(L\) : wheelbase of the vehicle (m)
\(a_z\) : longitudinal acceleration of the vehicle (m/s²)
\(k_{\theta,axle}\) : pitch stiffness of the axle (Nm/rad)
\(h_{CG}\) : height of the center of gravity (m)
- class suboptimumg.vehicle.suspension.suspension.SimpleSuspension(vehicle_model, **kwargs)[source]#
Bases:
Suspension- Parameters:
vehicle_model (VehicleModel)
- lateral_weight_transfer(axle_track, m_front, m_rear, cg_height, lat_acc_x, **kwargs)[source]#
Calculate lateral weight transfer using simple suspension model.
- Parameters:
axle_track (float) – Track width of the axle (m)
m_front (float) – Mass on the front axle (kg)
m_rear (float) – Mass on the rear axle (kg)
cg_height (float) – Height of the center of gravity (m)
lat_acc_x (float) – Lateral acceleration of the vehicle (m/s^2); positive means left turn
**kwargs (dict) – Additional keyword arguments (unused)
- Returns:
Lateral weight transfer (N) across specific axle, (left, right)
- Return type:
tuple[float, float]
Notes
Formula used:
\[|\Delta F_{y,sus}| = \frac{m \cdot a_x \cdot h_{CG}}{t}\]where \(\Delta F_{y,sus}\) is change in normal force on the suspension (N)
- longitudinal_weight_transfer(wheelbase, total_mass, cg_height, long_acc_z, **kwargs)[source]#
Calculate longitudinal weight transfer using simple suspension model.
- Parameters:
wheelbase (float) – Wheelbase of the vehicle (m)
total_mass (float) – Total mass of the vehicle (kg)
cg_height (float) – Height of the center of gravity (m)
long_acc_z (float) – Longitudinal acceleration of the vehicle (m/s^2); positive means go faster
**kwargs (dict) – Additional keyword arguments (unused)
- Returns:
Longitudinal weight transfer (N) (front, rear)
- Return type:
tuple[float, float]
Notes
Formula used:
\[|\Delta F_{y,sus}| = \frac{m \cdot a_z \cdot h_{CG}}{L}\]where \(\Delta F_{y,sus}\) is change in normal force on the suspension (N)