List of finite element software packages

This is a list of software packages that implement the finite element method for solving partial differential equations.

SoftwareFeaturesDeveloperVersionReleasedLicensePricePlatform
Agros2DMultiplatform open source application for the solution of physical problems based on the Hermes libraryUniversity of West Bohemia3.22014-03-03GNU GPLFreeLinux, Windows
Analysis3D Powerful but easy to use FEM software for structural engineering of 2D and 3D frames and trussesCuylaerts Engineering2.052018Proprietary commercial softwareFree educational version available Linux, Windows
ANSA Pre-processorAn advanced CAE pre-processing software for complete model build up.BETAProprietary commercial softwareLinux, Mac OS X, Windows
CalculiXIt is an Open Source FEA project. The solver uses a partially compatible ABAQUS file format. The pre/post-processor generates input data for many FEA and CFD applicationsGuido Dhondt, Klaus Wittig2.142018-04-27GNU GPLFreeLinux, Windows
Cast3MProprietary software for different physical simulationsCEA2018.02018-05-31Proprietary commercial softwareFree, open source version for education and research availableLinux, Windows, Mac OS X
Code_AsterOpen source software for structural mechanicsEDF14.02017-08-29GNU GPLFreeLinux, Windows[1]
DIANA FEAGeneral purpose finite element package utilised by civil, structural and geotechnical engineers.DIANA FEA BV, The Netherlands10.12016-11-14CommercialPaidWindows, Linux
deal.IIComprehensive set of tools for finite element codes, scaling from laptops to clusters with 10,000+ cores. Written in C++.Wolfgang Bangerth, Timo Heister, Guido Kanschat, Matthias Maier et al.9.02018-05-12LGPLFreeLinux, Unix, Mac OS X, Windows
DUNEDistributed and Unified Numerics Environment, written in C++DUNE Developer team2.4.12016-02-29GPL Version 2 with Run-Time ExceptionFreeLinux, Unix, Mac OS X
ElmerOpen source multiphysical simulation software developed by Finnish Ministry of Education's CSC, written primarily in Fortran (written in Fortran90, C and C++)CSC8.22016-03-15GPLFreeLinux, Mac OS X, Windows
EPILYSIS A solver that covers numerous solution types such as : Structural linear/non-linear , Dynamics, Substructuring and High Performance Computing.BETAProprietary commercial softwareLinux, Mac OS X, Windows
FEBioFinite Elements for BiomechanicsUniversity of Utah (MRL), Columbia University (MBL)2.7April, 2018CustomFreeLinux, Mac OS X, Windows
FEniCS ProjectSoftware package developed by American and European researchers with the goal to enable automated solution of differential equationsFEniCS Team1.6.02015-07-29LGPL (Core) & GPL/LGPL (Non-Core)[2]FreeLinux, Unix, Mac OS X, Windows
FEATool MultiphysicsMatlab and GNU Octave FEM PDE simulation toolboxPrecise Simulation1.82018-05-17Proprietary EULAFree for personal use, up to 2,000 nodes/6,000 unknowns[3]Windows, Mac OS X, Linux, Unix
FemapFinite element pre- and post-processorSiemens PLM Software11.4.02016-09-16Proprietary commercial softwareWindows
FreeFem++Software written in C++ for rapid testing and finite element simulations. The problem is defined in terms of its variational formulationUniversité Pierre et Marie Curie and Laboratoire Jacques-Louis Lions3.452016-03-11GPLFreeLinux, Mac OS X, Windows, Solaris
FrontISTROpen-Source Large-Scale Parallel Finite element method program for nonlinear structural analysis.FrontISTR Commons5.0a2018-02-01MIT LicenseFreeLinux, Mac OS X, Windows
GiD GiD is a universal, adaptive and user-friendly pre+post processor for numerical simulations in science and engineering.

It can work with Kratos Multiphysics, Calculix, OpenFOAM, and many other (commercial and open source) solvers.

CIMNE – UPC / BarcelonaTech 13 Proprietary EULA 550€ for academical / 1600€ for commercial use Windows, Linux, Mac OS X
GetFEM++A generic finite element library written in C++ with interfaces for Python, Matlab and Scilab. It focuses on modeling of contact mechanics and discontinuities (e.g. cracks).Yves Renard, Julien Pommier5.02015-07LGPLFreeUnix, Mac OS X, Windows
Hermes ProjectModular C/C++ library for rapid development of space- and space-time adaptive hp-FEM solvershp-FEM group3.02014-03-01LGPLFreeLinux, Unix, Mac OS X, Windows
HiFlow3HiFlow3 is a multi-purpose finite element software providing powerful tools for efficient and accurate solution of a wide range of problems modeled by partial differential equations (PDEs). Based on object-oriented concepts and the full capabilities of C++ the HiFlow³ project follows a modular and generic approach for building efficient parallel numerical solvers.HiFlow3 Team1.52015LGPLFreeLinux, Unix, Mac OS X
JuliaFEMThe JuliaFEM software library is a framework that allows for the distributed processing of large Finite Element Models across clusters of computers using simple programming models. JuliaFEM is written using Julia programming language.JuliaFEM contributors0.3.32015-05MITFreeLinux, Unix, Mac OS X, Windows
Mathematica[4]General purpose computation software.Wolfram Research11.3.0 (March 8, 2018 (2018-03-08)) [±][5]RegularlyProprietaryLinux, Mac OS X, Windows, Raspbian, Online service.
META post-processor A high performance multi-disciplinary CAE post-processor.BETAProprietary commercial softwareLinux, Mac OS X, Windows
MFEM MFEM is a free, lightweight, scalable C++ library for finite element methods that features arbitrary high-order finite element meshes and spaces, support for a wide variety of discretizations, and emphasis on usability, generality, and high-performance computing efficiency. MFEM team 3.4 2018-05-29 LGPL-2.1 with static linking exception Free Linux, Unix, Mac OS X, Windows
MoFEM JosePHMesh Oriented hp-FE code, written in C++University of Glasgow0.6.82017-11-16LGPLFreeUnix, Mac OS X
OnScale Multiphysics FEA/CAE Simulation Software powered by Cloud HPC OnScale v 1.23.0.0 2018-09-17 SaaS Free up to 10 CH a month Windows
OOFEMObject Oriented Finite EleMent solver, written in C++Bořek Patzák2.42016-02-15GPL Version 2FreeUnix, Windows
OpenSeesOpen System for Earthquake Engineering SimulationNon CommercialFreeUnix, Linux, Windows
Range SoftwareMultiphysics Finite Element Analysis SoftwareTomáš Šoltys3.02018-04-30GPLFreeLinux, Windows
Z88/Z88AuroraFreeware finite element package; The present version Z88Aurora V3 offers, in addition to static strength analysis modules such as non-linear strength calculations (large displacements), simulations with non-linear materials, natural frequency and static thermal analysis.Frank RiegZ88 V14, Z88Aurora V32015-03CustomFreeLinux, Windows, Mac OS X
AbaqusAdvanced Franco-USA software from SIMULIA, owned by Dassault SystemesAbaqus Inc.6.14-AP2014-11Proprietary commercial softwareLinux, Windows
CONSELFCAE simulation from your browserCONSELF SRL2.92015-10SaaSFreemiumWeb browser
FreeCAD FreeCAD is a parametric 3D modeler with add-on FEM module 0.16.670 2016-07 LGPL Linux, Windows, Mac OS X
HyperMeshFinite element pre- and post-processor.

(Hypermesh is a product within the HyperWorks suite)

AltairProprietary commercial softwareLinux, Mac OS X, Windows
ADINAFinite element software for structural, fluid, heat transfer, electromagnetic, and multiphysics problems, including fluid-structure interaction and thermo-mechanical couplingDeveloperProprietary commercial software
Advance DesignBIM software for FEM structural analysis, including international design eurocodesGRAITEC20142013-09Proprietary commercial software
Autodesk SimulationFinite Element software of AutodeskAutodeskProprietary commercial softwareWindows
ANSYSUS-based and -developed full CAE software packageAnsys Inc.18.22017-08-21Proprietary commercial softwareFree student version available, up to 32,000 nodes/elements[6]Windows, Linux
KEYCREATOR AnalysisKEYCREATOR Analysis Multiphysics Finite Element Analysis FEMLABKEYCREATOR Inc.5.32017-04-25KUBOTEK EULAWindows
COMSOL MultiphysicsCOMSOL Multiphysics Finite Element Analysis Software (formerly FEMLAB)COMSOL Inc.5.32017-04-25Proprietary EULALinux, Mac OS X, Windows, Web browser
CosmosWorksPart of SolidWorksDassault Systèmes SolidWorks Corp.Proprietary commercial softwareWindows
QuickfieldTor Cooperative6.12015-12-22Proprietary EULAWindows
LS-DYNABest known for explicit dynamics / crash analysisLSTC - Livermore Software Technology CorporationR8.02015-03Proprietary commercial softwareLinux, Windows
MecwayInexpensive, comprehensive, user friendly FEA package with a focus on mechanical and thermal simulation; CalculiX interoperabilityMecway Ltd.9.02018-05-08Proprietary commercial softwareFree demo version up to 1,000 nodes; license: $350 US (one user)Windows
NastranOriginally developed for NASA, now available commercially from several software companiesMSC NASTRAN, Siemens PLM NX Nastran[7]20142014Proprietary EULALinux, Mac OS X, Windows
RFEM3D finite element analysis softwareDlubal Software5.062016-02Proprietary commercial softwareFree student license available[8]Windows
SimScaleGerman 100% web-based CAE platformSimScale GmbH142013-07SaaSFree community version available[9]Web browser
VisualFEAFinite element software for structural, geotechnical, heat transfer and seepage analysisIntuition Software5.112016-01Proprietary softwareFree educational version available[10]Mac OS X, Windows
JCMsuiteFinite element software for the analysis of electromagnetic waves, elasticity and heat conductionJCMwave GmbH3.6.12017-01-27Proprietary EULALinux, Windows
CAEplexA really easy web-interface for FEASeamplexN/A2017-02SaaS for GNU GPL Back-endFree plan available[11]Web browser
JMAG2D and 3D finite element analysis software for electromagnetic field, thermal, structuralJSOL17.12018-06Proprietary commercial softwareLinux, Windows, Web browser
StressCheckFinite element analysis software based on p-FEM with a focus on solid mechanics applicationsESRD, Inc.10.42018-04Proprietary commercial softwareStudent version available (limited to 15k DOF)Windows

Feature comparison

This is a wiki table generated by FEA-compare project. Please, contribute changes directly to the project instead of editing the table below. The project also provides an HTML version with the first row and Feature column being fixed for ease of table exploration.

Feature Code_Aster Deal II Elmerfem FEATool Multiphysics FEniCS Firedrake GetFEM++ libMesh MFEM Range COMSOL(R)
website: http://www.code-aster.org http://www.dealii.org https://www.csc.fi/elmer https://www.featool.com/ http://fenicsproject.org/ http://firedrakeproject.org/ http://getfem.org/ https://libmesh.github.io/ http://mfem.org http://www.range-software.com https://www.comsol.com
license: GPL LGPL GNU (L)GPL Proprietary GNU GPL\LGPL GNU LGPL LGPL GPL LGPL-2.1 with static linking exception GPL Proprietary
GUI: Yes (Salome-Meca) No Yes, partial functionality Matlab and Octave GUI Postprocessing only No No No No Yes Yes
Community: discussion forum, Bitbucket forge Google Group 1000's of users, discussion forum, mailing list Mailing list Mailing list Mailing list and IRC channel Mailing list mail lists GitHub GitHub
Documentation: user manual, theory manual, verification manual, developer manual (more than 25000 pages both in French and English with machine translation) 50+ tutorials, 50+ video lectures, Doxygen ElmerSolver Manual, Elmer Models Manual, ElmerGUI Tutorials, etc. (>700 pages of LaTeX documentation) Online FEATool documentation, ~600 pages, ~20 step-by-step tutorials, and 85 m-script model examples Tutorial, demos (how many?), 700-page book Manual, demos, API reference User doc, tutorials, demos, developer's guide Doxygen, 40+ example codes Doxygen, Example codes user manual, tutorials
Mesh
mesh elements: segments (1d), triangles, quadrilaterals (2d), tetrahedra, pyramids, wedges, hexahedra (3d) intervals (1d), quads (2d), and hexes (3d) only intervals (1d), triangles, quadrilaterals (2d), tetrahedra, pyramids, wedges, hexahedra (3d) intervals, triangles, tetrahedra, quads, hexes intervals, triangles, tetrahedra (quads, hexes - work in progress) intervals, triangles, tetrahedra, quads, plus extruded meshes of hexes and wedges intervals, triangles, tetrahedra, quads, hexes, prisms, some 4D elements, easily extensible. Tria, Quad, Tetra, Prism, etc. segments (1d), triangles, quadrilaterals (2d), tetrahedra, hexahedra (3d) points(0d), segments (1d), triangles, quadrilaterals (2d), tetrahedra, hexahedra (3d)
mesh high-order mapping: Quadratic any order Yes, for Lagrange elements (Any - work in progress) (Any - using appropriate branches) any order Any? Second-order is the default for most cases.
mesh generation: Yes (Salome-Meca) external+predefined shapes Limited own meshing capabilities with ElmerGrid and netgen/tetgen APIs. Internal extrusion and mesh multiplication on parallel level. Integrated DistMesh, Gmsh, and Triangle GUI and CLI interfaces Yes, Constructive Solid Geometry (CSG) supported via mshr (CGAL and Tetgen used as backends) External + predefined shapes. Internal mesh extrusion operation. Experimental in any dimension + predefined shapes + Extrusion. Built-in Support for Gmsh, CUBIT, NetGen, Truegrid, NetCDF, etc. formats + some internal tools Yes (TetGen) Built-in
mesh adaptive-refinement: h-refinement h, p, and hp for CG and DG h-refinement for selected equations Only h Only h h, p, mached hp, singular hp Conforming and non-confrorming h-refinement for any p. General mesh optimization / r-adaptivity. generate new mesh with variable density, no(?) p-refinement.
mesh input\output: unv, gmsh, MED, aster OpenFOAM, FEniCS XML, GiD, Gmsh, GMV, Triangle XDMF (and FEniCS XML) gmsh, GiD, Ansys Gmsh, CUBIT, NetGen, Truegrid, NetCDF, etc. rbm, stl
mesh check: limited features (double nodes, degenerated elements) intersections (collision testing) ? Minimal limited features (double nodes, degenerated elements, intersected elements)
CAD files support: Yes (Salome-Meca) IGES, STEP (with OpenCascade wrapper) Limited support via OpenCASCADE in ElmerGUI No NURBS meshes Yes (stl) STEP, IGES and many others.
mesh operation: Yes (Salome-Meca) Merge, join, extrude, and revolve operations Extrude, rotate, translation, refine distort/translate/rotate/scale Mesh optimization, general AMR Extrude, rotate, translation, refine
Parallel possibilities
automatic mesh partitioning: Yes for parallel calculations (PTScotch, ParMetis) yes, shared (METIS/Parmetis) and distributed (p4est) partitioning with ElmerGrid using Metis or geometric division Yes (ParMETIS and SCOTCH) Yes Yes (METIS) Yes No
MPI: Yes Yes (up to 147k processes), test for 4k processes and geometric multigrid for 147k, strong and weak scaling Yes, demonstrated scalability up to 1000's of cores Yes, DOLFIN solver scales up to 24k Yes, Scaling plot for Firedrake out to 24k cores. Yes Yes Yes No Almost ideal for parameter sweep? For large scale simulations Comsol 4.2 bench by Pepper has 19.2 speedup on 24 core cluster (0.8 efficiency).
threads: Yes Threading Build Blocks threadsafe, limited threading, work in progress Yes No Yes
OpenMP: Yes Yes (vectorization only) Yes, partially Limited Yes Yes Yes
OpenCL: No No No No Yes, based on OCCA No
CUDA: No work in progress No No Yes, based on OCCA No
Solver
Dimension: 0D/1D/2D/3D (dimensions may coexist) 1/2/3D 1D/2D/3D (dimensions may coexist) 1/2/3D 1/2/3D 1/2/3D Any, possibility to mix and couple problem of different dimension 2D\3D 1D/2D/3D 0D/1D/2D/3D (dimensions may coexist)
FE: Lagrange elements (isoparametric), mixed elements, structural mechanics elements (beam, plate) Lagrange elements of any order, continuous and discontinuous; Nedelec and Raviart-Thomas elements of any order; BDM and Bernstein; elements composed of other elements. Lagrange elements, p-elements up to 10th order, Hcurl conforming elements (linear and quadratic) for Lagrange (1st-5th order), Crouzeix-Raviart, Hermite Lagrange, BDM, RT, Nedelic, Crouzeix-Raviart, all simplex elements in the Periodic Table (femtable.org), any Lagrange, BDM, RT, Nedelec, all simplex elements and Q- quad elements in the Periodic Table, any Continuous and discontinuous Lagrange, Hermite, Argyris, Morley, Nedelec, Raviart-Thomas, composite elements (HCT, FVS), Hierarchical elements, Xfem, easily extensible. Lagrange, Hierarchic, Discontinuous Monomials Arbitrary high-order: H1, H(div), and H(curl)-conforming spaces. Discontinuous L2 spaces, Numerical trace (interfacial) spaces. NURBS spaces for isogeometric analysis. Lagrange elements in Wave Optics Module: frequency domain and trainsient UI - 1,2, and 3 order; time explicit UI - 1,2,3, and 4 order;
Quadrature: depending on the type of element (Gauss, Newton-Cotes, etc) Gauss-Legendre, Gauss-Lobatto, midpoint, trapezoidal, Simpson, Milne and Weddle (closed Newton-Cotes for 4 and 7 order polinomials), Gauss quadrature with logarithmic or 1/R weighting function, Telles quadrature of arbitrary order. Gauss-Legendre (1D and tensor product rules in 2D and 3D) tabulated up to 44th-order to high precision, best available rules for triangles and tetrahedra to very high order, best available monomial rules for quadrilaterals and hexahedra. General, in particular Gauss-Legendre and Gauss-Lobatto.
Transient problems: Yes Any user implemented and/or from a set of predifined. Explicit methods: forward Euler, 3rd and 4th order Runge-Kutta. Implicit methods: backward Euler, implicit Midpoint, Crank-Nicolson, SDIRK. Embedded explicit methods: Heun-Euler, Bogacki-Shampine, Dopri, Fehlberg, Cash-Karp. BE, CN, and Fractional-Step-Theta schemes Yes Yes (?) assume 2nd order leapfrog for wave optics?
Predifined equations: Yes (mechanics, thermics, acoustics) Laplace? Around 40 predefined solvers Incompressible Navier-Stokes, Heat transfer, convection-diffusion-reaction, linear elasticity, electromagnetics, Darcy's, Brinkman equations, and support for custom PDE equations No Yes, many Yes (Incompressible Navier-Stokes, Heat transfer (convection-conduction-radiation), Stress analysis, Soft body dynamics, Modal analysis, Electrostatics, Magnetostatics ) Yes, via modules
Automated assembly: Yes Yes Yes Yes Yes Yes Yes
Visualization: Paraview (Salome-Meca) External (export to *.vtk and many others) ElmerPost, VTK widget (but Paraview is recommended) Built-in with optional Plotly and GMV export Buil-in simple plotting + External External External or with the Scilab/Matlab/Python interface. Possibility to perform complex slices. No GLVis, VisIt GUI (built-in) Built-in
Output format: MED, ASCII *.dx *.ucd *.gnuplot *.povray *.eps *.gmv *.tecplot *.tecplot_binary *.vtk *.vtu *.svg *.hdf5 Several output formats (VTU, gmsh,...) GMV and Plotly VTK(.pvd, .vtu) and XDMF/HDF5 VTK(.pvd, .vtu) vtk, gmsh, OpenDX. Many
Boundary elements solver: Yes for Soil-Structure Interaction (Miss3D) Yes Existing but without multipole acceleration (not usable for large problems) No No No No
Use multiple meshes: Yes Yes, autorefined from same initial mesh for each variable of a coupled problem Continuity of non-conforming interfaces ensured by mortar finite elements Yes, including non-matching meshes Yes Yes including different dimensions and taking account of any transformation. No
Linear algebra
Used libs: BLAS/LAPACK, MUMPS (and SCALAPACK), PETSc Built-in + Trilinos, PETSc, and SLEPc Built-in, Hypre, Trilinos, umfpack, MUMPS, Pardiso, etc. (optional) Matlab/Octave built-in (Umfpack), supports integration with the FEniCS and OpenFOAM solvers PETSc, Trilinos/TPetra, Eigen. PETSc SuperLU, MUMPS, Built-in. PETSc, Trilinos, LASPack, SLEPc hypre, optionally PETSc, SUNDIALS, SuperLU, SuiteSparse, and more No
Iterative matrix solvers: GMRES, CG, GCR, CR, FGMRES (via PETSc) All Krylov (CG, Minres, GMRES, BiCGStab, QMRS) Built-in Krylov solvers, Krylov and multigrid solvers from external libraries Matlab/Octave built-in All Krylov LASPack serial, PETSc parallel All Krylov GMRES, CG
Preconditioners: ILU, Jacobi, Simple Precision Preconditioner (via MUMPS) Many, including algebraic multigrid (via Hypre and ML) and geometric multigrid Built-in preconditioners (ILU, diagonal, vanka, block) and Matlab/Octave built-in Basic ones (ILU, ILUT) LASPack serial, PETSc parallel Scalable AMG via hypre ILU, Jacobi
Matrix-free
matrix-free: No Yes Experimental implementation Yes No Yes No
matrix-free save memory: No Yes No Yes No
matrix-free speed-up: No Yes No Yes No
Used language
Native language: Fortran 90, Python C++ Fortran (2003 standard) Matlab / Octave C++ Python (and generated C) C++ C++ C++ C++
Bindings to language: Python No Python Python, Scilab or Matlab Python No
Other
Predefined equations: linear quasistatics, linear thermics, non-linear quasistatics, non-linear dynamics, eigen problem for mechanics, linear dynamics on physical basis and modal basis, harmonic analysis, spectral analysis Model bricks: Laplace, linear and nonlinear elasticity, Helmholtz, plasticity, Mindlin and K.L. plates, boundary conditions including contact with friction. Many
Coupled nonlinear problems: thermo-hydro-mechanical problem for porous media, coupling with Code_Saturne CFD software for Fluid-Structure Interaction via SALOME platform Yes Yes
Binary: Yes for Salome-Meca (Linux) Linux, Windows (work in progress), Mac Windows, Linux (launchpad: Debian/Ubuntu), Mac (homebrew) (all with MPI) Windows, Linux, Mac Linux (Debian\Ubuntu), Mac No. Automated installers for Linux and Mac Linux (Debian/Ubuntu) Yes
fullname: Analyse des Structures et Thermo-mécanique pour des Études et des Recherches (ASTER) Elmer finite element software Modular Finite Element Methods Library
Testing: More than 3500 verification testcases covering all features and providing easy starting points for beginners 3500+ tests More than 400 consistency tests ensuring backward compatibility Yes
Symbolic derivation of the tangent system for nonlinear problems: Yes No
Support for fictitious domain methods: Yes No
Wilkinson Prize: 2007 2015 for dolfin-adjoint No
scripting: Fully scriptable in as m-file Matlab scripts and the GUI supports exporting models in script format No
multiphysics: Arbitrary multiphysics couplings are supported Yes
Optimization Solvers: Support for TAO- and nlopt-based constrained optimization solvers incorporating gradient and Hessian information. No

References

  1. "Code_Aster Windows porting".
  2. "FEniCS Project". Retrieved 2017-06-21.
  3. "FEATool Multiphysics - Product Information". https://www.featool.com. Retrieved 2018-06-12. External link in |website= (help)
  4. Mathematica Documentation
  5. "Mathematica Quick Revision History". Retrieved 2018-03-08.
  6. "Student Products - Free Simulation Software". Ansys.com. Retrieved 2017-05-28.
  7. "NX Nastran: Siemens PLM Software". Plm.automation.siemens.com. Retrieved 2017-05-28.
  8. "Free Student License | Dlubal Software". Dlubal.com. Retrieved 2017-05-28.
  9. "Plans & Pricing - SimScale Simulation Platform". Simscale.com. Retrieved 2017-05-28.
  10. "Browsing VisualFEA (Finite Element Analysis) by Title". Ecommons.cornell.edu. 2016-03-01. Retrieved 2017-05-28.
  11. "CAEplex Plans & Pricing". caeplex.com. Retrieved 2017-06-19.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.