First, I'm not sure why you emphasize on water? I mean I understand that you are looking for a CFD scheme that works for your special case, but you need to know that water fluid is not a special fluid at all. Water is a incompressible fluid and you can simulate its movement by using incompressible Navier-Stokes equation as long as your Mach number is not high, typically smaller than 0.3. So, by knowing your Mach number and the Reynolds number for your specific case, you can pick incompressible Navier-Stokes equation to simulate your water flow.
You have two options here:
- Solve Incompressible Navier-Stokes equation: $$\nabla \cdot \mathbf{u} = 0$$
$$\rho\frac{\partial \mathbf{u}}{\partial t} + \rho \mathbf{u} \cdot \nabla \mathbf{u} = \nabla \cdot \tau + \mathbf{f}$$
For Newtonian fluid: $$\tau = -P\mathrm{I} + \mu(\nabla \otimes \mathbf{u} + (\nabla \otimes \mathbf{u})^{T})$$
Finally: $$\rho \frac{\partial \mathbf{u}}{\partial t} + \rho \mathbf{u} \cdot \nabla \mathbf{u} = -\nabla P + \mu \nabla^{2} \mathbf{u} + \mathbf{f}$$
You can solve it by using FEM or FVM methods, which is successfully implemented and verified in OpenFOAM and Nek5000 packages. I recommend Nek5000 which even has industrial scale accuracy.
- Use lattice Boltzmann method (LBM): $$f_{i}(\mathbf{r}+\Delta t \mathbf{c}_{i},t+\Delta t) = f_{i}(\mathbf{r},t) - \frac{f_{i}^{eq}-f_{i}}{\tau}$$
For ensuring conditional stability you need to have relaxation time $\tau > 0.5$ and $\mathrm{Mach} < 0.02$. Note that LBM $\mathrm{Mach}$ is not equal to real Mach number. These are the conditions which may work for your case or for countless cases will not work at all.
If I was in your shoe and I had the knowledge about LBM that I have right now three years ago, I would definitely choose the first option. Any sane person will go for the first option I believe. The most famous argument that we LBM people tell other people including traditional CFD people is: LBM is easy to implement cause it just contains two operations of collision and streaming and in collision step everything could be calculated locally and in streaming step you need to just copy everything in certain directions in comparison to traditional CFD techniques that you have nonlinear momentum acceleration term ($\mathbf{u} \cdot \nabla \mathbf{u}$) which is a pain to discretize and also for the pressure you need to solve time-consuming Poisson pressure equation: $\nabla^{2} P = - (\nabla \otimes \mathbf{u})^{T} : (\nabla \otimes \mathbf{u})$. Also nowadays, we argue that meshing step is more time-consuming in comparison to LBM, cause we call LBM a mesh free method. All of them are true for creepy flows ($Re << 1$) in structured grids like cube, which of course it just limits us to toy model and is not suitable for real world engineering applications. In fact, one iteration of LBM is much much faster than one iteration of FEM or FVM but the problem is that in order to satisfy those stability conditions for LBM you need so many iterations which is at least three order of magnitude higher than conventional FEM or FVM flow solvers. If your adviser is a LBM expert and you are forced to use LBM and of course if you have lots of computational resources, go for it, tough luck! But, if you don't, I recommend to pick a famous open source or commerical CFD solver and more focus on engineering aspects instead of thinking why your simulation become unstable. Already, you see that it is really difficult to get a stable LBM simulation, so just write down the cons pros of these two approaches and take the one that is more inclined to your knowledge, resources, etc.
Update:
Let me put some calculation here to show that indeed LBM needs a huge number of meshes and timesteps to work properly at mid range Re flow regime. Let's say we have a water pipe ($\nu = 10^{-6}$ $\frac{\mathrm{m}^{2}}{\mathrm{s}}$) with 1.0 mm diameter and 1 $\frac{\mathrm{m}}{\mathrm{s}}$ velocity in it, which is not really a big deal to solve with FEM or FVM. The Reynolds number is: $Re = \frac{D u}{\nu} = \frac{10^{-3} \times 1}{10^{6}} = 1000$. For LBM stability, a rule of thumb is: $Mach < 0.02$ and $\tau = 0.54$ for Mach number and relaxation time respectively. So:
$$\tau - \frac{1}{2} = \frac{3 \nu \Delta t}{\Delta x^{2}}$$
$$Mach = \frac{\sqrt{3} u \Delta t}{\Delta x}$$
If $Mach < 0.02$:
$$\frac{\Delta t}{\Delta x} < \frac{0.02}{\sqrt{3} u} = 0.012$$
But:
$$0.04 = \frac{3 \times 10^{-6} \Delta t}{\Delta x^{2}}$$
So:
$$\frac{\Delta t}{\Delta x^{2}} = 13333.33$$
Finally:
$$\frac{\Delta t}{\Delta x} = 13333.33 \Delta x$$
Then:
$$13333.33 \Delta x < 0.012$$
$$\Delta x < 10^{-6}$$
I pick the upper bound as $\Delta x = 10^{-6}$ m. So:
$$\Delta t = 1.3 \times 10^{-8}$$
First, look at the insane timestep that we calculated. It means if you want to simulate water flow in a pipe for 1 second in reality it needs almost 100 millions timesteps! Wow!
Let's say your 1 mm diameter pipe has 10 mm or 1 cm length, which is not that uncommon. So, the total volume of your pipe is:
$$V = \frac{\pi}{4}D^{2} L = \frac{\pi}{4} (10^{-3})^{2} \times 10 \times 10^{-3} = 8 \times 10^{-9}$$
Remember LBM works with voxels and it means your mesh is just a tiny cube and has same size everywhere in your domain (ridiculous right?! forget about adaptive mesh refinement in LBM...). So, each voxel volume is:
$$V_{voxel} = \Delta x^{3} = 10^{-18}$$
Finally, you would find the number of voxels that you need to fill this 1 mm diameter and 10 mm length pipe as:
$$N = \frac{V}{V_{voxel}} = \frac{8 \times 10^{-9}}{10^{-18}} = 8 \times 10^{9}$$
Another insane finding... You need 8 billions voxels to do this simulation and still you can't be 100% sure that your simulation will remain stable or not... Come on... FEM or FVM people do this simulation as a piece of cake less than a couple of seconds on their crappy old laptops by using ANSYS Fluent or any other open source code if you want to argue that ANSYS is commercial. Want to say something about MRT? That's garbage... It's just good for publishing nonsense articles in simple 2D rectangular geometries to show that they were able to simulate lid driven cavity problem with higher Reynolds number. Just look at the CFD market and count besides XFlow and Exa who produce LBM software for serious industrial usage? For your information Exa is acquired by Dassault Systemes and I'm pretty sure they just bought Exa to close it.