CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   performance compared to Fluent (https://www.cfd-online.com/Forums/openfoam-programming-development/82107-performance-compared-fluent.html)

schmittp54 November 17, 2010 04:50

performance compared to Fluent
 
Dear developers,
we have compared the cpu time of a pitzDaily case with 1million cells with an equivalent Fluent setup on 1..16 nodes (infiniBand). Apparently Fluent runs approximately 6 times to 13 times faster (on 1 and 16 nodes respectively).

We were anticipating similar performance, because the FVM concept of both programs seems to be very similar. Does anybody know which part of Fluent is giving the advantage? Is it memory management, linear solver implementation or other? (Not talking about different speedup in paralell, because even the serial performance is not comparable).

Have attempts been made to improve Openfoam with the help of PETSc solvers and data structures?

Thanks
Patricia

arjun November 17, 2010 06:18

how did the single processor time compares??


From my personal experience , Fluent is very fast and efficient. Its difficult to beat it on time per iteration.

schmittp54 November 17, 2010 07:49

Quote:

Originally Posted by arjun (Post 283756)
how did the single processor time compares??


From my personal experience , Fluent is very fast and efficient. Its difficult to beat it on time per iteration.

Yes, the single processor cpu time was also close to 6 times faster with fluent.
The question is whether Fluent was just heavily optimized or whether Openfoam has some design flaw - which I don't assume - that could easily be fixed for example by using optimized libraries like PETSc.
Openfoam is a great project, but some advantages of the open source distribution are lost if production use costs a multiple of commercial tools because jobs need an order of magnitude longer of an order of magnitude more hardware nodes. Of course, this is the fate of most open source projects. But if somebody could identify which part of the implementation has the highest potential to improve efficiency, I would like to investigate alternative implementations.

Thanks
Patricia

gschaider November 17, 2010 11:36

Quote:

Originally Posted by schmittp54 (Post 283767)
Yes, the single processor cpu time was also close to 6 times faster with fluent.
The question is whether Fluent was just heavily optimized or whether Openfoam has some design flaw - which I don't assume - that could easily be fixed for example by using optimized libraries like PETSc.
Openfoam is a great project, but some advantages of the open source distribution are lost if production use costs a multiple of commercial tools because jobs need an order of magnitude longer of an order of magnitude more hardware nodes. Of course, this is the fate of most open source projects. But if somebody could identify which part of the implementation has the highest potential to improve efficiency, I would like to investigate alternative implementations.

Thanks
Patricia

Have you made sure that the numerical setup is equivalent? For instance the default values of the residuals in Fluent are ridicioulusly high as far as far as I remember. Which solvers have you used for the pressure-equation (as that usually eats the most time)?

Chris Lucas November 17, 2010 12:12

Hi,

could you please give more information about your setup, maybe upload it (without grid)?

What type of linear solver did you use in OpenFoam?

Did you use a coupled or a segregated solver in fluent?

Regards,
Christian

arjun November 17, 2010 17:07

Quote:

Originally Posted by schmittp54 (Post 283767)
Yes, the single processor cpu time was also close to 6 times faster with fluent.
The question is whether Fluent was just heavily optimized or whether Openfoam has some design flaw - which I don't assume - that could easily be fixed for example by using optimized libraries like PETSc.
Openfoam is a great project, but some advantages of the open source distribution are lost if production use costs a multiple of commercial tools because jobs need an order of magnitude longer of an order of magnitude more hardware nodes. Of course, this is the fate of most open source projects. But if somebody could identify which part of the implementation has the highest potential to improve efficiency, I would like to investigate alternative implementations.

Thanks
Patricia


Actually not. I have been comparing my inavier with Fluent/starccm+ for quite a long time. And I can tell you that it many times beat Fluent/starccm+ for time per iteration. If i do not use gradient limiter than i am roughly 2 times faster than Fluent.



Edited to add: Based on my observations the main reason for Fluent's speed is its multigrid solver. It does converse very fast. Now both openFOAM and Fluent use additive corrective multigrid. Usually additive corrective multigrid is slow for all neumann BSc. (Wall bounded flows with outflow BC). But in Fluent's case convergence does not suffer that much. My guess is openFOAM's Poisson solver is not that fast. (so if you use 1 million or larger meshes difference should show).

Further, inavier uses smoothed aggregation multigrid. So it is faster than additive corrective multigrid. BUT set up time for this multigrid is very high. There is one version of Poisson solver that only does set up once per simulation (this version can beat Fluent on time per iteration, probably 2 times faster than fluent).


All times are GMT -4. The time now is 22:30.