# Collocated Grid Navier Stokes Solver

I want to solve Navier Stokes equations on a collocated grid. Earlier, I was using a MacCormick scheme based solver where I discretized predictor step in forward differences and corrector step in backward differences as mentioned in this paper (An explicit finite-difference scheme for simulation of moving particles, http://dl.acm.org/citation.cfm?id=1127013). This works, but the convergence is very slow at high-grid resolutions.

In this regard, can anyone suggest me some explicit NS solvers that are not very complicated and could be converged in relatively shorter times. Also, it should be mentioned here that I am writing NS equations in artificial compressibility framework.

• Is convergence slow? Or is the required time step small? Explicit time marching methods (explicit Euler, e.g.) are fast and do not require matrix inversion, but will have a time step restriction that suffers from diffusion dominant (low Reybolds number flows) and when grid points are highly clustered (very fine mesh). What Reynolds number range are you interest in? – Charles May 30 '16 at 19:21
• I am considering the case of a lid-driven cavity, very classic problem. If I solve for a Reynolds number of 1000 in three dimension with a mesh of size 128 in each directions. The time step here is around 0.001 for the CFL criterion to remain in picture. Convergence is very slow and yes, I would also like to go out for Re upto 5000 but I can not seem to do it now, I wonder why. I reduced time steps upto 0.00005 but it was always resulting in diverging solution (though it converged well for smaller Re) – Tanmay Agrawal May 31 '16 at 5:04
• Can you provide more information about the specific problem you're having trouble with? E.g. Lid-driven cavity incompressible flow, collocated grid, Reynolds 5000, uniform grid, 128 points in each direction, dt = 5e-5, artificial compressibility method to iteratively solve PPE, N iterations in PPE. Maybe provide a plot of kinetic energy leading up to the diverged solution, this may help distinguish between numerical instability, physical instability or code bug. I have a small fortran code here github.com/charliekawczynski/short_LDC_fortran that solves this problem on a staggered grid. – Charles May 31 '16 at 15:53