Download dependance.dgibi

Back to the list

* fichier :  dependance.dgibi
********************************************************************
*    TEST  DE  CONDENSATION  
*   
*       poutre des section rectangulaire en appui simples
*       face inferieure renforcee par une plaque en acier 
*       un renfort interne de type  poutre 
*       un renfort interne de type  barr
*
*   les renforts sont disjoints  du maillage massif 
* 
*   comparaison des solutions obtenues par :

*                       rela accro /  resou                                        
*                       dependance /  resou                                
*                       cmct       /  resou + mrem  
*
*                       test de fonctionnement dans pasapas 
*              
********************************************************************* 
opti echo 1;
graph='N'    ;
opti dime 3 elem cub8 ;
* ajout de option epsilon lineaire pour la precision des test!
OPTION epsilon lineaire;
* 
* GEOMETRIE
*
long = 10.0;
*---BETON
h =  1.;
h1= .9 ;
*h1 = 1. -  (1./6.1);
pa=0.0 0. 0.0;
pb=long 0. 0.0;
pc=long 0. h ;
pd=0.0 0. h;pn = 0. 0. (h - h1)  ;

*---ARMATURE
prof = 1. ;
pm = long (prof/2) (h - h1)  ;
pn = 0.   (prof/2) (h - h1)  ;
nb1 = 20;
nb2 = 4 ;    
nb3=17 ;
c1=pa droi nb1 pb; 
c2=pb droi nb2 pc; 
c3=pc droi nb1 pd; 
c4=pd droi nb2 pa; 
sur1=(dall c1 c2 c3 c4) ;


sur1 = sur1 volu 2 tran (0 prof 0)  ;
d1 = d nb3 pm pn coul roug ;
d2 = d1 plus ( 0 0 h1 ) ;
   finf = sur1 points plan pa pb (pa plus (0 1 0)) .01 ;
   finf = (( sur1 envel) elem appu stric finf ) ;   
   fsup = finf plus (0 0 h) ;
   elim .1 sur1 fsup ;
*-----   on decolle la plaque pour  pouvoir l ACCROCHER    
 plaq = finf plus ( 0  0 0 ) coul bleu ;
 
'SI' ( 'NEG' graph  'N' ) ;   
 trac (1000 1000  1000 )  ( sur1 et d1)   ;
'FINSI' ; 
 
*
* MODELE
*------------------------- beton ---------------------------------
Eb = 0.4e11 ;
modb=modl sur1 mecanique elastique ;
matb= mate modb youn Eb  nu 0.3;
ribe = rigi modb matb;

*-----------------------  barre  ----------------------------
YOUCAB = 1495.D6/0.718D-2 ;                      ; 
TRACAB = EVOL MANU
         'EPS' (1.D-2 * (PROG 0. .718 .804 .890 1.00 1.278 2.957))
         'Pa'  (1.D6 *  (PROG 0. 1495. 1553. 1623. 1669. 1727. 1855.));
mod1 = MODE d1 MECANIQUE ELASTIQUE ISOTROPE PLASTIQUE ISOTROPE BARR ;
mat1= MATE mod1   YOUN youcab NU 0.3 SECT 0.04 TRAC tracab ALPH 
          12.5E-6 ;
riba = rigi mod1 mat1 ;    
 
*------------------- -    poutre ----------------------- 
 
mod2=modl d2   mecanique elastique pout  ;    
mat2=(mate mod2 youn Eb  nu 0.0 INRY  10. INRZ 10. TORS 3.)
      et ( cara mod2 sect .02) ;
ripo = rigi mod2 mat2 ;  

*---------------------   coque  -------------------------

*---- Courbe d'écrouissage de l'acier A42
EPS1   = PROG 0. 0.002 0.018 0.02 0.036 0.05 0.068 0.084 0.102    ;
SIG1   = PROG 0. 312.  325.  335. 400.  425. 450.  465.  475.     ;
SIG1   = SIG1*1.E6                                                ;
EVSIG  = EVOL MANU 'EP' EPS1 'SI' SIG1                            ;
*---- Module de Young de la Peau d'étanchéité
YOUNT  = 312.E6 / 0.002  ;
mod3 = mode plaq MECANIQUE ELASTIQUE ISOTROPE 
     PLASTIQUE ISOTROPE   coq4 ;  
Mat3  = MATE mod3   YOUN YOUNT NU 0.3 EPAI  0.03 TRAC EVSIG ALPH 
          12.5E-6 ;
rico = rigi mod3 mat3 ;    
*----------------------------------------------------------
*
* CONDITIONS AUX LIMITES
*
aa = sur1 points droite pa ( pa plus (0 1 0)) .01 ;
bb = sur1 points droite pb ( pb plus (0 1 0)) .01 ;
cl1 = bloq aa ux ;
cl2 = bloq aa uz ;
cl3 = bloq bb uz ;
cl4 = bloquer uy ( pa et pb) ;
clb = cl1 et cl2 et cl3 et cl4 ;
*
*  on veut bloquer la rotation sur elle meme  de la poutre 
*
       dp2 = d2 elem ( lect 1 pas 1 ( nb3 - 1)) ;
       pf = d2 point final ;  
 conf  pf ( sur1 point proche pf ) ;
* 
 clt = clb et ( bloquer RX  pf ) ; 
*  

 racc = rela accro (plaq  et d1 et dp2 ) sur1  ;
 radd = chan DEPE racc ; 

* ------     concatenation des raideurs  ------------
 rign = ribe et riba et ripo et rico ;
 riga = rign et racc  et clt ; 
 rigd = rign et radd  et clt ;
*
* --- pression sur face superieure + force sur la plaque -----
   f1 = press massif 1.E8 fsup modb ;
   f2 = force  1.E8  FZ  plaq       ;
   ff = f1 + f2 ;
*-------------- solution  par depend-------------------------    
   dep2 = resou rigd   ff ;    
*-------------- solution  par accro ------------------------- 
   dep1 = resou riga  ff ;
*-------------------------------------------------------- 
*-------------  solution par cmct  puis mrem ------------
* ---  condensation des   matrices liees aux noeuds esclaves   ---
   rige = cmct (rign et clt ) radd ;
* ---  condensation des la force  liees aux noeuds esclaves  -----   
   racd radu = chan COND racc ;
   fad = f1  et ( radu * f2 ) ;
* -----  solution reduite ---------------------------------------
*  dep30 = resou  rige   fad   ;
*--   remeontee a la solution complete  --------------------------   
*  on n'utilise plus tout cela, c'est intégré dans résou
*  dep3  = mrem  dep30  (rign et clt et radd ) ff ;
   dep3  = resou  rige   fad   ;
*--------------------------------------------------------------
   mde1 = mini dep1 avec ( mots UZ) ;
   mde2 = mini dep2 avec ( mots UZ) ;
   mde3 = mini dep3 avec ( mots UZ) ;
   surd = (sur1 envel ) et d1 et d2 ;

* ----------- reactions aux appuis et liaisons ---------------------
 rea1 = reac (clt et racc ) dep1 ;
 rea2 = reac (clt et radd ) dep2 ;
*----------examen des differences entre les deux methodes ---------- 
aaa  = rea1 -  rea2 ;
reamo1 = (psca rea1 rea1 ( mots FX FY FZ) ( mots FX FY FZ)) ** .5 ;
reamo2 = (psca rea2 rea2 ( mots FX FY FZ) ( mots FX FY FZ)) ** .5 ;
depmod = (psca dep1 dep1 ( mots UX UY UZ) ( mots UX UY UZ)) ** .5 ; 
    si ( neg GRAPH N) ; 
 av = maxi ( abs rea1 ) avec (mots FZ) ;
 amv = 4./av ;
 vr1 = vecteur rea1 amv FX FY FZ  roug ;
 vr2 = vecteur rea2 amv FX FY FZ  vert ;
 amp = .3/ ( maxi depmod) ;
 amd = 4./(maxi reamo1) ; 
 vd1 = vecteur rea1 amd FX FY FZ  roug ;
 vd2 = vecteur rea2 amd FX FY FZ  vert ;  
 titre 'UZ mini accro ' mde1 ' dependence ' mde2 'cmct' mde3 ;
 dde0 = defo surd dep1 0.   blan  ;   
 dde1 = defo surd dep1 amp vr1 roug  ;
 dde2 = defo surd dep2 amp vr2 vert  ;
 trac ( dde1  et dde2  )  ;    
 dur1 = defo surd dep1 amp vd1 roug  ;
 dur2 = defo surd dep2 amp vd2 vert  ;  
  trac ( dur1 et dur2 ) ; 
vdif = vecteur aaa  FX FY FZ  amd  vert   ;
titre  '  difference  sur reactions  accro depen ' ;
trac surd vdif ;    
    finsi ;
rdif =   reamo1 - reamo2 ;  
a3= rdif   point maxi  ;
av1 = (abs (maxi rdif)) /( extr reamo1 SCAL (a3 point 1 )) ;                                     
ruz = abs (((mde1 - mde2) * 100 ) / mde2 )  ;
  
mess ' differences relatives max sur la fleche maximum '  ruz '%'  ;
mess ' differences relatives max sur les reactions     '  av1 '%'  ; 
 'SI' (( ruz > 1.e-7)  OU ( av1 > 1.e-7));
 erre   5 ;
 'FINSI' ; 

* suite uniquement pour tester que tout se passe correctement ds pasapas     
  
evf = EVOL MANU 'Sec.' (prog  0.  1000.) 'Pa' (prog 1. 1. ) ;   
chpress = char meca ff evf ; 

TABMC = TABLE ;
TABMC.MODELE      = modb et mod1  et mod2  et mod3  ;
TABMC.BLOCAGES_MECANIQUES =  radd et   clt  ;
TABMC.CARACTERISTIQUES    = matb et mat1  et mat2 et mat3 ; 
TABMC.CHARGEMENT  = chpress ;                      
evtt = prog 0. pas 1. 5.;
TABMC.TEMPS_CALCULES = evtt ;
TABMC.TEMPS_SAUVES   = evtt ;
PASAPAS TABMC ;

ttt = tabmc.'DEPLACEMENTS'  ;
i1 = index ttt ;nt = dime i1 ;
dep = ttt . (i1.nt ) ;uref = -8.94153E-02 ;
uymi = mini dep avec (mots UZ) ;
* fleche attendue   5 iterations =-8.94153E-02 ;
ruz = abs (((uref  - uymi) * 100 ) / (abs uymi ))  ;
mess  ' difference relative ' ruz '%' ;

 'SI' ( ruz > 5.e-1) ;
 erre   5 ;
 'FINSI' ;
 'FIN' ;





 

 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer