Validation: how accurate is opensus?
opensus's linkage solver matches an independent closed-form double wishbone solution to within 0.000001 mm in wheel position and 0.000003° in wheel angle across ±46 mm of travel and ±30 mm of steering, and reproduces hand-calculated roll center, camber gain, kingpin geometry and anti-dive exactly. These checks run automatically on every change to the code.
1. Against a closed-form solution
A double wishbone can also be solved directly with geometry, one closed-form step at a time, with no general solver involved. opensus's test suite includes such an independent solver and compares the two on the same hardpoints.
| Quantity | Positions compared | Largest difference |
|---|---|---|
| Wheel center position | 125 (−46 to +46 mm travel × −30 to +30 mm rack) | 0.000000001 mm |
| Spindle direction (camber and toe) | 125 | 0.0000021° |
| Spring length through the pushrod and rocker | 25 | 0.000000001 mm |
2. Lookup table against the exact solve
The whole-car model reads corner positions from a precomputed table. Against the exact solve at 170 positions between the table's grid points:
| Quantity | Largest difference |
|---|---|
| Wheel center position | 0.001 mm |
| Spindle direction | 0.0013° |
| Spring length | 0.002 mm |
3. Against hand calculations
The docs example double wishbone was chosen so every metric can be worked by hand. opensus's results, using its general motion-based method:
| Metric | By hand | opensus |
|---|---|---|
| Front-view instant center | (−1206.4, 270.5) mm | (−1206.4, 270.5) mm |
| Roll center height | 89.9 mm | 89.9 mm |
| Camber gain at ride height | −0.317° / 10 mm | −0.317° / 10 mm |
| Kingpin inclination, caster | 5.19° | 5.19° |
| Scrub radius | 39.1 mm | 39.1 mm |
| Mechanical trail | 15.9 mm | 15.9 mm |
| Anti-dive, Formula SAE front | 12.6 % | 12.6 % |
| Wheel rate, Formula SAE front | 60 × 0.674² = 27.2 N/mm | 27.2 N/mm |
| Ride frequency, Formula SAE front | 3.11 Hz | 3.11 Hz |
4. Consistency checks
- Link loads: feeding the tire model's own forces into the load case linkage solver, the spring force it finds matches the whole-car model to within 0.05 % at every corner in cornering, braking and combined cases, including the sway bar's share.
- Compliance is linear: the 1 g cornering result equals the lateral-force and aligning-torque results added together, and halving the reference stiffness doubles every deflection exactly.
- Symmetry: left and right corners of a symmetric axle give mirror-image results.
- Every template (double wishbone, MacPherson, five-link, semi-trailing arm) assembles with exactly one free motion and reports the entered static camber and toe at ride height.
What validation does not cover
These checks show opensus solves its model correctly. The model itself has limits: rigid links, a simplified tire model, and prescribed accelerations in transients. See methodology. Results are engineering estimates; verify safety-critical parts independently.