list of finite element software packages

{{short description|None}}

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

class="wikitable sortable" style=" width:100%;"
SoftwareFeaturesDeveloperVersionReleasedLicensePricePlatform
AbaqusFEA, Multi-physics, Implict & Explict.TriMech Group20251979PaidLinux, Windows
Agros2DMultiplatform open source application for the solution of physical problems based on the Hermes libraryUniversity of West Bohemia3.22014-03-03GNU GPLFreeLinux, 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.202022-08-01GNU GPLFreeLinux, Windows
DIANA FEAGeneral purpose finite element package utilised by civil, structural and geotechnical engineers.DIANA FEA BV, The Netherlands10.12016-11-14Proprietary commercial softwarePaidWindows, Linux
deal.IIComprehensive set of tools for finite element codes, scaling from laptops to clusters with 100,000+ cores. Written in C++, it supports all widely used finite element types, serial and parallel meshes, and h and hp adaptivity.Wolfgang Bangerth, Timo Heister, Guido Kanschat, Matthias Maier et al.9.62024-08-11LGPLFreeLinux, 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
Elmer FEMOpen source multiphysical simulation software developed by Finnish Ministry of Education's CSC, written primarily in Fortran (written in Fortran90, C and C++)CSC8.22021-03-04GPLFreeLinux, Mac OS X, Windows
FEBioFinite Elements for BiomechanicsUniversity of Utah (MRL), Columbia University (MBL)3.7June, 2022MITFreeLinux, 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){{cite web|url=https://fenicsproject.org/|title=FEniCS Project|access-date=2017-06-21}}FreeLinux, Unix, Mac OS X, Windows
FEATool MultiphysicsMATLAB FEM and PDE multiphysics simulation toolboxPrecise Simulation1.102019-05-17Proprietary EULAFree for personal use{{cite web|url=https://www.featool.com |title=FEATool Multiphysics - Product Information |access-date=2018-06-12}}Windows, Mac OS X, Linux, Unix
FreeFEM{{Cite web|url=https://freefem.org|title=FreeFem++|website=freefem.org|language=en|access-date=2018-11-30}}FreeFEM is a free and open-source parallel FEA software for multiphysics simulations. The problems are defined in terms of their variational formulation and can be easily implemented using FreeFEM language. Written in C++.Sorbonne University{{Cite web|url=http://www.sorbonne-universite.fr/en|title=Sorbonne Université {{!}} Lettres, Médecine, Sciences|website=www.sorbonne-universite.fr|language=en|access-date=2018-11-30}} and Jacques-Louis Lions Laboratory{{Cite web|url=http://sciences.sorbonne-universite.fr/en/research/modeling_and_engineering/modeling_and_engineering_laboratories/jacques_louis_lions_laboratory_ljll_umr_7598.html|title=Jacques-Louis Lions Laboratory (LJLL) - UMR 7598 - SCIENCE|last=Curie|first=UPMC - Université Pierre et Marie|website=sciences.sorbonne-universite.fr|language=en|access-date=2018-11-30}}4.2.12019-06-06LGPLFreeLinux, MacOS, Windows, Solaris
GOMA

|GOMA is an open-source, parallel, and scalable multiphysics software package for modeling and simulation of real-life physical processes, with a basis in computational fluid dynamics for problems with evolving geometry.

| Sandia National Laboratories, University of New Mexico

| [https://goma.github.io/] | 6.1

Aug 28, 2015GPL Version 2FreeLinux
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.4.22022-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
Mathematica[http://reference.wolfram.com/language/FEMDocumentation/guide/FiniteElementMethodGuide.html Mathematica Documentation]General purpose computation software.Wolfram Research{{Latest stable software release/Mathematica}}RegularlyProprietaryLinux, Mac OS X, Windows, Raspbian, Online service.
MATLAB Partial Differential Equation ToolboxMATLAB Toolbox for solving structural, thermal, electromagnetics, and other general PDEsMathWorks3.3 (R2019b)2019-09-11Proprietary 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

|4.8

|2025-04-09

|BSD

|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
MOOSEObject Oriented FE framework, written in C++Idaho National LaboratoryregularlyLGPLFreeUnix, Mac OS X
OOFEMObject Oriented Finite EleMent solver, written in C++Bořek Patzák2.52017-12-30GPL Version 2FreeUnix, Windows
OpenSeesOpen System for Earthquake Engineering Simulation3.3.02021-05-24Non CommercialFreeUnix, Linux, Windows
SESAM (FEM)Software suite for structural and hydrodynamic analysis of ships and offshore structuresDNV GLregularlyProprietary, SaaSWindows, Web browser
Z88/Z88AuroraFreeware finite element package; The present version Z88Aurora V5 offers, in addition to static strength analysis modules such as non-linear strength calculations (large displacements), simulations with non-linear materials, natural frequency, static thermal analysis and a contact module.Frank RiegZ88 V15, Z88Aurora V52017-07-17, 2019-04-01GNU GPL, CustomFreeLinux, Windows, Mac OS X
AbaqusAdvanced Franco-USA software from SIMULIA, owned by Dassault SystèmesAbaqus Inc.20232022-11Proprietary commercial softwareFree learning edition available, up to 1000 nodes{{cite web|url=https://edu.3ds.com/en/software/abaqus-learning-edition |title=Abaqus Learning Edition |website=edu.3ds.com |access-date=2022-08-25}}Linux, Windows
CONSELFCAE simulation from your browserCONSELF SRL2.92015-10SaaSFreemiumWeb browser
FreeCADParametric 3D modeler with a FEM workbench allowing it to use external solvers like CalculiX, Z88, Elmer, and OpenFOAMFreeCAD Team0.20.110 August 2022|LGPL 2FreeLinux, Windows, Mac OS X
ADINAFinite element software for structural, fluid, heat transfer, electromagnetic, and multiphysics problems, including fluid-structure interaction and thermo-mechanical couplingAdina R&DProprietary commercial software
Autodesk SimulationFinite Element software of AutodeskAutodeskProprietary commercial softwareWindows
ANSYSUS-based and -developed full CAE software packageAnsys Inc.2022 R22022-07-28Proprietary commercial softwareFree student version available, up to 32,000 nodes/elements{{cite web|url=https://www.ansys.com/academic/students |title=Student Products - Free Simulation Software |website=Ansys.com |access-date=2017-05-28}}Windows, Linux
COMSOL MultiphysicsCOMSOL Multiphysics Finite Element Analysis Software (formerly FEMLAB)COMSOL Inc.6.12022-11-01Proprietary EULALinux, Mac OS X, Windows, Web browser
CosmosWorksPart of SolidWorksDassault Systèmes SolidWorks Corp.Proprietary commercial softwareWindows
QuickfieldEM, Heat Transfer and Stress Analysis {{cite web | url=http://quickfield.com/pack.htm | title=Packages --QuickField FEA Software }}Tera Analysis Ltd6.4 {{cite web | url=http://quickfield.com/allnews/qf64.htm | title=QuickField 6.4 --QuickField FEA Software }}2020-04-17Proprietary EULAFree Student Edition available{{cite web | url=http://www.quickfield.com/free_soft.htm | title=QuickField Student Edition free download --QuickField FEA Software }}Windows
Pam Crash

|Best used for explicit dynamics / crash analysis

|ESI

|15.5.1

|2020-03-05

|Proprietary commercial software

|

|Linux, Windows

LS-DYNABest known for explicit dynamics / crash analysisLSTC - Livermore Software Technology CorporationR10.12020Proprietary commercial softwareLinux, Windows
MecwayStructural, heat transfer, electrostatic, acousticMecway Limited20.02023-07Proprietary commercial softwareFree edition available, up to 1000 nodes{{cite web|url=https://mecway.com/download/ |title=Mecway Download |website=mecway.com |access-date=2023-07-23}}|Windows
NastranOriginally developed for NASA, now available commercially from several software companiesMSC NASTRAN, Siemens PLM NX Nastran{{cite web |title=NX Nastran: Siemens PLM Software |url=https://plm.sw.siemens.com/en-US/simcenter/mechanical-simulation/nastran/ |access-date=2017-05-28 |website=Plm.automation.siemens.com}}20142014Proprietary EULALinux, Mac OS X, Windows
RFEM3D finite element analysis softwareDlubal Software6.04.00052023-10-30Proprietary commercial softwareFree student license available{{cite web|url=https://www.dlubal.com/en/education/students/free-structural-analysis-software-for-students |title=Free Student License {{pipe}} Dlubal Software |website=Dlubal.com |access-date=2017-05-28}}Windows
SimScaleGerman 100% web-based CAE platformSimScale GmbH142013-07SaaSFree community version available{{cite web|url=https://www.simscale.com/product/pricing |title=Plans & Pricing - SimScale Simulation Platform |website=Simscale.com |access-date=2017-05-28}}Web browser
VisualFEAFinite element software for structural, geotechnical, heat transfer and seepage analysisIntuition Software5.112016-01Proprietary softwareFree educational version available{{cite web|url=https://ecommons.cornell.edu/handle/1813/43749/browse?type=title |title=Browsing VisualFEA (Finite Element Analysis) by Title |website=Ecommons.cornell.edu |date=2016-03-01 |access-date=2017-05-28}}Mac OS X, Windows
JCMsuiteFinite element software for the analysis of electromagnetic waves, elasticity and heat conductionJCMwave GmbH5.4.32023-03-09Proprietary EULALinux, Windows
RadiossBest known for explicit dynamics simulationsAltair EngineeringProprietary commercial software; OpenRadioss: AGPL-3.0Open-source version (OpenRadioss) availableLinux, Windows
JMAG2D and 3D finite element analysis software for electromagnetic field, thermal, structuralJSOL18.12019-06Proprietary commercial softwareEducation pack available|Linux, Windows, Web browser
SDC Verifier

|An extension for Ansys Mechanical, Femap and Simcenter with out of the box predefined standards on fatigue, stiffener and plate buckling, beam member checks, joint checks and weld. Such as AISC 360-10, API 2A RP, ISO 19902, Norsok N004, DIN15018, Eurocode 3, FEM 1.001, ABS 2004, ABS 2014, DNV RP-C201 2010, DNV CN30/1995, FKM etc.

|SDC Verifier

|2021 R.2

|2021-11

|Proprietary commercial software

|Student version available

|Windows

Feature comparison

This table is contributed by a FEA-compare[https://github.com/kostyfisik/FEA-compare GitHub] For ease of maintenance of this table, please, first consider to contribute changes directly to the project instead of editing the table below, however, direct wiki edits are also valid and will be backported project, which provides an alternative view of this table with the first row and Feature column being fixed for ease of table exploration.

class="wikitable sortable"
Feature

!COMSOL Multiphysics

!MFEM

!GetFEM++

!deal.II

!Elmer

!MOOSE

!FEniCS Project

!FEATool Multiphysics

license:

| Proprietary

| BSD

| LGPL

| LGPL

| GNU (L)GPL

| LGPL

| GNU GPL\LGPL

| Proprietary

GUI:

| Yes

| No

| No

| No

| Yes, partial functionality

| Yes

| Postprocessing only

| Matlab and Octave GUI

Documentation:

| user guides, reference manuals, API documentation, application libraries with solved examples, online tutorials

| examples, miniapps, Doxygen, online documentation

| User doc, tutorials, demos, developer's guide

| extensive tutorials, video lectures, Doxygen

| ElmerSolver Manual, Elmer Models Manual, ElmerGUI Tutorials, etc. LaTeX documentation available in PDFs

| Doxygen, Markdown, example codes, test inputs

| Tutorial, demos, book

| Online FEATool documentation, tutorials, and model examples

colspan="100495" | Mesh
mesh elements:

| intervals (1D); triangles, quadrilaterals (2D and 3D boundaries); tetrahedra, pyramids, prisms, hexahedra (3d)

| segments, triangles, quadrilaterals, tetrahedra, hexahedra, prisms, pyramids

| intervals, triangles, tetrahedra, quads, hexes, prisms, some 4D elements, easily extensible.

| intervals (1D); triangles, quadrilaterals (2D and 3D boundaries); tetrahedra, pyramids, prisms, hexahedra (3d)

| intervals (1d), triangles, quadrilaterals (2d), tetrahedra, pyramids, wedges, hexahedra (3d)

| Tria, Quad, Tetra, Prism, etc.

| intervals, triangles, tetrahedra (quads, hexes - work in progress)

| intervals, triangles, tetrahedra, quads, hexes

mesh high-order mapping:

| Any? Second-order is the default for most cases.

| arbitrary-order meshes and NURBS meshes

|

| any order

| Yes, for Lagrange elements

|

| (Any - work in progress)

|

mesh generation:

| Built-in

| meshing miniapps and target-matrix mesh optimization

| experimental in any dimension + predefined shapes + Extrusion.

| external mesh generators via mesh exchange files, internally generated meshes for simple shapes, internal interfaces to gmsh

| Limited own meshing capabilities with ElmerGrid and netgen/tetgen APIs. Internal extrusion and mesh multiplication on parallel level.

| Built-in

| Yes, Constructive Solid Geometry (CSG) supported via mshr (CGAL and Tetgen used as backends)

| Integrated DistMesh, Gmsh, and Triangle GUI and CLI interfaces

mesh adaptive-refinement:

| Yes, full adaptive mesh refinement (h-refinement); no p-refinement but several higher-order elements are included. Mesh adaptation on the whole or parts of the geometry, for stationary, eigenvalue, and time-dependent simulations and by rebuilding the entire mesh or refining chosen mesh elements.

| conforming and non-conforming adaptive refinement for tensor product and simplex meshes

| Only h

| h-, p-, and hp-adaptivity for both continuous and discontinuous finite elements

| h-refinement for selected equations

| h, p, mached hp, singular hp

| Only h

|

mesh input/output:

| STL, PLY, NASTRAN, 3MF, VRML (import only), native format

| VTK, Gmsh, CUBIT, NETGEN, TrueGrid, and MFEM format

| gmsh, GiD, Ansys

| DB, XDA, GMSH, Tecplot, UNV, UCD, Abaqus, VTK, Assimp, ExodusII

|

| ExodusII, Nemesis, Abaqus, Ensight, Gmsh, GMV, OFF, TecPlot TetGen, etc.

| XDMF (and FEniCS XML)

| FeatFlow, FEniCS XML, GiD, Gmsh, GMV, Triangle

mesh check:

| Avoids inverted and degenerated elements; various mesh quality measures

|

| ?

|

|

|

| intersections (collision testing)

|

CAD files support:

| STEP, IGES, others.

|

| No

| IGES, STEP (with OpenCascade wrapper)

| Limited support via OpenCASCADE in ElmerGUI

|

|

|

mesh operation:

| Merge, copy, refine; convert; boundary layers; extrude, revolve, sweep, loft for 3D geometries

|

| Extrude, rotate, translation, refine

| Extrude, rotate, translation, refine

|

| Merge, join, extrude, modular mesh modifier system

|

| Merge, join, extrude, and revolve operations

colspan="100495" | Parallel possibilities
automatic mesh partitioning:

|

| METIS and space-filling curve partitioning

| Yes (METIS)

| yes, shared (METIS/Parmetis/Zoltan) and distributed (p4est)

| partitioning with ElmerGrid using Metis or geometric division, internal partitioning in ElmerSolver using Zoltan

| Metis, Parmetis, Hilbert (shared and distributed meshes)

| Yes (ParMETIS and SCOTCH)

|

MPI:

| Yes

| Yes

| Yes

| Yes (up to 310k processes)

| Yes

| Yes

| Yes

|

threads:

| Supports multithreading

| Using OpenMP, RAJA, or OCCA backends

|

| Threading Build Blocks

| threadsafe, some modules threaded and vectorized.

| Yes

|

|

OpenMP:

| Yes

| Yes

| Yes

| Yes (vectorization only)

| Yes, partially

| Yes

|

|

OpenCL:

| No

| Through OCCA backends

| No

| No

| No

|

|

|

CUDA:

| No

| Yes

| No

| since 9.1, see step-64 for matrix-free GPU+MPI example

| Preliminary API for sparse linear algebra

|

|

|

colspan="100495" | Solver
Dimension:

| 0D, 1D, 2D, 3D (can coexist)

| 1D/2D/3D

| 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

FE:

| Lagrange (order 1-7), Hermite (order 3-7), discontinuous Lagrange (order 0-7), bubble, Gauss point, serendipity, Nedelec

| Arbitrary-order Lagrange elements (continuous and discontinuous), Bernstein basis, Nedelec and Raviart-Thomas elements, support for NURBS spaces (IGA)

| 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, Hierarchic, Discontinuous Monomials, Nedelec

| Lagrange, BDM, RT, Nedelic, Crouzeix-Raviart, all simplex elements in the Periodic Table (femtable.org), any

| Lagrange (1st-5th order), Crouzeix-Raviart, Hermite

Quadrature:

|

| Gauss-Legendre, Gauss-Lobatto, and uniform quadrature rules.

|

| Gauss-Legendre, Gauss-Lobatto, midpoint, trapezoidal, Simpson, Milne and Weddle (closed Newton-Cotes for 4 and 7 order polynomials), 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, BDF, Runge-Kutta (RK34, Cash-Karp 5, Dormand-Prince 5), and generalized alpha time stepping

| Runge-Kutta, SSP, SDIRK, Adams-Bashforth, Adams-Moulton, Symplectic Integration Algorithm, Newmark method, Generalized-alpha method

|

| Any user implemented and/or from a set of predefined. 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.

|

| implicit-euler explicit-euler crank-nicolson bdf2 explicit-midpoint dirk explicit-tvd-rk-2 newmark-beta

|

| BE, CN, and Fractional-Step-Theta schemes

Predefined equations:

| Incompressible Navier-Stokes, heat transfer, convection-diffusion-reaction, linear elasticity, electromagnetics, pressure acoustics, Darcy's law, and support for custom PDE equations

| Miniapps and examples for Laplace, elasticity, Maxwell, Darcy, advection, Euler, Helmholtz, and others

|

| The tutorial provides examples for many different equations

| Around 50 predefined solvers

| Phase Field, Solid Mechanics, Navier-Stokes, Porous Flow, Level Set, Chemical Reactions, Heat Conduction, support for custom PDEs

|

| Incompressible Navier-Stokes, Heat transfer, convection-diffusion-reaction, linear elasticity, electromagnetics, Darcy's, Brinkman equations, and support for custom PDE equations

Automated assembly:

|

|

| Yes

|

|

|

| Yes

| Yes

Visualization:

| Built-in

| In situ visualization with GLVis. Export to VisIt and ParaView.

| External or with the Scilab/Matlab/Python interface. Possibility to perform complex slices.

| External (export to .vtk/.vtu and many others)

| ElmerGUI comes VTK based visualization tool (but Paraview is recommended)

| Yes, VTK-based GUI, Python visualizatuion library

| Buil-in simple plotting + External

| Built-in with optional Plotly and GMV export

Output format:

| Text and unstructured VTK-file for data. BMP, PNG, GIF, TIFF, JPEG, glTF, Windows clipboard, Microsoft PowerPoint (for images). GIF, Flash, AVI, WebM (for animations). Touchstone data (for networks).

| VisIt, ParaView (VTU), GLVis format

| vtk, gmsh, OpenDX.

| *.dx *.ucd *.gnuplot *.povray *.eps *.gmv *.tecplot *.tecplot_binary *.vtk *.vtu *.svg *.hdf5

| Several output formats (VTU, gmsh,...)

| ExodusII, Xdr, etc.

| VTK(.pvd, .vtu) and XDMF/HDF5

| GMV and Plotly

Boundary elements solver:

| Yes

|

| No

| Yes

| Existing but without multipole acceleration (not usable for large problems)

|

| No

|

Use multiple meshes:

|

|

| 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

|

colspan="100495" | Linear algebra
Used libs:

| MUMPS, PARDISO, SPOOLES; ARPACK, BLAS, BLIS, Intel MKL, LAPACK

| Built-in and integrated with hypre. Optional integrations with PETSc, Ginkgo, SuperLU, Suite Sparse, libCEED, and more

| SuperLU, MUMPS, Built-in.

| Built-in + Trilinos, PETSc, and SLEPc

| Built-in, Hypre, Trilinos, umfpack, MUMPS, Pardiso, etc. (optional)

| PETSc, Trilinos, LASPack, SLEPc

| PETSc, Trilinos/TPetra, Eigen.

| Matlab/Octave built-in (Umfpack), supports integration with the FEniCS and FeatFlow solvers

Iterative matrix solvers:

| GMRES, FGMRES, BiCGStab, conjugate gradients, TFQMR, or any precoditioner. Algebraic and geometric multigrid. Domain decomponsition (Schwarz, Schur)

| Krylov methods (CG, MINRES, GMRES, BiCGStab)

| All Krylov

| All Krylov (CG, Minres, GMRES, BiCGStab, QMRS)

| Built-in Krylov solvers, Krylov and multigrid solvers from external libraries

| LASPack serial, PETSc parallel

|

| Matlab/Octave built-in

Preconditioners:

| Direct preconditioner, Krylov, SOR, SSOR, SORU, SOR line, SOR gauge, SOR vector, Jacobi, incomplete and hierarchical LU, SAI, SCGS, Vanka, AMS

| Algebraic, Geometric, and p-multigrid. Block ILU preconditioning. Support for hypre's AMS and ADS preconditioners for H(curl) and H(div).

| Basic ones (ILU, ILUT)

| Many, including algebraic multigrid (via Hypre and ML) and geometric multigrid

| Built-in preconditioners (ILU, diagonal, vanka, block) and

| LASPack serial, PETSc parallel, algebraic multigrid (via Hypre)

|

| Matlab/Octave built-in

colspan="100495" | Matrix-free
matrix-free:

| Yes

| Yes

| No

| Yes

| Experimental implementation

|

|

|

matrix-free save memory:

|

| Yes

| No

| Yes

|

|

|

|

matrix-free speed-up:

|

| Yes

| No

| Yes

|

|

|

|

colspan="100495" | Used language
Native language:

| Primarily C++ and Java

| C++

| C++

| C++

| Fortran (2008 standard)

| C++

| C++

| Matlab / Octave

Bindings to language:

| Full API for Java and Matlab (the latter via add-on product)

| PyMFEM (Python)

| Python, Scilab or Matlab

| Python bindings to some functionality

|

|

| Python

|

colspan="100495" | Other
Predefined equations:

| Yes, many predefined physics and multiphysics interfaces in COMSOL Multiphysics and its add-ons.

| A large number of Bilinear and Linear forms

| Model bricks: Laplace, linear and nonlinear elasticity, Helmholtz, plasticity, Mindlin and K.L. plates, boundary conditions including contact with friction.

|

|

|

|

|

Coupled nonlinear problems:

| Yes

| Yes

| Yes

|

|

|

|

|

Binary:

| Windows, Linux, macOS

| Yes, via OpenHPC. Also available as part of Spack, xSDK, E4S, FASTMath, RADIUSS and CEED.

| Linux (Debian/Ubuntu)

| Linux, Windows, Mac

| Windows, Linux (launchpad: Debian/Ubuntu), Mac (homebrew) (all with MPI)

|

| Linux (Debian\Ubuntu), Mac

| Windows, Linux, Mac

fullname:

|

| Modular Finite Element Methods

|

|

| Elmer finite element software

|

|

|

Testing:

|

| Comprehensive unit and regression tests. Continuous integration through Travis CI

|

| 13,000+ tests

| More than 700 consistency tests ensuring backward compatibility

| 4300+ tests, Testing as a service for derived applications

|

|

scripting:

| Full API for Java and, through add-on product, Matlab

|

|

|

|

| Runtime parsed mathematical expression in input files

|

| Fully scriptable in as m-file Matlab scripts and the GUI supports exporting models in script format

automatic differentiation:

| Yes

| Yes

|

| Yes

|

| Forward-mode for Jacobian computation, symbolic differentiation capabilities

|

|

multiphysics:

| Yes, full custom and predefined multiphysics couplings between all kinds of physics

| Arbitrary multiphysics couplings are supported

|

| Yes

|

| Arbitrary multiphysics couplings are supported

|

| Arbitrary multiphysics couplings are supported

Optimization Solvers:

| With the Optimization Module add-on: Coordinate search, Nelder-Mead, Monte Carlo, BOBYQA, COBYLA, SNOPT, MMA, Levenberg-Marquardt

| Integration with HiOp. Built-in SLBQP optimizer

|

|

|

| Support for TAO- and nlopt-based constrained optimization solvers incorporating gradient and Hessian information.

|

|

HIP:

|

| Yes

|

|

|

|

|

|

Symbolic derivation of the tangent system for nonlinear problems:

|

|

| Yes

| Yes

|

|

|

|

Support for fictitious domain methods:

|

|

| Yes

| Yes

|

|

|

|

References