Difference between revisions of "Contrib:Claws/Code Aster/10 x cases/liaison elem"

From CAELinuxWiki
Jump to: navigation, search
m (Contrib:Claws/Code Aster/10 1 x cases/liaison elem moved to Contrib:Claws/Code Aster/10 x cases/liaison elem)
m
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Contrib:Claws/Code_Aster/10_1_x_cases|'''<-Link: Back to Contrib:Claws/Code_Aster/10_1_x_cases''']] <br />
+
[[Contrib:Claws/Code_Aster/10_x_cases|'''<-Link: Back to Contrib:Claws/Code_Aster/10_x_cases''']] <br />
  
== Content ==
 
  
==Introduction and theory==
+
<center>Substituting volume elements with beam elements </center>
  
'''Code_Aster''' has the ability to connect elements of different dimensions.
+
<center>in </center>
0-1-2 and 3D elements can be connected together in all different manners, but in this particular study, we'll connect a 3D element to a 1D element and back to a 3D  element again.
+
  
In many situations this can drastically reduce the work load on the computer doing the analysis, not to mention post-processing the files afterwards.
+
<center>Code Aster®</center>
  
In a situation where you're only interested in what happens at the boundaries, theres no need to model and calculate the areas inbetween.
 
  
The way to go about this, is to ''describe'' the area inbetween, instead of modeling it.
+
<center>A short introduction to using LIAISON_ELEM.</center>
  
For this feat, '''Code_Aster''' provides a powerful command called '''LIAISON_ELEM'''.
 
  
''(Document '''U4.42.01''' explains this command fully)''
+
<center>For CAELinux.com, March 2011 - Claus Andersen</center>
  
To describe an element, '''C_A''' needs know how many degree of freedom (DX,DY,DZ,DRX,DRY,DRZ) the element has and what the element geometrically looks like.
+
<center>Rev. 1.1</center>
  
For this, a model must be assigned to the element and parameters for the geometry must be assigned.
+
[[Image:Signature transparent scaled small.png]]<br />
Heres an example of how a square pipe is described:
+
'''Table of Contents'''
  
[[Image:Claws_liaison_elem_description.jpg]]
+
= Introduction and theory =
 +
'''Code Aster®''' has the ability to connect elements of different dimensions. 0-1-2 and 3D elements can be connected together in all different manners, but in this particular study, we'll connect a 3D element to a 1D element and back to a 3D element again.  
  
In this study we're using a solid rectangle so we only need to assign the parameter '''H''', since the sides are of equal length.
+
In many situations this can drastically reduce the work load on the computer doing the analysis, not to mention post-processing the files after-wards.  
  
This is the result of we'll be working towards in this study
+
In a situation where you're only interested in what happens at the boundaries, there’s no need to model and calculate the areas in-between.
  
[[Image:Claws_liaison_elem_compare_scaled.png]]
+
The way to go about this, is to describe the area in-between, instead of modeling it.  
  
==Applying the theory to '''C_A'''==
+
For this feat, '''Code Aster®''' provides a powerful command called '''LIAISON_ELEM'''.
  
===Preparing the object===
+
''(Document '''<nowiki>[U4.42.01] </nowiki>'''explains this command fully)''
  
In this study we'll analyze the boundary conditions of a column, substituting the middle of the column with a 1D element and describing this element to '''C_A''', thus saving a lot of computing time.
+
To describe an element, '''Code Aster®''' needs know how many degree of freedom (DX,DY,DZ,DRX,DRY,DRZ) the element has and what the element geometrically looks like.  
Actually not at all, really. Since the geometry in this situation is so simple, we're talking mere mili-seconds and roughly 1mb of RAM saved - we'll do it anyway just for the heck of it.
+
  
From looking at the image of the result, you should have a good idea of how to model the situation.  
+
For this, a model must be assigned to the element and parameters for the geometry must be assigned. Heres an example of how a square pipe is described (Fig. 1.1):
  
*Create two boxes of 200x200x200 in the geometry modules of '''Salomé''', enter the mesh module.
+
<center>[[Image:Claws_liaison_elem_description.jpg|''Figure 1.1: parameters describing a cross section with AFFE_CARA_ELEM'']]</center>
  
*In the mesh module, mesh the two boxes individually with hexahedrons.
 
  
*Create a ''compound'' mesh of the two boxes. Right click the compound mesh and select 'show only'
+
In this study we're using a solid rectangle so we only need to assign the parameter '''H''', since the sides are of equal length.
  
*Now create two points; one at the center of the top surface of the ''bottom'' box (if the box is 200x200x200, the coordinates of the first point will be {100,100,200}), and another at the center of the bottom surface of the ''top'' box.
+
This is the result of we'll be working towards in this study (Fig. 1)
  
*Create a node group for each of the two nodes, call the two node groups '''N_1''' and '''N_2''' respectively
+
<center> [[Image:Claws_liaison_elem_crop_scaled.png|Figure 1:]] </center>
  
*Create an ''edge'' by using the two points you just created. Assign this to an element group and call it '''bar'''
+
= Applying the theory to Code Aster® =
 +
== Preparing the object ==
 +
In this study we'll analyze the boundary conditions of a column, substituting the middle of the column with a 1D element and describing this element to '''Code Aster®''', thus saving a lot of computing time. Actually not at all, really. Since the geometry in this situation is so simple, we're talking mere mili-seconds and roughly 1mb of RAM saved - we'll do it anyway just for the heck of it.
  
*The surfaces that are to be connected with the edge just created, are assigned face groups and are called '''liaison''' and '''liaison2''', respectively.
+
From looking at the image of the result, you should have a good idea of how to model the situation.  
  
*Bottom face of the ''bottom'' box is assigned a face group called '''hold''', top face of the 'top' box is assigned a face group called '''top'''
+
* Create two boxes of 200x200x200 in the geometry modules of '''Salomé®''', enter the mesh module.
  
*Heres a picture of what it should look like (only the ''bottom'' box is showed though)
+
* In the mesh module, mesh the two boxes individually with hexahedrons.
  
[[Image:Claws_liaison_elem.jpg]]
+
* Create a ''compound'' mesh of the two boxes. Right click the compound mesh and select 'show only'
  
Now you should have a constellation of groups looking something like this:
+
* Now create two points; one at the center of the top surface of the ''bottom'' box (if the box is 200x200x200, the coordinates of the first point will be {100,100,200}), and another at the center of the bottom surface of the ''top'' box.
  
[[Image:Claws_liaison_elem_mesh_groups.jpg]]
+
* Create a node group for each of the two nodes, call the two node groups '''N_1''' and '''N_2''' respectively
  
Export the mesh to a ''.med'' file and we are ready to move on to...
+
* Create an ''edge'' by using the two points you just created. Assign this to an element group and call it '''bar'''  
  
===Applying '''LIAISON_ELEM''' in '''Code_Aster'''===
+
* The surfaces that are to be connected with the edge just created, are assigned face groups and are called '''liaison''' and '''liaison2''', respectively.
  
Walking through the ''.comm'' file step by step
+
* Bottom face of the ''bottom'' box is assigned a face group called '''hold''', top face of the 'top' box is assigned a face group called '''top'''  
  
 +
Heres a picture of what it should look like - only the ''bottom'' box is shown – Fig. 2.2
  
 +
<center>[[Image:Claws_liaison_elem.jpg|''Figure 2.1: Group diagram'']]</center>
 +
 +
You should now have a constellation of groups looking something like this(Fig. 2.2):
 +
 +
<center>[[Image:Claws_liaison_elem_mesh_groups.jpg|''Figure 2.2: Mesh groups'']]</center>
 +
 +
Export the mesh to a ''.med'' file and we are ready to move on to...
 +
 +
== Applying LIAISON_ELEM in Code Aster® ==
 +
Walking through the ''.comm'' file step by step
 +
 +
<nowiki>#Define the material, read the mesh</nowiki>
 
  DEBUT();
 
  DEBUT();
+
 
 
  MA=DEFI_MATERIAU(ELAS=_F(E=210e+03,
 
  MA=DEFI_MATERIAU(ELAS=_F(E=210e+03,
 
                         NU=0.28,),);
 
                         NU=0.28,),);
+
 
 
  MAIL=LIRE_MAILLAGE(FORMAT='MED',
 
  MAIL=LIRE_MAILLAGE(FORMAT='MED',
 
                   INFO_MED=1,);
 
                   INFO_MED=1,);
  
;Definition
+
'''Definition'''
  
:*Define the material, read the mesh
+
* Assigning mechanical models to the components; call the models '''MODE'''
 +
** Assign a 3D model to everything
 +
** Assign a beam model with 3D capabilities (rotation and translation) to the element '''bar'''
 +
*** '''POU'''tre = beam, '''D'''roite = straight, '''E'''uler hypothesis
 +
**** See document '''U3.11.01''' section '''1''' for further explanation
  
 
  MODE=AFFE_MODELE(MAILLAGE=MAIL,
 
  MODE=AFFE_MODELE(MAILLAGE=MAIL,
Line 91: Line 105:
 
                           MODELISATION='POU_D_E',),),);
 
                           MODELISATION='POU_D_E',),),);
  
;Definition
+
'''Definition'''
 +
 
 +
Assign the material '''MA''' to everything
  
:*Assigning mechanical models to the components; call the models '''MODE'''
 
:**Assign a 3D model to everything
 
:**Assign a beam model with 3D capabilities (rotation and translation) to the element '''bar'''
 
:***'''POU'''tre = beam, '''D'''roite = straight, '''E'''uler hypothesis
 
:****See document '''U3.11.01''' section '''1''' for further explanation
 
  
 
  MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
 
  MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
 
                   AFFE=_F(TOUT='OUI',
 
                   AFFE=_F(TOUT='OUI',
 
                           MATER=MA,),);
 
                           MATER=MA,),);
;Definition
 
  
:*Assign the material '''MA''' to everything
+
 
 +
'''Definition'''
 +
 
 +
* Describing the characteristics of the element '''bar'''
 +
** '''VERIF (NOUED, MAILLE)''': Verify that both the element and the nodes support the assigned characteristics, otherwise halt the calculation with a fatal error
 +
** '''POUTRE''': Beam
 +
*** Assign to the element '''bar'''  
 +
*** '''SECTION''': Cross section is a rectangle of equal length sides
 +
*** '''CARA=H''', '''VALE=200''': Since the cross section where we connect the beam element to the 3D element is 200x200, '''H''' must have the same dimensions.
  
 
  cara=AFFE_CARA_ELEM(MODELE=MODE,
 
  cara=AFFE_CARA_ELEM(MODELE=MODE,
Line 112: Line 130:
 
                               CARA='H',
 
                               CARA='H',
 
                               VALE=200.0,),);
 
                               VALE=200.0,),);
;Definition
 
  
:*Describing the characteristics of the element '''bar'''
+
Definition
:**VERIF (NOUED, MAILLE): Verify that both the element and the nodes support the assigned characteristics, otherwise halt the calculation with a fatal error
+
 
:**POUTRE: Beam
+
* Assign loads and boundary conditions, call it '''CHAR'''  
:***Assign to the element '''bar'''
+
** '''DDL_IMPO:''' Impose zero displacements to the face group '''hold''', i.e. anchor it down.
:***SECTION: Cross section is a rectangle of equal length sides
+
** '''LIAISON_ELEM=''' Create a relationship between a 3D element and a beam ('''3D_POU'''tre)
:***CARA=H, VALE=200: Since the cross section where we connect the beam element to the 3D element is 200x200, '''H''' must have the same dimensions.
+
*** Create the relationship between the face group '''liaison''' and the node group '''N_1'''  
 +
*** Do the same for '''liaison2''' and '''N_2'''
 +
** '''LIAISON_UNIF:''' Do not let the face group '''top''' deform AT ALL, i.e. it act as if it was welded to the ceiling
 +
** '''FORCE_FACE''': Self-explanatory
  
 
  CHAR=AFFE_CHAR_MECA(MODELE=MODE,
 
  CHAR=AFFE_CHAR_MECA(MODELE=MODE,
Line 137: Line 157:
 
                                   FZ=500.0,),);
 
                                   FZ=500.0,),);
  
;Definition
+
'''Definition '''
  
:*Assign loads and boundary conditions, call it '''CHAR'''
+
* Calculate the solution and call it '''RESU'''  
:**DDL_IMPO: Impose zero displacements to the face group '''hold''', i.e. anchor it down.
+
:**LIAISON_ELEM= Create a relationship between a 3D element and a beam ('''3D_POU'''tre)
+
:***Create the relationship between the face group '''liaison''' and the node group '''N_1'''
+
:***Do the same for '''liaison2''' and '''N_2'''
+
:**LIAISON_UNIF: Do not let the face group '''top''' deform AT ALL, i.e. it act as if it was welded to the ceiling
+
:**FORCE_FACE: Self-explanatory
+
  
 
  RESU=MECA_STATIQUE(MODELE=MODE,
 
  RESU=MECA_STATIQUE(MODELE=MODE,
Line 152: Line 166:
 
                   EXCIT=_F(CHARGE=CHAR,),);
 
                   EXCIT=_F(CHARGE=CHAR,),);
  
;Definition
+
'''Definition '''
  
:*Calculate the solution and call it '''RESU'''
+
* Calculate the stress at each element and nodes
  
 
  RESU=CALC_ELEM(reuse =RESU,
 
  RESU=CALC_ELEM(reuse =RESU,
Line 160: Line 174:
 
               CHAM_MATER=MATE,
 
               CHAM_MATER=MATE,
 
               RESULTAT=RESU,
 
               RESULTAT=RESU,
               OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',),
+
               OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM','EQUI_ELGA_SIGM',),
 
               EXCIT=_F(CHARGE=CHAR,),);
 
               EXCIT=_F(CHARGE=CHAR,),);
+
 
 
  RESU=CALC_NO(reuse =RESU,
 
  RESU=CALC_NO(reuse =RESU,
 
             RESULTAT=RESU,
 
             RESULTAT=RESU,
 
             OPTION=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),);
 
             OPTION=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),);
  
;Definition
 
  
:*Calculate the stress at each element and nodes
+
'''Definition'''
 +
 
 +
* Write the results to a ''.med'' file, include displacement, equivalent nodal stress and principal stress at the nodes as a result of the displacement
  
 
  IMPR_RESU(FORMAT='MED',
 
  IMPR_RESU(FORMAT='MED',
Line 175: Line 190:
 
           RESU=_F(MAILLAGE=MAIL,
 
           RESU=_F(MAILLAGE=MAIL,
 
                   RESULTAT=RESU,
 
                   RESULTAT=RESU,
                   NOM_CHAM=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM','DEPL',),),);
+
                   NOM_CHAM=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM','EQUI_ELGA_SIGM','DEPL',),),);
  FIN();
+
FIN();
  
;Definition
 
  
:*Write the results to a ''.med'' file, include displacement, equivalent nodal stress and stress at the nodes as a result of the displacement (need further information on SIGM_NOEU_DEPL)
+
= Post-processing =
 +
To verify that '''LIAISON_ELEM''' is indeed doing what it is supposed to be doing, a full 3D column is created, meshed and applied identical boundary conditions and load.
  
==Files==
+
== Deformation ==
 +
<center>[[Image:Claws_liaison_elem_compare_deformation_scaled.png|''Figure 3.1: Deformation – no difference'']]</center>
  
[[Media:Liaison_elem2.tar.gz|Liaison_elem2.tar.gz]]
+
== Von Mises stress ==
 +
The von Mises stress is displayed via the '''EQUI_ELGA_SIGM''' field in Salomé®, this ensures accurate results – Figure 3.2
 +
 
 +
<center>[[Image:Claws_liaison_elem_compare_VMIS2_scaled.png|''Figure 3.2: Von Mises stress. Left: LIAISON_ELEM version. Bottom: normal stress of beam element. Right: Full 3D version.Difference of 2.5 MPa'']]</center>
 +
 
 +
 
 +
To check if the normal stress of the beam element corrosponds with the normal stress of the fully 3D structure, the '''SIZZ''' component of the '''SIGM_DEPL_NOEU '''is visualized.
 +
 
 +
Picking a node close to the center of the structure (with clipping, a node at the absolute center can be picked), a scalar value of 500.15 MPa is shown. This corrosponds with the 500 MPa of the beam element. See figure 3.3
 +
 
 +
 
 +
<center>[[Image:Claws_liaison_elem_compare_SIZZ_scaled.png|''Figure 3.3: SIZZ component of SIGM_DEPL_NOEU'']]</center>
 +
 
 +
= Conclusion, remarks and author(s) =
 +
That's it for this tutorial. Much more information can be found in the user documents on the Code Aster® website, its forum and on the CAELinux website.
 +
 
 +
 
 +
Remark:
 +
 
 +
Any and all information and content in this document is published under the GPL license and can as such be used or reproduced in any way. The author(s) only ask for acknowledgment in such an event.
 +
 
 +
Acknowledgment goes out to EDF for releasing Code Aster® as free software and to all those who help out by answering questions in the forum and writing documentation / tutorials.
 +
 
 +
Contributions and/or corrections to this tutorial are always welcomed.
 +
 
 +
 
 +
Author(s):
 +
 
 +
<nowiki>Claus Andersen – ClausAndersen81_[at]_gmail.com</nowiki>
 +
 
 +
 
 +
<center>ENDED OK</center>
 +
 
 +
= PDF version and files =
 +
 
 +
Rev. 1.1: 30. March  2011<br />
 +
Rev. 1.0: 29. January 2010<br />
 +
 
 +
[[Media:Liaison elem.pdf| LIAISON_ELEM PDF version. Rev. 1.1]]<br />
 +
[[Media:Liaison_elem2.tar.gz|Files rev. 1.0]]
  
 
Includes:
 
Includes:
Line 191: Line 246:
 
*The files for running a comparable case of a fully 3D structure; ATSK file, ''.med'' file and ''.comm'' file
 
*The files for running a comparable case of a fully 3D structure; ATSK file, ''.med'' file and ''.comm'' file
  
==The End..?==
 
  
AND THERE YOU HAVE IT! Post any questions or corrections in the forum or create a login here and correct it (or write hateful messages in the 'Talk' page) :)
+
= Links =
 +
<center><nowiki>[CAELinux Website] </nowiki>[http://www.caelinux.com/ www.caelinux.com]</center>
 +
 
 +
<center><nowiki>[Code Aster® Website] </nowiki>[http://www.code-aster.org/ www.code-aster.org]</center>
 +
 
 +
<center><nowiki>[GMSH® Website] </nowiki>[http://www.geuz.org/gmsh www.geuz.org/GMSH]</center>
  
--[[User:Claws|Claws]] 14:27, 29 January 2010 (CET)
+
<center><nowiki>[XMGrace® Website] </nowiki>[http://plasma-gate.weizmann.ac.il/Grace/ http://plasma-gate.weizmann.ac.il/Grace/]</center>

Latest revision as of 10:42, 27 May 2011

<-Link: Back to Contrib:Claws/Code_Aster/10_x_cases


Substituting volume elements with beam elements
in
Code Aster®


A short introduction to using LIAISON_ELEM.


For CAELinux.com, March 2011 - Claus Andersen
Rev. 1.1

Signature transparent scaled small.png
Table of Contents

Introduction and theory

Code Aster® has the ability to connect elements of different dimensions. 0-1-2 and 3D elements can be connected together in all different manners, but in this particular study, we'll connect a 3D element to a 1D element and back to a 3D element again.

In many situations this can drastically reduce the work load on the computer doing the analysis, not to mention post-processing the files after-wards.

In a situation where you're only interested in what happens at the boundaries, there’s no need to model and calculate the areas in-between.

The way to go about this, is to describe the area in-between, instead of modeling it.

For this feat, Code Aster® provides a powerful command called LIAISON_ELEM.

(Document [U4.42.01] explains this command fully)

To describe an element, Code Aster® needs know how many degree of freedom (DX,DY,DZ,DRX,DRY,DRZ) the element has and what the element geometrically looks like.

For this, a model must be assigned to the element and parameters for the geometry must be assigned. Heres an example of how a square pipe is described (Fig. 1.1):

Figure 1.1: parameters describing a cross section with AFFE_CARA_ELEM


In this study we're using a solid rectangle so we only need to assign the parameter H, since the sides are of equal length.

This is the result of we'll be working towards in this study (Fig. 1)

Figure 1:

Applying the theory to Code Aster®

Preparing the object

In this study we'll analyze the boundary conditions of a column, substituting the middle of the column with a 1D element and describing this element to Code Aster®, thus saving a lot of computing time. Actually not at all, really. Since the geometry in this situation is so simple, we're talking mere mili-seconds and roughly 1mb of RAM saved - we'll do it anyway just for the heck of it.

From looking at the image of the result, you should have a good idea of how to model the situation.

  • Create two boxes of 200x200x200 in the geometry modules of Salomé®, enter the mesh module.
  • In the mesh module, mesh the two boxes individually with hexahedrons.
  • Create a compound mesh of the two boxes. Right click the compound mesh and select 'show only'
  • Now create two points; one at the center of the top surface of the bottom box (if the box is 200x200x200, the coordinates of the first point will be {100,100,200}), and another at the center of the bottom surface of the top box.
  • Create a node group for each of the two nodes, call the two node groups N_1 and N_2 respectively
  • Create an edge by using the two points you just created. Assign this to an element group and call it bar
  • The surfaces that are to be connected with the edge just created, are assigned face groups and are called liaison and liaison2, respectively.
  • Bottom face of the bottom box is assigned a face group called hold, top face of the 'top' box is assigned a face group called top

Heres a picture of what it should look like - only the bottom box is shown – Fig. 2.2

Figure 2.1: Group diagram

You should now have a constellation of groups looking something like this(Fig. 2.2):

Figure 2.2: Mesh groups

Export the mesh to a .med file and we are ready to move on to...

Applying LIAISON_ELEM in Code Aster®

Walking through the .comm file step by step

#Define the material, read the mesh
DEBUT();
MA=DEFI_MATERIAU(ELAS=_F(E=210e+03,
                        NU=0.28,),);
MAIL=LIRE_MAILLAGE(FORMAT='MED',
                  INFO_MED=1,);

Definition

  • Assigning mechanical models to the components; call the models MODE
    • Assign a 3D model to everything
    • Assign a beam model with 3D capabilities (rotation and translation) to the element bar
      • POUtre = beam, Droite = straight, Euler hypothesis
        • See document U3.11.01 section 1 for further explanation
MODE=AFFE_MODELE(MAILLAGE=MAIL,
                AFFE=(_F(TOUT='OUI',
                         PHENOMENE='MECANIQUE',
                         MODELISATION='3D',),
                      _F(GROUP_MA='bar',
                         PHENOMENE='MECANIQUE',
                         MODELISATION='POU_D_E',),),);

Definition

Assign the material MA to everything


MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
                  AFFE=_F(TOUT='OUI',
                          MATER=MA,),);


Definition

  • Describing the characteristics of the element bar
    • VERIF (NOUED, MAILLE): Verify that both the element and the nodes support the assigned characteristics, otherwise halt the calculation with a fatal error
    • POUTRE: Beam
      • Assign to the element bar
      • SECTION: Cross section is a rectangle of equal length sides
      • CARA=H, VALE=200: Since the cross section where we connect the beam element to the 3D element is 200x200, H must have the same dimensions.
cara=AFFE_CARA_ELEM(MODELE=MODE,
                   VERIF=('NOEUD','MAILLE',),
                   POUTRE=_F(GROUP_MA='bar',
                             SECTION='RECTANGLE',
                             CARA='H',
                             VALE=200.0,),);

Definition

  • Assign loads and boundary conditions, call it CHAR
    • DDL_IMPO: Impose zero displacements to the face group hold, i.e. anchor it down.
    • LIAISON_ELEM= Create a relationship between a 3D element and a beam (3D_POUtre)
      • Create the relationship between the face group liaison and the node group N_1
      • Do the same for liaison2 and N_2
    • LIAISON_UNIF: Do not let the face group top deform AT ALL, i.e. it act as if it was welded to the ceiling
    • FORCE_FACE: Self-explanatory
CHAR=AFFE_CHAR_MECA(MODELE=MODE,
                   DDL_IMPO=_F(GROUP_MA='hold',
                               DX=0.0,
                               DY=0.0,
                               DZ=0.0,),
                   LIAISON_ELEM=(_F(OPTION='3D_POU',
                                    GROUP_MA_1='liaison',
                                    GROUP_NO_2='N_1',),
                                 _F(OPTION='3D_POU',
                                    GROUP_MA_1='liaison2',
                                    GROUP_NO_2='N_2',),),
                   LIAISON_UNIF=_F(GROUP_MA='top',
                                   DDL=('DX','DY','DZ',),),
                   FORCE_FACE=_F(GROUP_MA='top',
                                 FZ=500.0,),);

Definition

  • Calculate the solution and call it RESU
RESU=MECA_STATIQUE(MODELE=MODE,
                  CHAM_MATER=MATE,
                  CARA_ELEM=cara,
                  EXCIT=_F(CHARGE=CHAR,),);

Definition

  • Calculate the stress at each element and nodes
RESU=CALC_ELEM(reuse =RESU,
              MODELE=MODE,
              CHAM_MATER=MATE,
              RESULTAT=RESU,
              OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM','EQUI_ELGA_SIGM',),
              EXCIT=_F(CHARGE=CHAR,),);
RESU=CALC_NO(reuse =RESU,
            RESULTAT=RESU,
            OPTION=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),);


Definition

  • Write the results to a .med file, include displacement, equivalent nodal stress and principal stress at the nodes as a result of the displacement
IMPR_RESU(FORMAT='MED',
         UNITE=80,
         RESU=_F(MAILLAGE=MAIL,
                 RESULTAT=RESU,
                 NOM_CHAM=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM','EQUI_ELGA_SIGM','DEPL',),),);
FIN();


Post-processing

To verify that LIAISON_ELEM is indeed doing what it is supposed to be doing, a full 3D column is created, meshed and applied identical boundary conditions and load.

Deformation

Figure 3.1: Deformation – no difference

Von Mises stress

The von Mises stress is displayed via the EQUI_ELGA_SIGM field in Salomé®, this ensures accurate results – Figure 3.2

Figure 3.2: Von Mises stress. Left: LIAISON_ELEM version. Bottom: normal stress of beam element. Right: Full 3D version.Difference of 2.5 MPa


To check if the normal stress of the beam element corrosponds with the normal stress of the fully 3D structure, the SIZZ component of the SIGM_DEPL_NOEU is visualized.

Picking a node close to the center of the structure (with clipping, a node at the absolute center can be picked), a scalar value of 500.15 MPa is shown. This corrosponds with the 500 MPa of the beam element. See figure 3.3


Figure 3.3: SIZZ component of SIGM_DEPL_NOEU

Conclusion, remarks and author(s)

That's it for this tutorial. Much more information can be found in the user documents on the Code Aster® website, its forum and on the CAELinux website.


Remark:

Any and all information and content in this document is published under the GPL license and can as such be used or reproduced in any way. The author(s) only ask for acknowledgment in such an event.

Acknowledgment goes out to EDF for releasing Code Aster® as free software and to all those who help out by answering questions in the forum and writing documentation / tutorials.

Contributions and/or corrections to this tutorial are always welcomed.


Author(s):

Claus Andersen – ClausAndersen81_[at]_gmail.com


ENDED OK

PDF version and files

Rev. 1.1: 30. March 2011
Rev. 1.0: 29. January 2010

LIAISON_ELEM PDF version. Rev. 1.1
Files rev. 1.0

Includes:

  • The files needed to run the liaison case; ATSK file, .med file and .comm file
  • The files for running a comparable case of a fully 3D structure; ATSK file, .med file and .comm file


Links

[CAELinux Website] www.caelinux.com
[Code Aster® Website] www.code-aster.org
[GMSH® Website] www.geuz.org/GMSH
[XMGrace® Website] http://plasma-gate.weizmann.ac.il/Grace/