Download tristru.dgibi

Back to the list

* fichier :  tristru.dgibi
* test sous-structuration 3 poutres
opti dime 3 elem seg2 ;
d_graph = 'F' ;
* premiere poutre bloquee
d_bloq = faux;

p0 = 0. 0. 0. ; e_z = 0. 0. 1. ;
q1 = 1. 0.  0. ; q2 = 2. 0. 0. ;
lig1 = d 12 q1 q2 ;


MO1= MODL LIG1 MECANIQUE ELASTIQUE POUT ;         

MATPL1=MATR MO1  YOUNG 2.E11 NU 0.3 RHO 7800;                                 
CARPL1=CARB MO1 SECT 0.1 INRY 2.08E-7 INRZ 3.33E-8                           
TORS 2.41E-7;     
MATE1=MATPL1 ET CARPL1;

RIGPL1 =RIGI MATE1 MO1 ;                                                    
MASPLA1=MASS MATE1 MO1 ;                                                    
BLOQ2=BLOQ DEPL ROTA Q2 ;
bloq1r = (bloq rota q1)  ; blq1uz = bloq q1 uz ;
blq1ux = bloq q1 ux ; blq1uy = bloq q1 uy ;  
*    
*---- Recherche des modes propres de la 1�re poutre ---   
*  
PR=PROG 0.4 ; n_mv = lect 2 ;
MODPLA01=VIBR PROC PR (RIGPL1 ET BLOQ2 et bloq1r et 
        blq1uz et blq1ux et blq1uy)  MASPLA1 ;
modpla0 = vibr proc pr (RIGPL1 ET BLOQ2 et bloq1r et blq1uz) maspla1 ;  
                                                        
pl1 = 0. 0. 0. ;
vl1 = manu mult pl1 q1 ;
bl_co1 = manu rigidite type rigidite vl1 
(mots lx) (mots ux xy uz) dual (mots flx) (mots fx fy fz) 
(prog  0. 1.5 0. -0.8666 0. 0. 0. 0. 0. 0. ) ;


tblsta = table 'LIAISONS_STATIQUES' ;
tblsta . 1 = table ; tblsta . 1 . point_liaison = q1 ;
        si d_bloq ;   tblsta . 1 . ddl_liaison = ux ;
        sinon ;  tblsta . 1 . ddl_liaison = fx ; finsi ;
tblsta . 2 = table ; tblsta . 2 . point_liaison = q1 ;
         si d_bloq ; tblsta . 2 . ddl_liaison = uy ;
         sinon ; tblsta . 2 . ddl_liaison = fy ; finsi ;

si d_bloq ;
 bliaiq1 =  bloque tblsta ; depi tblsta ;
sinon ;
 force tblsta ;
finsi ;
 si d_bloq ;
* modes vibrations
MODPLA1=VIBR PROC PR n_mv (RIGPL1 ET BLOQ2 et bloq1r et
        blq1uz et bliaiq1)  MASPLA1 tbas;
* solutions statiques
tbsta = resout (RIGPL1 ET BLOQ2 et bloq1r et bliaiq1) tblsta ;
react bliaiq1 tbsta ;
 sinon ;
* modes vibrations
MODPLA1=VIBR PROC PR n_mv (RIGPL1 ET BLOQ2 et bloq1r et
        blq1uz)  MASPLA1 tbas;
* solutions statiques
tbsta = resout (RIGPL1 ET BLOQ2 et bloq1r ) tblsta ;
 finsi ;

tbsta maspla1 * ;

 repeter bmod ((dime tbsta) - 1) ;
  ind1 = &bmod ;
psta1 = manu poi1  tbsta . ind1 . point_repere ;
mostai1 = mode psta1 mecanique elastique statique ;
 si d_bloq ;
castai1 = mate mostai1  defo tbsta . ind1 . deformee
                      made tbsta . ind1 . masse_deformee 
                      ride tbsta . ind1 . reaction ;
 sinon ;
castai1 = mate mostai1  defo tbsta . ind1 . deformee
                      made tbsta . ind1 . masse_deformee 
                      ride tbsta . ind1 . force ;
 finsi ;
  si (ega 1 ind1) ;
    mosta1 = mostai1 ; casta1 = castai1 ;
  sinon ;
    mosta1 = mosta1 et mostai1 ; casta1 = casta1 et castai1 ;
  finsi ;
 fin bmod ;
masta1 = masse mosta1 casta1 ;
rista1 = rigi mosta1 casta1 ;
 
modto1 = mosta1 ; casto1 = casta1  ; tmod = modpla1 . modes ;
 
 repeter bmod ((dime modpla1 . modes) - 2) ;
  ind1 = &bmod ;
psta1 = manu poi1  tmod . ind1 . point_repere ;
momoda1 = mode psta1 mecanique elastique modal ;
camoda1 = mate momoda1 freq tmod . ind1 . frequence
                      mass tmod . ind1 . masse_generalisee
                      defo tmod . ind1 . deformee_modale ;
 modto1 = modto1 et momoda1 ; casto1 = casto1 et camoda1 ;
 fin bmod ;

rigto1 = rigi modto1 casto1 ;
masto1 = mass modto1 casto1 ;

* solution statique
chq1ux = depi blq1ux 1. ; chq1uy = depi blq1uy 1. ;
stq1ux = resout (RIGPL1 ET BLOQ2 et bloq1r et blq1uz et blq1ux) chq1ux ;
stq1uy = resout (RIGPL1 ET BLOQ2 et bloq1r et blq1uz et blq1uy) chq1uy ;


* combinaison 
evmoq0 = evol chpo (tire modpla0 depl) lig1 uy coul bleu ;
evmoq1 = evol chpo (tire modpla01 depl) lig1 uy ;
evstq1 = evol chpo stq1uy  lig1 uy ;
coe_1 = 1. ;
repeter bdes 5 ;
*dess (((coe_1 * evmoq1) + ((1.-coe_1)*evstq1)) et (evmoq0 * (-1.))) ;
coe_1 = coe_1 - 0.25 ;
fin bdes ; 
***

modlig1 = vibr proc (prog 0.) (lect 2) rigto1 masto1 tbas ;
dlig1 = reco (modlig1 . modes . 1 . deformee_modale) modpla1 tbsta ;
dlig11 = reco (modlig1 . modes . 1 . deformee_modale) modto1 casto1 ;
deflig1 = defo dlig1 lig1 1. vert ;
deflig11 = defo dlig11 lig1 1. rouge ;
d_lig1 = defo dlig1 lig1 0.  ; 
si (neg d_graph 'F') ;
trac (0. 0. 1000.) (deflig1 et deflig11 et d_lig1) ; 
finsi ;
*
* 2eme poutre
*
q21 q22 lig2 mo2 mate2 = q1 q2 lig1 mo1 mate1 tour  120. p0 e_z ;

RIGPL2 =RIGI MATE2 MO2 ;                                                    
MASPLA2=MASS MATE2 MO2 ;                                                    
BLOQ22 =BLOQ DEPL ROTA Q22 ;
BLOQ21R= BLOQ ROTA Q21 ; blq21uz = bloq q21 uz  ;
blq21ux = bloq q21 ux ; blq21uy = bloq q21 uy ;   

*
PR=PROG 0.4 ;

tblsta = table 'LIAISONS_STATIQUES' ;
tblsta . 1 = table ; tblsta . 1 . point_liaison = q21 ;
                     tblsta . 1 . ddl_liaison = ux ;
tblsta . 2 = table ; tblsta . 2 . point_liaison = q21 ;
                     tblsta . 2 . ddl_liaison = uy ;

bliaiq21 =  bloque tblsta ;
depi tblsta ;
* modes vibrations
MODPLA2=VIBR PROC PR n_mv (RIGPL2 ET BLOQ22 et bloq21r et 
   blq21uz et bliaiq21)   MASPLA2 tbas;
* solutions statiques
tbsta2 = resout (RIGPL2 ET BLOQ22 et bloq21r et bliaiq21) tblsta ;
react bliaiq21 tbsta2 ;
tbsta2 maspla2 * ;
 repeter bmod ((dime tbsta2) - 1) ;
  ind1 = &bmod ;
psta1 = manu poi1  tbsta2 . ind1 . point_repere ;
mostai2 = mode psta1 mecanique elastique statique ;
castai2 = mate mostai2  defo tbsta2 . ind1 . deformee
                      made tbsta2 . ind1 . masse_deformee 
                      ride tbsta2 . ind1 . reaction ;
  si (ega 1 ind1) ;
    mosta2 = mostai2 ; casta2 = castai2 ;
  sinon ;
    mosta2 = mosta2 et mostai2 ; casta2 = casta2 et castai2 ;
  finsi ;
 fin bmod ;
masta2 = masse mosta2 casta2 ;
rista2 = rigi mosta2 casta2 ;
 
modto2 = mosta2 ; casto2 = casta2  ; tmod = modpla2 . modes ;
 
 repeter bmod ((dime modpla2 . modes) - 2) ;
  ind1 = &bmod ;
psta1 = manu poi1  tmod . ind1 . point_repere ;
momoda2 = mode psta1 mecanique elastique modal ;
camoda2 = mate momoda2 freq tmod . ind1 . frequence
                      mass tmod . ind1 . masse_generalisee
                      defo tmod . ind1 . deformee_modale ;
 modto2 = modto2 et momoda2 ; casto2 = casto2 et camoda2 ;
 fin bmod ;

rigto21 = rigi modto2 casto2 ;
masto21 = mass modto2 casto2 ;

t_sta = tbsta et tbsta2 ;
modlig2 = vibr proc (prog 0.) (lect 2) rigto21 masto21 tbas ;
dlig2 = reco (modlig2 . modes . 1 . deformee_modale) modpla2 tbsta2 ;
deflig2 = defo dlig2 lig2 1. vert ;
d_lig2 = defo dlig2 lig2 0.  ; 
si (neg d_graph 'F') ;
trac (0. 0. 1000.) (deflig2 et d_lig2) ; 
finsi ;
*
* 3 eme poutre
*
q31 q32 lig3 mo3 mate3 = q21 q22  lig2 mo2 mate2 tour 120. p0 e_z ;

RIGPL3 =RIGI MATE3 MO3 ;    
MASPLA3=MASS MATE3 MO3 ;   
BLOQ32=BLOQ DEPL ROTA Q32 ;                                                 
BLOQ31R = BLOQ ROTA Q31 ; blq31uz = bloq q31 uz  ;
blq31ux = bloq q31 ux ; blq31uy = bloq q31 uy ; 

PR=PROG 0.4 ;
tblsta = table 'LIAISONS_STATIQUES' ;
tblsta . 1 = table ; tblsta . 1 . point_liaison = q31 ;
                     tblsta . 1 . ddl_liaison = ux ;
tblsta . 2 = table ; tblsta . 2 . point_liaison = q31 ;
                     tblsta . 2 . ddl_liaison = uy ;

bliaiq31 =  bloque tblsta ;
depi tblsta ;
* modes vibrations
MODPLA3=VIBR PROC PR n_mv (RIGPL3 ET BLOQ32 et bloq31r et 
   blq31uz et bliaiq31)  MASPLA3 tbas;
* solutions statiques
tbsta3 = resout (RIGPL3 ET BLOQ32 et bloq31r et bliaiq31) tblsta ;
ds3_1 = defo tbsta3 . 1 . deformee lig3 1. rouge ;
ds3_2 = defo tbsta3 . 2 . deformee lig3 1. bleu ;
ds3_0 = defo tbsta3 . 1 . deformee lig3 0. ;
si (neg d_graph 'F') ;
trac (0. 0. 1000.) (ds3_1 et ds3_2 et ds3_0) ;
finsi ;
react bliaiq31 tbsta3 ;
tbsta3 maspla3 * ;

 repeter bmod ((dime tbsta3) - 1) ;
  ind1 = &bmod ;
psta1 = manu poi1  tbsta3 . ind1 . point_repere ;
mostai3 = mode psta1 mecanique elastique statique ;
castai3 = mate mostai3 defo tbsta3 . ind1 . deformee
                      made tbsta3 . ind1 . masse_deformee 
                      ride tbsta3 . ind1 . reaction ;
  si (ega 1 ind1) ;
    mosta3 = mostai3 ; casta3 = castai3 ;
  sinon ;
    mosta3 = mosta3 et mostai3 ; casta3 = casta3 et castai3 ;
  finsi ;
 fin bmod ;
masta3 = masse mosta3 casta3 ;
rista3 = rigi mosta3 casta3 ;
 
modto3 = mosta3 ; casto3 = casta3  ; tmod = modpla3 . modes ;
 
 repeter bmod ((dime modpla3 . modes) - 2) ;
  ind1 = &bmod ;
psta1 = manu poi1  tmod . ind1 . point_repere ;
momoda3 = mode psta1 mecanique elastique modal ;
camoda3 = mate momoda3 freq tmod . ind1 . frequence
                      mass tmod . ind1 . masse_generalisee
                      defo tmod . ind1 . deformee_modale ;
 modto3 = modto3 et momoda3 ; casto3 = casto3 et camoda3 ;
 fin bmod ;

rigto31 = rigi modto3 casto3 ;
masto31 = mass modto3 casto3 ;

modlig3 = vibr proc  (prog 0.) (lect 2) rigto31 masto31 tbas ;
dlig3 = reco (modlig3 . modes . 1 .deformee_modale) modpla3 tbsta3 ;
deflig3 = defo dlig3 lig3 1. vert ;
d_lig3 = defo dlig3 lig3 0.  ; 

si (neg d_graph 'F') ;
trac (0. 0. 1000.) (deflig3 et d_lig3) ; 
finsi ;
t_sta = t_sta et tbsta3 ;
t_vib = modpla1 et modpla2 et modpla3 ;
mo_to = modto1 et modto2 et modto3 ;
ca_to = casto1 et casto2 et casto3 ;

n_te = 1 ;
re_bar1 = ( rela q1 ux + q21 ux + q31 ux ) 
 et ( rela q1 uy + q21 uy + q31 uy ) ;
 re_bap1 = pjba re_bar1 mo_to ca_to ; 
re_bap0 = pjba re_bar1 t_sta ;
tt1 = idli re_bar1 lig1 ;
tt2 = idli re_bar1 lig2 ;
tt3 = idli re_bar1 lig3 ;
rig_t2 = rigto1 et rigto21 et rigto31 et re_bap1 ;
mas_t2 = masto1 et masto21 et masto31 ;
mod_t2 = vibr proc pr (lect n_te)  rig_t2 mas_t2 tbas ;

rig_t1 = rigpl1 et bloq2 et rigpl2 et bloq22 et rigpl3 et bloq32
  et bloq1r et blq1uz et bloq21r et blq21uz et bloq31r et blq31uz
     et re_bar1 ; 
mas_t1 = maspla1 et maspla2 et maspla3 ;
mod_t1 = vibr proc pr (lect n_te) rig_t1 mas_t1 tbas ;

i_te = 0 ;
repeter b_te n_te ;
i_te = i_te + 1 ;
dp1_t2 = reco (mod_t2 . modes . i_te . deformee_modale)
       t_sta t_vib ;
dp1_t2 = reco (mod_t2 . modes . i_te . deformee_modale) mo_to ca_to ; 
m_t2 = mod_t2 . modes . i_te . masse_generalisee ** 0.5 ; 
m_t2 = -1.*m_t2;
df1_t2 = defo (dp1_t2/m_t2) (lig1 et lig2 et lig3) 10. vert ;

dp1_t1 = mod_t1 . modes . i_te . deformee_modale ;
m_t1 = mod_t1 . modes . i_te . masse_generalisee ** 0.5 ;
df1_t1 = defo (dp1_t1 / m_t1) (lig1 et lig2 et lig3) 10. bleu ;
si (neg d_graph 'F') ;
trac (0. 0. 1000.) (df1_t1 et df1_t2) ;
finsi ;
fin b_te ;
err0 = (dp1_t2/m_t2) - (dp1_t1 / m_t1) ;
nerr0= (maxi (abs err0) sans (mots lx)) ;
err2 = (dp1_t2/m_t2) + (dp1_t1 / m_t1) ;
nerr2= (maxi (abs err2) sans (mots lx)) ;
*opti donn 5 ;
si ((nerr0 < 1.e-3) ou (nerr2 < 1.e-3)) ;
   erre 0 ; sinon ; erre 5 ; finsi ; 
fin ;

 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer