Difference between revisions of "Contrib:KeesWouters/shell/static/command"
From CAELinuxWiki
Keeswouters (Talk | contribs) m |
Keeswouters (Talk | contribs) 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',),),),); | ||
− | + | ||
− | + | meshmod=DEFI_GROUP(reuse =meshmod, | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | 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',); |
− | + | ||
− | + | ||
− | + | ||
− | #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',),),);
- 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();