- #1
curiousOne
- 21
- 1
Hey everyone,
When solving Navier Stokes equations for simulation, one usually has to make the velocity field divergence free and solve a sparse linear system of equations. The Poisson equation that results is usually solved using either a Pre conditioned CG method or a Multigrid method.
Because the resulting pressure gradient is essential to the quality of the next simulation step (which is itself limited by Courant Friedriech Levy) is there any way that the system could be solved only partially ?
Normally, the problem is solved by taking a full step forward ( < CFL) and solving the pressure then repeating the iteration, using the pressure to advect the velocity.
The need for speed is at odds against limited computing resources, so the time step is chosen closer to the CFL and the Poisson system is solved once for each step. This way the error is limited and the simulation remains accurate.
The result however is a sparse set of pressure gradients at each step. Could someone solve for the pressure only in some areas of high velocity, or vorticity, re-using previous results to complete the system before solving ?
Could the system be solved inaccurately (say half the multigrid steps) at the half step mark, providing twices as many frames of semi-accurate pressure gradients ?
I'm borrowing these ideas from the emerging world of frameless rendering, where optimizations have been made to identify areas that need re-calculation and those than can be re-used.
J.D.
When solving Navier Stokes equations for simulation, one usually has to make the velocity field divergence free and solve a sparse linear system of equations. The Poisson equation that results is usually solved using either a Pre conditioned CG method or a Multigrid method.
Because the resulting pressure gradient is essential to the quality of the next simulation step (which is itself limited by Courant Friedriech Levy) is there any way that the system could be solved only partially ?
Normally, the problem is solved by taking a full step forward ( < CFL) and solving the pressure then repeating the iteration, using the pressure to advect the velocity.
The need for speed is at odds against limited computing resources, so the time step is chosen closer to the CFL and the Poisson system is solved once for each step. This way the error is limited and the simulation remains accurate.
The result however is a sparse set of pressure gradients at each step. Could someone solve for the pressure only in some areas of high velocity, or vorticity, re-using previous results to complete the system before solving ?
Could the system be solved inaccurately (say half the multigrid steps) at the half step mark, providing twices as many frames of semi-accurate pressure gradients ?
I'm borrowing these ideas from the emerging world of frameless rendering, where optimizations have been made to identify areas that need re-calculation and those than can be re-used.
J.D.