$$$$ POSTVIBR * POSTVIBR PROCEDUR BP208322 22/02/15 21:15:01 11284 *======================================================================= * * POSTVIBR * VISUalisation selon le mot cle : * 'TABL' : ecrit le tableau des donnees d'une base modale * 'DEFO' : trace les deformees modales * 'DEF0' : trace du maillage non deforme * 'VTK' : sortie du maillage + deformees * 'LIST' : creation des listchpo des deformees, des listreel des * frequences, des masses generalisees... * 'MAIL' : creation du maillage des point_repere * creation : BP 06/01/2015 * *======================================================================= DEBPROC POSTVIBR TBAS1*'TABLE' LMOC1/'LISTMOTS' TOPT1/'TABLE' ; * TBAS1 : table de type BASE_MODALE ou LIAISONS_STATIQUES * . MODES . i . 'ISOVALEUR' : si on veut une isovaleur personnalisee * LMOC1 : mots-cles definissant les actions a produire * TOPT1 : table d'options contenant : * . 'LISTE_MODES' : liste des modes a traiter * . 'MAILLAGE' : maillage sur lequel tracer les deformees * . 'TITRE' : debut de titre lors du trace des deformees * . 'LEGENDES' : legendes a ajouter a la fin du titre * lors du trace des deformees * . 'FICHIER_VTK' : repertoire + nom de fichier de sortie VTK * . 'MAILLAGE_2' : maillage supplementaire a utiliser (ex: ARET) * . 'MAILLAGE_VECTEUR' : maillage support de vecteur a afficher * . 'AMPLIFICATION_RELATIVE': valeur de l'amplification relative de la deformee (5% par defaut) * . 'OPTIONS_TRAC': liste des options a passer a TRAC (CHAINE) *======================================================================= * VERIF et RECUP DES DONNEES D'ENTREE *======================================================================= * TABLE DES MODES * --------------- SI (NON (EXIS TBAS1 'SOUSTYPE')); MESS 'LA TABLE D ENTREE DOIT AVOIR UN SOUSTYPE !'; ERRE 21; QUIT POSTVIBR; FINSI; FLBMOD = EGA TBAS1 . 'SOUSTYPE' 'BASE_DE_MODES'; FLMODA = EGA TBAS1 . 'SOUSTYPE' 'BASE_MODALE'; FLSTAT = EGA TBAS1 . 'SOUSTYPE' 'LIAISONS_STATIQUES'; SI ((NON FLBMOD) ET (NON FLMODA) ET (NON FLSTAT)); MESS 'LA TABLE D ENTREE DOIT ETRE DE SOUSTYPE '; 'BASE_DE_MODES ou BASE_MODALE ou LIAISONS_STATIQUES !'; ERRE 21; QUIT POSTVIBR; FINSI; SI (FLMODA); TMOD1 = TBAS1 . 'MODES'; SI (NEG TMOD1 . 'SOUSTYPE' 'BASE_DE_MODES'); MESS 'L INDICE MODES DE LA TABLE D ENTREE DOIT ETRE DE SOUSTYPE ' 'BASE_DE_MODES !'; ERRE 21; QUIT POSTVIBR; FINSI; nmod1 = (DIME TMOD1) - 2; SINON; TMOD1 = TBAS1; nmod1 = (DIME TMOD1) - 1; FINSI; SI (nmod1 < 1); MESS 'ABSENCE DE MODES !'; QUIT POSTVIBR; FINSI; nbou1 = nmod1; * s'agit-il de modes complexes calcules par VIBC ? FLVIBC = EGA (MOT TMOD1 . 1 . 'SOUSTYPE') 'MODE_COMPLEXE'; * LISTE DES MOTS-CLES * ------------------- * valeurs par defaut SI (NON (EXIS LMOC1)); LMOC1 = MOTS 'TABL' 'DEFO' 'DEF0' 'MAIL'; FINSI; * logiques FLTABL = EXIS LMOC1 'TABL'; FLDEFO = EXIS LMOC1 'DEFO'; * attention DEF0 avec "zero" et pas DEFO avec un "o" FLDEF0 = EXIS LMOC1 'DEF0'; FLVTK = EXIS LMOC1 'VTK'; FLLIST = EXIS LMOC1 'LIST'; FLMAIL = EXIS LMOC1 'MAIL'; FLNOLX = EXIS LMOC1 'NOLX'; * TABLE DES OPTIONS * ----------------- * valeurs par defaut LENT1 = LECT 1 'PAS' 1 nmod1; SI (EXIS TMOD1 'MAILLAGE'); MESH1 = TMOD1 . 'MAILLAGE'; FINSI; cha20 = mot ' '; * ficvtk = mot 'VTK/DEFORMEE_MODALE'; ficvtk = mot 'DEFORMEE_MODALE'; * on recupere tout ce qu'on peut si la table existe vraiment FLOPT1 = FAUX; FMESH2 = FAUX; FMESHvect = FAUX; FLLEGE = FAUX; xamp0 = 0.05; OPTRAC = MOT ' '; SI (EXIS TOPT1); FLOPT1 = EGA (TYPE TOPT1) 'TABLE'; FINSI; SI FLOPT1; SI (EXIS TOPT1 'LISTE_MODES'); LENT1 = TOPT1 . 'LISTE_MODES'; nbou1 = DIME LENT1; FINSI; SI (EXIS TOPT1 'MAILLAGE'); MESH1 = TOPT1 . 'MAILLAGE'; FINSI; SI (EXIS TOPT1 'MAILLAGE_2'); MESH2 = TOPT1 . 'MAILLAGE_2'; FMESH2 = EGA (TYPE MESH2) 'MAILLAGE'; FINSI; SI (EXIS TOPT1 'MAILLAGE_VECTEUR'); MESHvect = TOPT1 . 'MAILLAGE_VECTEUR'; FMESHvect = (EGA (TYPE MESHvect) 'MAILLAGE') ou (EGA (TYPE MESHvect) 'POINT'); FINSI; SI (EXIS TOPT1 'TITRE'); cha20 = TOPT1 . 'TITRE'; FINSI; FLLEGE = EXIS TOPT1 'LEGENDES'; SI (EXIS TOPT1 'FICHIER_VTK'); ficvtk = TOPT1 . 'FICHIER_VTK'; FINSI; SI (EXIS TOPT1 'AMPLIFICATION_RELATIVE'); xamp0 = TOPT1 . 'AMPLIFICATION_RELATIVE'; FINSI; SI (EXIS TOPT1 'OPTIONS_TRAC'); OPTRAC = MOT TOPT1 . 'OPTIONS_TRAC'; FINSI; FINSI; * eventuelles erreurs SI (NEG (TYPE LENT1) 'LISTENTI'); MESS 'VEUILLEZ FOURNIR UN LISTENTI POUR LISTE_MODES !'; ERRE 21; FINSI; SI (NEG (TYPE MESH1) 'MAILLAGE'); MESS 'VEUILLEZ FOURNIR UN MAILLAGE !'; ERRE 21; FINSI; SI (NEG (TYPE OPTRAC) 'MOT'); MESS 'VEUILLEZ FOURNIR UN MOT DANS OPTIONS_TRAC!'; ERRE 21; FINSI; * ajout de UNIQ pour le cas des mulitcouches MESH1 = UNIQ MESH1; SI (NEG (TYPE cha20) 'MOT'); MESS 'VEUILLEZ FOURNIR UN MOT POUR TITRE !'; ERRE 21; FINSI; SI FLLEGE; SI (NEG (TYPE TOPT1 . 'LEGENDES') 'TABLE'); MESS 'VEUILLEZ FOURNIR UNE TABLE POUR LEGENDES !'; ERRE 21; FINSI; FINSI; SI (NEG (TYPE ficvtk) 'MOT'); MESS 'VEUILLEZ FOURNIR UN MOT POUR FICHIER_VTK !'; ERRE 21; FINSI; TYPXAMP = TYPE xamp0; FAMPROG = EGA TYPXAMP 'LISTREEL'; SI ((NON FAMPROG) ET (NEG TYPXAMP 'FLOTTANT')); MESS 'VEUILLEZ FOURNIR UN FLOTTANT OU UN LISTREEL POUR AMPLIFICATION_RELATIVE !'; ERRE 21; FINSI; SI (FLDEF0 ET FMESH2); MESS 'DEF0 et MAILLAGE_2 incompatibles !'; ERRE 21; FINSI; *======================================================================= * PREPARATION *======================================================================= * recup des noms de composantes * ----------------------------- idime = VALE 'DIME' ; momode = VALE 'MODE' ; si (ega idime 3); modepl = mots 'UX' 'UY' 'UZ'; modeplI= mots 'IUX' 'IUY' 'IUZ'; sinon; si ((ega momode 'AXIS') ou (ega momode 'FOUR')); modepl = mots 'UR' 'UT' 'UZ'; modeplI= mots 'IUR' 'IUT' 'IUZ'; sinon; modepl = mots 'UX' 'UY' '--'; modeplI= mots 'IUX' 'IUY' '--'; finsi; finsi; modeplC = modepl et modeplI; modepl1 = extr modepl 1; modepl2 = extr modepl 2; modepl3 = extr modepl 3; modeplI1= extr modeplI 1; modeplI2= extr modeplI 2; modeplI3= extr modeplI 3; * cas TABL * -------- SI FLTABL; SI (FLMODA ou FLBMOD); * modes C de VIBC SI FLVIBC; chaline = chai '+------+--------------+--------------+'; mess chaline; MESS '| Mode | Freq Reelle | Freq Imag. |'; MESS '| num. | (Hz) | (/s) |'; mess chaline; * modes R ou C de VIBR SINON; chaline = chai '+------+--------------+--------------+--------------+' '----------------------------------------+'; mess chaline; MESS '| Mode | Frequence | Masse gen. | POINT_REPERE |' ' ||U||_2 |'; MESS '| num. | (Hz) | M* | (ddl ALFA) |' modepl1*63 modepl2*76 modepl3*89 '|'*95; mess chaline; FINSI; SINON; chaline = chai '+------+-------------+----------------+--------------+'; mess chaline; MESS '| Ustat| Deplacement unitaire impose | POINT_REPERE |'; MESS '| num. | ddl | noeud | (ddl BETA) |'; mess chaline; FINSI; FINSI; * cas DEFO * -------- SI FLDEFO; * amplification relative (definie + haut) * xamp0 = 0.05; * calcul d'une longueur caracteristique si (ega idime 3); XC0 YC0 ZC0 = COOR MESH1 ; XA0 = (MAXI XC0) - (MINI XC0) ; YA0 = (MAXI YC0) - (MINI YC0) ; ZA0 = (MAXI ZC0) - (MINI ZC0) ; AMPL0 = ((XA0**2) + (YA0**2) + (ZA0**2))**0.5 ; sinon; XC0 YC0 = COOR MESH1 ; XA0 = (MAXI XC0) - (MINI XC0) ; YA0 = (MAXI YC0) - (MINI YC0) ; AMPL0 = ((XA0**2) + (YA0**2))**0.5 ; finsi; FINSI; * cas LIST * -------- SI FLLIST; LCHPO1 = SUIT; LFREQ1 = PROG; LMGEN1 = PROG; FINSI; * cas MAIL * -------- SI FLMAIL; MESHAB = MANU 'POI1'; FINSI; * options de TRAC * --------------- TXTOPT = TEXT OPTRAC; *======================================================================= * BOUCLE SUR LES MODES *======================================================================= imod1 = 0; REPE BMOD1 nbou1; imod1 = imod1 + 1; * RECUP DES DONNEEES DU "MODE" * ---------------------------- i1 = extr LENT1 imod1; SI (NON (EXIS TMOD1 i1)); ITER BMOD1; FINSI; FLI = FAUX; iux1 = mot ' --- '; iuy1 = mot ' --- '; iuz1 = mot ' --- '; OUBL phi1I; * cas d'une base modale * """"""""""""""""""""" SI (FLMODA ou FLBMOD); si ((exis TMOD1 . i1 'NUMERO_MODE') et (NON FLVIBC)); num1 = TMOD1 . i1 . 'NUMERO_MODE'; sino; num1 = i1; finsi; * + modes C de VIBC SI FLVIBC; frq1R = TMOD1 . i1 . 'FREQUENCE_REELLE'; frq1I = TMOD1 . i1 . 'FREQUENCE_IMAGINAIRE'; phi1R = TMOD1 . i1 . 'DEFORMEE_MODALE_REELLE'; phi1I = TMOD1 . i1 . 'DEFORMEE_MODALE_IMAGINAIRE'; xFMT1 = ABS frq1R; xFMT2 = ABS frq1I; * petite ruse pour l affichage phi1C = (EXCO phi1R modepl modepl 'NOID' 'NATURE' 'DIFFUS') et (EXCO phi1I modepl modeplI 'NOID' 'NATURE' 'DIFFUS'); phi1 = phi1R; * + modes R ou C de VIBR SINON; * + cas valeur propre complexe VIBR FLCPLX = EXIS TMOD1 . i1 'FREQUENCE_REELLE'; si FLCPLX; frq1R = TMOD1 . i1 . 'FREQUENCE_REELLE'; mas1R = TMOD1 . i1 . 'MASSE_GENERALISEE_REELLE'; phi1R = TMOD1 . i1 . 'DEFORMEE_MODALE_REELLE'; frq1I = TMOD1 . i1 . 'FREQUENCE_IMAGINAIRE'; mas1I = TMOD1 . i1 . 'MASSE_GENERALISEE_IMAGINAIRE'; phi1I = TMOD1 . i1 . 'DEFORMEE_MODALE_IMAGINAIRE'; xFMT1 = (abs frq1R) + (abs frq1I); xFMT2 = (abs mas1R) + (abs mas1I); * petite ruse pour l affichage phi1C = (EXCO phi1R modepl modepl 'NOID' 'NATURE' 'DIFFUS') et (EXCO phi1I modepl modeplI 'NOID' 'NATURE' 'DIFFUS'); phi1 = phi1R; frq1 = frq1R; mas1 = mas1R; * + cas valeur propre reelle VIBR sinon; frq1 = TMOD1 . i1 . 'FREQUENCE' ; mas1 = TMOD1 . i1 . 'MASSE_GENERALISEE'; phi1 = TMOD1 . i1 . 'DEFORMEE_MODALE'; phi1C = phi1; xFMT1 = abs frq1; xFMT2 = abs mas1; finsi; *bp2019 rphi1 = RESU phi1; *bp2019 on prefere une mesure euclidienne rphi1 = (RESU (phi1**2))**0.5; morphi1= EXTR rphi1 'COMP'; prphi1 = EXTR rphi1 'MAILLAGE'; * on verifie la compatibilite des noms d'inconnues FLPHI1 = ((DIME morphi1) > 0) ET ((NBEL prphi1) > 0); SI FLPHI1; prphi1 = prphi1 POIN 'INITIAL'; ux1 = EXTR rphi1 modepl1 prphi1; uy1 = EXTR rphi1 modepl2 prphi1; si (ega modepl3 '--'); uz1 = mot '--'; sinon; uz1 = EXTR rphi1 modepl3 prphi1; finsi; si (exis morphi1 modeplI1); FLI = VRAI; iux1 = EXTR rphi1 modeplI1 prphi1; finsi; si (exis morphi1 modeplI2); FLI = VRAI; iuy1 = EXTR rphi1 modeplI2 prphi1; finsi; si (exis morphi1 modeplI3); FLI = VRAI; iuz1 = EXTR rphi1 modeplI3 prphi1; finsi; SINON; ux1 = mot ' --- '; uy1 = ux1; uz1 = ux1; FINSI; OUBL prphi1; DETR rphi1; FINSI; * - fin distinction VIBC/VIBR * formats si ((xFMT1 < 10000.) et (xFMT1 > 1.E-3)); FMT1 = mot '(F13.4)'; sinon; FMT1 = mot '(E13.6)'; finsi; si ((xFMT2 < 10000.) et (xFMT2 > 1.E-3)); FMT2 = mot '(F13.4)'; sinon; FMT2 = mot '(E13.6)'; finsi; FMT3 = mot '(F13.4)'; * cas d'une solution statique * """"""""""""""""""""""""""" SINON; num1 = i1; SI (EXIS TMOD1 . i1 (mot 'POINT_LIAISON')); ptl1 = TMOD1 . i1 . 'POINT_LIAISON'; iptl1 = NOEU ptl1; SINON; iptl1 = mot 'inconnu'; FINSI; SI (EXIS TMOD1 . i1 (mot 'DDL_LIAISON')); ddl1 = TMOD1 . i1 . 'DDL_LIAISON'; SINON; ddl1 = mot 'inconnu'; FINSI; phi1 = TMOD1 . i1 . 'DEFORMEE'; FINSI; * fin distinction cas base modale/solution statique * """"""""""""""""""""""""""""""""""""""""""""""""" * numero de noeud du point repere * """"""""""""""""""""""""""""""" prep1 = TMOD1 . i1 . 'POINT_REPERE'; iprep1 = NOEU prep1; * option TABLEAU * -------------- SI FLTABL; * cas base de modes propres * """"""""""""""""""""""""" SI (FLMODA ou FLBMOD); * + modes C de VIBC SI FLVIBC; cha1 = CHAI '|' num1 *6 ' |' FORMAT FMT1 frq1R ' |' FORMAT FMT2 frq1I ' |'; mess cha1; * + modes R ou C de VIBR SINON; cha1 = CHAI '|' num1 *6 ' |' FORMAT FMT1 frq1 ' |' FORMAT FMT2 mas1 ' |' iprep1 *50 ' |' FORMAT FMT3 ux1 uy1 uz1 ' |'; mess cha1; * + cas valeur propre complexe si FLCPLX; cha1I = CHAI '|' ' ' *6 '+i' FORMAT FMT1 frq1I ' |' FORMAT FMT2 mas1I ' |' ' ' *50 ' |' FORMAT FMT3 iux1 iuy1 iuz1 ' |'; mess cha1I; * + cas valeur propre reelle sinon; * composantes complexes eventuelles SI FLI; cha1I = CHAI '|' ' ' *50 ' |' FORMAT FMT3 iux1 iuy1 iuz1 ' |'; mess cha1I; FINSI; finsi; FINSI; * cas base de modes statiques * """"""""""""""""""""""""" SINON; cha1 = CHAI '|' num1 *6 ' |' ddl1 *17 ' |' iptl1 *32 ' |' iprep1 *50 ' |'; mess cha1; FINSI; FINSI; * option DEFORMEE * --------------- SI FLDEFO; * isovaleur * """"""""" SI (EXIS TMOD1 . i1 'ISOVALEUR'); UNORM1 = TMOD1 . i1 . 'ISOVALEUR'; SI (NEG (TYPE UNORM1) 'CHPOINT'); MESS 'ISOVALEUR du 'i1'eme mode doit etre un CHPOINT !'; ERRE 21; FINSI; SINON; UNORM1 = (PSCA phi1C phi1C modeplC modeplC)**0.5; TMOD1 . i1 . 'ISOVALEUR' = UNORM1; FINSI; * amplification * """"""""""""" AMPU1 = MAXI (EXCO modeplC phi1C 'NOID') 'ABS'; * EXCO peut ne pas trouver les composantes si l'harmonique de fourier * courante est differente de celle du chpoint -> on laisse une 1ere chance SI (AMPU1 < 1.E-100); AMPU1 = MAXI phi1C 'ABS' 'SANS' (mots 'LX'); FINSI; SI (AMPU1 < 1.E-100); XAMP1 = 0.; SINON; si FAMPROG; XAMP1 = (EXTR xamp0 &BMOD1) * (AMPL0 / AMPU1) ; sinon; XAMP1 = xamp0 * (AMPL0 / AMPU1) ; finsi; FINSI; * deformee avec/sans vecteurs * """"""""""""""""""""""""""" SI FMESHvect; UVECT = REDU phi1 MESHvect; VECT1 = VECT UVECT (-1.*XAMP1) 'DEPL'; DEFO1 = DEFO MESH1 phi1 XAMP1 VECT1 UNORM1; SINON; DEFO1 = DEFO MESH1 phi1 XAMP1 UNORM1; FINSI; * SI FMESH2; * DEFO2 = DEFO MESH2 phi1 XAMP1 ; * * surtout pas de couleur=isovaleur, sinon la deformee disparait ! * FINSI; SI (FLDEF0) ; * DEFO1 = (DEFO MESH1 phi1 0 'GRIS' (0.*UNORM1)) et DEFO1; DEFO1 = (DEFO MESH1 phi1 0 'GRIS') et DEFO1; * SI FMESH2; * DEFO2 = (DEFO MESH2 phi1 0 'GRIS') et DEFO2; * FINSI; FINSI; * ajout de la deformee imaginaire en violet si elle existe SI (EXIS phi1I); SI FMESHvect; UVECTI = REDU phi1I MESHvect; VECT1I = VECT UVECTI (-1.*XAMP1) 'DEPL' 'VIOL'; DEFO1I = DEFO MESH1 phi1I XAMP1 VECT1I 'VIOL'; SINON; DEFO1I = DEFO MESH1 phi1I XAMP1 'VIOL'; FINSI; DEFO1 = DEFO1 ET DEFO1I; FINSI; * titre du trace * """""""""""""" * + cas d'une base modale SI (FLMODA ou FLBMOD); * + modes C de VIBC SI FLVIBC; cha2 = CHAI cha20 ' Mode' ' ' num1 ' : f=' FORMAT FMT1 frq1R ' + i' FORMAT FMT2 frq1I ' Hz'; * + modes R ou C de VIBR SINON; cha2 = CHAI cha20 ' Mode' ' ' num1 ' : f=' FORMAT FMT1 frq1 'Hz'; FINSI; SINON; cha2 = CHAI cha20 ' Ustat' ' ' num1 ' : ' ddl1 '(#' iptl1 ')=1'; FINSI; SI FLLEGE; SI (EXIS (TOPT1 . 'LEGENDES') i1); cha29 = TOPT1 . 'LEGENDES' . i1; SI (NEG (TYPE cha29) 'MOT'); MESS 'VEUILLEZ FOURNIR UN MOT POUR LEGENDES .' ' ' i1 ' !'; ERRE 21; QUIT POSTVIBR; FINSI; cha2 = CHAI cha2 ' ' cha29; FINSI; FINSI; * tracé * """"" SI FMESH2; *bp,2021-02-01 TRAC DEFO1 MESH2 'NOLE' 'TITRE' cha2 TXTOPT; * TRAC DEFO1 DEFO2 'NOLE' 'TITRE' cha2 TXTOPT; * ci-dessus ne fait qu'effacer les segments de DEFO1, * pour avoir les segments du maillage 2 uniquement, il faut plutot : TRAC UNORM1 DEFO1 MESH2 'NOLE' 'TITRE' cha2 TXTOPT; SINON; TRAC DEFO1 'NOLE' 'TITRE' cha2 TXTOPT; FINSI; FINSI; * option LISTES * ------------- SI FLLIST; LCHPO1 = LCHPO1 et phi1; LFREQ1 = LFREQ1 et frq1; SI (FLMODA ou FLBMOD); LMGEN1 = LMGEN1 et mas1; FINSI; FINSI; * option MAILLAGE * --------------- SI FLMAIL; MESHAB = MESHAB et prep1; FINSI; * option NOLX * ----------- SI FLNOLX; SI (FLMODA ou FLBMOD); TMOD1 . i1 . 'DEFORMEE_MODALE' = phi1 ENLE 'LX'; SINON; TMOD1 . i1 . 'DEFORMEE' = phi1 ENLE 'LX'; FINSI; FINSI; * option VTK * ---------- SI FLVTK; * sortie du maillage principal * """""""""""""""""""""""""""" OPTI 'SORT' ficvtk; SI FLI; SORT 'VTK' MESH1 'MAIL' (EXCO phi1 modepl) 'DEPL_R' (EXCO phi1 modeplI modepl) 'DEPL_I' 'TEMP' (FLOT i1) ; SINON; SI (EXIS phi1I); SORT 'VTK' MESH1 'MAIL' (EXCO phi1R modepl 'NOID') 'DEPL_R' (EXCO phi1I modepl 'NOID') 'DEPL_I' 'TEMP' (FLOT i1) ; SINON; SORT 'VTK' MESH1 'MAIL' (EXCO phi1 modepl) 'DEPL' 'TEMP' (FLOT i1) ; FINSI; FINSI; * sortie du maillage 2 * """""""""""""""""""" SI FMESH2; OPTI 'SORT' (chai ficvtk '_bis'); SI FLI; SORT 'VTK' MESH2 'MAIL2' (REDU (EXCO phi1 modepl) MESH2) 'DEPL_R' (REDU (EXCO phi1 modeplI modepl) MESH2) 'DEPL_I' 'TEMP' (FLOT i1) ; SINON; SI (EXIS phi1I); SORT 'VTK' MESH2 'MAIL2' (REDU (EXCO phi1R modepl 'NOID') MESH2) 'DEPL_R' (REDU (EXCO phi1I modepl 'NOID') MESH2) 'DEPL_I' 'TEMP' (FLOT i1) ; SINON; SORT 'VTK' MESH2 'MAIL2' (REDU (EXCO phi1 modepl) MESH2) 'DEPL' 'TEMP' (FLOT i1) ; FINSI; FINSI; FINSI; FINSI; FIN BMOD1; *======================================================================= * FIN DE BOUCLE SUR LES MODES *======================================================================= *======================================================================= * FINALISATIONS *======================================================================= * option TABLEAU * -------------- SI FLTABL; mess chaline; FINSI; * option LISTES * ------------- SI FLLIST; TBAS1 . 'LISTE_DEFORMEES' = LCHPO1; TBAS1 . 'LISTE_FREQUENCES' = LFREQ1; SI (FLMODA ou FLBMOD); TBAS1 . 'LISTE_MASSES' = LMGEN1; FINSI; FINSI; * option MAILLAGE * --------------- SI FLMAIL; TBAS1 . 'MAILLAGE_REPERE' = MESHAB; FINSI; FINPROC;