Water Wading simulation setup within 15 minutes using PreonLab

April 26, 2023
Siddharth Marathe

Water wading simulations can complement physical tests in an efficient and reliable way to detect the failure modes which can occur due to the car’s motion through a significant amount of water, early in the design stage.
As part of a rapid virtual prototyping strategy, multiple virtual prototypes are analyzed to reach the optimal designs for physical prototype testing. It is imperative to have a simulation software which offers quick setup times and short simulation times to meet this demand.

PreonLab offers lean workflows along with its mesh-free simulation approach to keep simulation setup times extremely low, compared to conventional mesh-based simulation approaches. It also offers advanced adaptive refinement features to give fast and reliable results as well as powerful post-processing tools to analyze these results. This article aims to show you just how low simulation setup times can be – from importing your geometries, describing vehicle motion, setting up the fluid domain all the way up to hitting the simulate button.



In 2019, Volvo Cars used PreonLab for water wading simulations as part of a Master thesis [1] to investigate the potential use of a Smoothed Particle Hydrodynamics (SPH) solver as a substitute or complement to Volume Of Fluid (VOF) and obtained exciting results. The SPH approach using PreonLab proved to be a reliable framework, which helped to achieve great reductions in terms of computational time with the help of adaptive refinement.
The software’s particle-based approach also allowed the user to define vehicle motion exactly as it would move during testing. You can read all about it here.

Image 1: Still image showing the results from a water wading simulation performed by Volvo Cars using PreonLab in 2019, compared to the real video.

Looking at the very realistic results from image 1, one might even be fooled trying to distinguish the simulation result from the real video.
Since then, many of our customers have benefitted from massive cost- and time-savings by using PreonLab for their water wading simulations to identify failure modes during the early design stage of their vehicles.
Naturally a lot of know-how and expertise has flown into these simulations, and it is necessary to have the CAD geometries and other relevant data ready – but we recently asked ourselves the question, if we have all the relevant data, how long would it take to setup a wading simulation in PreonLab?
The answer: less than 15 minutes!
Don’t believe it – this article will show you how this is possible.
But first, let us take a step back and talk about the need for water wading simulations.

Need for water wading simulations

Image 2: Still image from a water wading simulation using PreonLab.

For conventional cars, water-entry into the air intake system is a hazard, which can hinder the engine’s combustion process by impeding airflow, or even cause critical damage to the engine, if it enters the engine cylinder. For electric cars, safety is impacted by pressure forces exerted on the underbody, which may endanger battery packs installed in the electric car when driving through deep water. In either case, the effects of water wading need to be considered when car prototypes are being developed.

Classically, physical tests are performed, where the prototypes are driven through different water heights at different vehicle speeds before the design can be cleared for the next stage. Late detection of failure modes leads to delays and makes design changes on the prototype necessary – both of which mean increased costs and time-expenses.

It is far more efficient to develop virtual prototypes and perform simulations to detect these failure modes much earlier in the design stage. The right simulation software complements physical testing, by optimizing the virtual design and reducing the number of physical prototypes which need to be built and tested. Image 2 shows realistic results of such a water wading simulation performed with PreonLab.

What are the challenges for water wading simulations?

The main objective of rapid virtual prototyping is quick setup and simulation times which help you get results faster, so that multiple virtual prototypes can be analyzed to reach the optimal designs for physical prototypes. The results of the simulations need to be realistic and accurate.

In order to perform simulations for applications like water wading with conventional mesh-based fluid simulation techniques such as VOF accurately, robust and well-defined motion modeling as well as skilled mesh generation, which can handle the modeled motion, is necessary. This stage can be rather time-intensive and complicated but is mandatory before simulation can even begin. In most cases, every new car geometry requires remeshing, which is an additional step in the entire process.

On the other hand, particle-based approaches can be efficient and cost-effective for dealing with the simulation of applications involving free surface flows. However, water wading simulation scenes can be memory intensive due to the large number of particles needed for accurate simulation. As a result, water wading simulations can be challenging for particle-based simulation tools without adaptive refinement.

What is the PreonLab solution?

No need for meshing

PreonLab is based on Smoothed Particle Hydrodynamics (SPH), which inherently offers a mesh-free approach to fluid simulation. This removes not only the necessity to painstakingly create meshes for the car geometry and the surrounding background domain, but also the effort to validate these meshes to handle the motion of large objects into water. The vehicle motion can be defined accurately, and all the geometries can be imported with the click of a button.

When we talk about water wading simulation results, information about the change in height of the fluid due to the car’s motion and impact of external forces such as the lift force of the water acting on the car are of foremost importance. With the SPH approach, single-phase simulations are sufficient to gain all these relevant insights from the simulation, and multiphase simulations are not necessary. Of course, it is always possible to add an air drag object to the simulation setup in PreonLab. You can also consider the effects of computed airflows during simulation.
PreonLab’s Airflow Feature seamlessly imports airflow data generated in any CFD software of your choice. The airflow data can be imported in the Ensight Gold format or CSV format and is handled in a manner, which saves time when setting up the simulation and does not increase the disk usage of the scene.
This makes PreonLab a valuable and convenient alternative to conventional mesh based CFD for water wading simulations.


Adaptive Refinement
PreonLab also offers adaptive refinement, an example of which is shown in image 3, for efficient simulation – and Continuous Particle Size (CPS) takes these capabilities to the next level. This feature is critical to keep the number of particles in the simulation as low as possible, but at the same time refine those regions of interest to capture the physics of the flow better. This helps to reduce memory consumption as well as the total simulation time. You can read all about CPS here.

Image 3. Side-by-side comparison of a realistic- and a particle-view rendering from a water wading simulation showing the use of adaptive refinement in PreonLab 4.0.

Convenient and powerful post-processing

PreonLab is well equipped with convenient post-processing tools known as sensors to visualize the wetting caused by the water as well as to analyze the water height, spring deflection as well as hydrodynamic forces acting on the car due to the car’s motion through the fluid. You can also use the pathlines sensor to track the motion of the fluid particles which might enter the air intake. All the details and possibilities with water wading simulations with PreonLab can be found here.

What steps are required to set up a water wading simulation in PreonLab?

Part 1

Easy geometry import and motion description

All you need to do is to import the wading channel geometry as well as your car geometries as .obj or .stl files into the simulation scene. The motion of the car geometry through the channel is described using convenient transform groups and a kinematics motion script.
The main goal of setting up all these transformations is to move the car through the wading channel, to consider the spinning of the wheels around their own axis and to consider the impact of fluid dynamics on the sprung parts of the car with the help of a car suspension model.


Car suspension model implementation

In wading simulations, the precise modeling of the car movement becomes increasingly important the faster the car moves and/or the higher the water level in the wading channel is. The position, orientation and velocity of the car when hitting the water pool determine the wave pattern in front of the car, height of the water splashes and the location of water, for example, whether water flows across the engine hood. Especially when comparing the simulation result to real-life wading tests, it is of high importance to consider all these variables. PreonLab provides a Car Suspension Model (CSM) that computes the deflection of the springs based on said forces and derives a re-positioning of the sprung car parts relative to the non-sprung parts, i.e., the wheels. It also provides a more advanced vehicle simulation model – AVL VSM – to expand on the car motion. This feature can automatically follow a non-planar road surface and consider the impact of e.g., potholes on the vehicle.  It also allows for independent wheel movements for all four wheels.



The motion of the car through the channel over time is described with the help of a python script (transform_script in Video 1). The script projects the car onto the ground automatically. It contains several adjustable parameters that affect the water passage.
First, the duration of the car movement can be set to the whole simulation time range or a shorter time interval. Then, the user can provide the initial speed of the car (in [m/s]) and choose either a constant speed for the car or a velocity profile with the help of a CSV file. The script determines the position and the orientation of the car via the wheelbase by communicating with the Car Suspension Model object. Using the wheel radii, the script can derive the distance of the wheelbase to the ground and compute the wheel rotation speeds based on the current speed of the car.

With all the input parameters set, the script generates keyframes that let the car drive through the wading channel smoothly. The shape of the channel does not matter, allowing for almost arbitrary slopes. The only restrictions are that the car must drive along the x-axis and the script will only rotate the car around the y-axis (assuming that z-axis is the up axis) such that the wheels of the car always touch the channel surface. The script can be imported into PreonLab by selecting the file path location. You can also simply drag and drop the script onto the PreonLab window. The script will run automatically and after a few seconds, the script run should be finished. You can verify that the run was successful by choosing Playback from the drop-down menu and clicking the play button. Once you see that the car drives through the channel as expected, the kinematics setup is complete.

Video 1 demonstrates how the steps from part 1 can be completed within a matter of minutes. 

Please agree to the transfer of data to third parties as set out in our privacy policy.

Video 1: Screencast showing geometry import and motion modeling for a water wading simulation using PreonLab

Part 2

Fluid domain and refinement setup

Now, all that remains is defining the fluid domain and fluid properties.
To fill arbitrarily complex geometries with fluid particles, you can use a volume source together with a seed point. The volume source will only generate particles in areas inside its bounding box that are reachable from the seed point. Once the volume source is created, the fluid domain is defined, and a solver is added to the scene. The solver is required to define the fluid properties.
Video 2 demonstrates how this is done with a coarse particle size and uniform particle resolution.

Please agree to the transfer of data to third parties as set out in our privacy policy.

Video 2: Screencast Showing Fluid Domain Setup for a Water Wading Simulation Using PreonLab

The next step is to set up adaptive refinement to define a high particle resolution around the car geometry, while keeping the particle resolution low away from the car. Video 3 shows how this can be done.

PreonLab offers CPS, which is an advanced adaptive refinement feature, which allows the use of arbitrary particle sizes within a given particle size range using a single solver. It is used to drastically reduce the computational time required when compared to a simulation with uniform resolution. The refinement domain can be defined as a box around the car. It can also be beneficial to define the refinement domain as a volume, based on its proximity to the car geometry. Image 4a shows the wireframe of a refinement domain around the surface of the car geometry. Image 4b shows the effect it has on adaptive refinement during simulation.

Image 4a. Wireframe representation of the refinement domain as a volume, based on its proximity to the car geometry.

Image 4b. Effect of the Refinement domain based on surface proximity during simulation.

Please agree to the transfer of data to third parties as set out in our privacy policy.

Video 3: Screencast showing set up of adaptive refinement using CPS for a water wading simulation using PreonLab

Now, all that is left to do is hit the simulate button -> and obtain results within days instead of weeks, hours instead of days.

How to go about with more complex geometries?

Naturally the procedure is not restricted to the geometry showcased here. You can load geometries of any kind of vehicle/channel you want to do the wading study with.

Regardless of the complexity of the geometry the procedure in PreonLab stays the same.

If you choose to vary the speed with which the car shall move through the channel, the velocity profile can be adapted. To consider a higher water level, simply increase the height of the volume source.
If you want to test an alternative channel geometry you can import your design as a .obj or .stl file.

While working with a larger number of solid sub-meshes, the separate geometries need to be connected to one of the four main transform groups (transform group for sprung parts, transform group for non-sprung parts i.e., parts connected directly to the transform script, and the two transform groups for the rotation of the wheels). For example, the car model which you will import might have multiple objects per wheel like the hub, rim, tire and disc brakes. If this is the case, you can group these parts using solid object grouping and connect the most rotationally symmetrical part to the respective input of the Car Suspension Model. All the other rotating parts can be connected to the rotation transform groups depending on which is the relevant one, as can be seen in image 5.

Image 5: Image showing the connections between the 7 rotating parts per wheel such as hub, rim, tire, bolt circle, center disc and disc brakes, which are grouped together in four separate solid groups – WheelLF, WheelRF, WheelRR, and WheelLR – with the car suspension model and rotation transform groups – rotation_wheels_front and rotation_wheels_rear in the connection editor.


Setting up and starting a water wading simulation in PreonLab is easy and straightforward and can be done within a matter of minutes. You can work with simple or complex geometries based on the stage of your design process.
The vehicle motion can be defined with great flexibility using transform groups and pre-defined python scripts and it is possible to consider important fluid-car interactions using a car suspension model, which re-positions the sprung-parts of the vehicles based on the effects of the forces exerted by the fluid.
Furthermore, a lot of pre-processing time is saved, since meshing is not required due to the particle-based approach used by the software. Additionally, the strategic use of refinement and fluid domains coupled with game-changing features like CPS offered in PreonLab, keeps the memory requirement to a minimum.
All of this makes PreonLab an efficient and reliable alternative to conventional mesh-based simulation techniques for water wading simulations to complement your physical testing efforts.  


 [1] Idoffsson, Johan. Wading – Evaluation of SPH-based simulations versus traditional Finite Volume CFD. 2019. Department of Mechanics and Maritime Sciences, CHALMERS UNIVERSITY OF TECHNOLOGY, Goeteborg, Sweden, 2019.


How to get started with
Preonlab CFD software?
Get in Touch