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. Leave blank to use the default binary. |
| 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. Leave blank to use the default binary. |
| ElmerGrid path | The path to the binary of the grid writer utility of Elmer. Leave blank to use the default binary. |
| Number of tasks | The number of parallel tasks used to perform the solving. Set to 1 if Elmer doesn't use MPI. It is recommended to use an even number. In extreme cases, Elmer may fail to converge if too many cores are specified.
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:
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. |
| Threads per task | Number of threads per task. Takes effect if Elmer uses OpenMP. |
| 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 |
- Materials: Solid Material, Fluid Material, Non-Linear Mechanical Material, Reinforced Material (Concrete); Material Editor
- Element Geometry: Beam Cross Section, Beam Rotation, Shell Plate Thickness, Fluid Section for 1D Flow
- Electromagnetic Boundary Conditions: Electrostatic Potential Boundary Condition, Current Density Boundary Condition, Magnetization Boundary Condition, Electric Charge Density
- Fluid Boundary Conditions: Initial Flow Velocity Condition, Initial Pressure Condition, Flow Velocity Boundary Condition
- Geometrical Analysis Features: Plane Multi-Point Constraint, Section Print Feature, Local Coordinate System
- Mechanical Boundary Conditions and Loads: Fixed Boundary Condition, Rigid Body Constraint, Displacement Boundary Condition, Contact Constraint, Tie Constraint, Spring Boundary Condition, Force Load, Pressure Load, Centrifugal Load, Gravity Load
- Thermal Boundary Conditions and Loads: Initial Temperature, Heat Flux Load, Temperature Boundary Condition, Body Heat Source
- Overwrite Constants: Constant Vacuum Permittivity
- Mesh: Mesh From Shape by Netgen, Mesh From Shape by Gmsh, Mesh Boundary Layer, Mesh Refinement, Mesh Group, Erase Elements, FEM Mesh to Mesh
- Solve: Solver CalculiX, Solver Elmer, Solver Mystran, Solver Z88; Mechanical Equations: Elasticity Equation, Deformation Equation; Electromagnetic Equations: Electrostatic Equation, Electricforce Equation, Magnetodynamic Equation, Magnetodynamic 2D Equation, Static Current Equation; Flow Equation, Flux Equation, Heat Equation, Solver Job Control, Run Solver
- Results: Purge Results, Show Result, Apply Changes to Pipeline, Post Pipeline From Result, Pipeline Branch, Warp Filter, Scalar Clip Filter, Function Cut Filter, Region Clip Filter, Contours Filter, Glyph Filter, Line Clip Filter, Stress Linearization Plot, Data at Point Clip Filter, Calculator Filter; Filter Functions: Plane, Sphere, Cylinder, Box; Data Visualizations: Create Lineplot, Create Histogram, Create Table
- Utilities: Clipping Plane on Face, Remove All Clipping Planes, FEM Examples; Clear FEM Mesh, Display Mesh Info
- Additional: Preferences; FEM Install, FEM Mesh, FEM Solver, FEM CalculiX, FEM Concrete; FEM Element Types
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub