Difference between revisions of "Contrib:KeesWouters/shell/static/command"

From CAELinuxWiki
Jump to: navigation, search
m
 
m ('''command file''')
Line 3: Line 3:
  
  
DEBUT();
+
DEBUT();
th = 0.01;
+
th = 0.01;
  
  
meshinit=LIRE_MAILLAGE(FORMAT='MED',);
+
meshinit=LIRE_MAILLAGE(FORMAT='MED',);
  
#meshinit=LIRE_MAILLAGE();
+
#meshinit=LIRE_MAILLAGE();
  
modinit=AFFE_MODELE(MAILLAGE=meshinit,
+
modinit=AFFE_MODELE(MAILLAGE=meshinit,
 
                     AFFE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),
 
                     AFFE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),
 
                             PHENOMENE='MECANIQUE',
 
                             PHENOMENE='MECANIQUE',
 
                             MODELISATION='3D',),);
 
                             MODELISATION='3D',),);
  
meshmod=CREA_MAILLAGE(MAILLAGE=meshinit,
+
meshmod=CREA_MAILLAGE(MAILLAGE=meshinit,
 
                       MODI_MAILLE=_F(TOUT='OUI',
 
                       MODI_MAILLE=_F(TOUT='OUI',
 
                                     OPTION='TRIA6_7',),);
 
                                     OPTION='TRIA6_7',),);
  
meshmod=MODI_MAILLAGE(reuse =meshmod,
+
meshmod=MODI_MAILLAGE(reuse =meshmod,
 
                       MAILLAGE=meshmod,
 
                       MAILLAGE=meshmod,
 
                       ORIE_NORM_COQUE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),),);
 
                       ORIE_NORM_COQUE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),),);
Line 26: Line 26:
  
  
modmod=AFFE_MODELE(MAILLAGE=meshmod,
+
modmod=AFFE_MODELE(MAILLAGE=meshmod,
 
                   AFFE=_F(TOUT='OUI',
 
                   AFFE=_F(TOUT='OUI',
 
                           PHENOMENE='MECANIQUE',
 
                           PHENOMENE='MECANIQUE',
 
                           MODELISATION='COQUE_3D',),);
 
                           MODELISATION='COQUE_3D',),);
##the shell characteristics
+
##the shell characteristics
##the shells are applied on the group 'shell' defined in the Salome mesh
+
##the shells are applied on the group 'shell' defined in the Salome mesh
##the thickness of the shell is epais=th
+
##the thickness of the shell is epais=th
##coque_ncou is the number of gauss nodes along the thickness, for linear analysis one node is sufficient.
+
##coque_ncou is the number of gauss nodes along the thickness, for linear analysis one node is sufficient.
##the parameter excentrement can give the offset of the shell wrt to the meshing plane, but this does not apply for coque_3d and is ignored here
+
##the parameter excentrement can give the offset of the shell wrt to the meshing plane, but this does not apply for coque_3d and is ignored here
  
  
shellch=AFFE_CARA_ELEM(MODELE=modmod,
+
shellch=AFFE_CARA_ELEM(MODELE=modmod,
 
                       COQUE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),
 
                       COQUE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),
 
                                 EPAIS=th,
 
                                 EPAIS=th,
 
                                 VECTEUR=(1.0,0.0,0.0,),
 
                                 VECTEUR=(1.0,0.0,0.0,),
 
                                 COQUE_NCOU=1,),);
 
                                 COQUE_NCOU=1,),);
##define material properties of steel (ISO values)
+
##define material properties of steel (ISO values)
  
  
steel=DEFI_MATERIAU(ELAS=_F(E=210000000000.0,
+
steel=DEFI_MATERIAU(ELAS=_F(E=210000000000.0,
 
                             NU=0.3,
 
                             NU=0.3,
 
                             RHO=7850.0,),);
 
                             RHO=7850.0,),);
##apply material properties to the whole mesh
+
##apply material properties to the whole mesh
  
  
material=AFFE_MATERIAU(MAILLAGE=meshmod,
+
material=AFFE_MATERIAU(MAILLAGE=meshmod,
 
                       AFFE=_F(TOUT='OUI',
 
                       AFFE=_F(TOUT='OUI',
 
                               MATER=steel,),);
 
                               MATER=steel,),);
##define BC and loads
+
##define BC and loads
  
  
load_bc=AFFE_CHAR_MECA(MODELE=modmod,
+
load_bc=AFFE_CHAR_MECA(MODELE=modmod,
 
                       DDL_IMPO=(_F(GROUP_MA='Lbot',
 
                       DDL_IMPO=(_F(GROUP_MA='Lbot',
 
                                     DX=0.0,
 
                                     DX=0.0,
Line 72: Line 72:
 
                                     _F(GROUP_MA='Fmain',
 
                                     _F(GROUP_MA='Fmain',
 
                                       PRES=25.8e3,),),);
 
                                       PRES=25.8e3,),),);
###FORCE_COQUE=_F(TOUT='OUI',FZ=-1000.0,),);
+
###FORCE_COQUE=_F(TOUT='OUI',FZ=-1000.0,),);
##define the calculation
+
##define the calculation
##determine stiffness matrix, depending on material, mesh and applied model (coque_3D)
+
##determine stiffness matrix, depending on material, mesh and applied model (coque_3D)
  
  
resu=MECA_STATIQUE(MODELE=modmod,
+
resu=MECA_STATIQUE(MODELE=modmod,
 
                   CHAM_MATER=material,
 
                   CHAM_MATER=material,
 
                   CARA_ELEM=shellch,
 
                   CARA_ELEM=shellch,
Line 83: Line 83:
 
                   OPTION='SIEF_ELGA_DEPL',);
 
                   OPTION='SIEF_ELGA_DEPL',);
  
resu=CALC_ELEM(reuse =resu,
+
resu=CALC_ELEM(reuse =resu,
 
               MODELE=modmod,
 
               MODELE=modmod,
 
               CHAM_MATER=material,
 
               CHAM_MATER=material,
Line 89: Line 89:
 
               REPE_COQUE=_F(NIVE_COUCHE='SUP',),
 
               REPE_COQUE=_F(NIVE_COUCHE='SUP',),
 
               OPTION='SIGM_ELNO_DEPL',);
 
               OPTION='SIGM_ELNO_DEPL',);
### added for nodal forces and reaction forces
+
### added for nodal forces and reaction forces
  
  
resu=CALC_NO(reuse =resu,
+
resu=CALC_NO(reuse =resu,
 
             RESULTAT=resu,
 
             RESULTAT=resu,
 
             OPTION=('FORC_NODA','REAC_NODA',),);
 
             OPTION=('FORC_NODA','REAC_NODA',),);
  
resuSUP=CALC_ELEM(MODELE=modmod,
+
resuSUP=CALC_ELEM(MODELE=modmod,
 
                   CHAM_MATER=material,
 
                   CHAM_MATER=material,
 
                   RESULTAT=resu,
 
                   RESULTAT=resu,
Line 102: Line 102:
 
                   OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',),);
 
                   OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',),);
  
resuSUP=CALC_NO(reuse =resuSUP,
+
resuSUP=CALC_NO(reuse =resuSUP,
 
                 RESULTAT=resuSUP,
 
                 RESULTAT=resuSUP,
 
                 OPTION=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),);
 
                 OPTION=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),);
  
IMPR_RESU(MODELE=modmod,
+
IMPR_RESU(MODELE=modmod,
 
           FORMAT='MED',
 
           FORMAT='MED',
 
           UNITE=80,
 
           UNITE=80,
Line 116: Line 116:
 
                   NOM_CHAM=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),),),);
 
                   NOM_CHAM=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),),),);
  
# =========================
+
# Define a group of nodes for 'reaction nodal force' retrieval:
+
meshmod=DEFI_GROUP(reuse =meshmod,
#  Use the mesh named 'mesh'
+
##[Create a mesh group called 'npf1' derived from group_ma='pf1']
+
##[Create a node group called 'npf1'                            ]
+
 
+
 
+
#  Create a node group called 'npf1' dervied from group_ma='pf1'
+
 
+
meshmod=DEFI_GROUP(reuse =meshmod,
+
 
                   MAILLAGE=meshmod,
 
                   MAILLAGE=meshmod,
 
                   CREA_GROUP_NO=(_F(GROUP_MA='Lbot',
 
                   CREA_GROUP_NO=(_F(GROUP_MA='Lbot',
Line 136: Line 128:
 
                                     NOM='Nright',),),);
 
                                     NOM='Nright',),),);
  
meshmod=DEFI_GROUP(reuse =meshmod,
+
meshmod=DEFI_GROUP(reuse =meshmod,
 
                   MAILLAGE=meshmod,
 
                   MAILLAGE=meshmod,
 
                   CREA_GROUP_NO=_F(UNION=('Nbot','Ntop','Nleft','Nright',),
 
                   CREA_GROUP_NO=_F(UNION=('Nbot','Ntop','Nleft','Nright',),
 
                                     NOM='Nall',),);
 
                                     NOM='Nall',),);
  
TB_nodf=POST_RELEVE_T(ACTION=_F(OPERATION='EXTREMA',
+
TB_nodf=POST_RELEVE_T(ACTION=_F(OPERATION='EXTREMA',
 
                                 INTITULE='displacements dz',
 
                                 INTITULE='displacements dz',
 
                                 RESULTAT=resu,
 
                                 RESULTAT=resu,
Line 151: Line 143:
 
                       TITRE='Min/max of displacement DZ',);
 
                       TITRE='Min/max of displacement DZ',);
  
IMPR_TABLE(TABLE=TB_nodf,
+
IMPR_TABLE(TABLE=TB_nodf,
 
           FORMAT='TABLEAU',
 
           FORMAT='TABLEAU',
 
           UNITE=26,
 
           UNITE=26,
Line 157: Line 149:
 
           TITRE='extreme displacements on group allnodes',);
 
           TITRE='extreme displacements on group allnodes',);
  
IMPR_RESU(MODELE=modmod,
+
IMPR_RESU(MODELE=modmod,
 
           FORMAT='MED',
 
           FORMAT='MED',
 
           UNITE=80,
 
           UNITE=80,
Line 164: Line 156:
 
                   NOM_CHAM='REAC_NODA',),);
 
                   NOM_CHAM='REAC_NODA',),);
  
#TB_disp=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
+
#TB_disp=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
#                            INTITULE='Displacements',
+
#                            INTITULE='Displacements',
#                            RESULTAT=result,
+
#                            RESULTAT=result,
#                            NOM_CHAM='DEPL',
+
#                            NOM_CHAM='DEPL',
#                            TOUT_ORDRE='OUI',
+
#                            TOUT_ORDRE='OUI',
#                            GROUP_NO='nforce',
+
#                            GROUP_NO='nforce',
#                            NOM_CMP=('DZ',),),),
+
#                            NOM_CMP=('DZ',),),),
#                            #TOUT_CMP='OUI',
+
#                            #TOUT_CMP='OUI',
#                            #RESULTANTE=('DZ',),),),
+
#                            #RESULTANTE=('DZ',),),),
#                    TITRE='DZ',);
+
#                    TITRE='DZ',);
#==================
+
##from .....
+
 
+
  
#TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
+
#TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
#                              INTITULE='displacements',
+
#                              INTITULE='displacements',
#                              RESULTAT=Rdyn,
+
#                              RESULTAT=Rdyn,
#                              NOM_CHAM='DEPL',
+
#                              NOM_CHAM='DEPL',
#                              TOUT_ORDRE='OUI',
+
#                              TOUT_ORDRE='OUI',
#                              GROUP_NO='Ntop',
+
#                              GROUP_NO='Ntop',
#                              RESULTANTE=('DX','DY','DZ',),
+
#                              RESULTANTE=('DX','DY','DZ',),
#                              MOYE_NOEUD='NON',),),
+
#                              MOYE_NOEUD='NON',),),
#                            TITRE='Displacement top of cylinder',);
+
#                            TITRE='Displacement top of cylinder',);
#Finally, write the data to a file (define a file in ASTK with file unit 26, in this case).
+
#Finally, write the data to a file (define a file in ASTK with file unit 26, in this case).
#IMPR_TABLE(TABLE=TB_nodf,
+
#IMPR_TABLE(TABLE=TB_nodf,
#      FORMAT='TABLEAU',
+
#      FORMAT='TABLEAU',
#      UNITE=26,
+
#      UNITE=26,
#      SEPARATEUR=' * ',
+
#      SEPARATEUR=' * ',
#      TITRE='displacements at nodes on group Ntop',);
+
#      TITRE='displacements at nodes on group Ntop',);
##===========================
+
##===========================
  
  
FIN();
+
FIN();

Revision as of 21:31, 10 March 2010

command file

DEBUT();
th = 0.01;


meshinit=LIRE_MAILLAGE(FORMAT='MED',);
#meshinit=LIRE_MAILLAGE();
modinit=AFFE_MODELE(MAILLAGE=meshinit,
                   AFFE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),
                           PHENOMENE='MECANIQUE',
                           MODELISATION='3D',),);
meshmod=CREA_MAILLAGE(MAILLAGE=meshinit,
                     MODI_MAILLE=_F(TOUT='OUI',
                                    OPTION='TRIA6_7',),);
meshmod=MODI_MAILLAGE(reuse =meshmod,
                     MAILLAGE=meshmod,
                     ORIE_NORM_COQUE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),),);
      1. VECT_NORM= (0,0,+1),NOEUD='N19'),);


modmod=AFFE_MODELE(MAILLAGE=meshmod,
                  AFFE=_F(TOUT='OUI',
                          PHENOMENE='MECANIQUE',
                          MODELISATION='COQUE_3D',),);
##the shell characteristics
##the shells are applied on the group 'shell' defined in the Salome mesh
##the thickness of the shell is epais=th
##coque_ncou is the number of gauss nodes along the thickness, for linear analysis one node is sufficient.
##the parameter excentrement can give the offset of the shell wrt to the meshing plane, but this does not apply for coque_3d and is ignored here


shellch=AFFE_CARA_ELEM(MODELE=modmod,
                      COQUE=_F(GROUP_MA=('Fbot','Fmain','Ftop','Fcentre1','Fcentre2',),
                               EPAIS=th,
                               VECTEUR=(1.0,0.0,0.0,),
                               COQUE_NCOU=1,),);
##define material properties of steel (ISO values)


steel=DEFI_MATERIAU(ELAS=_F(E=210000000000.0,
                           NU=0.3,
                           RHO=7850.0,),);
##apply material properties to the whole mesh


material=AFFE_MATERIAU(MAILLAGE=meshmod,
                      AFFE=_F(TOUT='OUI',
                              MATER=steel,),);
##define BC and loads


load_bc=AFFE_CHAR_MECA(MODELE=modmod,
                      DDL_IMPO=(_F(GROUP_MA='Lbot',
                                   DX=0.0,
                                   DY=0.0,
                                   DZ=0.0,),
                                _F(GROUP_MA='Ltop',
                                   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,),),);
###FORCE_COQUE=_F(TOUT='OUI',FZ=-1000.0,),);
##define the calculation
##determine stiffness matrix, depending on material, mesh and applied model (coque_3D)


resu=MECA_STATIQUE(MODELE=modmod,
                  CHAM_MATER=material,
                  CARA_ELEM=shellch,
                  EXCIT=_F(CHARGE=load_bc,),
                  OPTION='SIEF_ELGA_DEPL',);
resu=CALC_ELEM(reuse =resu,
              MODELE=modmod,
              CHAM_MATER=material,
              RESULTAT=resu,
              REPE_COQUE=_F(NIVE_COUCHE='SUP',),
              OPTION='SIGM_ELNO_DEPL',);
### added for nodal forces and reaction forces


resu=CALC_NO(reuse =resu,
            RESULTAT=resu,
            OPTION=('FORC_NODA','REAC_NODA',),);
resuSUP=CALC_ELEM(MODELE=modmod,
                 CHAM_MATER=material,
                 RESULTAT=resu,
                 REPE_COQUE=_F(NIVE_COUCHE='SUP',),
                 OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',),);
resuSUP=CALC_NO(reuse =resuSUP,
               RESULTAT=resuSUP,
               OPTION=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),);
IMPR_RESU(MODELE=modmod,
         FORMAT='MED',
         UNITE=80,
         RESU=(_F(MAILLAGE=meshmod,
                  RESULTAT=resu,
                  NOM_CHAM='DEPL',),
               _F(MAILLAGE=meshmod,
                  RESULTAT=resuSUP,
                  NOM_CHAM=('SIGM_NOEU_DEPL','EQUI_NOEU_SIGM',),),),);


meshmod=DEFI_GROUP(reuse =meshmod,
                  MAILLAGE=meshmod,
                  CREA_GROUP_NO=(_F(GROUP_MA='Lbot',
                                    NOM='Nbot',),
                                 _F(GROUP_MA='Ltop',
                                    NOM='Ntop',),
                                 _F(GROUP_MA='Lleft',
                                    NOM='Nleft',),
                                 _F(GROUP_MA='Lright',
                                    NOM='Nright',),),);
meshmod=DEFI_GROUP(reuse =meshmod,
                  MAILLAGE=meshmod,
                  CREA_GROUP_NO=_F(UNION=('Nbot','Ntop','Nleft','Nright',),
                                   NOM='Nall',),);
TB_nodf=POST_RELEVE_T(ACTION=_F(OPERATION='EXTREMA',
                               INTITULE='displacements dz',
                               RESULTAT=resu,
                               NOM_CHAM='DEPL',
                               TOUT_ORDRE='OUI',
                               GROUP_NO='Nall',
                               NOM_CMP='DZ',),
                     INFO=2,
                     TITRE='Min/max of displacement DZ',);
IMPR_TABLE(TABLE=TB_nodf,
          FORMAT='TABLEAU',
          UNITE=26,
          SEPARATEUR=' * ',
          TITRE='extreme displacements on group allnodes',);
IMPR_RESU(MODELE=modmod,
         FORMAT='MED',
         UNITE=80,
         RESU=_F(MAILLAGE=meshmod,
                 RESULTAT=resu,
                 NOM_CHAM='REAC_NODA',),);
#TB_disp=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
#                             INTITULE='Displacements',
#                             RESULTAT=result,
#                             NOM_CHAM='DEPL',
#                             TOUT_ORDRE='OUI',
#                             GROUP_NO='nforce',
#                             NOM_CMP=('DZ',),),),
#                             #TOUT_CMP='OUI',
#                             #RESULTANTE=('DZ',),),),
#                     TITRE='DZ',);

#TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
#                              INTITULE='displacements',
#                              RESULTAT=Rdyn,
#                              NOM_CHAM='DEPL',
#                              TOUT_ORDRE='OUI',
#                              GROUP_NO='Ntop',
#                              RESULTANTE=('DX','DY','DZ',),
#                              MOYE_NOEUD='NON',),),
#                             TITRE='Displacement top of cylinder',);
#Finally, write the data to a file (define a file in ASTK with file unit 26, in this case).
#IMPR_TABLE(TABLE=TB_nodf,
#       FORMAT='TABLEAU',
#       UNITE=26,
#       SEPARATEUR=' * ',
#       TITRE='displacements at nodes on group Ntop',);
##===========================


FIN();