OpenFOAM is quite complicated but once you can manage it, it is the top. Also much better than the commercial software because it is customizable and scriptable.
The aswer to that is as usual: what is the best depends on your specific application requirements. No precise ansswer is possible without knowing your case.
To give some pointers:
The most common open-source CFD (finite volume based) tools are (features partly quoted from their websites):
- OpenFOAM: (for "Open source Field Operation And Manipulation") is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, including computational fluid dynamics (CFD); used in industrial settings
- code_saturne: Originally developed as an in-house tool by the French EDF (electricity provider). At least equivalent to commercial CFD software; used in industrial settings; has the approval to be used for nuclear reactor design; scales well on large HPC settings
- Gerris Flow Solver allowing to model industrial fluids (aerodynamics, internal flows, etc.) or for instance, the mechanics of droplets, thanks to an accurate formulation of multiphase flows (including surface tension).
- SU2 The primary applications are computational fluid dynamics and aerodynamic shape optimization, but has been extended to treat more general equations such as electrodynamics and chemically reacting flows
Pre- and Post-processing would be done using Salome-MECA, ParaView (post only), gmsh, . . .
Open source SPH:
- SPHysics / DualSPHysics
- GPUSPH
- PySPH
- PersianSPH
If you want to use it in an commercial engineering setting, i.e. doing calculations for customers, you will most likely be using OpenFOAM or code_saturne, however your mileage may vary.
All of the above are available on Linux and can be used on clusters/HPC systems. If they work on MS Windows? I don't know (and don't care).
If you are looking for something more visual, there is VisualCFD, a commercial software that's complementary to openfoam and more affordable than ansys fluent.
FEATool Multiphysics ( https://www.featool.com ) and CFDTool toolboxes features full GUI integration with OpenFOAM solvers (and SU2 as well as FEniCS). The idea is that you can set up the model once in the GUI and then use any CFD or physics solver, or export it to a simulation script.
I would definitely recommend OpenFOAM. The interface is quite good to use. Visual CFD is another tool to use for sure. Depends on the OS you are using as well.