beam analysis with beams in z-direction

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:

beam analysis with beams in z-direction

Post by bernd »

If a beam analysis consists of beams in z-direction the analysis fails at the moment. I did make some post at CalculiX mailing list back in January 2016. Since CalculiX still has the problem (we have October 2017) the aim is to make a work around in FreeCAD. First of all my CalculiX mailing list posts (mailing list is not public) ...

Me on CalculiX mailing list: Wed, 13 Jan 2016
Hi together,

I tried a simple beam calculation but it breaks with

*ERROR in gen3dnor: size of estimated
beam normal in 2-direction in node 1 element 11
is smaller than 1.e-10

It seams I am missing something fundamental ... Doe someone know what
the culprit is?

Attached the inp file.

Kind regards bernd

Answer from Martin Kraska
The default mechanism for computing the normal directions of the beam fails if the beam tangent is in z direction, see doc for beam elements.

you can specify the first normal to be the y-direction, as your system is in the xz-plane:

*BEAM SECTION, ELSET=Mat0Beam0, MATERIAL=CalculiX, SECTION=RECT
20 , 20
0, 1, 0
My answer again:
Thanks, Ahh I missed that. The other possibility would be use the
xy-plane. Both works well (If the beams are connected. They where not
in the file I provided.) But this works for 2D-construktions only.

How about 3D steel frame buildings. Taken into acount I would only use
rectangle sections. What could be done with a 3D rigid frame steel
building? There are beams in all 3 axis. As an example
http://www.b75.ch/download/rigid-frame- ... ilding.png
It seams back in 2016 I was able to get around this by editing the input file for CalculiX :)

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

Re: beam analysis with beams in z-direction

Post by bernd »

First of all we would need an example file:


here the error:
0.0: Check dependencies...
0.3: Write completed.
0.0: CalculiX binary: C:/0_BHA_privat/progr/FreeCAD_0.17.xxxxx_x64_dev_win/bin/ccx.exe
0.0: Run CalculiX...
0.0: Starting CalculiX...
0.0: CalculiX is running...
0.4: CalculiX stopped.
0.4: ************************************************************
CalculiX Version 2.12, Copyright(C) 1998-2015 Guido Dhondt
CalculiX comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome to redistribute it under
certain conditions, see gpl.htm
************************************************************
You are using an executable made on Tue, Apr 4, 2017 11:04:04 PM
The numbers below are estimated upper bounds
number of:
nodes: 336
elements: 6
one-dimensional elements: 6
two-dimensional elements: 0
integration points per element: 27
degrees of freedom per node: 3
layers per element: 2
distributed facial loads: 0
distributed volumetric loads: 0
concentrated loads: 9
single point constraints: 540
multiple point constraints: 721
terms in all multiple point constraints: 4609
tie constraints: 0
dependent nodes tied by cyclic constraints: 0
dependent nodes in pre-tension constraints: 0
sets: 6
terms in all sets: 44
materials: 1
constants per material and temperature: 2
temperature points per material: 1
plastic data points per material: 0
orientations: 0
amplitudes: 2
data points in all amplitudes: 2
print requests: 2
transformations: 0
property cards: 0
*INFO reading *STEP: nonlinear geometric
effects are turned on
*WARNING reading *STATIC: a nonlinear analysis is requested
but no time increment nor step is specified
the defaults (1,1) are used
*ERROR in gen3dnor: size of estimated
beam normal in 2-direction in node 1 element 1
is smaller than 1.e-10
0.4: CalculiX done!
0.4: Loading result sets...


here the example:
truss_in_z.FCStd
(12.15 KiB) Downloaded 133 times


as a start we should get around the problem by editing the inputfile. I use an extra profile for the beam in z-direction, means we have the element set. We only should change the standard normal of this element set in input file.

FemUser it is your task. If it runs we can have a look how to implement ...
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: beam analysis with beams in z-direction

Post by bernd »

here we retrieve the ccx element sets for materials and profiles: https://github.com/FreeCAD/FreeCAD/blob ... #L358-L413


befor we gone write them to the input file which happens here:
https://github.com/FreeCAD/FreeCAD/blob ... #L415-L425

we need to find the elements in z-direction. For these ones we need own element sets. Means we need to split the element sets they are in into elsets not in z-direction (use standard normal) and elsets in z-directions (redefine normal)


The definition of the normal of each element set should be written here:
https://github.com/FreeCAD/FreeCAD/blob ... #L630-L687
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: beam analysis with beams in z-direction

Post by bernd »

The calculix manual might be helpful too See http://www.dhondt.de/ ATM it is http://www.dhondt.de/ccx_2.13.pdf

:shock: :D ccx 2.13 was released on October 8th 2017
User avatar
FemUser
Posts: 134
Joined: Wed Aug 23, 2017 6:45 pm

Re: beam analysis with beams in z-direction

Post by FemUser »

Thanks! Nice. Will look at it and come back later.
User avatar
FemUser
Posts: 134
Joined: Wed Aug 23, 2017 6:45 pm

Re: beam analysis with beams in z-direction

Post by FemUser »

I analyzed the problem and just want to be sure how things are processed. I looked at the .inp file and found 3 important areas that deal with element sets. I identified what was connected to the problematic truss ELSET 1, 2
1.png
1.png (70.62 KiB) Viewed 4900 times
Next I tried to understand how the 3 portions of code interact and bellow is an attempt.
2.png
2.png (60.79 KiB) Viewed 4900 times
I got some questions on the way, and here they go:
  • does the .inp file contain all the necessary information for the simulation?
  • I don't quite understand where in the inp data file is information regarding the normals for each element. I was expecting a list of vectors or something similar.
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: beam analysis with beams in z-direction

Post by bernd »

FemUser wrote: Thu Oct 12, 2017 3:39 pm
  • does the .inp file contain all the necessary information for the simulation?
if you do not have set split input file in solver object, yes ALL



FemUser wrote: Thu Oct 12, 2017 3:39 pm
  • I don't quite understand where in the inp data file is information regarding the normals for each element. I was expecting a list of vectors or something similar.
you have a list of elements which have a name, the element set. Later you define the properties of this elementset, like profile and material. There you can set the normalvektor for all element of a elementset too. This normal is not the real normal it is just something for ccx to start which must be different from the axis of the element. See answer of martin kraska in first post. He defined the xz-plane in the line under 20 20 (which is the profile).



bernd
UR_
Veteran
Posts: 1354
Joined: Tue Jan 03, 2017 8:42 pm

Re: beam analysis with beams in z-direction

Post by UR_ »

Hello guys,
sorry, but i think you are completely wrong.

Lateral axis of beam (long axis) can have an arbitrary direction anywhere in global co.
For beam elements ccx needs orientation of beam's cross section.
I've attached a more simplified test case:
only one beam element (along z-axis)

Screenshot.png
Screenshot.png (3.83 KiB) Viewed 4887 times

Cross section lays on xy-plane and you have defined a 1 mm x 1 mm square.
Of course this section can be rotated around z-axis by any amount.
So ccx need an information about this orientation (in ccx manual this is called 1-direction)

ccx 2.12  manual page 100.png
ccx 2.12 manual page 100.png (50.23 KiB) Viewed 4887 times

So we have to modify inp-file this way
***********************************************************
** Sections
** written by write_femelementsets function
*BEAM SECTION, ELSET=Mat0Beam0, MATERIAL=SolidMaterial, SECTION=RECT
1 , 1
1.,0.,0.
I added the red line to define cross section's orientation
Please note that t,1,2-directions are refering beam's local co.

ccx offers possibility to define cross section's orientation on BEAM SECTION basis and alternativly on NODE basis.

zBeamTest.FCStd
(11.54 KiB) Downloaded 92 times
User avatar
FemUser
Posts: 134
Joined: Wed Aug 23, 2017 6:45 pm

Re: beam analysis with beams in z-direction

Post by FemUser »

Got it! It's here :)
Attachments
3.png
3.png (5.41 KiB) Viewed 4880 times
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: beam analysis with beams in z-direction

Post by bernd »

means eventually this should be an attribute of the beamsection object?
Post Reply