$$$$ CINIMOD * CINIMOD PROCEDUR IANIS 94/10/21 21:15:07 1276 *----------------------------------------------------------- ****** PROCEDURE CINIMOD ****** *----------------------------------------------------------- * * * * *----------------------------------------------------------- * CETTE PROCEDURE PERMET DE PROJETER SUR UNE BASE * MODALE DONNEE UN CHAMP DE DEPLACEMENT * * CHPO2 = CINIMOD TAB1 MAS1 CHPO1 * * CHPO1 : CHAMP DE DEPLACEMENT(VITESSES) DES NOEUDS * TAB1 : TABLE DE SOUSTYPE 'BASE_MODALE' * MAS1 : MATRICE DE MASSE ( OBJET DE TYPE RIGIDITE * SOUSTYPE MASSE ) * CHPO2 : CHAMP DE DEPLACEMENT (VITESSES) GENERALISEES *----------------------------------------------------------- 'DEBP' CINIMOD ZTAB1*'TABLE' ZMAS1*'RIGIDITE' ZCHPO1*'CHPOINT' ; 'SI' ( 'EXISTE' ZTAB1 'MODES' ) ; ZTAB2 = ZTAB1.'MODES' ; 'SI' ( 'EXISTE' ZTAB2 'SOUSTYPE' ) ; ZTAB2 = 'ENLEVE' ZTAB2 'SOUSTYPE' ; 'FINSI' ; 'SI' ( 'EXISTE' ZTAB2 'MAILLAGE' ) ; ZTAB2 = 'ENLEVE' ZTAB2 'MAILLAGE' ; 'FINSI' ; ZNMOD = 'DIME' ZTAB2 ; ZTAB3 = 'INDEX' ZTAB2 ; ZK = 0 ; 'REPETER' ZBOUC ZNMOD ; ZK = ZK '+' 1 ; ZMOD = ZTAB3.ZK ; ZPHI = ZTAB2.ZMOD.'DEFORMEE_MODALE' ; ZMI = ZTAB2.ZMOD.'MASSE_GENERALISEE' ; ZALFA = ( 'YTMX' ZPHI ZCHPO1 ZMAS1 ) '/' ZMI ; ZPR = ZTAB2.ZMOD.'POINT_REPERE' ; ZCHPO21 = 'MANU' 'CHPO' ZPR 1 'ALFA' ZALFA 'NATURE' 'DISCRET' ; 'SI' ( 'EGA' ZK 1 ) ; ZCHPO2 = ZCHPO21 ; 'SINON' ; ZCHPO2 = ZCHPO2 '+' ZCHPO21 ; 'FINSI' ; 'FIN' ZBOUC ; 'SINON' ; MESS 'on veut une table de sous-type BASE_MODALE' ; 'FINSI' ; 'FINP' ZCHPO2 ;