FEM_FrontISTR Workbench

About the development of the FEM module/workbench.

Moderator: bernd

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

Re: FEM_FrontISTR Workbench

Postby thschrader » Tue Apr 27, 2021 3:28 pm

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

Re: FEM_FrontISTR Workbench

Postby kinagaki » Sat May 29, 2021 7:40 am

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

Postby kinagaki » Sat May 29, 2021 7:41 am

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 2052 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

Postby kinagaki » Sat May 29, 2021 7:41 am

The second example is a model of a can under internal pressure.
result_performance_02Can.png
result_performance_02Can.png (63.67 KiB) Viewed 2052 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

Postby kinagaki » Sat May 29, 2021 7:42 am

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 2051 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

Postby kinagaki » Sat May 29, 2021 7:45 am

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 2047 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: 53
Joined: Mon Sep 21, 2020 7:41 am

Re: FEM_FrontISTR Workbench

Postby MisterMaker » 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!
thschrader
Posts: 2203
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: FEM_FrontISTR Workbench

Postby thschrader » Mon May 31, 2021 8:23 pm

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
Posts: 11838
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: FEM_FrontISTR Workbench

Postby bernd » Tue Jun 01, 2021 10:28 am

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
Posts: 2203
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: FEM_FrontISTR Workbench

Postby thschrader » Tue Jun 01, 2021 3:31 pm

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 1352 times