Hi guys, for a research based CFD plan, I want to choose an open source pathway to port into my experiments. My experiments will mainly involve low Re flow through curved geometries with surface reactions. Modelling multiphase reactions, mainly droplet flows with level sets is expected. Primarily I am hovering around deal ii or FEniCS. My background is primarily experimental, but I have coded my own DG & CG NSE (only single phase laminar incompressible) from scratch and validated them. So I have some fair knowledge about the FEM discretization, but obviously my codes lack speed and optimization and hence my pivot to open source.
Going through the documentation of deal ii, I could see it is very detailed and allows low level customizations which are good. Also the syntax hardly changes. But I heard it takes 1 year to learn well. I am prepared to invest the time, but if FEniCS can do this faster, it would naturally help me. But again I have hearsay info that FEniCS is mainly for prototyping. My objective wont go beyond say a 100 million dofs I suppose. I need to couple a CG SUPG type main workflow for momentum balance with DG based solves for the more convective parts like high Peclet mass balance, or level sets. High order would be an advantage I presume but also a challenge but some experiments with limiters were encouraging. Presently, I have not coded beyond a few basics on either side. Some experienced feedback from those who know the pros and cons of FEniCS and deal ii might help me a lot. Thank you
FEniCS has been used for very large problems, Scalable computation of thermomechanical turbomachinery problems - ScienceDirect (3.3 billion dofs in this paper).
We have also tested it for large problems (up to ~200 billion cells, but I don’t have preprint).
We also perform performance tests GitHub - FEniCS/performance-test: Mini App for FEniCSx performance testing · GitHub
Here is a plot made by @Chris_Richardson a few years ago illustrating the scalability:
In general, us as developers don’t like voicing our opinions on other software, that will always be biased, as mentioned in: FEniCS vs. MOOSE - #3 by garth
Of course, end users are free to comment on pros or cons (but might be biased since you are asking on the FEniCS forum).
I would suggest looking at the tutorials and demos
Hello, have you made a decision? I have used MATLAB, FreeFEM, FEniCSx, and Firedrake in the past, and I’m currently learning deal.II. For me, the main reason for exploring new tools is to gain more control (and thus more certainty) over my code. There’s no doubt that FEniCSx is still the best software for my needs overall. I’m also curious to know the reasoning behind your decision—just wondering!
I am heavily leaning on Firedrake at the moment, because a lot of optimisation can be tried out quickly. Being an experimentalist, it turns out I don’t have the time that deal ii needs (or so it appears at the moment). But I won’t stop using FEniCS
