Hi everyone, I’m Kadir.
Today, I would like to share how I used the 3DEXPERIENCE platform while working on one of the later-stage bodywork prototypes for the car we are developing during my second season with Konrul Racing Team.
I will start with the surface analysis tools available in CATIA and then explain, step by step, how the geometry was prepared and eventually evaluated through CFD analysis in SIMULIA. I will try to describe the process as clearly as I can, including the parts that worked well, the mistakes I made and the areas that could still be improved.
This is not intended to be a perfect tutorial. I also want to use this post to receive feedback from the community and better understand both the strong and weak points of my approach.
Since our team is preparing to compete in Formula Student Italy this season, I believe that discussing the technical details of our work and learning from different perspectives can help us improve the vehicle and achieve a better result.
I would be happy to hear your comments, questions and suggestions throughout the post.
Figure 1 – An isometric view of one of the advanced bodywork prototypes we evaluated in CATIA FreeStyle Shape Analysis.
Figure 2 – Side view of the same bodywork prototype, showing the nose profile and the main surface transitions.
Why Surface Analysis Matters Before CFD
Before moving to CFD, I wanted to understand whether the bodywork surfaces were actually as smooth and continuous as they appeared visually. While working through Dassault Systèmes learning content, I realised that CATIA offers much more than basic surface modelling; its analysis tools make it possible to inspect reflection behaviour, continuity and local surface quality in detail. This step was important because small discontinuities, gaps or irregular transitions can create problems during geometry preparation and meshing, and they may also affect the local airflow predicted in CFD. For this reason, I used CATIA’s surface analysis capabilities to identify weak regions of the prototype before transferring the geometry to SIMULIA.
1. Zebra (Isophotes) Analysis – Checking Surface Flow Before CFD
One of the first tools I used was the Zebra, or Isophotes, Analysis. Based on the Dassault Systèmes documentation and learning material I reviewed, this method treats the geometry as a reflective surface and displays the reflection of black and white stripes on it.
My main goal was not only to check whether the bodywork looked smooth in the standard shaded view. I wanted to see whether the reflected stripes continued across neighbouring surface regions without sudden breaks, pinching or unexpected changes in direction. These patterns helped me identify the transitions that required closer inspection before preparing the geometry for simulation.
CATIA also allows the stripe density, thickness, sharpness and orientation to be adjusted, as well as different cylindrical and spherical display modes. This makes it possible to inspect the same surface from different directions and reveal problems that may not be clearly visible in a normal display.
Zebra analysis is not an aerodynamic result by itself. It is mainly a geometric surface-quality check. However, working with cleaner and more continuous geometry is important before CFD because unnecessary gaps or irregular transitions may complicate geometry preparation and meshing, and may introduce geometry-related artefacts into the simulation.
The following images show the same prototype from isometric, front and side views. I focused especially on the regions where the stripes became compressed, changed direction abruptly or lost a clean flow between neighbouring surfaces
Figure 3 – Front view of the Zebra analysis, used to inspect symmetry and the surface transitions around the nose and lower bodywork regions.
Figure 4 – Side view of the Zebra analysis, showing the stripe flow across the upper, side and lower surface regions.
My first observation was that the stripe flow was more regular across the larger side surfaces, while sharper changes appeared around the nose and at some of the transitions between the upper, side and lower surface patches. Not every change indicated an error, because some of them were caused by intentional changes in the bodywork shape. However, I treated these areas as points that required further continuity checks instead of accepting the geometry only because it looked smooth in the standard shaded view.
For anyone interested in exploring this tool, Dassault Systèmes provides additional information about CATIA FreeStyle surface diagnosis and Isophote Mapping here:https://3dswym.3dexperience.3ds.com/wiki/catia-user-community/catia-freestyle-shaper-2-fss_lir3l79TSwCVSY6C61qf5g
2. Connect Checker – Checking Gaps and Surface Continuity
After the Zebra Analysis, I used the Connect Checker to move from visual inspection to a measurable continuity check. CATIA can evaluate positional continuity, tangency and curvature-related continuity between neighbouring surface boundaries.
In this first pass, I focused mainly on G0 continuity because I wanted to detect any unintended gaps before joining the geometry and preparing it for CFD. Small openings between surface patches can cause problems while creating a closed fluid domain or generating the mesh.
For the 80 connections included in this analysis, CATIA displayed a maximum G0 deviation of 0.001 mm. Most of the visible boundaries were reported as 0 mm at the displayed precision.
I did not treat the global G1, G2 and G3 maximum values as direct quality grades for the complete bodywork. The selection also contained intentional edges and sharp transitions where tangent or curvature continuity was not a design requirement. A better approach would be to isolate only the boundaries intended to be smooth and evaluate their G1 and G2 continuity separately.
Figure 5 – Connect Checker analysis applied to 80 bodywork connections. The first pass focused on detecting unintended G0 gaps before CFD geometry preparation.
More information about the Connect Checker can be found in thehttps://help-3dexperience.aesvietnam.com/English/GsdUserMap/gsd-t-ConnectCheckerAnalysis-Surfaces.htm?utm_source=chatgpt.com
3. Porcupine Curvature Analysis – Examining Curvature Behaviour
After checking the surface connections, I used Porcupine Curvature Analysis to examine how curvature changed along the curves and boundaries of the bodywork.
The porcupine comb provides a visual representation of the local curvature behaviour. The direction and length of the spikes make it easier to notice sudden changes, irregular curvature development and possible inflection regions that may not be clearly visible in the normal shaded view.
In this first analysis, I selected the complete imported body to obtain a broad overview of the geometry. Since CATIA displayed the curvature comb on many surface boundaries at the same time, the result became quite dense, particularly around the nose and lower bodywork. However, this initial scan helped me identify the regions that required a more focused inspection.
According to the CATIA user assistance, Porcupine Curvature Analysis can be applied to curves or surface boundaries and can display either curvature or radius behaviour. The density and amplitude of the comb can also be adjusted to make complex geometry easier to read. Cutting-plane curves can be used for a more controlled analysis through selected sections of the surface.
Figure 6 – Initial Porcupine Curvature Analysis applied to the complete bodywork geometry. The high number of selected surface boundaries produced a dense curvature-comb display.
This full-body result was useful as an initial screening method, but it was too crowded for making a detailed judgement about individual surface regions. A better next step would be to analyse selected boundaries or cutting-plane curves separately and reduce the comb density where necessary. This would make sudden curvature changes easier to distinguish from visual overlap between neighbouring combs.
A step-by-step explanation of the Porcupine Curvature Analysis settings can be found in thehttps://help-3dexperience.aesvietnam.com/English/FssUserMap/gsd-t-ShapeAnalysis-PorcupineCurvature.htm?utm
4. Surfacic Curvature Analysis – Mapping Curvature Distribution
After the connection and porcupine checks, I used Surfacic Curvature Analysis to examine how curvature was distributed over the complete bodywork.
For this study, I selected the Square Root Gaussian option. Instead of examining only individual boundaries, this analysis paints the complete surface according to its local curvature behaviour. This made it easier for me to compare the larger, gradually changing surfaces with regions where the curvature changed more rapidly.
The larger side and upper surfaces showed relatively broad and consistent colour regions. Around the nose, lower front section and some of the smaller transition surfaces, the colour distribution became much more fragmented. I did not consider every colour change to be a surface defect, because some of these regions contain intentional edges, small radii and strong changes in shape. However, they clearly indicated where I needed to inspect the geometry more carefully.
I treated this result mainly as a diagnostic map rather than an aerodynamic result. It helped me identify local curvature concentrations and decide which areas should receive more attention during CFD evaluation. I also kept in mind that the displayed curvature result can be influenced by the visualization tessellation, especially around small or highly curved details.
Figure 7 – Front view of the curvature distribution, highlighting the more complex curvature behaviour around the nose and lower front regions.
Figure 8 – Isometric view of the bodywork under Square Root Gaussian Surfacic Curvature Analysis.
The most important observation for me was the difference between the relatively stable curvature distribution on the larger surfaces and the more irregular pattern around the nose. This supported the concerns already observed during the Zebra and Porcupine analyses and gave me another reason to study this region more closely in SIMULIA CFD.
For anyone interested in using this tool, the detailed workflow and available curvature options are explained in thehttps://help-3dexperience.aesvietnam.com/English/PdgUserMap/gsd-t-ShapeAnalysis-SurfacicCurvature.htm?utm
5. From Surface Analysis to SIMULIA CFD: Why the Nose Region Matters
The surface analyses showed several noticeable changes and possible discontinuities, especially around the nose region. Some of these transitions may be intentional because of packaging or styling requirements, but their aerodynamic effect cannot be understood from surface analysis alone. This was one of the main reasons why I decided to continue the study in SIMULIA.
The nose is one of the first major bodywork regions to interact with the incoming airflow. Although it is not technically a leading edge in the same sense as an airfoil, it plays a similar role in determining how the flow is divided and guided around the vehicle. Its geometry affects the stagnation region, local pressure distribution, flow acceleration and the possibility of early separation.
For a Formula Student car, this region is also important because the nose and front wing operate within the same aerodynamic environment. The shape of the nose can influence blockage, pressure recovery and the quality of the flow around or downstream of the front wing. Therefore, a visually smooth surface does not automatically mean that the aerodynamic behaviour will be good.
The CATIA analyses helped me identify where the geometry required attention. The next step was to use SIMULIA CFD to understand whether these visible surface changes were creating significant pressure gradients, separation regions or unnecessary drag.
6. Healing the Imported Geometry Before CFD
Before transferring the bodywork to SIMULIA, I used the Healing tool in CATIA Generative Shape Design Essentials to improve the consistency of the imported surface geometry.
Even when a model looks continuous on the screen, imported surfaces may contain very small gaps, duplicated boundaries or edges that are not properly connected. These issues can become important during CFD preparation because the geometry usually needs to form a clean and closed fluid boundary. A small topological defect may prevent volume extraction or create unnecessary problems during meshing.
For this first healing operation, I selected Point continuity and used a merging distance and distance objective of 0.001 mm. I kept the tolerance conservative because increasing it too much could modify the original bodywork geometry instead of only repairing small connection problems.
I also kept the plane and canonical elements frozen so that the healing operation would not unnecessarily modify reference or analytically defined geometry. After previewing the result, I checked the repaired boundaries before continuing with the CFD preparation.
Figure 9 – Healing operation applied to the imported bodywork before SIMULIA CFD preparation. Point continuity was used with a conservative 0.001 mm merging tolerance.
Healing does not improve the aerodynamic performance of the bodywork by itself. Its purpose here was to create a more reliable geometric foundation for fluid-domain creation and meshing in SIMULIA.
7. Moving to SIMULIA and Defining the CFD Strategy
After completing the geometry checks and healing operations in CATIA, I moved the model into SIMULIA Fluid Model Creation. I had previously worked with ANSYS Fluent, so one of the interesting parts of this study was experiencing the difference between the two CFD workflows.
From my experience, Fluent feels more solver-centred. It exposes many meshing, discretization, pressure–velocity coupling, turbulence-model and convergence settings directly to the user. The SIMULIA Fluid Dynamics Engineer workflow, on the other hand, is more closely integrated with the original CAD model and follows a guided CAD-to-CFD process inside the 3DEXPERIENCE platform. Geometry preparation, external fluid-domain extraction, body-fitted hex-dominant meshing, boundary-layer generation, physics setup and post-processing can remain connected to the same product data. Both environments use finite-volume-based CFD technology and can perform RANS simulations, so the main difference for me was not the fundamental equations being solved, but how the complete simulation workflow was organized and controlled.
Since I was working with a student license and a limited cell-count budget, I could not apply a uniformly fine mesh to the complete external-flow domain. My strategy was therefore to use a relatively coarse far-field mesh and spend the available elements where they were more valuable: around the nose, strong surface transitions, near-wall regions and the downstream wake. I also planned to use body-fitted prism layers to resolve the boundary layer, while selecting the first-layer height, growth rate and total layer thickness according to the turbulence model and target y+ range. SIMULIA’s Fluid Dynamics Engineer supports hex-dominant meshing with body-fitted prism layers specifically for resolving complex surfaces and near-wall flow.
For the initial case, I chose a steady, incompressible RANS approach. I treated it as a baseline investigation rather than a final high-fidelity aerodynamic validation. During the solution, I planned to monitor the residual histories together with drag-force stability, pressure behaviour and the development of the wake. A low residual value alone would not be enough to accept the result if the aerodynamic force monitors were still oscillating or drifting.
Figure 10 – The healed bodywork geometry transferred to SIMULIA Fluid Model Creation before external-domain extraction and mesh generation.
8. Creating the External Fluid Domain
The next step was to create the external fluid domain around the bodywork using the Fluid Domain command. This bounding box represents the volume of air that will be solved during the CFD analysis, so its dimensions and the position of the vehicle inside it directly affect the reliability and computational cost of the simulation.
While positioning the bodywork, I kept the lower boundary at the intended ride height of the vehicle. The ground clearance should represent the real vehicle configuration as closely as possible because the distance between the bodywork and the ground influences the underbody flow, local pressure distribution and the airflow around the nose.
I also left sufficient space in front of the bodywork and around the side and upper boundaries to reduce artificial blockage effects. A longer region was reserved downstream because the wake requires more distance to develop. However, since I was working with a limited student-license mesh budget, I also had to avoid creating an unnecessarily large domain that would consume cells without improving the important flow regions.
Figure 11 – Creation of the external fluid domain using a bounding box. The bodywork position was adjusted according to the intended vehicle ride height and the required upstream, lateral and downstream clearances.
9. Defining the Bodywork Region
After creating the external domain, I defined the bodywork surfaces as a separate region inside the fluid model. This allows SIMULIA to distinguish the vehicle geometry from the surrounding air volume and makes it possible to assign the appropriate wall boundary condition during the physics setup.
At this stage, I checked that the selected faces belonged to the bodywork and that the fluid region could be extracted without open boundaries or intersecting surfaces. This was also an important confirmation that the earlier CATIA healing operation had produced geometry suitable for CFD preparation.
Figure 12 – Selection of the bodywork surface while defining the internal region of the external-flow model.
10. Physics Setup, Boundary Conditions and Output Requests
After preparing the fluid domain, I defined a steady-state solution step for the baseline analysis. I set the maximum number of iterations to 2000 and enabled stopping criteria for the momentum, turbulent kinetic energy (TKE) and omega equations.
These residual criteria provide a numerical indication of convergence, but I did not intend to evaluate convergence from residuals alone. I also wanted to check whether the aerodynamic force histories and pressure behaviour reached a stable level. A solution with decreasing residuals can still require additional iterations if the force monitors continue to drift or oscillate.
Figure 13 – Steady-state solution step with a maximum of 2000 iterations and residual stopping criteria for momentum, TKE and omega.
For the upstream boundary, I applied a velocity inlet normal to the selected face with a velocity magnitude of 15 m/s. The inlet turbulence was defined using the turbulence-intensity and turbulent-viscosity-ratio method, with the values entered as 0.1 and 100 in this baseline model.
At the downstream boundary, I used a pressure outlet with a static gauge pressure of 0 Pa. This provides a reference pressure while allowing the flow variables at the outlet to develop from the solution.
The bodywork surfaces were treated as solid wall boundaries. This setup allowed me to investigate the pressure build-up around the nose, the acceleration of the flow over the bodywork and the development of the downstream wake.
Figure 14 – Velocity inlet boundary condition applied to the upstream face with a freestream velocity of 15 m/s.
Figure 15 – Pressure outlet applied to the downstream face with a static gauge pressure of 0 Pa.
Before running the simulation, I defined separate field and history output requests. Field output was used to store spatially distributed results that could later be displayed as contour plots throughout the fluid domain.
The selected flow variables included velocity, gauge and absolute pressure, total pressure, vorticity, Q-criterion and shear rate. These variables were chosen to examine pressure distribution, flow acceleration, rotational flow structures and possible separation regions around the bodywork.
For the bodywork surfaces, I created a history output request for total fluid force, pressure force, viscous force and moment. Recording these quantities during the solution made it possible to monitor the aerodynamic-force convergence instead of relying only on the residual plots.
I also requested wall shear and y+ values on the bodywork. Wall shear helps evaluate the interaction between the near-wall flow and the surface, while y+ is useful for checking whether the near-wall mesh is consistent with the selected turbulence treatment.
This was a simplified bodywork-only baseline case rather than a complete Formula Student vehicle simulation. Effects such as the front wing, rotating wheels, suspension components and their interaction with the bodywork were not included in this stage. Therefore, I used the results mainly to identify flow trends and problematic surface regions, rather than presenting them as final full-vehicle aerodynamic coefficients.
11. Hex-Dominant Mesh Strategy and Quality Check
For this baseline case, I generated a Hex-Dominant Mesh for the complete external fluid domain. The global maximum and minimum element sizes were set to 5 mm and 1 mm, respectively.
I also enabled boundary layers and used seven layers with a first-layer thickness of 0.2 mm. These layers were included to improve the representation of the near-wall velocity gradients and to support the later evaluation of wall shear stress and y+.
Because I was working within the model-size and computational limits available in my student setup, the mesh had to remain a compromise between geometric resolution and solution cost. I therefore treated this as a baseline mesh rather than a final mesh-independent configuration.
After generating the mesh, I reviewed the quality report using aspect ratio, distortion, maximum and minimum angle, skewness and stretch criteria. Most of the evaluated elements were within the acceptable range, although a small proportion was reported as poor or bad, particularly according to the aspect-ratio criterion.
The report helped me identify that the mesh was suitable for an initial solution, but it did not prove mesh independence. In a later iteration, I would concentrate additional resolution around the nose, the sharper surface transitions, the near-wall region and the downstream wake instead of refining the complete domain uniformly.
Figure 16 – Hex-Dominant Mesh settings and mesh-quality report for the baseline external-flow model. The mesh used a global element-size range of 1–5 mm and seven boundary layers with a first-layer thickness of 0.2 mm.
12. Starting the Steady-State Solution and Monitoring Convergence
After completing the mesh and model checks, I submitted the steady-state simulation and started monitoring the solution.
During the run, I used the history output to observe the development of the selected force component. This was useful for seeing whether the aerodynamic response was moving towards a stable value as the iterations progressed.
The image below was captured at approximately one percent of the solution, so it represents only the beginning of the run. The first few increments were not sufficient for judging convergence, and I did not interpret the force value shown at this stage as a final aerodynamic result.
For the completed solution, my convergence assessment was based on several indicators together: the residual histories of the momentum, TKE and omega equations, the stability of the monitored force components and the consistency of the resulting pressure and velocity fields.
This was important because decreasing residuals alone do not always mean that the aerodynamic forces have stopped drifting. A steady-state solution should also show sufficiently stable engineering quantities before the result is accepted.
Figure 17 – Initial stage of the steady-state solution while monitoring the history of the selected average-force component.
simulia 13. CFD Results and Initial Engineering Interpretation
After the solution was completed, I examined the gauge-pressure contours, velocity distribution, velocity vectors and mean-flow streamlines together rather than drawing conclusions from a single result.
A clear stagnation region developed at the front of the nose, where the incoming flow slowed down and the local gauge pressure increased. After this point, the flow was divided around the upper, side and lower surfaces of the bodywork. The velocity increased along several curved regions, producing lower-pressure zones, while the strongest pressure gradients appeared around the nose and the lower-front transition.
The streamline and velocity-vector plots also showed that the flow had to change direction rapidly around some of the surface transitions previously identified during the CATIA analyses. The flow appeared relatively organised over much of the front section, but local disturbances, low-velocity regions and a developing wake became more visible further downstream. In particular, the nose, the lower-front corner and the rear transition remained the most sensitive areas of the geometry.
These results broadly supported the concerns observed during the Zebra, Porcupine and Surfacic Curvature analyses. However, this does not prove that every surface irregularity directly caused an aerodynamic loss. A comparison with a revised geometry, together with a mesh-independence study, would be required to quantify the effect properly.
Because this was a simplified bodywork-only baseline model, I used the results mainly to identify flow trends and possible redesign regions. The front wing, wheels, suspension components, rotating-wheel effects and their interaction with the bodywork were not included, so these results should not be interpreted as the final aerodynamic performance of the complete vehicle.
Figures 18-23 – Gauge-pressure, velocity and streamline results from the baseline SIMULIA CFD study. The plots were used to examine the stagnation region, local flow acceleration, surface-flow behaviour and wake development around the bodywork.
For anyone interested in exploring the CFD tools used in this study, more information about the SIMULIA Fluid Dynamics Engineer role can be found here:https://3dswym.3dexperience.3ds.com/wiki/3dexperience-platform-user-s-community/simulia-fluid-dynamics-engineer_CrzWrQV3RJe_jXXypQ9pdw?utmThis topic was not easy for me to explain in a clear and structured way, especially because the process included both surface analysis and CFD. While preparing this post, I realised that explaining each step also helped me question my own decisions and understand the workflow better.
The 3DEXPERIENCE community has already helped me learn many things through shared experiences, technical discussions and different approaches. I believe that by presenting my work openly, discussing the parts that may be incorrect or incomplete and receiving feedback from other users, I can continue improving both my technical knowledge and engineering judgement.
Thank you for taking the time to read this post. I would be very interested to hear your comments, criticisms and suggestions, especially regarding the surface-analysis strategy, CFD setup and the areas that could be improved in the next iteration.
I hope this post can also be useful to other students who are beginning to combine CATIA surface analysis with SIMULIA CFD.
