Download dyna13.dgibi

Back to the list

* fichier :  dyna13.dgibi
**************************************
*
* TEST POUR LA SOUS-STRUCTURATION
*
*   UTILISATION DE BASE (OSCAR...)
*
*      ASSEMBLAGE DE 2 PLAQUES
*
*    D. COMBESCURE 30/09/2005
**************************************
*
*GRAPH = 'O';
GRAPH = 'N';
*
opti dime 2 elem qua4 mode plan cont;
*
nmode = 1;
*
nele = 1;
q0 = 0. 0. ; vz = 0. 1; 
q1 = 5. 0.  ; q2 = 10.  0. ;
q1b = q1 plus (0. 0.);
q3 = q0 plus vz;
q4 = q1 plus vz;
q5 = q2 plus vz;
q4b = q4 plus (0. 0.);
lig1 = d (5*nele) q0 q1 ;
sur1 = tran nele lig1 vz;
ligi0 = d nele q0 q3;
ligi1 = d nele q1 q4;
elim 0.0001 (lig1 et sur1 et ligi1 et ligi0);

lig2 = d (5*nele) q1b q2 ;
sur2 = coul (tran nele lig2 vz) rouge;
ligi1b = d nele q1b q4b;
ligi2 = d nele q2 q5;
elim 0.0001 (lig2 et sur2 et ligi2 et ligi1b);
*
si (ega graph 'O');
  trac (sur1 et sur2);
finsi;
*
* Plaque 1
*
MO1= MODL SUR1 MECANIQUE ELASTIQUE QUA4 ;
MATE1=MATR MO1 YOUNG 2.E5 NU 0.3 RHO 7.800D-3; 
RIGPL1 =RIGI MATE1 MO1 ;                                                    
MASPLA1=MASS MATE1 MO1 ;                                                    
BLOQ1=(BLOQ DEPL ligi0);
RIGPLA1 = RIGPL1 et BLOQ1 ;
SPLA1=STRU RIGPLA1 MASPLA1;   
*ELM1=ELST (q1) SPLA1;    
*ELM12=ELST (q4) SPLA1;       
Meshi1 = ligi1;  
BLOQ1L=BLOQ DEPL Meshi1;           
*
* Plaque 2
*
MO2= MODL SUR2 MECANIQUE ELASTIQUE QUA4 ;
MATE2=MATR MO2 YOUNG 2.E5 NU 0.3 RHO 7.80d-3; 
RIGPL2 =RIGI MATE2 MO2 ;                                                    
MASPLA2=MASS MATE2 MO2 ;                                                    
BLOQ2=BLOQ DEPL ligi2;
Meshi2 = ligi1b;    
BLOQ2L=BLOQ DEPL Meshi2;
RIGPLA2 = RIGPL2 et BLOQ2 ;
* Liaison
LIUX = RELA ux Meshi1 - ux Meshi2 ;      
*LIUX2=RELA  UX q4  - UX q4b;                                              
LIUY=RELA UY Meshi1 - UY Meshi2;    
*LIUY2=RELA UY q4 - UY q4b;    
ENCL = (LIUX et LIUY);
nmodet = 4;
MODPLAT=VIBR PROC (prog 0.) (lect nmodet) 
                (RIGPLA1 et RIGPLA2 et ENCL)
                (MASPLA1 et MASPLA2);  
MODPLAT = traduire MODPLAT;
*
si (ega graph 'O');
repeter lab1 nmodet;
  list (MODPLAT. &lab1 . FREQUENCE);
  trac (defo (sur1 et sur2) (MODPLAT. &lab1 . DEFORMEE_MODALE))
   titre 'Structure complete';
fin lab1;
finsi;
*
*
*=======================================================
*
*
* Test de l ancienne méthode  CAST3M
*   
*
*                                             
*======================================================                                      
*
* Mode libre libre
*=======================================================
MODPLA1=VIBR PROC (prog 0.) (lect nmode) 
                RIGPLA1 MASPLA1;  
*                (RIGPLA1 et BLOQ1L) MASPLA1;  
MODPLA2=VIBR PROC (prog 0.) (lect nmode) 
                RIGPLA2 MASPLA2;  
*                (RIGPLA2 et BLOQ2L) MASPLA2;  
*
MODPLA1T = traduire MODPLA1;
MODPLA2T = traduire MODPLA2;
si (ega graph 'O');
  trac (defo sur1 (MODPLA1T.1 . DEFORMEE_MODALE))
   titre 'Modes propres (CL SS libres)';
  trac (defo sur2 (MODPLA2T.1 . DEFORMEE_MODALE))
   titre 'Modes propres (CL SS libres)';
finsi;
*
SPLA1=STRU RIGPLA1 MASPLA1 ;                                                    
SPLA2=STRU RIGPLA2 MASPLA2 ;                               
nlab1 = nbno Meshi1;
REPETER  LAB1 nlab1;                                     
  i = &lab1;
    ELM1=ELST (Meshi1 poin i) SPLA1;                                                             
    ELM2=ELST (Meshi2 poin i) SPLA2;     
  SI (EGA i 1);    
    ENCL2 = (RELA ELM1  'UY' 1. ELM2 'UY' -1. )
         et (RELA ELM1  'UX' 1. ELM2 'UX' -1. );
  SINON;       
    ENCL2 = ENCL2 et (RELA ELM1 'UY' 1. ELM2 'UY' -1. )
        et (RELA ELM1  'UX' 1. ELM2 'UX' -1. );
  FINSI;
FIN LAB1;
SOL1 = SOLS ENCL2 SPLA1;
SOL1D = traduire SOL1;
SOL2 = SOLS ENCL2 SPLA2;
SOL2D = traduire SOL2;
si (ega graph 'O');
 repeter lab4 ((dime sol1d) - 2);
  trac (defo (sur1 et sur2)
      ((sol1d. &lab4 .DEFORMEE_MODALE) et
       (sol2d. &lab4 .DEFORMEE_MODALE)))
  titre 'Modes statiques (CL SS libres)';
 fin lab4;
finsi;
BASE1=BASE SPLA1 MODPLA1 ENCL2 SOL1;                                                 
BASE2=BASE SPLA2 MODPLA2 ENCL2 SOL2;  
*
BASET= BASE1 ET BASE2 ;                                                         
RIGMO2  = RIGI BASET ;                                                           
MASMO2  = MASS BASET ;                                                           
SOL2= VIBR PROC (PROG 0.65)  (lect 4) RIGMO2 MASMO2;                                      
soll = synt sol2 BASET;
solb = traduire soll;
*
si (ega graph 'O');
 repeter lab2 ((dime solb) - 2);
  dp1_t1 = solb. &lab2 . DEFORMEE_MODALE;
  frq1 = solb. &lab2 . FREQUENCE;
  list frq1;
  trac (defo (SUR1 et SUR2)  dp1_t1)
 titre 'Modes libres';       
 fin lab2;
finsi;
*
dep11 = MODPLA1T. 1 . DEFORMEE_MODALE;
dep21 = MODPLA2T. 1 . DEFORMEE_MODALE;
depsta11 = SOL1D. 1 . DEFORMEE_MODALE;
depsta12 = SOL1D. 2 . DEFORMEE_MODALE;
depsta13 = SOL1D. 3 . DEFORMEE_MODALE;
depsta14 = SOL1D. 4 . DEFORMEE_MODALE;
*
*===========================================
*        Mode bloqué-bloqué
*===========================================
BLOQUX1 = TABLE;
BLOQUX2 = TABLE;
BLOQUY1 = TABLE;
BLOQUY2 = TABLE;
nlab1 = nbno Meshi1;
REPETER  LAB1 nlab1;                                     
  i = &lab1;
  BLOQUX1.i = BLOQ (Meshi1 poin i) UX;
  BLOQUX2.i = BLOQ (Meshi2 poin i) UX;
  BLOQUY1.i = BLOQ (Meshi1 poin i) UY;
  BLOQUY2.i = BLOQ (Meshi2 poin i) UY;
  si (i ega 1);
   BLOQ1L = (BLOQUX1.i) et (BLOQUY1.i);
   BLOQ2L = (BLOQUX2.i) et (BLOQUY2.i);
  sinon;
   BLOQ1L = BLOQ1L et (BLOQUX1.i) et (BLOQUY1.i);
   BLOQ2L = BLOQ2L et (BLOQUX2.i) et (BLOQUY2.i);
  finsi;
FIN LAB1;
*
MODPLA1=VIBR PROC (prog 0.) (lect nmode) 
                (RIGPLA1 et BLOQ1L) MASPLA1;  
*                (RIGPLA1) MASPLA1;  
MODPLA2=VIBR PROC (prog 0.) (lect nmode) 
                (RIGPLA2 et BLOQ2L) MASPLA2; 
*               (RIGPLA2) MASPLA2;   
*
si (ega graph 'O');
 repeter lab3 nmode;
 MODPLA1T = traduire MODPLA1;
 trac (defo sur1 (MODPLA1T.&lab3 . DEFORMEE_MODALE))
 titre 'Modes propres (CL SS bloques)';
 MODPLA2T = traduire MODPLA2;
 trac (defo sur2 (MODPLA2T.&lab3 . DEFORMEE_MODALE))
 titre 'Modes propres (CL SS bloques)';
 fin lab3;
finsi;
*
SPLA1=STRU (RIGPLA1 et BLOQ1L) MASPLA1 ;                                                    
SPLA2=STRU (RIGPLA2 et BLOQ2L) MASPLA2 ; 
*                            
nlab1 = nbno Meshi1;
REPETER  LAB1 nlab1;                                     
  i = &lab1;
    CLUX1=CLST SPLA1 (BLOQUX1.i);                                                             
    CLUX2=CLST SPLA2 (BLOQUX2.i);     
    CLUY1=CLST SPLA1 (BLOQUY1.i);                                                             
    CLUY2=CLST SPLA2 (BLOQUY2.i);     
  SI (EGA i 1);    
    ENCL3 = (RELA CLUX1 'LX' 1. CLUX2 'LX' 1. )
         et (RELA CLUY1 'LX' 1. CLUY2 'LX' 1. );
  SINON;       
    ENCL3 = ENCL3 et (RELA CLUX1 'LX' 1. CLUX2 'LX' 1. )
                  et (RELA CLUY1 'LX' 1. CLUY2 'LX' 1. );
  FINSI;
FIN LAB1;
*
SOL1 = SOLS ENCL3 SPLA1;
SOL1D = traduire SOL1;
si (ega graph 'O');
 repeter lab4 ((dime sol1d) - 2);
  trac (defo (sur1 et sur2) (sol1d. &lab4 .DEFORMEE_MODALE))
  titre 'Modes statiques (CL SS bloques)';
 fin lab4;
finsi;
SOL2 = SOLS ENCL3 SPLA2;
SOL2D = traduire SOL2;  
*
BASE1=BASE SPLA1 ENCL3 MODPLA1 SOL1 ;                                                 
BASE2=BASE SPLA2 ENCL3 MODPLA2 SOL2 ;  
*
defsta11 =  SOL1D. 1 . DEFORMEE_MODALE  ;
*                                                 
BASET= BASE1 ET BASE2 ;                                                         
RIGMO3  = RIGI BASET ;                                                           
MASMO3  = MASS BASET ;                                                           
SOL3= VIBR PROC (PROG 0.65)  (lect 4) RIGMO3 MASMO3;                                      
soll = synt sol3 BASET;
solb = traduire soll;
si (ega graph 'O');
 repeter lab2 ((dime solb) - 2);
  dp1_t1 = solb. &lab2 . DEFORMEE_MODALE;
  frq1 = solb. &lab2 . FREQUENCE;
  list frq1;
  trac (defo (SUR1 et SUR2)  dp1_t1)
  titre 'Modes propres bloques';       
 fin lab2;
finsi;
*
FIN;
*

          


 

© Cast3M 2003 - All rights reserved.
Disclaimer