FEM Solver

Preface
This page collects information on the finite element solvers used by the FEM Workbench. The interface between a solver and FreeCAD in pre-processing as well as post-processing is done through text files. This means that in theory any solver which can be configured and controlled by means of text files is able to work together with FreeCAD; a proper parser and writer of input and output files needs to be programmed for this communication to work.

Available solvers in various Linux distributions
The FreeCAD-dependencies repository tracks the dependencies of FreeCAD across many Linux distribution. The FEM.md page looks at available open source FEA solvers that could be used with the FEM Workbench. The page shows the version of a particular solver in the repository of a particular Linux distribution. This information is useful to know if a solver is current, or out of date and must be upgraded.

The information is also discussed in the forum: supported and not supported Solver.

Solvers with an interface in FreeCAD
These solvers are well integrated into FreeCAD, which means that it's possible to set up and run a simulation project from the graphical interface and buttons in the FEM Workbench.

CalculiX
This is the first solver that was integrated to work with the FEM Workbench. CalculiX is designed principally for static, thermo-mechanical, and modal analyses. More information about this solver is in FEM CalculiX.

Elmer
The Elmer multiphysics solver was integrated into FreeCAD as a Google Summer of Code 2017 project: main website, community portal, code repository, Elmer Integration (GSoC) - Activity Log (forum thread).

Z88
The Z88 solver is designed for linear static simulations with an emphasis in teaching about the finite element method. It was integrated into FreeCAD as a Google Summer of Code 2017 project: main website, download page, source code repository (and precompiled binaries). See the release notes for the latest versions: Z88os V15 released 17.07.2017, Z88os V13 released 20.05.2009 (version in Debian Jessie 8, Stretch 9, Buster 10).

Help: How to use Z88 in FEM? (forum thread).

Solvers implemented as external workbenches
These solvers aren't integrated into the FEM Workbench, which means they need a separate interface to set up a simulation project. This is done by creating macros or external workbenches.

OpenFoam
OpenFoam is a powerful framework for computational fluid dynamics (CFD) simulation, distributed as a series of C++ libraries.

OpenFoam is available in FreeCAD through two external workbenches:
 * Cdf, originally by Qingfeng Xia.
 * CfdOF, a fork of Cdf focusing on ease of use.

While Cfd is intended to be feature-complete for advanced users, CfdOF focuses on users that are just starting in the world of CFD and OpenFoam. Both projects collaborate when necessary, borrowing the best ideas from each other.

For CfdOF: Computational Fluid Dynamics (CFD) workbench using OpenFOAM (forum thread), training material.

Both workbenches can be installed through the AddonManager, and both have a place for discussion in the CfdOF / CFD subforum.

DualSPHysics
DualSPHysics is a set of C++, CUDA, and Java libraries that use the smoothed particle hydrodynamics (SPH) model named SPHysics to study free-surface flow phenomena such as crashing waves.

DesignSPHysics is an external workbench built into FreeCAD that provides a graphical user interface for DualSPHysics: main website, code repository, Interesting project: DesignSPHysics fluid simulator (forum thread).

DesignSPHysics can be installed through the AddonManager.

FEniCS
FEniCS is a computing framework for solving partial differential equations (PDEs), with high-level programming interfaces in Python and C++. It can be used to establish scientific problems in finite element formulations that can be solved.

See main website, Fenics as Solver (forum thread).

List on Wikipedia

 * https://en.wikipedia.org/wiki/List_of_finite_element_software_packages

Agros2D

 * http://www.hpfem.org/hermes/
 * http://www.agros2d.org/

Code Aster

 * https://forum.freecadweb.org/viewtopic.php?t=2839
 * https://www.code-aster.org/

Felt

 * https://forum.freecadweb.org/viewtopic.php?f=18&t=17061&start=20#p268503
 * https://forum.freecadweb.org/viewtopic.php?f=18&t=33463
 * http://felt.sourceforge.net/
 * https://github.com/Sudhanshu-Dubey14/felt

Frame3dd

 * http://frame3dd.sourceforge.net/
 * https://forum.freecadweb.org/viewtopic.php?f=24&t=19428
 * https://github.com/pslack/frame3dd

Impact FEM

 * http://www.impact-fem.org/

Modelica

 * https://www.modelica.org/
 * https://forum.freecadweb.org/viewtopic.php?f=18&t=32556
 * Python: https://forum.freecadweb.org/viewtopic.php?f=18&t=32556#p272632

Mumps

 * http://mumps-solver.org/
 * https://forum.freecadweb.org/viewtopic.php?t=15568&start=20#p126087

Nastran

 * https://forum.freecadweb.org/viewtopic.php?f=18&t=12753

OOFEM

 * http://www.oofem.org/
 * https://forum.freecadweb.org/viewtopic.php?t=15568&start=20#p126338

OpenSees

 * http://opensees.berkeley.edu/

Technog

 * Closed Source
 * https://forum.freecadweb.org/viewtopic.php?f=18&t=26772

XC

 * http://www.xcengineering.xyz/
 * https://forum.freecadweb.org/viewtopic.php?f=18&t=31262