Difference between revisions of "Contrib:Johnnygeling/springplate"

From CAELinuxWiki
Jump to: navigation, search
m ('''The geometry and the mesh of the construction''')
(Command file for result extraction)
 
(13 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
==='''The geometry and the mesh of the construction'''===
 
==='''The geometry and the mesh of the construction'''===
 
The description of this problem is shown in the picture:
 
The description of this problem is shown in the picture:
 +
 
[[Image:shell_spring_problem_description.png]]
 
[[Image:shell_spring_problem_description.png]]
 +
 +
===='''The mesh'''====
 +
The mesh is divided in three components:
 +
*drive
 +
*bladveer
 +
*wall
 +
 +
The assemble mesh is shown:
 +
 +
[[Image:Mesh assy.png]]
  
 
=='''The model'''==
 
=='''The model'''==
 +
The .comm files:
 
==='''coque_3d'''===
 
==='''coque_3d'''===
==='''coque_3d'''===
+
 
 +
There are three mesh-files to be read, for each component one.
 +
 
 +
Read mesh file of 'bladveer' component
 +
 
 +
bladveer=LIRE_MAILLAGE(UNITE=20,
 +
                        FORMAT='MED',
 +
                        VERI_MAIL=_F(VERIF='OUI',),);
 +
 
 +
 
 +
Read mesh file of 'drive' component
 +
 
 +
drive=LIRE_MAILLAGE(UNITE=21,
 +
                    FORMAT='MED',
 +
                    VERI_MAIL=_F(),);
 +
 
 +
 
 +
Read mesh file of 'wall' component
 +
 
 +
wall=LIRE_MAILLAGE(UNITE=22,
 +
                    FORMAT='MED',
 +
                    VERI_MAIL=_F(),);
 +
 
 +
 
 +
Assemble 2 meshes into a temporary mesh:
 +
 
 +
temp_m=ASSE_MAILLAGE(MAILLAGE_1=bladveer,
 +
                      MAILLAGE_2=drive,
 +
                      OPERATION='SUPERPOSE',);
 +
 
 +
 
 +
Assemble the temporary mesh with the last mesh:
 +
 
 +
mesh=ASSE_MAILLAGE(MAILLAGE_1=temp_m,
 +
                    MAILLAGE_2=wall,
 +
                    OPERATION='SUPERPOSE',);
 +
 
 +
 
 +
Transform the quad mesh with 8 node into a quad mesh with 9 nodes:
 +
 
 +
meshQ=CREA_MAILLAGE(MAILLAGE=mesh,
 +
                    MODI_MAILLE=_F(TOUT='OUI',
 +
                                    OPTION='QUAD8_9',),);
 +
 
 +
Orientation of the surfaces:
 +
meshQ=MODI_MAILLAGE(reuse =meshQ,
 +
                    MAILLAGE=meshQ,
 +
                    ORIE_NORM_COQUE=_F(GROUP_MA=('f_wall','f_reac_c',),),);
 +
 
 +
Define material properties. (Be aware of the units of the mesh)
 +
 
 +
staal=DEFI_MATERIAU(ELAS=_F(E=2.1E11,
 +
                            NU=0.3,),);
 +
 
 +
Apply material to domain:
 +
 
 +
Appl_mat=AFFE_MATERIAU(MAILLAGE=meshQ,
 +
                        AFFE=_F(TOUT='OUI',
 +
                                MATER=staal,),);
 +
Create model:
 +
 
 +
model=AFFE_MODELE(MAILLAGE=meshQ,
 +
                  VERIF=('MAILLE','NOEUD',),
 +
                  AFFE=_F(TOUT='OUI',
 +
                          PHENOMENE='MECANIQUE',
 +
                          MODELISATION='COQUE_3D',),);
 +
 
 +
Boundary conditions of fixed elements:
 +
 
 +
randvw3=AFFE_CHAR_CINE(MODELE=model,
 +
                        MECA_IMPO=(_F(GROUP_MA=('f_wall','f_fix_1',),
 +
                                      DX=0.0,
 +
                                      DY=0.0,
 +
                                      DZ=0.0,
 +
                                      DRX=0.0,
 +
                                      DRY=0.0,
 +
                                      DRZ=0.0,),
 +
                                  _F(GROUP_MA=('f_reac_c','f_bladv',),
 +
                                      DZ=0.0,),),);
 +
 
 +
Contact definitions:
 +
 
 +
cont1=AFFE_CHAR_MECA(MODELE=model,
 +
                      CONTACT=(_F(METHODE='CONTRAINTE',
 +
                                  GROUP_MA_MAIT='f_drive',
 +
                                  GROUP_MA_ESCL='f_load_c',
 +
                                  APPARIEMENT='MAIT_ESCL',
 +
                                  LISSAGE='NON',
 +
                                  NORMALE='MAIT',
 +
                                  TYPE_APPA='PROCHE',
 +
                                  TOLE_APPA=0.01,
 +
                                  REAC_GEOM='AUTOMATIQUE',),
 +
                              _F(METHODE='CONTRAINTE',
 +
                                  GROUP_MA_MAIT='f_wall',
 +
                                  GROUP_MA_ESCL='f_reac_c',
 +
                                  APPARIEMENT='MAIT_ESCL',
 +
                                  LISSAGE='NON',
 +
                                  NORMALE='MAIT',
 +
                                  TYPE_APPA='PROCHE',
 +
                                  TOLE_APPA=0.01,
 +
                                  REAC_GEOM='AUTOMATIQUE',),),);
 +
 
 +
Load condition. In this case f_drive is moved 7mm downwards
 +
 +
load=AFFE_CHAR_MECA(MODELE=model,
 +
                    DDL_IMPO=_F(GROUP_MA='f_drive',
 +
                                DX=0.0,
 +
                                DY=-0.007,
 +
                                DZ=0.0,),);
 +
 
 +
Thickness and orientation of shell elements:
 +
 +
shell=AFFE_CARA_ELEM(MODELE=model,
 +
                      COQUE=_F(GROUP_MA=('f_wall','f_bladv','f_drive',),
 +
                              EPAIS=0.0003,),);
 +
 
 +
Direction of load curve:
 +
 
 +
LinRamp=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,
 +
                            1.0,1.0,
 +
                            ),PROL_DROITE='LINEAIRE',PROL_GAUCHE='LINEAIRE',);
 +
 
 +
Loadstep. Load of 7mm is divided into small steps. In this case each load step is 7mm * 0.05/1 = 0,35mm
 +
 
 +
List=DEFI_LIST_REEL(DEBUT=0.,
 +
                    INTERVALLE=_F(JUSQU_A=1.0,
 +
                                  PAS=0.05,),);
 +
 
 +
The non-linear calculation:
 +
 
 +
Resu=STAT_NON_LINE(MODELE=model,
 +
                  CHAM_MATER=Appl_mat,
 +
                  CARA_ELEM=shell,
 +
                  EXCIT=(_F(CHARGE=randvw3,),
 +
                          _F(CHARGE=load,
 +
                            FONC_MULT=LinRamp,),
 +
                          _F(CHARGE=cont1,),),
 +
                  COMP_INCR=_F(RELATION='ELAS',
 +
                                DEFORMATION='REAC_GEOM',),
 +
                  INCREMENT=_F(LIST_INST=List,
 +
                                PRECISION=1.E-6,),
 +
                  CONVERGENCE=_F(RESI_GLOB_MAXI=1.E-4,
 +
                                  RESI_GLOB_RELA=1.E-4,
 +
                                  ITER_GLOB_MAXI=30,
 +
                                  TYPE='PIC',),
 +
                  SOLVEUR=_F(METHODE='MULT_FRONT',
 +
                              SYME='OUI',),
 +
                  METHODE='NEWTON',
 +
                  NEWTON=_F(REAC_INCR=1,
 +
                            PREDICTION='TANGENTE',
 +
                            MATRICE='TANGENTE',
 +
                            REAC_ITER=1,
 +
                            REAC_ITER_ELAS=1,),);
 +
 
 +
Primary results. All available results will be written in de result file. The result file is in MED-format.
 +
Available fields are:
 +
*DEPL : Displacements
 +
*VALE_CONT
 +
*SIEF_ELGA : Stresses in element gauss points (Correct?)
 +
*VARI_ELGA : Internal variables
 +
Other results will be extracted with another .comm file:
 +
 
 +
IMPR_RESU(FORMAT='MED',
 +
          UNITE=80,
 +
          RESU=_F(MAILLAGE=meshQ,
 +
                  RESULTAT=Resu,
 +
                  INFO_MAILLAGE='OUI',
 +
                  TOUT_CHAM='OUI',),);
 +
 
 +
FIN();
 +
 
 +
==='''dkt'''===
 
==='''contact'''===
 
==='''contact'''===
 +
 
==''Result''==
 
==''Result''==
 +
==='''Coque_3D'''===
 +
====Displacement field====
 +
The deformation after the last load step with the 2 contact zones is shown below.
 +
 +
[[Image:Final_displacement.png]]
 +
 +
 +
====Command file for result extraction====
 +
 +
A seccond command file is used to extract the necessary results.
 +
For this case the final result will be a force-displacement curve. Other result are used to validate the result.
 +
 +
The second command file 'bladveer_1.post.comm' will be explained.
 +
 +
Used to tell this is a continuation of a calculation.
 +
POURSUITE();
 +
 +
A group of nodes is created. This group will be used to extract the nodal forces and reaction forces from the force field.
 +
meshQ=DEFI_GROUP(reuse =meshQ,
 +
                MAILLAGE=meshQ,
 +
                CREA_GROUP_NO=_F(GROUP_MA='f_load_c',
 +
                                  NOM='n_load_c',),);
 +
 +
 +
Calculation of nodal and reaction forces. In this case they should be the same because no external forces are applied, only displacements.
 +
Resu=CALC_NO(reuse =Resu,
 +
            RESULTAT=Resu,
 +
            OPTION=('FORC_NODA','REAC_NODA',),);
 +
 +
 +
Extraction of the reaction forces, nodal forces and displacements of the nodes of the previous made group 'n_load_c'
 +
TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
 +
                                INTITULE='ReactionForces',
 +
                                RESULTAT=Resu,
 +
                                NOM_CHAM='REAC_NODA',
 +
                                TOUT_ORDRE='OUI',
 +
                                TOUT='OUI',
 +
                                GROUP_NO='n_load_c',
 +
                                RESULTANTE=('DX','DY','DZ',),),
 +
                              _F(OPERATION='EXTRACTION',
 +
                                INTITULE='Forces',
 +
                                RESULTAT=Resu,
 +
                                NOM_CHAM='FORC_NODA',
 +
                                TOUT_ORDRE='OUI',
 +
                                GROUP_NO='n_load_c',
 +
                                RESULTANTE=('DX','DY','DZ',),),
 +
                              _F(OPERATION='EXTRACTION',
 +
                                INTITULE='DisplacementDrive',
 +
                                RESULTAT=Resu,
 +
                                NOM_CHAM='DEPL',
 +
                                TOUT_ORDRE='OUI',
 +
                                GROUP_NO='n_drive',
 +
                                RESULTANTE='DY',),),);
 +
 +
Print the table to a file. The file number is 26. This is used in ASTK.
 +
IMPR_TABLE(TABLE=TB_nodf,
 +
          FORMAT='TABLEAU',
 +
          UNITE=26,
 +
          SEPARATEUR='  * ',
 +
          TITRE='Reaction forces at nodes on load surface',);
 +
 +
 +
Calculation of elements see U2.02.01 Revision 1169
 +
{|
 +
!Keyword
 +
!Description
 +
|-
 +
|SIGM_ELNO_DEPL
 +
|Calculation of stress per element in the nodes based on the displacement field 'DEPL' at a certain point in the thickness. (for some reason not printed in med-file)
 +
|-
 +
|EQUI_ELNO_SIGM
 +
|Equivelant stress in the nodes at a certain point in the thickness based on SIGM_ELNO_DEPL or SIGM_ELNO_COQU. (for some reason not printed in med-file)
 +
|-
 +
|SIGM_ELNO_COQU
 +
|(for some reason not printed in med-file)
 +
|-
 +
|EPSI_ELNO_DEPL
 +
|(for some reason not printed in med-file)
 +
|-
 +
|SIEF_ELNO_ELGA
 +
|(for some reason not printed in med-file)
 +
|}
 +
top=CALC_ELEM(RESULTAT=Resu,
 +
              REPE_COQUE=_F(NUME_COUCHE=1,
 +
                            NIVE_COUCHE='SUP',),
 +
              OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM','SIGM_ELNO_COQU','EPSI_ELNO_DEPL','SIEF_ELNO_ELGA',),
 +
              NORME='VMIS',);
 +
 +
top=CALC_NO(reuse =top,
 +
            RESULTAT=top,
 +
            OPTION='SIGM_NOEU_COQU',);
 +
 +
 +
Med file cannot represent quad9
 +
modelR=AFFE_MODELE(MAILLAGE=mesh,
 +
                  AFFE=_F(TOUT='OUI',
 +
                          PHENOMENE='MECANIQUE',
 +
                          MODELISATION='3D',),);
 +
 +
SalomeT=PROJ_CHAMP(RESULTAT=top,
 +
                  MODELE_1=modelR,
 +
                  MODELE_2=model,);
 +
 +
IMPR_RESU(FORMAT='MED',
 +
          UNITE=80,
 +
          RESU=_F(MAILLAGE=meshQ, #is this option needed?
 +
                  RESULTAT=SalomeT,
 +
                  TOUT_CHAM='OUI',),);
 +
 +
FIN();
 +
 +
====Stress fields in top surface and mid surface====
 +
 +
The stress in the top en mid surfaces are calculated using a the second command file (bladveer_1.post.comm)
 +
 +
{|
 +
|Stress in top surface
 +
|Stress in mid surface
 +
|}

Latest revision as of 21:40, 9 May 2010

Sheetmetal spring with contact (shell elements with contact)

under construction (johnnygeling 10:09, 17 April 2010 (CEST))

Introduction

This contribution mainly focuses on the use of Salome, Code Aster and particular howto deal with shell elements and contact. So I do not focus on the results and the mechanical justifications of the code that has been used. So no guarantee that the results will be correct up to five decimal places, which they are probably not. I do hope though that this information is useful. For me it has been, because I had to think about some commands and look through the documentation and learn from that. In case of mistakes, errors or remarks, please notify me, or better, you are invited to correct or edit them yourself. Enjoy.

The geometry

The geometry and the mesh of the construction

The description of this problem is shown in the picture:

Shell spring problem description.png

The mesh

The mesh is divided in three components:

  • drive
  • bladveer
  • wall

The assemble mesh is shown:

Mesh assy.png

The model

The .comm files:

coque_3d

There are three mesh-files to be read, for each component one.

Read mesh file of 'bladveer' component

bladveer=LIRE_MAILLAGE(UNITE=20,
                       FORMAT='MED',
                       VERI_MAIL=_F(VERIF='OUI',),);


Read mesh file of 'drive' component

drive=LIRE_MAILLAGE(UNITE=21,
                    FORMAT='MED',
                    VERI_MAIL=_F(),);


Read mesh file of 'wall' component

wall=LIRE_MAILLAGE(UNITE=22,
                   FORMAT='MED',
                   VERI_MAIL=_F(),);


Assemble 2 meshes into a temporary mesh:

temp_m=ASSE_MAILLAGE(MAILLAGE_1=bladveer,
                     MAILLAGE_2=drive,
                     OPERATION='SUPERPOSE',);


Assemble the temporary mesh with the last mesh:

mesh=ASSE_MAILLAGE(MAILLAGE_1=temp_m,
                   MAILLAGE_2=wall,
                   OPERATION='SUPERPOSE',);


Transform the quad mesh with 8 node into a quad mesh with 9 nodes:

meshQ=CREA_MAILLAGE(MAILLAGE=mesh,
                    MODI_MAILLE=_F(TOUT='OUI',
                                   OPTION='QUAD8_9',),);

Orientation of the surfaces:

meshQ=MODI_MAILLAGE(reuse =meshQ,
                    MAILLAGE=meshQ,
                    ORIE_NORM_COQUE=_F(GROUP_MA=('f_wall','f_reac_c',),),);

Define material properties. (Be aware of the units of the mesh)

staal=DEFI_MATERIAU(ELAS=_F(E=2.1E11,
                            NU=0.3,),);

Apply material to domain:

Appl_mat=AFFE_MATERIAU(MAILLAGE=meshQ,
                       AFFE=_F(TOUT='OUI',
                               MATER=staal,),);

Create model:

model=AFFE_MODELE(MAILLAGE=meshQ,
                  VERIF=('MAILLE','NOEUD',),
                  AFFE=_F(TOUT='OUI',
                          PHENOMENE='MECANIQUE',
                          MODELISATION='COQUE_3D',),);

Boundary conditions of fixed elements:

randvw3=AFFE_CHAR_CINE(MODELE=model,
                       MECA_IMPO=(_F(GROUP_MA=('f_wall','f_fix_1',),
                                     DX=0.0,
                                     DY=0.0,
                                     DZ=0.0,
                                     DRX=0.0,
                                     DRY=0.0,
                                     DRZ=0.0,),
                                  _F(GROUP_MA=('f_reac_c','f_bladv',),
                                     DZ=0.0,),),);

Contact definitions:

cont1=AFFE_CHAR_MECA(MODELE=model,
                     CONTACT=(_F(METHODE='CONTRAINTE',
                                 GROUP_MA_MAIT='f_drive',
                                 GROUP_MA_ESCL='f_load_c',
                                 APPARIEMENT='MAIT_ESCL',
                                 LISSAGE='NON',
                                 NORMALE='MAIT',
                                 TYPE_APPA='PROCHE',
                                 TOLE_APPA=0.01,
                                 REAC_GEOM='AUTOMATIQUE',),
                              _F(METHODE='CONTRAINTE',
                                 GROUP_MA_MAIT='f_wall',
                                 GROUP_MA_ESCL='f_reac_c',
                                 APPARIEMENT='MAIT_ESCL',
                                 LISSAGE='NON',
                                 NORMALE='MAIT',
                                 TYPE_APPA='PROCHE',
                                 TOLE_APPA=0.01,
                                 REAC_GEOM='AUTOMATIQUE',),),);

Load condition. In this case f_drive is moved 7mm downwards

load=AFFE_CHAR_MECA(MODELE=model,
                    DDL_IMPO=_F(GROUP_MA='f_drive',
                                DX=0.0,
                                DY=-0.007,
                                DZ=0.0,),);

Thickness and orientation of shell elements:

shell=AFFE_CARA_ELEM(MODELE=model,
                     COQUE=_F(GROUP_MA=('f_wall','f_bladv','f_drive',),
                              EPAIS=0.0003,),);

Direction of load curve:

LinRamp=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,
                            1.0,1.0,
                            ),PROL_DROITE='LINEAIRE',PROL_GAUCHE='LINEAIRE',);

Loadstep. Load of 7mm is divided into small steps. In this case each load step is 7mm * 0.05/1 = 0,35mm

List=DEFI_LIST_REEL(DEBUT=0.,
                   INTERVALLE=_F(JUSQU_A=1.0,
                                 PAS=0.05,),);

The non-linear calculation:

Resu=STAT_NON_LINE(MODELE=model,
                  CHAM_MATER=Appl_mat,
                  CARA_ELEM=shell,
                  EXCIT=(_F(CHARGE=randvw3,),
                         _F(CHARGE=load,
                            FONC_MULT=LinRamp,),
                         _F(CHARGE=cont1,),),
                  COMP_INCR=_F(RELATION='ELAS',
                               DEFORMATION='REAC_GEOM',),
                  INCREMENT=_F(LIST_INST=List,
                               PRECISION=1.E-6,),
                  CONVERGENCE=_F(RESI_GLOB_MAXI=1.E-4,
                                 RESI_GLOB_RELA=1.E-4,
                                 ITER_GLOB_MAXI=30,
                                 TYPE='PIC',),
                  SOLVEUR=_F(METHODE='MULT_FRONT',
                             SYME='OUI',),
                  METHODE='NEWTON',
                  NEWTON=_F(REAC_INCR=1,
                            PREDICTION='TANGENTE',
                            MATRICE='TANGENTE',
                            REAC_ITER=1,
                            REAC_ITER_ELAS=1,),);

Primary results. All available results will be written in de result file. The result file is in MED-format. Available fields are:

  • DEPL : Displacements
  • VALE_CONT
  • SIEF_ELGA : Stresses in element gauss points (Correct?)
  • VARI_ELGA : Internal variables

Other results will be extracted with another .comm file:

IMPR_RESU(FORMAT='MED',
         UNITE=80,
         RESU=_F(MAILLAGE=meshQ,
                 RESULTAT=Resu,
                 INFO_MAILLAGE='OUI',
                 TOUT_CHAM='OUI',),);
FIN();

dkt

contact

Result

Coque_3D

Displacement field

The deformation after the last load step with the 2 contact zones is shown below.

Final displacement.png


Command file for result extraction

A seccond command file is used to extract the necessary results. For this case the final result will be a force-displacement curve. Other result are used to validate the result.

The second command file 'bladveer_1.post.comm' will be explained.

Used to tell this is a continuation of a calculation.

POURSUITE();

A group of nodes is created. This group will be used to extract the nodal forces and reaction forces from the force field.

meshQ=DEFI_GROUP(reuse =meshQ,
                MAILLAGE=meshQ,
                CREA_GROUP_NO=_F(GROUP_MA='f_load_c',
                                 NOM='n_load_c',),);


Calculation of nodal and reaction forces. In this case they should be the same because no external forces are applied, only displacements.

Resu=CALC_NO(reuse =Resu,
            RESULTAT=Resu,
            OPTION=('FORC_NODA','REAC_NODA',),);


Extraction of the reaction forces, nodal forces and displacements of the nodes of the previous made group 'n_load_c'

TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
                                INTITULE='ReactionForces',
                                RESULTAT=Resu,
                                NOM_CHAM='REAC_NODA',
                                TOUT_ORDRE='OUI',
                                TOUT='OUI',
                                GROUP_NO='n_load_c',
                                RESULTANTE=('DX','DY','DZ',),),
                             _F(OPERATION='EXTRACTION',
                                INTITULE='Forces',
                                RESULTAT=Resu,
                                NOM_CHAM='FORC_NODA',
                                TOUT_ORDRE='OUI',
                                GROUP_NO='n_load_c',
                                RESULTANTE=('DX','DY','DZ',),),
                             _F(OPERATION='EXTRACTION',
                                INTITULE='DisplacementDrive',
                                RESULTAT=Resu,
                                NOM_CHAM='DEPL',
                                TOUT_ORDRE='OUI',
                                GROUP_NO='n_drive',
                                RESULTANTE='DY',),),);

Print the table to a file. The file number is 26. This is used in ASTK.

IMPR_TABLE(TABLE=TB_nodf,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR='  * ',
          TITRE='Reaction forces at nodes on load surface',);


Calculation of elements see U2.02.01 Revision 1169

Keyword Description
SIGM_ELNO_DEPL Calculation of stress per element in the nodes based on the displacement field 'DEPL' at a certain point in the thickness. (for some reason not printed in med-file)
EQUI_ELNO_SIGM Equivelant stress in the nodes at a certain point in the thickness based on SIGM_ELNO_DEPL or SIGM_ELNO_COQU. (for some reason not printed in med-file)
SIGM_ELNO_COQU (for some reason not printed in med-file)
EPSI_ELNO_DEPL (for some reason not printed in med-file)
SIEF_ELNO_ELGA (for some reason not printed in med-file)
top=CALC_ELEM(RESULTAT=Resu,
             REPE_COQUE=_F(NUME_COUCHE=1,
                           NIVE_COUCHE='SUP',),
             OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM','SIGM_ELNO_COQU','EPSI_ELNO_DEPL','SIEF_ELNO_ELGA',),
             NORME='VMIS',);
top=CALC_NO(reuse =top,
           RESULTAT=top,
           OPTION='SIGM_NOEU_COQU',);


Med file cannot represent quad9

modelR=AFFE_MODELE(MAILLAGE=mesh,
                  AFFE=_F(TOUT='OUI',
                          PHENOMENE='MECANIQUE',
                          MODELISATION='3D',),);
SalomeT=PROJ_CHAMP(RESULTAT=top,
                  MODELE_1=modelR,
                  MODELE_2=model,);
IMPR_RESU(FORMAT='MED',
         UNITE=80,
         RESU=_F(MAILLAGE=meshQ, #is this option needed?
                 RESULTAT=SalomeT,
                 TOUT_CHAM='OUI',),);
FIN();

Stress fields in top surface and mid surface

The stress in the top en mid surfaces are calculated using a the second command file (bladveer_1.post.comm)

Stress in top surface Stress in mid surface