Nobody is askingwhich solves it better
Both solve Navier-Stokes. The argument is about meshing, support, licence terms and who absorbs the risk when a result is wrong.
Finite volume, the same turbulence models, the same discretisation schemes. Validated against the same cases.
Most of a CFD project is geometry preparation and mesh generation, and this is where packages differ most.
In a regulated or contractual setting, a supplier who stands behind the result is part of what is being bought.
Four things,and none of them is the solver
A commercial licence buys real value. It is worth being precise about what that value is.
Things a licencecannot buy
These are not cost savings. They are capabilities that a closed package structurally cannot offer.
When a result surprises you, the discretisation is in front of you rather than behind a support ticket.
No per-core fee, so how wide you run is a question of machine hours and nothing else.
A text case directory under version control. Publishable, rerunnable, and readable in ten years.
New boundary conditions and custom solvers are a supported activity, not a feature request.
The scaling one is the least appreciated. A per-core licence means adding cores adds cost twice, so there is a ceiling on how wide you run that has nothing to do with the physics. With OpenFOAM or SU2 the only limit is machine hours, which makes parameter sweeps and optimisation studies a completely different proposition.
Free is notfree
Open source moves the cost from a licence line to a salary line, and that trade is not always favourable.
OpenFOAM's first month is genuinely hard: the case directory structure, the dictionary syntax, and meshing with snappyHexMesh all take real time to learn. If nobody in the group knows it, that time is the true price, and for a team with one deadline and complex geometry a commercial licence is often the cheaper answer honestly assessed.
OpenFOAM isalready built
Nothing here needs compiling. Pick a machine, and these two commands put it on there.
$ dxflow workflow create --identity openfoam hub://openfoam
$ dxflow workflow start openfoam