FEM_FrontISTR Workbench

About the development of the FEM module/workbench.

Moderator: bernd

thschrader
Veteran
Posts: 3155
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: FEM_FrontISTR Workbench

Post by thschrader »

Just updated workbench/solvers:
runs fine :)
updateWB.JPG
updateWB.JPG (73.42 KiB) Viewed 4397 times
User avatar
kinagaki
Posts: 12
Joined: Sun Apr 18, 2021 12:39 pm
Location: Kanagawa, Japan

Re: FEM_FrontISTR Workbench

Post by kinagaki »

Some updates to FEM_FrontISTR
  • Now FEM_FrontISTR can be installed by the FreeCAD addon-manager (thanks FC!)
  • MUMPS solver is now available (requires updating solver )
  • Adjusted the parameters of the default iterative solver (CG w/ AMG precond) to improve convergence for plate and elongated geometries.
  • Supports output in binary VTK format (optional, requires paraview)
  • A few minor bug fixes
I also ran a benchmark to compare computational speed with calculix for several geometry and mesh size combinations. I will share the results.

Mesurement Environment is as follows:
  • OS: Windows 10 Pro 10.0.19041 N/A Build 19041
  • CPU: Intel Core i7-6700 @3.40GHz 4cores x 1CPU
  • Memory: 16GB
  • Versions: FreeCAD 0.19.1 a88db11, FrontISTR v5.2 1a5263e1, FEM_FrontISTR 96abb945
  • Tested matrix solvers and parallel settings
    • CalculiX: iterativecholesky(iterative), spooles(direct). Set OMP_NUM_THREADS=4 (iterativecholesky solver runs sequentially)
    • FrontISTR: CG w/ AMG preconditioner(iterative), MUMPS(direct). Set n_process=4
I'll post four results after this.
Last edited by kinagaki on Sat May 29, 2021 7:52 am, edited 1 time in total.
FEM_FrontISTR: A parallel nonlinear finite element analysis workbench for FreeCAD
User avatar
kinagaki
Posts: 12
Joined: Sun Apr 18, 2021 12:39 pm
Location: Kanagawa, Japan

Re: FEM_FrontISTR Workbench

Post by kinagaki »

The first example is a model of involute gear. Calculix's iterativechoresky seems to be the fastest, despite its sequential execution.
result_performance_01Gear.png
result_performance_01Gear.png (67.87 KiB) Viewed 4193 times
The details of the benchmark and a set of files for reproduction are as follows.
https://github.com/FrontISTR/FEM_FrontI ... ks/01_gear
FEM_FrontISTR: A parallel nonlinear finite element analysis workbench for FreeCAD
User avatar
kinagaki
Posts: 12
Joined: Sun Apr 18, 2021 12:39 pm
Location: Kanagawa, Japan

Re: FEM_FrontISTR Workbench

Post by kinagaki »

The second example is a model of a can under internal pressure.
result_performance_02Can.png
result_performance_02Can.png (63.67 KiB) Viewed 4193 times
The details of the benchmark and a set of files for reproduction are as follows.
https://github.com/FrontISTR/FEM_FrontI ... rks/02_can
FEM_FrontISTR: A parallel nonlinear finite element analysis workbench for FreeCAD
User avatar
kinagaki
Posts: 12
Joined: Sun Apr 18, 2021 12:39 pm
Location: Kanagawa, Japan

Re: FEM_FrontISTR Workbench

Post by kinagaki »

The third example is a model of a motorcycle frame. This is an example of a complex shape.
result_performance_03Motorbikeframe.png
result_performance_03Motorbikeframe.png (69.37 KiB) Viewed 4192 times
The details of the benchmark and a set of files for reproduction are as follows.
https://github.com/FrontISTR/FEM_FrontI ... _bikeframe
FEM_FrontISTR: A parallel nonlinear finite element analysis workbench for FreeCAD
User avatar
kinagaki
Posts: 12
Joined: Sun Apr 18, 2021 12:39 pm
Location: Kanagawa, Japan

Re: FEM_FrontISTR Workbench

Post by kinagaki »

Sorry for the continuous posting. This is the last example, a model of a spring. It is an example of an extremely long and elongated shape.
result_performance_04Spring.png
result_performance_04Spring.png (73.68 KiB) Viewed 4188 times
The details of the benchmark and a set of files for reproduction are as follows.
https://github.com/FrontISTR/FEM_FrontI ... /04_spring


Notes about these results:
  • These results are comparison with the FreeCAD bundled calculix. With a more optimized calculix binary, the results will probably be different.
  • The analysis type is linear static analysis. For other types of analysis, for example multi-step nonlinear analysis, the results would probably be different.
  • Solver time includes the time to output results and does not include the time it takes FreeCAD to generate the input file or to read the results.
I hope you are interested in the results and the workbench. Also, I will continue development and add more features in the future.
FEM_FrontISTR: A parallel nonlinear finite element analysis workbench for FreeCAD
User avatar
MisterMaker
Posts: 744
Joined: Mon Sep 21, 2020 7:41 am
Contact:

Re: FEM_FrontISTR Workbench

Post by MisterMaker »

Looks mega interesting! Thanks for all your efforts, I will test it out next time I want to do FEM!
thschrader
Veteran
Posts: 3155
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: FEM_FrontISTR Workbench

Post by thschrader »

MisterMaker wrote: Sun May 30, 2021 2:13 pm Looks mega interesting! Thanks for all your efforts, I will test it out next time I want to do FEM!
It does not look mega-interesting, it is mega interesting! :)

@ kinagaki:
Dont hesitate to post more of this.
I did a lot of calculations for steel parts in the last weeks using
your solver. Keep up the the work.

FC+FrontISTR can beat this:
https://www.ideastatica.com/
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM_FrontISTR Workbench

Post by bernd »

thschrader wrote: Mon May 31, 2021 8:23 pm ... I did a lot of calculations for steel parts in the last weeks using
your solver. ...
What makes this solver more suitable than calculix solver?
thschrader
Veteran
Posts: 3155
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: FEM_FrontISTR Workbench

Post by thschrader »

bernd wrote: Tue Jun 01, 2021 10:28 am What makes this solver more suitable than calculix solver?
The benefit of FrontISTR is, that the solver can handle very huge meshes.
On work I mostly use netgen, gmsh often needs mesh-refinement zones.
My experience in the last weeks was, that you can mesh complete assemblies
with hundreds of thousands of cells. In the example below (the beam with the two plates)
you simply start netgen, max cell size 10 mm, fine mesh, run FrontISTR, work done.
OK, that is the brute force method and not very elegant.
But for me it saves time (in our company there is a big hourglass on every desk... ;) )

For smaller modells up to 100000 cells I still use CCX. There is no runtime difference,
from a practical point of view.
ccx_frontistr.JPG
ccx_frontistr.JPG (52.19 KiB) Viewed 3493 times
Post Reply