Skip to content
All projects

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.

Role
Aero & Structures
Date
2025
Tags
Aerodynamics Composites CFD CAD Solar Racing

Outcomes

  • Reduced CdA by about 20% vs the previous iteration through iterative ANSYS Fluent studies and optimisation.
  • Validated drag predictions within 10% using constant-speed testing.
  • Improved crosswind stability across ±30° yaw.
  • Competed in the 2025 Bridgestone World Solar Challenge (BWSC).

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.

Early catamaran concept selected for final development.
Monohull developed for 2025 rule changes.
Slug monohull with no canopy.
Trimaran with narrow centre body and two front wheel fairings.

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.

Deck section trial with a near flat upper profile
Thinner deck section over the same planform
More cambered deck section on the same planform
Longer section trial with a finer nose
01 / 04
A pod and deck corner taken to 3D
Pod and deck corner with a fuller leading edge
Deck and pod blend variant with a finer trailing edge
01 / 03
Blend trial between a pod and its fairing.
Clean pod profile before packaging checks
Pod profile checked against internal packaging sketches
Pod profile sized around internal packaging
A longer pod variant against the same packaging
01 / 04

Section trials, pod and deck corners, a fairing blend and packaging checks on the way to the final profiles. Step through each set with the arrows to compare.

Side view of the CFD domain and wake treatment.
Planform domain for straight-ahead runs.
Crosswind domain for yaw sweeps and stability checks.
Wheel and ground-treatment sensitivity checks.
Pressure and velocity slices used to guide local shaping and separation control.

Focus areas were drag reduction, crosswind stability and compatibility with systems under development.

Pathlines to see gross flow structure and early signs of vorticity.
Alternative view to trace recirculation and wake jets.
Pressure contours used in yaw sweeps to assess crosswind response.

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.

y+ surface contours showing near-wall resolution in key zones.

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.

Yaw sweep // CFD at 85 km/h

Hover or tap the curve for station data.

This chart is the real shape of that post-processing, with the drag axis normalised so the absolute figures stay with the team. Each point is a CFD run at 85 km/h, and the bars show how often each crosswind occurs on route, taken from my wind analysis of conditions along the course. Weighting the drag curve by occurrence gives the single figure we optimised, marked by the dashed line. Beyond roughly 20° of yaw the drag area goes negative, so in a strong crosswind the body produces net thrust, the sailing effect the catamaran concept was chosen for.

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
Full Car Pattern. Our first real glimpse into the car in reality.
Laying hatches first with Soric core.
First layers after debulk.
Nomex honeycomb core trimmed and laid.
Monolithic reinforcement over a plant for roll-hoop mounts.
Full car vacuum bag.
Canopy split and solar array area on top mould.
First time removing the parts from the top mould.
Full shell released from the mould and bonding the halves together.

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. I closed the project out with technical handover documentation so the next iteration of the team can pick up where this one left off.

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

Explore the model

The final body as an interactive x-ray wireframe of the CFD surface mesh. Drag to orbit.

SC4 Monty · CFD surface mesh · drag to orbit

Viewer //