Solar Car Aerodynamics
Designed, simulated and manufactured an ultra-low-drag catamaran-style solar car body using SolidWorks CAD, ANSYS Fluent and carbon-fibre composites.
Outcomes
- Competed in the 2025 Bridgestone World Solar Challenge (BWSC).
- Reduced CdA by about 20% vs the previous iteration through iterative ANSYS Fluent studies and optimisation.
- Developed a repeatable CFD approach for crosswind studies.
- Improved crosswind stability across ±30° yaw.
- Automated CFD setup with Python scripting to cut setup time and improve consistency.
- Validated drag predictions within 10% using constant-speed testing.
- Produced technical handover documentation.
New to Solar Racing? Read What is Solar Racing? for a quick overview.
Scope and objectives
Create a low-drag, stable body that can actually be built and serviced.
Hit energy and speed targets over the BWSC route.
Build a workflow that links CAD, CFD and track testing end to end.
Concept selection
Before the 2025 BWSC rules landed I reviewed recent teams and trends. The monohull has dominated for years, so that was the natural baseline. The 2025 regulations changed a few key levers: array area up from 4 m² to 6 m², tighter wheelbase limits, a smaller battery, and an earlier race start in the year. What worked in 2023 was not guaranteed to be best in 2025.
I modelled and screened a set of concepts in CAD and CFD: monohull, catamaran, trimaran and a low-profile “slug”. We could beat the 2023 car on the baseline, but the larger array and different constraints made the catamaran look stronger.
The catamaran balanced drag, stability and packaging. The wider stance supported the 6 m² array and gave a broad base for yaw stability. There was also potential to reduce net drag in crosswinds, similar to a sailing effect, if the sideforce and yaw moments were well behaved. It would be harder to design and manufacture, but the benefits and robustness to rule changes were worth it.
Refinement
I ran more than 1,000 compute hours in ANSYS Fluent and generated about 1.5 TB of data. The SolidWorks model saw 64 major versions plus many small changes. I iterated domain setup, meshing, wheel treatments and yaw studies. To seed the 3D body, I screened 2D sections in JavaFoil for low Reynolds numbers and ground effect, then tailored a family of sections for the pods and centre body. Those were reshaped in CAD and validated in 3D CFD.
These show a mix of section trials, partial bodies and the progression toward the final profiles.
Focus areas were drag reduction, crosswind stability and compatibility with systems under development.
Alongside performance runs I did validation passes for mesh independence, domain size and solver settings. The final production mesh had roughly 20 million cells with inflation layers for near-wall resolution. A 10 million cell mesh tracked results within noise but the larger mesh was more robust when surfaces changed. For adjoint-driven shape hints I used a smaller mesh to speed iteration.
Crosswind stability and performance were key. For most of development I evaluated the common wind angles −15°, 0°, and +15°. I also scripted yaw sweeps from −30° to +30° in 5° steps and ran them at major design revisions.
The result was a CdA about 20% lower than the 2023 car in straight-line despite the 50% increase in array area. The car stayed stable to ±30° yaw and showed reduced drag in crosswinds, driven by careful section shaping and a wide pod stance without blowing out frontal area.
Manufacturing
Sydney Composites machined the plug and moulds. I spent four weeks in their workshop laying up the full carbon body, six days a week. We used pre-preg carbon cured under vacuum. This was the first time the team brought this level of composite work so far in-house.
It was intense and very instructive. Process control, ply accuracy and bondline control matter as much as the CAD. The body was laid up in two main shells, then trimmed to datum and bonded. Finish quality was high, which shows in the test results.
Core materials:
- Nomex honeycomb for stiffness at low mass
- Corecell foam for impact resistance in local high loads
- Soric where controlled thickness and resin paths helped
Seeing the shell released for the first time was a great moment. After months of design and simulation, the physical reality landed. With the aero body complete we installed the Carbon Bulkheads, then moved into mechanical and electrical integration.
Testing
Once the car was reliable on track I ran constant-speed passes to estimate drag. Measured drag was within 10% of the CFD prediction, which supports both the workflow and the build quality. Crosswind checks on test days matched the trend from yaw sweeps.
Tools and methods
- SolidWorks for geometry, packaging and surface work
- ANSYS Fluent for CFD
- PyFluent API for scripting and batch runs
- Fluent adjoint for shape hints in key zones
- JavaFoil to screen 2D sections for low Re and ground effect
- Simple Python tooling for data collation and plots
What I would refine next
- Use a weighted CdA based on wind occurrence to balance straight-line and crosswinds
- Tighter tolerances on array packaging to reduce overall body size
- Clearer link between yaw-stability targets and section shaping across the span
- More physical tests for crosswind sensitivity and driver workload