Contrib:KeesWouters/beam/macropoutre

From CAELinuxWiki
Revision as of 16:37, 26 March 2011 by Keeswouters (Talk | contribs) ('''Geometry, mesh, material properties and loads''')

Jump to: navigation, search

back to my main page:
Contrib:KeesWouters
Back to: Use of beam elements
Contrib:KeesWouters/beam

Software compatibility

march 2011 - SalomeMeca 2010 (Code Aster 10.2) - Ubuntu Meerkat 10.10 64bits.

Using the macro MACR_CARA_POUTRE to define cross section quanties of a beam

This is just another simple example of the use of beams for static calculations. The main focus is on varying obtaining the cross section quantities of the beam by using the macro MACR_CARA_POUTRE. Based on a 2D mesh of the cross section of the beam, most of the required quantities for beam analysis are derived. Here (Contrib:KeesWouters/beam/orientation) an equivalent analysis has been carried out based on a rectangular beam cross section. Here we use an L shaped cross section. Length of the beam is 1.41 [m].

Geometry, mesh, material properties and loads

We need to define two meshes now: one for the cross section of the beam and one for the configuration of the beams. The configuration of the beams: this mesh consists of about thirty beam elements distributed along the x axis.
Note that this has the curious effect that the coordinates of the nodes are defined by a single coordinate. A mesh along the y axis yields a 2D coordinate (x equal to zero). No prices for further guessing.
I decided to read the configuration mesh from unit 20, defined by ASTK:

#Read MED mesh file
BeamMesh=LIRE_MAILLAGE(UNITE=20,
                       FORMAT='MED',
                       NOM_MED='Mbeam1',
                       INFO_MED=2,
                       INFO=2,);

The cross section of the L shaped beam is read from unit 21, also defined by ASTK:

XL=LIRE_MAILLAGE(UNITE=21,
                       FORMAT='MED',
                       NOM_MED='AMesh',
                       INFO_MED=2,
                       INFO=2,);

In the pictures below the configuration and cross section meshes are shown.

Kw beamnodes.png * Kw beam xsection.png



The boundary conditions are: fully clamped at x = 0, free at the opposite end. The load consist of a nodal force in x (axial load of 1 [N] and a shear force of 2 [N] in y direction on the end node:

BndCnd=AFFE_CHAR_MECA(MODELE=BeamMod,
                        DDL_IMPO=(
                         _F(GROUP_NO='P1',DX=0.0,DY=0.0,DZ=0.0,DRX=0.0,DRY=0.0,DRZ=0.0,),),
                        FORCE_NODALE=
                         _F(GROUP_NO='P2',FX=1.0,FY=2.0,),);

General way to define the orientation of the beam

The geometry and mesh are generated in Salome in the standard way. In Code Aster the mesh is read, including nodes number, node coordinates, element types and element connectivity. We use linear seg2 elements for the beams.
Of each element we can

  • determine the nodes by the connectivity matrix,
  • determine the x coordinates of the nodes and
  • generate the orientation of the beam

by Python commands.

Kw beam mesh1.jpg * Kw beam orient.png
Kw xcross beam.png *

Define a beam element by standard commands

After reading the mesh file the following two commands define the beam elements in a standard way:

#Assign to the Model
BeamMod=AFFE_MODELE(MAILLAGE=BeamMesh,
                   AFFE=_F(##TOUT='OUI',
                           GROUP_MA='beam1',
                           PHENOMENE='MECANIQUE',
                           MODELISATION='POU_D_T',),);