FEM Preferences

Introduction

The preferences for the FEM Workbench can be found in the Preferences Editor. In the menu select Edit → Preferences and then FEM. This group is only available if the FEM Workbench has been loaded in the current FreeCAD session.

There are seven pages: General, Gmsh, CalculiX, Elmer, Mystran, Z88 and Netgen. All pages apart from the first control how FEM interacts with external meshers and solvers.

The currently supported external solvers are:

This page has been updated for version 1.1.

General

On this page you can specify the following:

Name Description
Working Directory for Solving Analysis and Gmsh Meshing In what directory the mesh and solver files should be stored
Create mesh groups for analysis reference shapes (experimental) If there are several meshes they will be grouped. This option allows significant speedup if loads and constraints are assigned before meshing, but currently has several limitations and may cause unexpected results.
Keep results on calculation re-run Existing Result objects will be kept, otherwise overwritten by a new solver run
Restore result dialog settings If checked, the Show result dialog is opened with the last used dialog settings
Hide analysis features when opening result dialog The constraints will be hidden in the model view when the Show result dialog is opened
Default solver Default solver to be added when adding an Analysis container. (introduced in 0.21)

Gmsh

On this page you can specify the following:

Name Description
Gmsh path The path to the binary of Gmsh
Log verbosity Log verbosity level: Silent, Errors, Warnings, Direct, Information, Status or Debug. introduced in 1.1
Number of threads Number of threads used for meshing. introduced in 1.1

CalculiX

On this page you can specify the following:

Name Description
CalculiX path The path to the binary of CalculiX
Use internal editor for *.inp files If checked, a built-in *.inp file editor with syntax highlighting is used when editing CalculiX input decks.
External editor The path to the external *.inp file editor.
Split writing of *.inp If checked, multiple *.inp files are written and the main input deck uses the *INCLUDE keywords to reference the other ones. If unchecked, a single large *.inp file is written.
Type Default analysis type: Static, Frequency, Thermomech, Check Mesh or Buckling.
Number of CPUs to use Number of physical processor cores to use for parallel computing.
Matrix solver Default matrix solver: Default, PaStiX, Pardiso, Spooles equation solver, Iterative Scaling or Cholesky iterative solver.
Non-linear geometry If checked, geometric nonlinearity is included by default.
Time incrementation control parameter If checked, uses non-default solver controls (not recommended in most cases).
Maximum number of increments Maximum number of increments within an analysis step.
Initial time increment Initial time increment size (can be changed by the solver if automatic incrementation is used).
Time period Total simulated time.
Minimum time increment Minimum allowable time increment size.
Maximum time increment Maximum allowable time increment size.
Beam, shell element 3D output format If checked, results for 1D and 2D elements are displayed using 3D representation by default.
Result object If checked, the refactored CalculiX solver object is used and results are stored only in the pipeline instead of CCX_Results objects. introduced in 1.1
Result format If checked, results are saved in binary format. Using ASCII is necessary for systems that fail to parse binary result files. This preference takes effect only when the previous one is enabled. introduced in 1.1
Analysis type (transient or steady state) If checked, thermomechanical analyses are of steady-state type by default.
Eigenmode number Default number of requested eigenmodes in frequency analyses.
High frequency limit Default upper limit of evaluated eigenfrequencies in frequency analyses.
Low frequency limit Default lower limit of evaluated eigenfrequencies in frequency analyses.

Elmer

On this page you can specify the following:

Name Description
ElmerSolver path The path to the solver binary of Elmer
ElmerGrid path The path to the binary of the grid writer utility of the Elmer
Number of processes The number of parallel tasks used to perform the solving.

Important: Elmer divides the mesh into portions. The number of portions is equal to the number of CPU cores used. This can result in side-effects:

  • Depending on your mesh a smaller number of CPU cores can run faster than using more cores.
  • In some cases using e.g. 12 cores does not converge while 8 cores will work fine. The reason is that at some point the mesh portions become too small.

So it is often necessary to adjust the number of cores, depending on the mesh.

Known limitation: For some simulation types you first need to install Elmer modules to enable multi-threading. Check the Elmer report for info about this. A typical case is that for direct solving one has to install the MUMPS module.

Use binary format If checked, binary results format is used. Otherwise, ASCII format is used. Binary format may cause lack of results due to a bug. introduced in 1.1
Save geometry IDs If checked, the index of geometric entities is saved in the results. introduced in 1.1

Mystran

On this page you can specify the following:

Name Description
Mystran path The path to the binary of the Mystran
Write comments to input file

Z88

On this page you can specify the following:

Name Description
z88r path The path to the binary named z88r of the Z88 solver
Solver method The solver method used by the Z88 solver for new simulations.
Max places in stiffness matrix This is relevant when the solver method Simple Cholesky is used. After starting the solver, it might tell you that you need to increase the MAXGS value. In this case increase the max places and re-run the solver.
Maximum places in coincidence vector This is relevant when one of the iterative solver methods is used. After starting the solver, it might tell you that you need to increase the MAXKOI value. In this case increase the max places and re-run the solver.

Netgen

On this page you can specify the following:

Name Description
Legacy Netgen If checked, the legacy Netgen implementation is used by FreeCAD FEM. This might be needed for users (mostly with older and Windows computers) who can't install the Netgen Python bindings necessary for the new implementation. (introduced in 1.0)
Python path Python executable for which Netgen Python bindings are installed. Leave blank to use the default Python executable from the General Python preferences. introduced in 1.1
Log verbosity Log verbosity level: None, Least, Little, Moderate, Much, Most. introduced in 1.1
Number of threads Number of threads used for meshing. introduced in 1.1