Elmer
Elmer is an open-source software package that solves partial differential equations. Combined with its ability to run various equations in parallel, it is an effective tool for running multiphysical simulations. Development of Elmer began in 1995 with funding from Tekes (Finland) and development performed by CSC - IT Center for Science, Helskini University of Technology, and several other universities, laboratories, and companies in Finland.
- Contains a variety of numerical methods and physical models to help create solutions
- Components can be used individually
- Unix-based and can be distributed as precompiled binaries for Windows and Linux
- Source code hosted on Git
- Postprocessing results can be exported to several third party visualization tools
- Open source solution that can be modified and tested
- Includes a customizable user interface
- Flexibly integrates field equations and new field variables
- Includes many modern numerical methods
- Scalable and allows for parallel processing
- Documentation, engine, and interface are sometimes out of synch in their development phases
- Due to the size of the software package, it will take time to learn
- Does not include an engine for geometrically-complicated problems, but only supports mesh import interfaces
- Some features are lacking that are standard for established single-field codes.
Elmer uses the Finite Element Method (FEM) to solve equations. Elmer includes several physical models to apply in the areas of heat transfer, fluid flow, species transport, elasticity, acoustics, electromagnetism, microfluidics, levelset method, and quantum mechanics. Elmer also contains a large number of built-in numerical methods, including Lagrange-interpolated finite elements, p-elements, curl-conforming finite elements, and many others. To process complex information, Elmer contains several different executables, or components. ElmerGrid is the mesh conversion engine that takes various formats and turns them into meshes suitable for the software. ElmerGUI is the graphical interface that ultimately generates a case file with a problem description. ElmerSolver is the primary engine that performs the calculations using available mesh and case files. ElmerPost is the module that visualizes and posts the solution. ElmerPost can also export the resulting data. All executables can be used individually, based on the needs of the user. Elmer continues to be developed with stable releases and is gaining use around the world due to its growing community of contributors. Drawbacks of Elmer include out-of-synch documentation versus its development progress and its learning curve.