Difference between revisions of "Contrib:KeesWouters/bc/rbe3"

From CAELinuxWiki
Jump to: navigation, search
m (Geometry and mesh of the block with cylindrical hole)
m (Geometry and mesh of the block with cylindrical hole)
Line 35: Line 35:
 
: [[image:kw_cylinder_rbe3_mesh2x23a.png|500x330px]] * [[image:kw_cylinder_rbe3_mesh7x23.png|500x330px]]
 
: [[image:kw_cylinder_rbe3_mesh2x23a.png|500x330px]] * [[image:kw_cylinder_rbe3_mesh7x23.png|500x330px]]
  
: [[image:kw_cylinder_rbe3_mesh23x23_topbottommaster.png|500x330px]] * [[image:kw_cylinder_rbe3_nodes.png]]
+
: [[image:kw_cylinder_rbe3_mesh23x23_topbottommaster.png|500x330px]] * [[image:kw_cylinder_rbe3_mesh7x23_abotmaster.png|500x330px]]
  
 
The mesh is divided in 13 divisions in axial direction. In radial direction 6 divisions are present and in tangential direction two times 6 divisions are made. Later on we will modify this mesh to construct some asymmetry into it.
 
The mesh is divided in 13 divisions in axial direction. In radial direction 6 divisions are present and in tangential direction two times 6 divisions are made. Later on we will modify this mesh to construct some asymmetry into it.

Revision as of 11:38, 26 January 2014

Purpose of the RBE3 constraint

[under construction]

RBE3
RBE3 defines a constraint relation in which the motion of a reference grid point is the least square weighted average of the motion at other grid points. The element is useful for beaming loads and masses of a reference point to a set of grid points
(from [[1]] NX Nastran Element Library Reference.

See also this [[2]link.]
A RBE3 constraint maybe useful, amongst others:

  • to distribute a load to a set of nodes without the need of a rigid body constraint or
  • to connect different bodies to each other without generating additional rigid body constraints.

Edit:
Apart from a RBE3 constraint it is possible to use a LIAISON_ELEM with OPTION='3D_POU' to connect one master node to a set of nodes without applying additional rigid body constraints. This has been added later in this contribution.

Geometry and mesh of the block with cylindrical hole

This contribution shows the behaviour of the RBE3 constraint. In this case it is used to apply a moment to the top surface of a cylinder. The bottom surface of the cylinder is fixed 3dof to the world. The inner and outer diameters of the cylinder are 15 and 17 (arbitrairy units) and length 75. The material is steel, material properties are in ISO units (this makes the dimensions of the cylinder ISO as well).

The geometrical entities on the cylinder are, A for surface areas:

  • Atop and
  • Abot

Abot, at z=0, is used to apply the torsion moment. Atop, at z=75, is used to apply the fixed boundary condition to the 'world'. Two types of mesh have been used to show the effect of the rbe3 behaviour. All elements are quadratic hex elements.

  • in axial direction 12 elements are present.
  • in radial direction 3 elements are present.
  • in tangential direction:
    • in quadrants 2 and 3: 23 elements are present (-y direction)
    • in quadrants 1 and 4, (+y direction):
      • mesh type 1: 23 elements are present (see figure left)
      • mesh type 2: 7 elements are present (see figure right)
Kw cylinder rbe3 mesh2x23a.png * Kw cylinder rbe3 mesh7x23.png
Kw cylinder rbe3 mesh23x23 topbottommaster.png * Kw cylinder rbe3 mesh7x23 abotmaster.png

The mesh is divided in 13 divisions in axial direction. In radial direction 6 divisions are present and in tangential direction two times 6 divisions are made. Later on we will modify this mesh to construct some asymmetry into it.

The centre 0D nodes is the master node to apply the constraint to the nearby surface.

Definition of node groups

Mcyl=DEFI_GROUP(reuse =Mcyl,
                MAILLAGE=Mcyl,
                CREA_GROUP_NO=_F(NOM='Nbot',GROUP_MA='Abot',),);                   
Mcyl=DEFI_GROUP(reuse =Mcyl,
                 MAILLAGE=Mcyl,
                 CREA_GROUP_NO=_F(NOM='Nmaster',GROUP_MA='Pmaster0',),);                   


Definition of solid and discrete model

CylModel=AFFE_MODELE(MAILLAGE=Mcyl,
                     AFFE=(_F(TOUT='OUI',
                              PHENOMENE='MECANIQUE',
                              MODELISATION='3D',),
                           _F(GROUP_NO='Nmaster',
                              PHENOMENE='MECANIQUE',
                              MODELISATION='DIS_TR',),),);
N_stmass=AFFE_CARA_ELEM(MODELE=CylModel,
                        INFO=2,
                         DISCRET=(_F(CARA='M_TR_D_N',
                                     GROUP_NO='Nmaster',
                                     VALE=[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00,0.00,0.00]),
                                 _F(CARA='K_TR_D_N',
                                    GROUP_NO='Nmaster',
                                    VALE=[0.0,0.0,0.0,0.0,0.0,0.0]),),);


Since the node apparently does not have any degrees of freedom, we need to apply a discrete element MODELISATION='DIS_TR' to the master node Pmaster. This is an element that carries mass and stiffness, but all entities have been set to zero in the value assignment, see DISCRET and VALE in the statement above. Then effectively only a node with translational and rotational degrees of freedom remains.

The command part

DISCRET_F(CARA='M_TR_D_N',GROUP_NO='Nmaster',VALE=[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00,0.00,0.00]),

defines:

  • the mass properties M_TR_D_N for
  • the node 'Nmaster' (a single node need to be applied to the GROUP_NO), and
  • the VALE group defines the mass m and Ixx, Iyy, Izz, Ixy, Iyx and Izx and three eccentricities:
    • VALE=[m,Ixx,Iyy,Izz,Ixy,Iyz,Izx,Ecx,Ecy,Ecz]

The command part

DISCRET_F(CARA='K_TR_D_N',GROUP_NO='Nmaster',VALE=[0.0,0.0,0.0,0.0,0.0,0.0]),

defines:

  • the stiffness properties K_TR_D_N for
  • the node 'Nmaster' (a single node may to be applied to the GROUP_NO), and
  • the VALE group defines the stiffnesses Kx, Ky, Kz, Krotx, Kroty and Krotz, all set to zero:
    • VALE=[Kx,Ky,Kz,Krotx,Kroty,Krotz]

Coupling the node by 3D_POU

the coupling between a line element and a massive 3D body can be achieved by the LIAISON_ELEM with OPTION='3D_POU'. The nice part here is that the line part may be degradated to a single node. Normally you should select a node of a beam element and the nodes of the connecting face of the 3D body to link to each other. Here we select the master node Nmaster as GROUP_NO_2 and (the nodes of) the axial face as GROUP_MA_1. In detail the command is:

node3D=AFFE_CHAR_MECA(INFO=1,
                      MODELE=CylModel,
                      LIAISON_ELEM=_F(GROUP_MA_1='Abot',
                                      GROUP_NO_2='Nmaster',
                                      OPTION='3D_POU'),);
Mmaster=AFFE_CHAR_MECA(MODELE=CylModel,
                       FORCE_NODALE=_F(GROUP_NO='Nmaster',MZ=1000,),); 

result=MECA_STATIQUE(MODELE=CylModel,
                  CHAM_MATER=AssyMat,
                  CARA_ELEM=N_stmass,
                  EXCIT=(_F(CHARGE=fixbc,),
                         _F(CHARGE=fixcyl,),    ## bc: fixcyl / fixbc / fixNmast
                         _F(CHARGE=Mmaster),   ## load: Tmaster / Ftorsion
                         _F(CHARGE=node3D),),)  ## connection: node3D / nodeRBE3

The second AFFE_CHAR_MECA applies a torque of 1000 around the z axis on the master node Nmaster. This torque will be distributed on the nodes of the face defined by Abot.

Coupling the node by RBE3

nodeRBE3=AFFE_CHAR_MECA(MODELE=CylModel,
                      LIAISON_RBE3=_F(GROUP_NO_MAIT='Nmaster',
                                      DDL_MAIT=('DX','DY','DZ','DRX','DRY','DRZ',),
                                      #DDL_MAIT=('DRZ',),
                                      GROUP_NO_ESCL='Nbot',
                                      DDL_ESCL='DX-DY-DZ',
                                      COEF_ESCL=1,),);
torsion=AFFE_CHAR_MECA(MODELE=CylModel,
                       FORCE_NODALE=_F(GROUP_NO='Nmaster', MZ=1000,),); 


Mmaster=AFFE_CHAR_MECA(MODELE=CylModel,
                      FORCE_NODALE=_F(GROUP_NO='Nmaster',MZ=1000,),); 
result=MECA_STATIQUE(MODELE=CylModel,
                 CHAM_MATER=AssyMat,
                 CARA_ELEM=N_stmass,
                 EXCIT=(_F(CHARGE=fixbc,),
                        _F(CHARGE=fixcyl,),    ## bc: fixcyl / fixbc / fixNmast
                        _F(CHARGE=Mmaster),   ## load: Tmaster / Ftorsion
                        _F(CHARGE=nodeRBE3),),)  ## connection: node3D / nodeRBE3

The first AFFE_CHAR_MECA command defines the RBE3 constraint between the master node 'Nmaster' and the slave nodes 'Nbot'. The nodes 'Nbot' are attached to the geometrical entity GROUP_MA='Abot', by the DEFI_GROUP command. The second AFFE_CHAR_MACE command is used to apply the torsion moment MZ equal to 1000 (let us say [Nm], if we effectively state that all dimensions are in [m], forces are in [N] and pressures and Youngs' modulus are in [Pa]).

The degrees of freedom that need to be transferred to the master node Nmaster are given by the values after DDL_MAIT. In this case 6 dofs ('DX','DY','DZ','DRX','DRY','DRZ') are requested and needed because of the mass and stiffness attached to the master node. These degrees of freedom are derived from the degrees of freedom of the group of slave nodes DDL_ESCL='DX-DY-DZ'. I think the user must take care that the requested dofs on the master can be derived from the degrees of freedom of the slave nodes. The coefficient COEF_ESCL=1 is equal to the number of .... (tbd).

Results - displacements

Kw cylinder rbe3 displacement1a.png

In the picture the rotation of the cylinder is nicely visible. It seems that the RBE3 function does what it is supposed to do: apply an external force without additional stiffness to the slave geometry.

Asymetric mesh

The previous test was relatively easy. The mesh is symmetric. To investigate the RBE3 more thoroughly the hexahedron mesh will be made asymmetric in the xz plane, see pictures of the mesh below. In the centre the master node is visible. On this node the torsion is applied.

Kw asym mesh1.png : Kw asym mesh2.png

Now again applying a torsion on the master node and by the RBE3 command distributing it over the outer edge of the front face, we get the following displacements.

Kw asymmesh deformation1.png : Kw asymmesh deformation2.png
Kw asymmesh deformation3.png : Kw asymmesh deformation4.png

Here the results are a bit disappointing. The circulair front face is much distorted by the distributed force on the asymmetric mesh.

Kw reaction forces1.png

The reaction forces on the outer edge of the front face (Fx, Fy and the vector value) show that the vector value of the reaction forces are slightly less on the dense mesh (negative x part) compared to the coarse mesh side (positive x part). I would however expect that the reaction would deviate roughly by a factor 2 because of mesh density.


Input files for the FE Analysis and references

to be updated ...




Input files for the asymmetric mesh:

  • *.py basicly creates the geometry and mesh suitable for the RBE3 constraint. The additional node and master nodes is also created here, although it gives a warning in Salome
    • load by File --> load script (cntrl T in the object browser), refresh (F5) after running
    • Save the mesh file by right clicking in the object browser by right clicking on the mesh name Mbcyl; select Export to MED and accept or change the default values
  • ASTK file (*.astk, you need to edit the paths to your requirements ...)
  • command file (cylinder_e.comm)

Download the files here:


Reference:
[yyyyyyyy, page zz/109]