This question is not specific to my physical model, and I mean to ask this in general. I have used FEniCS to simulate dynamic elasto-plasticity. I have been able to run my code with nearly 35 Million cells on 800 cores. Obviously, there are many other public and private platforms on which similar physical models have already been developed. I don't know if they can be used to solve large-scale parallel problems though. For eg., Opensees, Abaqus, Ansys, Comsol, and many more.
When someone asks, why did you not use a pre-existing model on any other platform, I state the following reasons:
- It is open-source.
- It is transparent and you have much more control over the model than you would have in most software, if not all. (I would appreciate some comments on this particular point)
- It is the latest big thing in FEM, implementing all latest tools like PETSc, etc. The future of open-source FEM lies here.
- Unlike many other platforms, here you begin by understanding your problem from a very basic level, i.e., the strong and weak form (PDEs), and go on solving it from there. You get a far better knowledge of the physical model when you are dealing with basic PDE, stability, time and space discretization, parallel decomposition, computational algorithms, etc. This makes the problem very general and then you can make it more specific for your needs by modifying it in any direction.
Please share your comments on how would you justify using FEniCS, i.e., significant advantages, instead of any other software.