Jump to content

List of finite element software packages: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
m updated latets release info for FEBio
Line 22: Line 22:
| [[Elmer FEM solver|Elmer]] || Open source multiphysical simulation software developed by Finnish Ministry of Education's CSC, written primarily in Fortran (written in Fortran90, C and C++) || [[CSC – IT Center for Science|CSC]] || 8.2|| 2016-03-15 || [[GPL]] || Free || [[Linux]], [[Mac OS X]], [[Windows]]
| [[Elmer FEM solver|Elmer]] || Open source multiphysical simulation software developed by Finnish Ministry of Education's CSC, written primarily in Fortran (written in Fortran90, C and C++) || [[CSC – IT Center for Science|CSC]] || 8.2|| 2016-03-15 || [[GPL]] || Free || [[Linux]], [[Mac OS X]], [[Windows]]
|-
|-
| [[Febio|FEBio]] || Finite Elements for Biomechanics || University of Utah, MRL || 2.5 || 2015-10-09 || Custom || Free || [[Linux]], [[Mac OS X]], [[Windows]]
| [[Febio|FEBio]] || Finite Elements for Biomechanics || University of Utah (MRL), Columbia University (MBL) || 2.7 || April, 2018 || Custom || Free || [[Linux]], [[Mac OS X]], [[Windows]]
|-
|-
| [[FEniCS Project]] || Software package developed by American and European researchers with the goal to enable automated solution of differential equations || FEniCS Team || 1.6.0 || 2015-07-29 || [[LGPL]] (Core) & [[GPL]]/[[LGPL]] (Non-Core)<ref>{{cite web|url=https://fenicsproject.org/|title=FEniCS Project|access-date=2017-06-21}}</ref>|| Free || [[Linux]], [[Unix]], [[Mac OS X]], [[Windows]]
| [[FEniCS Project]] || Software package developed by American and European researchers with the goal to enable automated solution of differential equations || FEniCS Team || 1.6.0 || 2015-07-29 || [[LGPL]] (Core) & [[GPL]]/[[LGPL]] (Non-Core)<ref>{{cite web|url=https://fenicsproject.org/|title=FEniCS Project|access-date=2017-06-21}}</ref>|| Free || [[Linux]], [[Unix]], [[Mac OS X]], [[Windows]]

Revision as of 20:20, 27 April 2018

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

Software Features Developer Version Released License Price Platform
Agros2D Multiplatform open source application for the solution of physical problems based on the Hermes library University of West Bohemia 3.2 2014-03-03 GNU GPL Free Linux, Windows
Analysis3D [1] Very powerful but easy to use FEM software for structural engineering of 2D and 3D frames and trusses Cuylaerts Engineering 2.05 2018 Proprietary commercial software Free educational version available [2] Linux, Windows
CalculiX It 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 applications Guido Dhondt, Klaus Wittig 2.13 2017-10-08 GNU GPL Free Linux, Windows
Code_Aster Open source software for structural mechanics EDF 14.0 2017-08-29 GNU GPL Free Linux, Windows[1]
DIANA FEA General purpose finite element package utilised by civil, structural and geotechnical engineers. DIANA FEA BV, The Netherlands 10.1 2016-11-14 Commercial Paid Windows, Linux
deal.II Comprehensive 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. 8.4.1 2015-08-01 QPL up to release 7.2, LGPL after that Free Linux, Unix, Mac OS X, Windows
DUNE Distributed and Unified Numerics Environment, written in C++ DUNE Developer team 2.4.1 2016-02-29 GPL Version 2 with Run-Time Exception Free Linux, Unix, Mac OS X
Elmer Open source multiphysical simulation software developed by Finnish Ministry of Education's CSC, written primarily in Fortran (written in Fortran90, C and C++) CSC 8.2 2016-03-15 GPL Free Linux, Mac OS X, Windows
FEBio Finite Elements for Biomechanics University of Utah (MRL), Columbia University (MBL) 2.7 April, 2018 Custom Free Linux, Mac OS X, Windows
FEniCS Project Software package developed by American and European researchers with the goal to enable automated solution of differential equations FEniCS Team 1.6.0 2015-07-29 LGPL (Core) & GPL/LGPL (Non-Core)[2] Free Linux, Unix, Mac OS X, Windows
FeatFlow High-performance computational fluid dynamics CFD FEM solver FEAST Team 1.3 Open Source Free Linux, Unix, Mac OS X
FEATool Multiphysics Matlab and GNU Octave FEM PDE simulation toolbox Precise Simulation 1.6 2017-03-17 Proprietary EULA Free for personal use, up to 2,000 nodes/6,000 unknowns[3] Windows, Mac OS X, Linux, Unix
Femap Finite element pre- and post-processor Siemens PLM Software 11.4.0 2016-09-16 Proprietary commercial software Windows
FreeFem++ Software written in C++ for rapid testing and finite element simulations. The problem is defined in terms of its variational formulation Université Pierre et Marie Curie and Laboratoire Jacques-Louis Lions 3.45 2016-03-11 GPL Free Linux, Mac OS X, Windows, Solaris
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 Pommier 5.0 2015-07 LGPL Free Unix, Mac OS X, Windows
Hermes Project Modular C/C++ library for rapid development of space- and space-time adaptive hp-FEM solvers hp-FEM group 3.0 2014-03-01 LGPL Free Linux, Unix, Mac OS X, Windows
HiFlow3 HiFlow3 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 Team 1.5 2015 LGPL Free Linux, Unix, Mac OS X
JuliaFEM The 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 contributors 0.3.3 2015-05 MIT Free Linux, Unix, Mac OS X, Windows
Mathematica[4] General purpose computation software. Wolfram Research 14.1.0 (July 31, 2024; 14 days ago (2024-07-31)) [±][5] Regularly Proprietary Linux, Mac OS X, Windows, Raspbian, Online service.
MoFEM JosePH Mesh Oriented hp-FE code, written in C++ University of Glasgow 0.6.8 2017-11-16 LGPL Free Unix, Mac OS X
OOFEM Object Oriented Finite EleMent solver, written in C++ Bořek Patzák 2.4 2016-02-15 GPL Version 2 Free Unix, Windows
OpenFOAM Primarily a finite volume code for CFD, but includes a small amount of finite element analysis through tetrahedral decomposition of arbitrary grids OpenFOAM Foundation 4.1 2016-10-13 GPL Free Unix, Linux
OpenSees Open System for Earthquake Engineering Simulation Non Commercial Free Unix, Linux, Windows
Z88/Z88Aurora Freeware 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 Rieg Z88 V14, Z88Aurora V3 2015-03 Custom Free Linux, Windows, Mac OS X
Abaqus Advanced Franco-USA software from SIMULIA, owned by Dassault Systemes Abaqus Inc. 6.14-AP 2014-11 Proprietary commercial software Linux, Windows
CONSELF CAE simulation from your browser CONSELF SRL 2.9 2015-10 SaaS Freemium Web browser
FreeCAD FreeCAD is a parametric 3D modeler with add-on FEM module 0.16.670 2016-07 LGPL Linux, Windows, Mac OS X
HyperMesh Finite element pre- and post-processor.

(Hypermesh is a product within the HyperWorks suite)

Altair Proprietary commercial software Linux, Mac OS X, Windows
ADINA Finite element software for structural, fluid, heat transfer, electromagnetic, and multiphysics problems, including fluid-structure interaction and thermo-mechanical coupling Developer Proprietary commercial software
Advance Design BIM software for FEM structural analysis, including international design eurocodes GRAITEC 2014 2013-09 Proprietary commercial software
Autodesk Simulation Finite Element software of Autodesk Autodesk Proprietary commercial software Windows
ANSYS US-based and -developed full CAE software package Ansys Inc. 18.2 2017-08-21 Proprietary commercial software Free student version available, up to 32,000 nodes/elements[6] Windows, Linux
KEYCREATOR Analysis KEYCREATOR Analysis Multiphysics Finite Element Analysis FEMLAB KEYCREATOR Inc. 5.3 2017-04-25 KUBOTEK EULA Windows
COMSOL Multiphysics COMSOL Multiphysics Finite Element Analysis Software (formerly FEMLAB) COMSOL Inc. 5.3 2017-04-25 Proprietary EULA Linux, Mac OS X, Windows, Web browser
CosmosWorks Part of SolidWorks Dassault Systèmes SolidWorks Corp. Proprietary commercial software Windows
Quickfield Tor Cooperative 6.1 2015-12-22 Proprietary EULA Windows
LS-DYNA Best known for explicit dynamics / crash analysis LSTC - Livermore Software Technology Corporation R8.0 2015-03 Proprietary commercial software Linux, Windows
Mecway Inexpensive, comprehensive, user friendly FEA package with a focus on mechanical and thermal simulation; CalculiX interoperability Mecway Ltd. 8.0 2017-11-02 Proprietary commercial software Free demo version up to 1,000 nodes; license: $350 US (one user) Windows
Nastran Originally developed for NASA, now available commercially from several software companies MSC NASTRAN, Siemens PLM NX Nastran[7] 2014 2014 Proprietary EULA Linux, Mac OS X, Windows
RFEM 3D finite element analysis software Dlubal Software 5.06 2016-02 Proprietary commercial software Free student license available[8] Windows
SimScale German 100% web-based CAE platform SimScale GmbH 14 2013-07 SaaS Free community version available[9] Web browser
VisualFEA Finite element software for structural, geotechnical, heat transfer and seepage analysis Intuition Software 5.11 2016-01 Proprietary software Free educational version available[10] Mac OS X, Windows
JCMsuite Finite element software for the analysis of electromagnetic waves, elasticity and heat conduction JCMwave GmbH 3.6.1 2017-01-27 Proprietary EULA Linux, Windows
CAEplex A really easy web-interface for FEA Seamplex N/A 2017-02 SaaS for GNU GPL Back-end Free plan available[11] Web browser
JMAG 2D and 3D finite element analysis software for electromagnetic field, thermal, structural JSOL 17.0 2017-12 Proprietary commercial software Linux, 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 GetFEM++ Deal II Elmerfem FEniCS FEATool Multiphysics Firedrake libMesh COMSOL(R)
website: https://www.code-aster.org http://home.gna.org/getfem/ [www.dealii.org www.dealii.org] https://www.csc.fi/elmer http://fenicsproject.org/ https://www.featool.com/ http://firedrakeproject.org/ https://libmesh.github.io/ https://www.comsol.com
license: GPL LGPL LGPL GNU (L)GPL GNU GPL\LGPL Proprietary GNU LGPL GPL Proprietary
GUI: Yes (Salome-Meca) No No Yes, partial functionality Postprocessing only Matlab and Octave GUI No No Yes
Community: discussion forum, Bitbucket forge Mailing list Google Group 1000's of users, discussion forum, mailing list Mailing list Mailing list Mailing list and IRC channel mail lists
Documentation: user manual, theory manual, verification manual, developer manual (more than 25000 pages both in French and English with machine translation) User doc, tutorials, demos, developer's guide 50+ tutorials, 50+ video lectures, Doxygen ElmerSolver Manual, Elmer Models Manual, ElmerGUI Tutorials, etc. (>700 pages of LaTeX documentation) Tutorial, demos (how many?), 700-page book Online FEATool documentation, ~600 pages, ~20 step-by-step tutorials, and 85 m-script model examples Manual, demos, API reference Doxygen, 40+ example codes
Mesh
mesh elements: segments (1d), triangles, quadrilaterals (2d), tetrahedra, pyramids, wedges, hexahedra (3d) intervals, triangles, tetrahedra, quads, hexes, prisms, some 4D elements, easily extensible. intervals (1d), quads (2d), and hexes (3d) only intervals (1d), triangles, quadrilaterals (2d), tetrahedra, pyramids, wedges, hexahedra (3d) intervals, triangles, tetrahedra (quads, hexes - work in progress) intervals, triangles, tetrahedra, quads, hexes intervals, triangles, tetrahedra, quads, plus extruded meshes of hexes and wedges Tria, Quad, Tetra, Prism, etc.
mesh high-order mapping: Quadratic any order Yes, for Lagrange elements (Any - work in progress) (Any - using appropriate branches) Any? Second-order is the default for most cases.
mesh generation: Yes (Salome-Meca) Experimental in any dimension + predefined shapes + Extrusion. external+predefined shapes Limited own meshing capabilities with ElmerGrid and netgen/tetgen APIs. Internal extrusion and mesh multiplication on parallel level. Yes, Constructive Solid Geometry (CSG) supported via mshr (CGAL and Tetgen used as backends) Integrated DistMesh, Gmsh, and Triangle GUI and CLI interfaces External + predefined shapes. Internal mesh extrusion operation. Built-in Built-in
mesh adaptive-refinement: h-refinement Only h h, p, and hp for CG and DG h-refinement for selected equations Only h h, p, mached hp, singular hp generate new mesh with variable density, no(?) p-refinement.
mesh input\output: unv, gmsh, MED, aster gmsh, GiD, Ansys XDMF (and FEniCS XML) FeatFlow, FEniCS XML, GiD, Gmsh, GMV, Triangle
mesh check: limited features (double nodes, degenerated elements) ? intersections (collision testing)
CAD files support: Yes (Salome-Meca) No IGES, STEP (with OpenCascade wrapper) Limited support via OpenCASCADE in ElmerGUI STEP, IGES and many others.
mesh operation: Yes (Salome-Meca) Extrude, rotate, translation, refine Merge, join, extrude, and revolve operations distort/translate/rotate/scale
Parallel possibilities
automatic mesh partitioning: Yes for parallel calculations (PTScotch, ParMetis) Yes (METIS) yes, shared (METIS/Parmetis) and distributed (p4est) partitioning with ElmerGrid using Metis or geometric division Yes (ParMETIS and SCOTCH) Yes
MPI: Yes 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 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
OpenMP: Yes Yes Yes (vectorization only) Yes, partially Limited
OpenCL: No No No No
CUDA: No No work in progress No
Solver
Dimension: 0D/1D/2D/3D (dimensions may coexist) Any, possibility to mix and couple problem of different dimension 1/2/3D 1D/2D/3D (dimensions may coexist) 1/2/3D 1/2/3D 1/2/3D 2D\3D
FE: Lagrange elements (isoparametric), mixed elements, structural mechanics elements (beam, plate) Continuous and discontinuous Lagrange, Hermite, Argyris, Morley, Nedelec, Raviart-Thomas, composite elements (HCT, FVS), Hierarchical elements, Xfem, easily extensible. 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, BDM, RT, Nedelic, Crouzeix-Raviart, all simplex elements in the Periodic Table (femtable.org), any Lagrange (1st-5th order), Crouzeix-Raviart, Hermite Lagrange, BDM, RT, Nedelec, all simplex elements and Q- quad elements in the Periodic Table, any Lagrange, Hierarchic, Discontinuous Monomials 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.
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 (?) 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, via modules
Automated assembly: Yes Yes Yes Yes Yes
Visualization: Paraview (Salome-Meca) External or with the Scilab/Matlab/Python interface. Possibility to perform complex slices. External (export to *.vtk and many others) ElmerPost, VTK widget (but Paraview is recommended) Buil-in simple plotting + External Built-in with optional Plotly and GMV export External No Built-in
Output format: MED, ASCII vtk, gmsh, OpenDX. *.dx *.ucd *.gnuplot *.povray *.eps *.gmv *.tecplot *.tecplot_binary *.vtk *.vtu *.svg *.hdf5 Several output formats (VTU, gmsh,...) VTK(.pvd, .vtu) and XDMF/HDF5 GMV and Plotly VTK(.pvd, .vtu)
Boundary elements solver: Yes for Soil-Structure Interaction (Miss3D) No Yes Existing but without multipole acceleration (not usable for large problems) No No
Use multiple meshes: Yes Yes including different dimensions and taking account of any transformation. 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
Linear algebra
Used libs: BLAS/LAPACK, MUMPS (and SCALAPACK), PETSc SuperLU, MUMPS, Built-in. Built-in + Trilinos, PETSc, and SLEPc Built-in, Hypre, Trilinos, umfpack, MUMPS, Pardiso, etc. (optional) PETSc, Trilinos/TPetra, Eigen. Matlab/Octave built-in (Umfpack), supports integration with the FEniCS and FeatFlow solvers PETSc PETSc, Trilinos, LASPack, SLEPc
Iterative matrix solvers: GMRES, CG, GCR, CR, FGMRES (via PETSc) All Krylov All Krylov (CG, Minres, GMRES, BiCGStab, QMRS) Built-in Krylov solvers, Krylov and multigrid solvers from external libraries Matlab/Octave built-in LASPack serial, PETSc parallel
Preconditioners: ILU, Jacobi, Simple Precision Preconditioner (via MUMPS) Basic ones (ILU, ILUT) Many, including algebraic multigrid (via Hypre and ML) and geometric multigrid Built-in preconditioners (ILU, diagonal, vanka, block) and Matlab/Octave built-in LASPack serial, PETSc parallel
Matrix-free
matrix-free: No No Yes Experimental implementation Yes
matrix-free save memory: No No Yes
matrix-free speed-up: No No Yes
Used language
Native language: Fortran 90, Python C++ C++ Fortran (2003 standard) C++ Matlab / Octave Python (and generated C) C++
Bindings to language: Python Python, Scilab or Matlab No Python
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.
Coupled nonlinear problems: thermo-hydro-mechanical problem for porous media, coupling with Code_Saturne CFD software for Fluid-Structure Interaction via SALOME platform Yes
Binary: Yes for Salome-Meca (Linux) Linux (Debian/Ubuntu) Linux, Windows (work in progress), Mac Windows, Linux (launchpad: Debian/Ubuntu), Mac (homebrew) (all with MPI) Linux (Debian\Ubuntu), Mac Windows, Linux, Mac No. Automated installers for Linux and Mac
fullname: Analyse des Structures et Thermo-mécanique pour des Études et des Recherches (ASTER) Elmer finite element software
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
Symbolic derivation of the tangent system for nonlinear problems: Yes
Support for fictitious domain methods: Yes
Wilkinson Prize: 2007 2015 for dolfin-adjoint
scripting: Fully scriptable in as m-file Matlab scripts and the GUI supports exporting models in script format
multiphysics: Arbitrary multiphysics couplings are supported
Optimization Solvers: Support for TAO- and nlopt-based constrained optimization solvers incorporating gradient and Hessian information.

References

  1. ^ "Code_Aster Windows porting".
  2. ^ "FEniCS Project". Retrieved 2017-06-21.
  3. ^ "FEATool Multiphysics - Product Information". Featool.com. Retrieved 2017-05-28.
  4. ^ Mathematica Documentation
  5. ^ "Yet More New Ideas and New Functions: Launching Version 14.1 of Wolfram Language & Mathematica". Retrieved 2024-07-31.
  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.