Hi there! Internet Explorer is no longer supported.

Please use a modern web browser such as Firefox, Chromium or Edge. Thank you!

What’s New in FEM for FreeCAD 1.1?

Now that the feature freeze for FreeCAD 1.1 is on, and we are not too far off from the final release, let’s summarize the main changes in the FEM workbench. Just like in the case of the revolutionary 1.0.0 release (see this blog post), FEM dominates the release notes. There have been many significant improvements, so let’s go through them.

Electromagnetics

In this release cycle, the main focus was on electromagnetic (EM) analyses, postprocessing, and key missing CalculiX features. The range of supported electromagnetic simulations was extended with the introduction of Elmer’s static current conduction solver implemented as EquationStaticCurrent. It doesn’t just allow direct current (DC) flow simulations: when combined with the Heat equation, it may also be used to model resistive (Joule) heating. There is a dedicated FEM Example for it, including analytical verification of results.

Image 4

Another major change for EM workflows was the addition of the electric charge density load. It can be used in electrostatic analyses to prescribe total charge in Coulombs or charge per unit area/volume.

Speaking about electrostatics, this type of analyses is now also possible (even in 2D) with the newly refactored CalculiX solver, which we will cover in more detail below. This implementation utilizes the analogy of differential equations for electrostatics and steady-state heat transfer.

Image 5

We improved the existing EM boundary conditions and loads. There are two modes for the current density boundary condition (Custom and Normal), while the electrostatic potential boundary condition can be used to prescribe electric flux density in C/m^2. These two constraints now have symbols too. Also, we overhauled the task panel for the magnetization boundary condition.

Postprocessing

As mentioned in the beginning, we made several big improvements in the area of postprocessing. They mainly affected results pipelines. If the new Result object: Pipeline only preference is enabled, a refactored CalculiX solver implementation is used. The main difference is that it doesn’t generate the legacy CCX_Results objects and only adds one results pipeline object to avoid cluttering the tree. Thanks to ickby’s effort, there’s no need for multiple pipeline objects anymore, as they support results from multiple frames - users can easily switch between them in the task panel.

Image 3

The refactored ccx solver has other advantages too - it supports electrostatic analyses and provides results in mm and MPa units. However, it’s not yet fully developed and doesn’t support some result types as well as preprocessing warnings.

Other significant enhancements in terms of postprocessing are two new pipeline filters:

Image 9

There is also a new Data and Extractions widget for pipelines and three tools allowing detailed exploration of the numbers obtained from simulations. The following data extraction objects are available:

Finally, the legacy CCX_Results objects now have a task panel option enabling simple animations of the deformed result shapes. There is also a Python function Fem.frdToVTK which can be used to convert CalculiX results to the ParaView format.

CalculiX features

We added several useful CalculiX keywords and options to further extend the support of FreeCAD FEM for its main solver. This includes, among others:

Image 7

Other improvements

Among other major features, there are some mesher enhancements, such as support for simple extruded hexahedral-dominated meshes with Netgen.

Image 6

This mesher can now also use local refinement, generate second-order meshes by linear interpolation of nodes, and create conformal meshes. Previously, those features were only available with Gmsh.

We made it possible to suppress (deactivate) not only constraints but also other FEM features for which suppression makes sense.

Another handy new feature is a pop-up menu to select the proper solid of a CompSolid when picking its face belonging to both solids. This facilitates material assignment.

Image 8

Summary

FEM has been actively developed in the v1.1 development cycle. Such progress wouldn’t be possible without the invaluable contributions of marioalexis84 and ickby, as well as other devs occasionally contributing to FEM. There’s still a lot to improve, such as:

Thus, we welcome all new contributors to help make FEM even better!