restrict constraint on shells

About the development of the FEM module/workbench.

Moderator: bernd

Jee-Bee
Posts: 1939
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

restrict constraint on shells

Postby Jee-Bee » Fri Mar 08, 2019 3:04 pm

I have a FEM issue. Calculix complains about wrong boundary conditions on shells. But i'have no idea how to lock sertain restrictions.
Below the code:

Code: Select all

*ERROR: in gen3dboun: node           76  does not
         belong to a beam nor shell
         element and consequently has no
         rotational degrees of freedom.
         This may be caused by applying
         a local coordinate system to a
         node in which a rotational boundary
         conditions is defined. In CalculiX
         this is not allowed.
This is my FC version

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15711 (Git)
Build type: Release
Branch: master
Hash: 5caae5f430237a73cd17e283d45b3ac9ab005feb
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Dutch/Netherlands (nl_NL)

and last also a my model:
Attachments
test_2D_GMSH_vibration_example.FCStd
(134.86 KiB) Downloaded 7 times
fandaL
Posts: 333
Joined: Thu Jul 24, 2014 8:29 am

Re: restrict constraint on shells

Postby fandaL » Fri Mar 08, 2019 10:31 pm

Hi,
I get the same error from ccx with your mesh. It contains linear quad4 elements and quadratic tria6 elements which means mid-nodes of tria cannot be connected to quads. But it is not the object of the error.
incompatible_linear_and_quadratic_mesh.png
incompatible_linear_and_quadratic_mesh.png (5.79 KiB) Viewed 180 times
It seems that nodes was written to the inp file including mid-nodes of original quadratic quad8 elements but they are not used since quad4 elements in the inp file are linear, so some of constrained nodes are orphans (thus missing rotation DOFs for ccx and giving that error).

And strange is also that nodes highlighted by cgx (FemConstraintFixed node set) are only from one of the edges selected in FC gui as constraint edge. Other nodes are like from wrong edges.
left-FemConstraintFixed_by_cgx___right-constraint_in_FC.png
left-FemConstraintFixed_by_cgx___right-constraint_in_FC.png (9.96 KiB) Viewed 180 times

For me everything work if I remesh your mesh (no settings changed). I get a mesh with tria6 elements and ccx gives results.

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16028 (Git)
Build type: Release
Branch: master
Hash: 9079de7516eca945587e18f6076ec74eb7bd043c
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: Czech/CzechRepublic (cs_CZ)
User avatar
bernd
Posts: 8196
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: restrict constraint on shells

Postby bernd » Sat Mar 09, 2019 12:50 am

wow great debugging ... I am not yet sure how to handle such cases. BTW: how did you get such «funny»mesh?
Jee-Bee
Posts: 1939
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: restrict constraint on shells

Postby Jee-Bee » Sat Mar 09, 2019 9:20 am

First how do you show the node points? I don't see them so i didn't now there were two types of elements involved.

How i created the funny mesh? no clue. I would expect the used settings are visible in my model.
In "Mesh by GMSH" i select as model 2D model and max_mesh_size =10 AND min_mesh_size=1.
that's it.

What i figured out yesterday (but i didn't had the time to post it) when i edit the inp-file and remove the fixed constraints 4,5,6 it work out too.
Based on that i would request to extend the fixed constraints that it have te options to limit (certain) rotations or directions.
If needed i start a new topic for that and try to create some example
fandaL
Posts: 333
Joined: Thu Jul 24, 2014 8:29 am

Re: restrict constraint on shells

Postby fandaL » Sat Mar 09, 2019 8:34 pm

Jee-Bee wrote:
Sat Mar 09, 2019 9:20 am
First how do you show the node points?
Look at View parameter of the mesh object: "Display Mode".

Jee-Bee wrote:
Sat Mar 09, 2019 9:20 am
How i created the funny mesh? no clue. I would expect the used settings are visible in my model.
In "Mesh by GMSH" i select as model 2D model and max_mesh_size =10 AND min_mesh_size=1.
that's it.
You can get the wrong mesh by using mesh parameter "Recombine = True". If I understand it correctly it will combine each two triangles to one quad element if possible. For more complicated geometries some triangles will remain so I would expect combination of quad8 and tria6, but currently we have a mix of tria6 and quad4 elements.

If I open the wrong mesh Facebinder_Mesh_TmpGmsh.unv in the gmsh (the file generated by gmsh and used to import to FC) and display nodes I see nodes of quadratic triangles and edges but linear quads.
mesh_from_unv.png
mesh_from_unv.png (6.28 KiB) Viewed 135 times

But if I open the geo file in gmsh shape2mesh.geo (generated by FC to give commands to gmsh) than gmsh generates correct fully quadratic mesh. So I see the problem that gmsh exports quad4 elements instead of quad8 elements to the unv file.
mesh_from_geo.png
mesh_from_geo.png (19.12 KiB) Viewed 135 times

I don't know FC code inside too much, so I only guess that nodes from edge elements are used to apply constraints (including mid-nodes), but here we don't write edge elements to the inp file and don't have mid-nodes on linear quads, so dummy nodes are passed to ccx.