Contrib:KeesWouters/beam/macropoutre

From CAELinuxWiki
Revision as of 16:19, 26 March 2011 by Keeswouters (Talk | contribs) ('''Using the macro MACR_aaa_POUTRE to define cross section quanties of a beam''')

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_aaa_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_aaa_POUTRE. Based on a 2D mesh of the cross section of the beam, most of the required quantities for beam analysis are derived. Here 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

The mesh consists of about thirty beam elements distributed along the x axis. This has the curious effect that the coordinates of the nodes are defined by a single coordinate. Mind that you need to adapt the code in case of two or three dimensional coordinates (see define_beam_orient, see also *) there]).

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

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',),);