FEM analysis on FreeCAD assembly

About the development of the FEM module/workbench.

Moderator: bernd

mcauwelier
Posts: 2
Joined: Sat Jul 20, 2019 3:58 pm

FEM analysis on FreeCAD assembly

Postby mcauwelier » Sat Jul 20, 2019 4:38 pm

Hi,

I am a relatively new user of FreeCAD. What I want to do is the following:
  • Make an assembly consisting of different parts
  • make a FEM analysis of the resulting assembly (shape) where the default interface between different parts is bonded (meshed together, not contact)
To accomplish this, I made use of the following workbenches:
  • Part Design: to design the parts in different files
  • a2plus: to make an assembly from the different parts
  • Part: to fuse the parts imported using the a2plus workbench
  • FEM: to mesh the fused shape (using Gmsh) and perform the FEM analysis
The problem I am having is that the meshing is not always correct (mesh nodes not coincident on adjoining faces) or does not succeed at all (e.g. zones that are not meshed). For a small assembly (2 to 3 parts) sometimes the mesh is correct and a FEM analysis can be made. For larger assemblies I did not have any success.

The fact that for small assemblies, the meshing works correctly makes me believe that what I want to do is possible, but a small bug or incompatibility prevents it from working on large assemblies. Could the problem be that the tolerance of the solver for the constraints in the a2plus workbench is too large so that the resulting shape is not joined but a small gap is present that prevents a good mesh? The fact that small assemblies sometimes work and larger never could be explained by this as for the larger assemblies the chance of such a small gap being present is larger.

My questions are the following:
  • Does anyone else have experience with the a2plus workbench combined with the FEM workbench?
  • Is the methodology I am using the correct one or are there other ways to accomplish about the same?
Any help is greatly appreciated,

Thank you in advance,

Matthias

OS: Ubuntu 16.04.6 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.1.
Build type: Release
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)

Gmsh: 4.4.0
User avatar
Kunda1
Posts: 5226
Joined: Thu Jan 05, 2017 9:03 pm

Re: FEM analysis on FreeCAD assembly

Postby Kunda1 » Sat Jul 20, 2019 4:46 pm

Mod note: moved thread to FEM subforum
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
bernd
Posts: 8242
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: FEM analysis on FreeCAD assembly

Postby bernd » Sat Jul 20, 2019 5:04 pm

mainly you are on the right track and your findings are right. Use part --> check geometry to find problems. Best woould if you only have one solid. By part --> compound filter you could extrct this one solid. You should have less problems if you pass a solid to gmsh. On the contrary with one solid you only can use one material. Furthermore on gmsh somtimes setting smaller maximum mesh element size helps.

If you would post a part where you have problems with we could have a look on this too.

If you are power user of gmsh standalone you could export the part to brep import and mesh with your special prefs in gmsh export to unv, import in FreeCAD and move the mesh into the analysis. Since contraints are defined on the geometry you can even play with the prefs in gmsh.

hope that helps bernd
User avatar
bernd
Posts: 8242
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: FEM analysis on FreeCAD assembly

Postby bernd » Sat Jul 20, 2019 5:04 pm

Ahh welcome to FreeCAD FEM
mcauwelier
Posts: 2
Joined: Sat Jul 20, 2019 3:58 pm

Re: FEM analysis on FreeCAD assembly

Postby mcauwelier » Sun Jul 21, 2019 7:01 am

Thank you for your suggestions,

I used Part - Check geometry and indeed 2 parts were giving problems. When I excluded them from the fuse and got no errors with check geometry, I tried to mesh the fusion. I still ended up with an incorrect mesh.

Going from this, I started from scratch and made a new assembly. Instead of using constraints to place the parts, I used the placement (x, y, z) and orientation (angle - axis) properties to correctly place the parts. By doing this, I always have a good mesh (sometimes have to play with the maximum edge length during mesh creation).

I can proceed with my project but the placing of the parts is now quite tedious. I reckon by having a smaller tolerance on the constraint solver this would also help. Is there an option or property that sets this property or is there anyone I could report this to?