FEM object types

About the development of the FEM module/workbench.

Moderator: bernd

Post Reply
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

ulrich1a wrote: Tue May 30, 2017 9:52 pm To get fandals requirement to work, we need a different approach, where the user has to say, what he wants. The division of material and mesh-volumes into independent objects is the key to this. The user can than click on an shape-object and say it should be meshed as a volume. We give this information to the mesher (works already with gmesh) and than know what is needed to write into the input file. It allows the user to click on the same object again, asking for a shell. In this case both the volumes and the faces will be written into the input file.
Having independent objects for volume meshes and shell meshes, allows to give them a link to a material object. So the user has control over all aspects and there is no need to write complicated if-cascades for all cases of material and mesh combinations. There will be always a combination, that is not anticipated by an automatic algorithm, as we have now.
This would be the Mercedes, we create another mesh group object like the meshregion for element length we use meshregion for mesh element type. This would not need much development. But than the AbaqusWriter would need to write group data. This has been on my long term todo change the Abaquswriter to support writing defined mesh groups or write a Python inp writer supporting mesh groups. This is needed if you would like to use different element types for elements with the same node numbers. Means if you would like to use two different tria6 elements. I do not know a use case but there might be some. I myself would not need this I just need the mix of shell beam elments or shell solid element.
ulrich1a
Veteran
Posts: 1957
Joined: Sun Jul 07, 2013 12:08 pm

Re: FEM object types

Post by ulrich1a »

bernd wrote: Tue May 30, 2017 10:36 pm But than the AbaqusWriter would need to write group data.
If we can agree on this approach, I would try to attack the AbaqusWriter. It will need some time, as I have to learn additional programming skills first.
We may put the plan posted here https://forum.freecadweb.org/viewtopic. ... 20#p169893
in a FEM-roadmap wiki and make adjustments to it as needed.

Ulrich
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

ulrich1a wrote: Wed May 31, 2017 2:45 pm
bernd wrote: Tue May 30, 2017 10:36 pm But than the AbaqusWriter would need to write group data.
If we can agree on this approach, I would try to attack the AbaqusWriter. It will need some time, as I have to learn additional programming skills first.
great

ulrich1a wrote: Wed May 31, 2017 2:45 pmWe may put the plan posted here https://forum.freecadweb.org/viewtopic. ... 20#p169893
in a FEM-roadmap wiki and make adjustments to it as needed.
I have been reading this diagram a few times but not fully understand how this would look like in classes and objects. I'm not a programmer, I miss the imagination how this looks in objects. Let's attract the group writing of writeAbaqus and go further step by step. By the time I will be ready with the element sets for mixed meshes. Since I implemented some python inp writer I can test my code without the new smart writeAbaqus.

EDIT: Feel free to put it on the roadmap. But it would be cool if you could write some words ... FEM_project is what had been used for this years ago. This page is absolutely wiped out (hoffnungslos veraltet).
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

this may help ...

Code: Select all

mesh = App.ActiveDocument.getObject("CompSolid_Mesh").FemMesh
mesh.GroupCount
mesh.Groups

for g in mesh.Groups:
    print(mesh.getGroupElementType(g))
    print(mesh.getGroupName(g))
    print(mesh.getGroupElements(g))
implemented how to retrieve the group data out of SMESH:

https://github.com/FreeCAD/FreeCAD/blob ... 1136-L1156
https://github.com/FreeCAD/FreeCAD/blob ... #L929-L990

I remember I was very proud when I got this working with my small knowledge of C++
Attachments
group_mesh.fcstd
(66.84 KiB) Downloaded 45 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

Much less hacks, and in addition to mixed mesh elements, multiple shell sections and multiple beam sections ...

https://github.com/berndhahnebach/FreeC ... ixedmeshes

screen.jpg
screen.jpg (302.21 KiB) Viewed 1602 times


the FreeCAD file
mixed_mesh_edge_face_2.fcstd
(108.87 KiB) Downloaded 54 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

solids, shells and edges in one analysis ...

static
screen.jpg
screen.jpg (354.27 KiB) Viewed 1566 times

frequency
screen1.jpg
screen1.jpg (119.16 KiB) Viewed 1566 times
UR_
Veteran
Posts: 1355
Joined: Tue Jan 03, 2017 8:42 pm

Re: FEM object types

Post by UR_ »

"-"
ThatsCool.gif
ThatsCool.gif (13.85 KiB) Viewed 1558 times
HoWil
Veteran
Posts: 1279
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: FEM object types

Post by HoWil »

WOW
looks fantastic.
BR,
HoWil
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

adapted constraint fixed ...


screen.jpg
screen.jpg (89.22 KiB) Viewed 1489 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

screen1.jpg
screen1.jpg (126.56 KiB) Viewed 1489 times
Post Reply