OpenFOAM is open-source and free. It works for both Linux and Windows OS. The codes in Openfoam are written in C++ and the entire OpenFOAM can be automated using python. The visualizer Paraview that comes with OpenFOAM is handy for visualization. The software Paraview can also be interpreted by coding in python using Paraview libraries.