Archive for the ‘Fluids’ tag
Without any broad announcement (yet, probably), NVIDIA has released a Unreal Engine 4 custom source code branch with the integration of the completely new GPU fluid solver called Cataclysm.
Update: as confirmed by the developers, Cataclysm solver is based on DX Compute shaders, not CUDA
The Cataclysm uses a custom FLIP based GPU solver combined with Unreal Engine 4’s GPU Particles with Distance Field Collisions. Cataclysm can simulate up to two million liquid particles within the UE4 engine in real time.
A FLIP (Fluid-Implicit Particle) solver is a hybrid grid and particle technique for simulating fluids. All Information for the fluid simulation is carried on particles, but the solution the the physical simulation of the liquid is carried out on a grid. Once the grid solve is complete, the particles gather back up the information they need from the grid move forward in time to the next frame.
Our readers may remember Position Based Fluids – new and promising fluid simulation approach, which has got quite a bit of attention few months ago.
Miles Macklin, one of the authors of the PB Fluids method, has presented latest improvements to the algorithm at SIGGRAPH 2013 conference – namely, two-way interaction with rigid bodies and cloth objects, as showcased in the videos below.
* Two-Way Coupling with Rigid Bodies
Position Based Fluids – this fluid simulation technology has indeed got some attention lately, and now, new “Position Based Fluids” paper by Miles Macklin (NVIDIA) and Matthias Müller-Fischer (NVIDIA) can give one a proper insight on the algorithm.
In fluid simulation, enforcing incompressibility is crucial for realism; it is also computationally expensive. Recent work has improved efficiency, but still requires time-steps that are impractical for real-time applications.
In this work we present an iterative density solver integrated into the Position Based Dynamics framework (PBD). By formulating and solving a set of positional constraints that enforce constant density, our method allows similar incompressibility and convergence to modern smoothed particle hydrodynamic (SPH) solvers, but inherits the stability of the geometric, position based dynamics method, allowing large time steps suitable for real-time applications.
We incorporate an artificial pressure term that improves particle distribution, creates surface tension, and lowers the neighborhood requirements of traditional SPH. Finally, we address the issue of energy loss by applying vorticity confinement as a velocity post process.
Many of you may have already seen an impressive real-time destruction and fluid simulation demo from GDC 2013.
Update: Position Based Fluids explained
We won’t talk about fracturing technology today, instead, let’s focus on the new fluid simulation algorithm, presented in the demo – it is known as Position Based Fluids.
Position Based Fluids is a way of simulating liquids using Position Based Dynamics (PBD), the same framework that is utilized for cloth and deformables simulation in PhysX SDK.
Because PBD uses an iterative solver, it can maintain incompressibility more efficiently than traditional SPH fluid solvers. It also has an artificial pressure term which improves particle distribution and creates nice surface tension-like effects (note the filaments in the splashes). Finally, vorticity confinement is used to allow the user to inject energy back to the fluid.
More details on this a new technique will be available later on, in a SIGGRAPH 2013 paper “Position-Based Fluids” by Miles Macklin and Matthias Mueller-Fischer, and we also expect it to be included in future versions of PhysX SDK or APEX modules.
New GPU PhysX trailer for Borderlands 2 title from Gearbox was revealed today, showcasing hardware accelerated physics effects which will be added to PC version of the game.
Update: one hour gameplay video with PhysX effects
Few months ago, several cam footages of first PhysX trailer were uploaded to YouTube, but following demonstration is significantly better – longer, smoother, more detailed, in full HD glory, without tremble and background noise.
So far, hardware accelerated effects will include SPH fluid simulation and rendering (with different behaviour – water, acid, blood, etc), tearable cloth, advanced forcefields manipulation and enhanced weapon effects (impact debris, volumetric smoke, additional particles from explosions).
From technical standpoint, physics in the game will be based on PhysX SDK 2.8.4 and APEX 1.x (may be subject to change).
More interesting papers from PhysX research team and Dr. Matthias Müller-Fischer, PhysX SDK Research Lead in NVIDIA.
We present a GPU friendly, Eulerian, free surface fluid simulation method that conserves mass locally and globally without the use of Lagrangian components. Local mass conservation prevents small scale details of the free surface from disappearing, a problem that plagues many previous approaches, while global mass conservation ensures that the total volume of the liquid does not decrease over time. Our method handles moving solid boundaries as well as cells that are partially filled with solids. Due to its stability, it allows the use of large time steps which makes it suitable for both off-line and real-time applications.
We achieve this by using density based surface tracking with a novel, unconditionally stable, conservative advection scheme and a novel interface sharpening method. While our approach conserves mass, volume loss is still possible but only temporarily. With constant mass, local volume loss causes a local increase of the density used for surface tracking which we detect and correct over time. We also propose a density post-processing method to reveal sub-grid details of the liquid surface.We show the effectiveness of the proposed method in several practical examples all running either at interactive rates or in real-time.
At some point this research may be made into new APEX module, according to our information.
Fisrst one, called “Real-Time Eulerian Water Simulation Using a Restricted Tall Cell Grid“, presents further impovements to the real-time hybrid fluid solver, that we were able to see in recent demos like Lighhouse and Raging Rapids Ride.
We present a new Eulerian fluid simulation method, which allows real-time simulations of large scale three dimensional liquids. Such scenarios have hither to been restricted to the domain of off-line computation. To reduce computation time we use a hybrid grid representation composed of regular cubic cells on top of a layer of tall cells. With this layout water above an arbitrary terrain can be represented without consuming an excessive amount of memory and compute power, while focusing effort on the area near the surface where it most matters. Additionally, we optimized the grid representation for a GPU implementation of the fluid solver.
To further accelerate the simulation, we introduce a specialized multigrid algorithm for solving the Poisson equation and propose solver modifications to keep the simulation stable for large time steps. We demonstrate the efficiency of our approach in several real-world scenarios, all running above 30 frames per second on a modern GPU. Some scenes include additional features such as two-way rigid body coupling as well as particle representations of sub-grid detail.
In a recent promo video for upcoming GTX 560 GPU, NVIDIA has spoiled next game with support of GPU accelerated PhysX effects – Alice: Madness Returns, sequel to American McGee’s visionary classic “Alice” title.
UPDATE: Comparison GPU PhysX video
Starting at 1:34, comparison PhysX sequences are showcased. According to the video, GPU PhysX content in Alice will include (following list may be not full) destructible environments..
..volumetric fluid effects (for example, oil-like fluid from damaged enemies)..
Interesting paper, called “Scalable Fluid Simulation using Anisotropic Turbulence Particles” has appeared at homepage of Dr. Markuss Gross, from ETH Zurich.
As far as we know, same solver is used in APEX Turbulence module.
It is usually difficult to resolve the fine details of turbulent flows, especially when targeting real-time applications. We present a novel, scalable turbulence method that uses a realistic energy model and an efficient particle representation that allows for the accurate and robust simulation of small-scale detail. We compute transport of turbulent energy using a complete two-equation k–e model with accurate production terms that allows us to capture anisotropic turbulence effects, which integrate smoothly into the base flow. We only require a very low grid resolution to resolve the underlying base flow.
As we offload complexity from the fluid solver to the particle system, we can control the detail of the simulation easily by adjusting the number of particles, without changing the large scale behavior. In addition, no computations are wasted on areas that are not visible. We demonstrate that due to the design of our algorithm it is highly suitable for massively parallel architectures, and is able to generate detailed turbulent
In addition, this paper comes with nice video demonstration (92 mb). It is worth to watch.
Thanks to AquaGeneral for the link.
Another paper called “Real-Time Simulation of Large Bodies of Water with Small Scale Details” (you can find previous one, Wrinkle Meshes, here) has arrived from Dr. Matthias Müller-Fischer, PhysX SDK research lead at Nvidia Switzerland.
Paper is decribing hybrid grid- and – particle based fluid solver used in latest, and technically most impressive, demo from Nvidia – Raging Rapids Ride.
We present a hybrid water simulation method that combines grid based and particles based approaches. Our specialized shallow water solver can handle arbitrary underlying terrain slopes, arbitrary water depth and supports wet-dry regions tracking. To treat open water scenes we introduce a method for handling non-reflecting boundary conditions. Regions of liquid that cannot be represented by the height field including breaking waves, water falls and splashing due to rigid and soft bodies interaction are automatically turned into spray, splash and foam particles.
The particles are treated as simple non-interacting point masses and they exchange mass and momentum with the height field fluid. We also present a method for procedurally adding small scale waves that are advected with the water flow. We demonstrate the effectiveness of our method in various test scene including a large flowing river along a valley with beaches, big rocks, steep cliffs and waterfalls.
We still hope that this solver will make it into next, 3.x release of PhysX SDK.
In addition, demonstrational video is available (61 mb)