CFD Methodology
All simulations ran in Simcenter StarCCM+, split into 2D airfoil sweeps and full 3D car simulations.
For the 2D cases, each airfoil was extruded 0.1m into a domain 20m behind, 10m in front, and 10m to each side (extended to 20m on the windward side for crosswind cases). A polygonal mesh with a 0.1m base size, 30 prism layers, and 45°-angled wake refinement produced a 45,882-cell mesh — light enough to run 1,000+ iterations across multiple angles of attack (10°, 20°, 30°) with a K-Omega turbulence model.
For the 3D car simulations, the domain extended 12m windward, 25m leeward, and 5m tall, with a nested 12m × 12m volumetric control block refining the wake. A polyhedral mesh with 25 prism layers produced roughly 14 million cells. A segregated solver diverged under the combined 80kph forward speed and 60kph crosswind, so I switched to a coupled solver to keep the simulation stable.
These results haven't been validated against real-world data, and hardware limits capped the mesh resolution — a finer mesh would take days to solve, so there's a real accuracy-vs-practicality tradeoff behind every number in this report.