Difference between revisions of "Contrib:KeesWouters/shell/tables"

From CAELinuxWiki
Jump to: navigation, search
m ('''Stresses - average at nodes''')
m ('''Extraction of separate fields - Python script''')
Line 218: Line 218:
  
 
Here we would try to extract the extreme values of the displacements and stresses for all seperate components using a Python script. First we define the field and their components we need:
 
Here we would try to extract the extreme values of the displacements and stresses for all seperate components using a Python script. First we define the field and their components we need:
* nodal nodal forces and reaction forces and moments,
+
* nodal nodal forces, reaction forces and moments,
 
* displacements, component DZ
 
* displacements, component DZ
 
* equivalents stresses VonMises, Tresca and three principle stresses PRIN_i
 
* equivalents stresses VonMises, Tresca and three principle stresses PRIN_i

Revision as of 17:30, 14 April 2010

Generation of tables

[ .... under construction .... ]

This contribution is in close cooperation with Bridge.
Since we might use different meshes the actual results may differ between parts, but it is mainly the way of working we focus on.

The construction

This contribution is based on this static shell problem. The pre processing and calculation part is described there in detail. Here we focus on the extraction of quantities by using tables.

The deformed shape of the concrete construction is given below.
Def.shape.gif

See this part for:

  • preproccesing:
    • definition of geometry in Salome
    • partitioning of the geometry and groups
    • meshing of the geometry
    • definition of the groups
  • static analysis with pressure or force applied on a group or nodes
  • postprocessing in Salome:
    • view displacement
    • view local and equivalent stresses

Now we focus on:

  • determination of stresses

Tables - general

Summary of the construction:
We have a trapezium concrete plate that has been modeled as shell. The left side is supported in three direction (DX=DY=DZ=0.0) and right is supported in the out of plane direction (DZ=0.0). On the shell itself various pressure loads are applied on the groups Ftop, Fbot, Fmain, Fcentre1 and Fcentre2.

Applied loads on the shell

For the load case:

load_bc=AFFE_CHAR_MECA(MODELE=modmod,
                      DDL_IMPO=(_F(GROUP_MA=('Lleft',),
                                   DX=0.0,
                                   DY=0.0,
                                   DZ=0.0,),
                                _F(GROUP_MA='Lright',
                                   DZ=0.0,),),
                      FORCE_COQUE=(_F(GROUP_MA=('Fcentre1','Fcentre2'),PRES=182.6e3,),
                                   _F(GROUP_MA=('Ftop' ),PRES=24.3e3,),
                                   _F(GROUP_MA=('Fbot' ),PRES=29.5e3,),
                                   _F(GROUP_MA=('Fmain'),PRES=25.8e3,),),);

the nodal and reaction forces are determined by:

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

Union of groups

In the command DEFI_GROUP groups of nodes [GROUP_NO] 'Nleft' and 'Nright' are created from the geometrical defined edges [GROUP_MA] 'Lleft' and 'Lright'. Later on they are united into a group of nodes 'Nsupport' by UNION. This is required because the creation of a table by POST_RELEVE_T needs a group of nodes.

meshmod=DEFI_GROUP(reuse =meshmod,
             MAILLAGE=meshmod,
             CREA_GROUP_NO=(_F(NOM='Nleft',GROUP_MA=('Lleft',),),
                            _F(NOM='Nright',GROUP_MA=('Lright',),),),);
meshmod=DEFI_GROUP(reuse =meshmod,
             MAILLAGE=meshmod,
             CREA_GROUP_NO=_F(NOM='Nsupport',UNION=('Nleft','Nright',),),);

Reactions forces and moments - resultants

Now determine a table for nodal reaction forces TB_nodf. The values are stored in REAC_NODA and FORC_NODA fields (champ). The forces are determined on the supported area Nsupport. The table is actually written to a file by IMPR_TABLE. The main parameters are:

  • OPERATION='EXTRACTION': extract quantities from a result field
  • RESULTAT=resu: calculated result field from eg a static calculation
  • NOM_CHAM='REAC_NODA'/'FORC_NODA': specific field determined eg by CALC_ELEM/CALC_NODE
  • TOUT_ORDRE='OUI': for all calculated time instances (just one in this case)
  • GROUP_NO='Nsupport': choice of group of nodes
  • one of the following:
    • RESULTANTE=('DX',DY','DZ')
      • extract resultante of the requested quantity in given direction
    • NOM_CMP='DZ',
      • extract for each node the component in the given direction, for moments
        • MOMENT=('DRX','DRY','DRZ',): components in given direction
        • POINT=(0.0,0.0,0.0,),),): reference point for determination of moments

In this case extract the reaction forces, nodal forces and moments with respect to the origin [0,0,0]:

TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
                                  INTITULE='ReactionForces',
                                  RESULTAT=resu,
                                  NOM_CHAM='REAC_NODA',
                                  TOUT_ORDRE='OUI',
                                  GROUP_NO='Nsupport',
                                  RESULTANTE=('DX','DY','DZ',),
                                  MOYE_NOEUD='NON',),
                              _F(OPERATION='EXTRACTION',
                                  INTITULE='NodalForces',
                                  RESULTAT=resu,
                                  NOM_CHAM='FORC_NODA',
                                  TOUT_ORDRE='OUI',
                                  GROUP_NO='Nsupport',
                                  RESULTANTE=('DX','DY','DZ',),
                                  MOYE_NOEUD='NON',),
                              _F(OPERATION='EXTRACTION',
                                  INTITULE='moments',
                                  RESULTAT=resu,
                                  NOM_CHAM='FORC_NODA',
                                  GROUP_NO='Nsupport',
                                  RESULTANTE=('DX','DY','DZ',),
                                  MOMENT=('DRX','DRY','DRZ',),
                                  POINT=(0.0,0.0,0.0,),),),
                            TITRE='Reactions',);

Writing the content of the table to a file (fort.26, define in ASTK) by IMPR_TABLE with main parameters:

  • TABLE=TB_nodf: previously defined table
  • FORMAT='TABLEAU'
  • UNITE=26: file unit number
  • SEPARATEUR=' * ': seperator in the text file
IMPR_TABLE(TABLE=TB_nodf,
        FORMAT='TABLEAU',
        UNITE=26,
        SEPARATEUR=' * ',
        TITRE='reaction forces at nodes on group Nsupport');

The reaction and nodal forces on the supporting edges are: [loads * areas: 24.3 * 7.966 + 182.6 * 6.0249 * 2 + 25.8 * 73.3 + 29.5 * 25.605 = 5040.4 kN = 5.040E+06 N]

#quantities at edges - nodes Nsupport
#Reactions 
* INTITULE         * RESU     * NOM_CHAM         * NUME_ORDRE   * INST         * DX           * DY           * DZ           * RESULT_X     * RESULT_Y     * RESULT_Z     * MOMENT_X     * MOMENT_Y     * MOMENT_Z    
* ReactionForces   * resu     * REAC_NODA        *            1 *  0.00000E+00 * -1.35387E-08 *  2.63751E-08 *  5.04036E+06 * -            * -            * -            * -            * -            * -           
* NodalForces      * resu     * FORC_NODA        *            1 *  0.00000E+00 * -1.35387E-08 *  2.63751E-08 *  4.90339E+06 * -            * -            * -            * -            * -            * -           
* moments          * resu     * REAC_NODA        *            1 *  0.00000E+00 * -            * -            * -            * -1.35387E-08 *  2.63751E-08 *  5.04036E+06 *  3.06316E+07 * -3.53025E+07 *  2.91360E-07
* moments          * resu     * REAC_NODA        *            1 *  0.00000E+00 * -            * -            * -            * -1.35387E-08 *  2.63751E-08 *  5.04036E+06 *  1.91375E+01 *  1.05470E+01 *  2.43516E-08

Note:
The last row is created by changing the the reference point of the moments to POINT=[xc=My/Rz, yc=-Mx/Rz,zc=0]=[7.003964,6.077264,0.0,] yields the -nearly zero- moments of the last row. This means that my calculator is still alright.

Reactions forces at each node

In stead of the resultant reaction force you can also write the reaction force at each node to a table and file. Use NOM_CMP=(...,'DZ') to replace RESULTANTE=(...,'DZ') in the previous command:

TB_nodf=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                                  INTITULE='ReactionForces',
                                  RESULTAT=resu,
                                  NOM_CHAM='REAC_NODA',
                                  TOUT_ORDRE='OUI',
                                  GROUP_NO='Nsupport',
                                  NOM_CMP='DZ',
                                  MOYE_NOEUD='NON',),
                       TITRE='reaction forces - z at all nodes',);

And the result:

#quantities at edges - nodes Nsupport
#reaction forces - z at all nodes                                                
* INTITULE         * NOEUD    * RESU     * NOM_CHAM         * NUME_ORDRE   * INST         * ABSC_CURV    * COOR_X       * COOR_Y       * COOR_Z       * DZ          
* ReactionForces   * N27      * resu     * REAC_NODA        *            1 *  0.00000E+00 *  0.00000E+00 *  1.42861E+00 *  7.42875E+00 *  0.00000E+00 *  3.12903E+05
* ReactionForces   * N31      * resu     * REAC_NODA        *            1 *  0.00000E+00 *  5.27364E+00 *  4.32692E-01 *  2.25000E+00 *  0.00000E+00 *  1.42424E+05
* ReactionForces   * N48      * resu     * REAC_NODA        *            1 *  0.00000E+00 *  1.32675E+01 *  1.94231E+00 *  1.01000E+01 *  0.00000E+00 *  2.46064E+05
* ReactionForces   * N56      * resu     * REAC_NODA        *            1 *  0.00000E+00 *  2.01959E+01 *  6.33894E-01 *  3.29625E+00 *  0.00000E+00 *  2.05100E+05
.....

Extraction of maximum displacements and stresses

The OPERATION='EXTREMA' calculates the MIN, MAX, MIN_ABS, MAX_ABS values of a requested field on the geometrical area.

TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTREMA',
                                INTITULE='displacements dz',
                                RESULTAT=resu,
                                NOM_CHAM='DEPL',
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP='DZ',),
                            _F(OPERATION='EXTREMA',
                                INTITULE='equiss NOEU',
                                RESULTAT=resuSUP,
                                NOM_CHAM='EQUI_NOEU_SIGM',
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP=('VMIS','TRESCA','PRIN_1','PRIN_2','PRIN_3',),),
                            _F(OPERATION='EXTREMA',
                                INTITULE='equiss ELNO',
                                RESULTAT=resuSUP,
                                NOM_CHAM='EQUI_ELNO_SIGM',
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP=('VMIS','TRESCA','PRIN_1','PRIN_2','PRIN_3',),),
                            _F(OPERATION='EXTREMA',
                                INTITULE='local stresses',
                                RESULTAT=resuSUP,
                                NOM_CHAM='SIGM_NOEU_DEPL',
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP=('SIXX','SIYY','SIXY',),),),
                      TITRE='Min/max of displacement DZ - stresses',);


#extreme displacements on group allnodes
#Min/max of displacement  DZ  - stresses 
* INTITULE         * RESU     * NOM_CHAM         * NUME_ORDRE   * EXTREMA  * MAILLE   * NOEUD    * CMP      * VALE        
* displacements dz * resu     * DEPL             *            1 * MAX      * -        * N241     * DZ       *  1.94659E-19
* displacements dz * resu     * DEPL             *            1 * MIN      * -        * N115     * DZ       * -2.91659E-02
* displacements dz * resu     * DEPL             *            1 * MAX_ABS  * -        * N115     * DZ       *  2.91659E-02
* displacements dz * resu     * DEPL             *            1 * MIN_ABS  * -        * N152     * DZ       *  4.74802E-22
* equiss NOEU      * resuSUP  * EQUI_NOEU_SIGM   *            1 * MAX      * -        * N107     * TRESCA   *  1.99754E+07
* equiss NOEU      * resuSUP  * EQUI_NOEU_SIGM   *            1 * MIN      * -        * N182     * PRIN_1   * -3.00400E+06
* equiss NOEU      * resuSUP  * EQUI_NOEU_SIGM   *            1 * MAX_ABS  * -        * N107     * TRESCA   *  1.99754E+07
* equiss NOEU      * resuSUP  * EQUI_NOEU_SIGM   *            1 * MIN_ABS  * -        * N35      * PRIN_2   *  1.32964E+03
* equiss ELNO      * resuSUP  * EQUI_ELNO_SIGM   *            1 * MAX      * M204     * N107     * TRESCA   *  2.02489E+07
* equiss ELNO      * resuSUP  * EQUI_ELNO_SIGM   *            1 * MIN      * M125     * N123     * PRIN_1   * -6.08974E+06
* equiss ELNO      * resuSUP  * EQUI_ELNO_SIGM   *            1 * MAX_ABS  * M204     * N107     * TRESCA   *  2.02489E+07
* equiss ELNO      * resuSUP  * EQUI_ELNO_SIGM   *            1 * MIN_ABS  * M69      * NS1      * VMIS     *  0.00000E+00
* local stresses   * resuSUP  * SIGM_NOEU_DEPL   *            1 * MAX      * -        * N107     * SIXX     *  1.97055E+07
* local stresses   * resuSUP  * SIGM_NOEU_DEPL   *            1 * MIN      * -        * N81      * SIXY     * -9.99157E+05
* local stresses   * resuSUP  * SIGM_NOEU_DEPL   *            1 * MAX_ABS  * -        * N107     * SIXX     *  1.97055E+07
* local stresses   * resuSUP  * SIGM_NOEU_DEPL   *            1 * MIN_ABS  * -        * N250     * SIYY     *  1.87510E+04

Note that the minimum and maximum values of the local stresses are taken over the complete group denoted by the NOM_CMP=('VMIS','TRESCA','PRIN_1','PRIN_2','PRIN_3',)
Normally this is not what we would like to see. So extracting the minimum and maximum values seperately, take only one component for each extration of the extreme values, eg; NOM_CMP='DZ'. If you need to do this for all components this yields quit long lists. So we try to use a Python script to make this shorter.

Extraction of separate fields - Python script

Here we would try to extract the extreme values of the displacements and stresses for all seperate components using a Python script. First we define the field and their components we need:

  • nodal nodal forces, reaction forces and moments,
  • displacements, component DZ
  • equivalents stresses VonMises, Tresca and three principle stresses PRIN_i
  • local stresses SIab (ab --> XX, YY, XY, XZ and YZ)
    • total number of components: 13, from which 11 stresses
name_field = ['DEPL',
              'EQUI_NOEU_SIGM','EQUI_NOEU_SIGM','EQUI_NOEU_SIGM','EQUI_NOEU_SIGM','EQUI_NOEU_SIGM',
              'SIGM_NOEU_DEPL','SIGM_NOEU_DEPL','SIGM_NOEU_DEPL','SIGM_NOEU_DEPL','SIGM_NOEU_DEPL']
name_comp  = ['DZ',
              'VMIS','TRESCA','PRIN_1','PRIN_2','PRIN_3',
              'SIXX','SIYY','SIXY','SIXZ','SIYZ']
subtitle   = ['DZ',
              'VonMises','Tresca','Prin1','Prin2','Prin3',
              'SIXX','SIYY','SIXY','SIXZ','SIYZ']

We will add all these components in separate tables TB[count] (except reaction forces and moments that will be stored in one table). Since we cannot append to tables, we will combine two table by TBcomb <-- CALC_TABLE(TBcomb and TB[count]. The table TBcomb contains all the information collected till loop count. So the loop is like:

  • fill TB[0] <-- reaction forces and moments
  • fill TB[1] <-- nodal forces
  • combine TB[0] and TB[1] to TBcomb: TBcomb <-- CALC_TABLE(....TB[0],....TB[1],.....)
  • loop through all stresses by count in [2, 3, 4, 5, .... ,13] and append the current table to TBcomb
    • fill TB[count] with extremes of stress[count] (defined by name_field and name_comp)
    • combine/append TBcomb <-- TBcomb and TB[count]
      • TBcomb=CALC_TABLE(reuse=TBcomb,TABLE=TBcomb, ACTION=_F(OPERATION='COMB',TABLE=TB[count],),);
  • extract the relevant components of the final table by CALC_TABLE(....ACTION=_F(OPERATION='EXTR',NOM_PARA=(...requested fields...). These requested fields appear at the top row of the table.
  • write table to file by IMPR_TABL

Note that:

  • you need an array of tables TB[..] because you can not change an already created table by the POST_RELEVE_T(...) command.
  • the POST_RELEVE_T is not re-entrant, so you cannot add the table directly in this command. The CALC_TABLE command is re-entrant (CALC_TABLE(reuse=TBcomb, ...))

Details of the commands

maxcount=11;
arraycount=maxcount+2;
TB=[None]*arraycount;
TB[0]=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
                            INTITULE='ReactionForces',
                            RESULTAT=resu,
                            NOM_CHAM='REAC_NODA',
                            TOUT_ORDRE='OUI',
                            GROUP_NO='Nsupport',
                            RESULTANTE=('DX','DY','DZ',),
                            MOYE_NOEUD='NON',),
                         _F(OPERATION='EXTRACTION',
                            INTITULE='moments',
                            RESULTAT=resu,
                            NOM_CHAM='REAC_NODA',
                            GROUP_NO='Nsupport',
                            RESULTANTE=('DX','DY','DZ',),
                            MOMENT=('DRX','DRY','DRZ',),
                            POINT=(0.0,0.0,0.0,),),),
                      TITRE='Reactions');
TB[1]=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                             INTITULE='ReactionForces',
                             RESULTAT=resu,
                             NOM_CHAM='FORC_NODA',
                             TOUT_ORDRE='OUI',
                             GROUP_NO='Nsupport',
                             RESULTANTE=('DX','DY','DZ',),
                             MOYE_NOEUD='NON',),
                       TITRE='NodalForce');
TBcomb=CALC_TABLE(TABLE=TB[0],
                  ACTION=_F(OPERATION='COMB',TABLE=TB[1],),);
for count in range(0,maxcount):
  countp2=count+2;
  print 'count: ', count,name_field[count],name_comp[count]
  TB[countp2]=POST_RELEVE_T(ACTION=_F(OPERATION='EXTREMA',
                                  INTITULE=subtitle[count],
                                  RESULTAT=resuSUP,
                                  NOM_CHAM=name_field[count],
                                  TOUT_ORDRE='OUI',
                                  GROUP_NO='Nsupport',
                                  NOM_CMP=name_comp[count],),
                               INFO=2,
                               TITRE='Reactions');
  TBcomb=CALC_TABLE(reuse=TBcomb,
                    TABLE=TBcomb,
                    ACTION=_F(OPERATION='COMB',TABLE=TB[countp2],),);
                    
TBcomb=CALC_TABLE(TABLE=TBcomb,
                 reuse =TBcomb,
                 ACTION=_F(OPERATION='EXTR',
                           NOM_PARA=('NOM_CHAM','DZ','MOMENT_X','MOMENT_Y','EXTREMA','NOEUD','CMP','VALE'),),);
IMPR_TABLE(TABLE=TBcomb,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR=' * ',
          TITRE='quantities at edges - nodes Nsupport',);

Part of the result file

For each component of the stresses we have now the extreme values.

....
#MERGE avec labels=[]                                                            
 Reactions                                                                       
#MERGE avec  labels=[]                                                            
* NOM_CHAM         * DZ           * MOMENT_X     * MOMENT_Y     * EXTREMA  * NOEUD    * CMP      * VALE        
* REAC_NODA        *  5.04036E+06 * -            * -            * -        * -        * -        * -           
* REAC_NODA        * -            *  3.06316E+07 * -3.53025E+07 * -        * -        * -        * -           
* FORC_NODA        *  4.92661E+06 * -            * -            * -        * -        * -        * -           
* EQUI_NOEU_SIGM   * -            * -            * -            * MAX      * N402     * VMIS     *  8.77357E+06
* EQUI_NOEU_SIGM   * -            * -            * -            * MIN      * N339     * VMIS     *  7.21252E+05
* EQUI_NOEU_SIGM   * -            * -            * -            * MAX_ABS  * N402     * VMIS     *  8.77357E+06
* EQUI_NOEU_SIGM   * -            * -            * -            * MIN_ABS  * N339     * VMIS     *  7.21252E+05
* EQUI_NOEU_SIGM   * -            * -            * -            * MAX      * N402     * TRESCA   *  1.01298E+07
* EQUI_NOEU_SIGM   * -            * -            * -            * MIN      * N339     * TRESCA   *  8.17199E+05
* EQUI_NOEU_SIGM   * -            * -            * -            * MAX_ABS  * N402     * TRESCA   *  1.01298E+07
* EQUI_NOEU_SIGM   * -            * -            * -            * MIN_ABS  * N339     * TRESCA   *  8.17199E+05
* EQUI_NOEU_SIGM   * -            * -            * -            * MAX      * N339     * PRIN_1   * -2.74506E+05
* EQUI_NOEU_SIGM   * -            * -            * -            * MIN      * N402     * PRIN_1   * -4.21411E+06
* EQUI_NOEU_SIGM   * -            * -            * -            * MAX_ABS  * N402     * PRIN_1   *  4.21411E+06
* EQUI_NOEU_SIGM   * -            * -            * -            * MIN_ABS  * N339     * PRIN_1   *  2.74506E+05
.....
* SIGM_NOEU_DEPL   * -            * -            * -            * MAX      * N170     * SIYZ     *  2.85279E+06
* SIGM_NOEU_DEPL   * -            * -            * -            * MIN      * N33      * SIYZ     * -9.21584E+05
* SIGM_NOEU_DEPL   * -            * -            * -            * MAX_ABS  * N170     * SIYZ     *  2.85279E+06
* SIGM_NOEU_DEPL   * -            * -            * -            * MIN_ABS  * N28      * SIYZ     *  2.08353E+03


Stresses - average at nodes

Finally we make four tables that are written to the same file afterwards. The content of the tables are:

  • equivalent von Mises stress taken from the nodes at each elements without averaging over the nodes (CALC_ELEM):
    • NOM_CHAM='EQUI_ELNO_SIGM',
    • NOM_CMP='VMIS',
    • MOYE_NOEUD='NON', in the table the node and element number are given
  • equivalent von Mises stress taken from the nodes at each elements with averaging over the nodes (CALC_ELEM):
    • NOM_CHAM='EQUI_ELNO_SIGM',
    • NOM_CMP='VMIS',
    • MOYE_NOEUD='OUI'
  • equivalent von Mises stress taken from the nodes with averaging over the nodes (CALC_NODE):
    • NOM_CHAM='EQUI_NOEU_SIGM',
    • NOM_CMP='VMIS'
  • local stress sigma_xx taken from the nodes (CALC_NODE):
    • NOM_CHAM='SIGMA_NOEU_DEPL',
    • NOM_CMP='SIXX'
  • The results at nodes N73 and N77 are given at the end of this chapter.

The commands in detail:

commands to generate tables
TBvmel=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                                INTITULE='vonMises',
                                RESULTAT=resuSUP,
                                MOYE_NOEUD='NON',
                                NOM_CHAM='EQUI_ELNO_SIGM',  
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                               NOM_CMP='VMIS',),
                               INFO=2,
                               TITRE='stress');
TBvmela=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                                INTITULE='vonMises',
                                RESULTAT=resuSUP,
                                MOYE_NOEUD='OUI', # default behaviour
                                NOM_CHAM='EQUI_ELNO_SIGM',  
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP='VMIS',),
                                INFO=2,
                                TITRE='stress');
TBvmis=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                                INTITULE='vonMises',
                                RESULTAT=resuSUP,
                                #MOYE_NOEUD='NON', # no effect
                                NOM_CHAM='EQUI_NOEU_SIGM',  
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP='VMIS',),
                                INFO=2,
                                TITRE='stress');
TBssxx=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                                INTITULE='vonMises',
                                RESULTAT=resuSUP,
                                #MOYE_NOEUD='NON', # no effect
                                NOM_CHAM='SIGM_NOEU_DEPL',  
                                TOUT_ORDRE='OUI',
                                GROUP_NO='Nsupport',
                                NOM_CMP='SIXX',),
                                INFO=2,
                                TITRE='stress');
write all tables to the same file
IMPR_TABLE(TABLE=TBvmel,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR=' * ',
          TITRE='quantities at edges',);
IMPR_TABLE(TABLE=TBvmela,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR=' * ',
          TITRE='quantities at edges',);
IMPR_TABLE(TABLE=TBvmis,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR=' * ',
          TITRE='quantities at edges',);
IMPR_TABLE(TABLE=TBssxx,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR=' * ',
          TITRE='quantities at edges',);


Kw nodes stress.png

Extract from the results file

NOM_CHAM='EQUI_ELNO_SIGM',NOM_CMP='VMIS',MOYE_NOEUD='NON'

* INTITULE    * NOEUD * RESU     * NOM_CHAM         * NUME_OR * INST      * MAILLE * ABSC_CURV    * COOR_X       * COOR_Y       * COOR_Z    * VMIS
....
* vonMises    * N73   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 * M72    *  1.02884E+02 *  1.30574E+01 *  8.72250E+00 *  0.00E+00 *  1.72276E+06
* vonMises    * N73   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 * M81    *  1.02884E+02 *  1.30574E+01 *  8.72250E+00 *  0.00E+00 *  1.74362E+06
* vonMises    * N77   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 * M67    *  1.07192E+02 *  1.22442E+01 *  4.49250E+00 *  0.00E+00 *  2.81278E+06
* vonMises    * N77   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 * M109   *  1.07192E+02 *  1.22442E+01 *  4.49250E+00 *  0.00E+00 *  2.20543E+06
* vonMises    * N77   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 * M122   *  1.07192E+02 *  1.22442E+01 *  4.49250E+00 *  0.00E+00 *  2.46736E+06
....

NOM_CHAM='EQUI_ELNO_SIGM',NOM_CMP='VMIS',MOYE_NOEUD='OUI'

* INTITULE    * NOEUD * RESU     * NOM_CHAM         * NUME_OR * INST      * ABSC_CURV    * COOR_X       * COOR_Y       * COOR_Z       * VMIS
....
* vonMises    * N73   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 *  1.02884E+02 *  1.30574E+01 *  8.72250E+00 *  0.00000E+00 *  1.73319E+06
* vonMises    * N77   * resuSUP  * EQUI_ELNO_SIGM   *       1 *  0.00E+00 *  1.07192E+02 *  1.22442E+01 *  4.49250E+00 *  0.00000E+00 *  2.49519E+06
....

NOM_CHAM='EQUI_NOEU_SIGM',NOM_CMP='VMIS'

* INTITULE    * NOEUD * RESU     * NOM_CHAM         * NUME_OR * INST      * ABSC_CURV    * COOR_X       * COOR_Y       * COOR_Z       * VMIS
....
* vonMises    * N73   * resuSUP  * EQUI_NOEU_SIGM   *       1 *  0.00E+00 *  1.02884E+02 *  1.30574E+01 *  8.72250E+00 *  0.00000E+00 *  1.73319E+06
* vonMises    * N77   * resuSUP  * EQUI_NOEU_SIGM   *       1 *  0.00E+00 *  1.07192E+02 *  1.22442E+01 *  4.49250E+00 *  0.00000E+00 *  2.49519E+06
....

NOM_CHAM='SIGMA_NOEU_DEPL',NOM_CMP='SIXX'

* INTITULE    * NOEUD * RESU     * NOM_CHAM         * NUME_OR * INST      * ABSC_CURV    * COOR_X       * COOR_Y       * COOR_Z       * SIXX
....
* vonMises    * N73   * resuSUP  * SIGM_NOEU_DEPL   *       1 *  0.00E+00 *  1.02884E+02 *  1.30574E+01 *  8.72250E+00 *  0.00000E+00 *  2.37219E+05
* vonMises    * N77   * resuSUP  * SIGM_NOEU_DEPL   *       1 *  0.00E+00 *  1.07192E+02 *  1.22442E+01 *  4.49250E+00 *  0.00000E+00 *  6.20414E+05
....

References

Opérateur POST_RELEVE_T
Procédure CALC_TABLE