NVIDIA introduces the next release of its PhysX Physics Engine

With the winter slowly approaching in Western Europe, the developers of PhysX, the physics engine developed by NVIDIA, have decided to spend a few holidays in the sun. Definitely, this seems to be the scene that serves as a demonstration of the capabilities of the next major version of this physics engine (just a year after the previous one), all on the beach. At the moment, NVIDIA announces only this version, the release of which is planned “soon” in 2020.

While PhysX 4 focused on the accuracy of the simulation without really adding additional physical effects, PhysX 5 will add its share of features. Like the FEMFX engine recently announced by AMD, this version of the physics engine will implement a finite element solver for deformable bodies (as opposed to rigid bodies). (See the article about FEMFX for details on the principles of finite element simulation.) Unlike FEMFX, this solver will be integrated into PhysX and will not be available as a completely separate library: One can expect a simpler integration with the rigid body simulation.


The focus is also on flow simulation with two new methods. PhysX has so far concentrated on the simulation of rigid bodies and connections (to a lesser extent also on vehicles). For the flow simulation, it was necessary to use the APEX Annex Library (not maintained since 2014) for turbulence cases (the module was called APEX Turbulence); then the wind turned towards FleX (but not for all applications: more precisely, turbulence is more a question of flow). APEX Turbulence and GameWorks Flow/FlameWorks perform a simulation on a grid structure of the area to be managed. On the contrary, FleX is based on the principle of particles and constraints: Any physical simulation can be performed with particles to impose objects (a volume of fluid, a chair, a flag, etc.) and constraints on their behavior (a fixed distance between the points of a chair to ensure that it is simulated as a rigid body, plausible deformations for a plastic duck, realistic movements for scrap, etc.). This unifying principle simplifies the efficient implementation of the solver e.g. on graphics cards.

Now the functionality is directly integrated into PhysX, with two very different simulation techniques, all based on particle simulation. The first, DEM (Discrete Element Model), focuses on particle interactions and is widely used by scientists and engineers for liquid and solid particle mixtures, but really tries to model a number of particles (including Newton’s laws). On the contrary, SPH (Smoothed Particle Hydrodynamics) is a method that uses particles only as a necessary evil to perform the simulation: The aim is to reconstruct a continuous solution between the particles using the traditional equations of fluid mechanics (Navier-Stokes). Specifically for PhysX, the DEM method is used to provide friction and adhesion information, while SPH is used for very turbulent flows. How far the developers want to go with this module remains to be seen: Will WaveWorks functions be used for wave simulation?

Likewise, fabrics are now included as a basis in PhysX instead of using APEX clothing or nvCloth. These two solvers already used the term particle for simulation, but PhysX 5 takes the plug a little further, inspired by FleX (introduced above). So PhysX 5 can simulate any surface as a series of stressed particles, a fabric or a rope. This system is quickly scalable, PhysX 5 should include these extensions:

  • Simulation of inflatable shapes, with limitations in volume maintenance and pressure within the shape;
  • Simulation of aerodynamic effects such as lift or drag;
  • Simulation of mass-spring systems;
  • Simulation of rigid bodies with limitations in shape fitting;
  • Simulation of plastic (i.e. irreversible) deformations of structures that were originally rigid.