FEM object types

About the development of the FEM module/workbench.

Moderator: bernd

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

FEM object types

Post by bernd »

I'm looking for a name for the types for some objects:

In FEM we have the following object types:
- analysis container object
- constraints objects
- materials objects
- meshes objects
- results objects
- solver objects

and three more objects:
- shellthickness
- beamsection
- fluidsection (soon)
- How would you guys call the object type for them?

One proposal by KgoaOT was:
Perhaps a mesh section type?? Its long but atleast it describes the object
My one would be just geom objects. Since we defining something for the missing geometrical dimensions. The command names would be:

- FEM_GeomShellThickness
- FEM_GeomBeamSection
- FEM_GeomFluidSection

How about others ?

These names will be in https://github.com/FreeCAD/FreeCAD/blob ... h.cpp#L140 and tool links on FEM wiki documentation: FEM_Module

bernd
ulrich1a
Veteran
Posts: 1957
Joined: Sun Jul 07, 2013 12:08 pm

Re: FEM object types

Post by ulrich1a »

bernd wrote:My one would be just geom objects. Since we defining something for the missing geometrical dimensions. The command names would be:

- FEM_GeomShellThickness
- FEM_GeomBeamSection
- FEM_GeomFluidSection
The term "section" comes from the calculix input file definition. This term has in geometry a different meaning and could be therefore misleading.
I would think about for example:
- FEM_ShellDefinition
- FEM_BeamDefinition
- FEM_FluidDefinition

We need also to think about the different types of 2D-elements. I would like to see the support of:
- shells
- plane stress elements
- axisymmetric elements (which where already useful for me. They need a "Solid Section" in calculix.)
There are also three different types of 1D-elements:
- beam
- truss
- 1D-flow

Those elements have a similar mesh representation but are different regarding application of forces. There may be a need for an object:
- FEM_ElementType
This would than hold the type of element (solid, fluid, shell, plane stress, axisymmetric, beam, truss, 1D-flow) and the elements belonging to it.

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

Re: FEM object types

Post by bernd »

ulrich1a wrote:
bernd wrote:My one would be just geom objects. Since we defining something for the missing geometrical dimensions. The command names would be:

- FEM_GeomShellThickness
- FEM_GeomBeamSection
- FEM_GeomFluidSection
The term "section" comes from the calculix input file definition. This term has in geometry a different meaning and could be therefore misleading.
I would think about for example:
- FEM_ShellDefinition
- FEM_BeamDefinition
- FEM_FluidDefinition
and how would you call the FEM object type these commands belong too? Geom or GeomDefinition or ElemDefinition what ever ?

- FEM_DefinitionShell
- FEM_DefinitionBeam
- FEM_DefinitionFluid

- FEM_GeomDefinitionShell
- FEM_GeomDefinitionBeam
- FEM_GeomDefinitionFluid

- FEM_ElemDefinitionShell
- FEM_ElemDefinitionBeam
- FEM_ElemDefinitionFluid
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

ulrich1a wrote:Those elements have a similar mesh representation but are different regarding application of forces. There may be a need for an object:
- FEM_ElementType
This would than hold the type of element (solid, fluid, shell, plane stress, axisymmetric, beam, truss, 1D-flow) and the elements belonging to it.
For sure there is need for such an object, but it should be an sub object of the once we discussing here. Means the geometry of a line element is defined in an object and the element type is defined in another subobject. The later highly depends on the solver which is used thus I would suggest to use a separate object for this definition
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

How about the following object names for 1D or 2D geometry definition …

FemGeometryMechanical1D → for mechanical line geometry (beamsection at the moment)
FemGeometryMechanical2D → for mechanical face geometry (shellthickness at the moment)
FemGeometryFluid1D → for fluid line geometry (fluidsection at the moment)

These are just the programm code names, not the names shown on the GUI.

BTW: Is there a 2D fluid in CalculiX?
User avatar
kkremitzki
Veteran
Posts: 2511
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: FEM object types

Post by kkremitzki »

bernd wrote:How about the following object names for 1D or 2D geometry definition …

FemGeometryMechanical1D → for mechanical line geometry (beamsection at the moment)
FemGeometryMechanical2D → for mechanical face geometry (shellthickness at the moment)
FemGeometryFluid1D → for fluid line geometry (fluidsection at the moment)

These are just the programm code names, not the names shown on the GUI.

BTW: Is there a 2D fluid in CalculiX?
Those names sound good. All I could find re: 2D fluid is here:
Although the problem is essentially 2-dimensional it was modeled as a 3-dimensional problem with unit thickness since 2-dimensional fluid capabilities are not available in CalculiX.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: FEM object types

Post by bernd »

another idea, my favorite one at the moment ...

FemElementGeometry1D → for mechanical line geometry (beamsection at the moment)
FemElementGeometry2D → for mechanical face geometry (shellthickness at the moment)
FemElementFluid1D → for fluid line geometry (fluidsection at the moment)

These are just the program code names, not the names shown on the GUI.
ulrich1a
Veteran
Posts: 1957
Joined: Sun Jul 07, 2013 12:08 pm

Re: FEM object types

Post by ulrich1a »

bernd wrote:another idea, my favorite one at the moment ...

FemElementGeometry1D → for mechanical line geometry (beamsection at the moment)
FemElementGeometry2D → for mechanical face geometry (shellthickness at the moment)
FemElementFluid1D → for fluid line geometry (fluidsection at the moment)

These are just the program code names, not the names shown on the GUI.
I am at the move to extend the function:

Code: Select all

void FemMesh::writeABAQUS(const std::string &Filename) const
The goal is to allow volume elements and shell and beam elements in one analysis. In order to support later also axisymetric 2D-elements the c++-code must have access to the above discussed objects. I am not that familiar with the c++-Python interaction. How does the access of the python-objects inside c++ work?

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

Re: FEM object types

Post by bernd »

ulrich1a wrote:I am at the move to extend the function:

Code: Select all

void FemMesh::writeABAQUS(const std::string &Filename) const
I have been playing with writeABAQUS too but I'm not able to do all my wishes in C++. What I have been thinking is may be extending importInp.py module to export inp meshes. In python I'm able to write an exporter which would fit all needs, different element types, all element types (for example S8R etc), groups of meshes and so on. All the great things FreeCAD FEM mesh objects does support.

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

Re: FEM object types

Post by bernd »

ulrich1a wrote:I am at the move to extend the function:

Code: Select all

void FemMesh::writeABAQUS(const std::string &Filename) const
The goal is to allow volume elements and shell and beam elements in one analysis. In order to support later also axisymetric 2D-elements the c++-code must have access to the above discussed objects. I am not that familiar with the c++-Python interaction. How does the access of the python-objects inside c++ work?
Why do you really need access to the python-objects to write out the mesh data ?
Post Reply