Download dyna_nl4.dgibi

Back to the list

* fichier : dyna_nl4.dgibi
*******************************************************
*******************************************************
*                                                     *
*    Calcul du rebond  d'une barre                    *
*    avec PASPAS et RELA                              *
*                                                     *
*    D. Combescure Aout 2006                          *
*******************************************************
*GRAPH = VRAI;
*COMPLET = VRAI;
GRAPH = FAUX;
COMPLET = FAUX;
*
OPTION  ECHO 1 ;
OPTIO DIME 2 ELEM QUA8 MODE PLAN CONT;
*
*  MAILLAGE 
*
 nl = 10;
 H1 = 1.D-1;
 L1 = 0.5;
 P1 = (0.) (0.5*H1);
 P2 = (0.) ((-0.5)*H1);
 Vh1 = L1 0.;
 P3 = L1 (0.5*H1);
 P4 = L1 ((-0.5)*H1);
 P3b = L1 (0.5*H1);
 P4b = L1 ((-0.5)*H1);
 P5 = ((-1.)*L1) (0.5*H1);
 P6 = ((-1.)*L1) ((-0.5)*H1);
 Lig1 = D 1 P1 P2;
 Lig2 = D 1 P3 P4;
 Lig2B = D 1 P3b P4b;
 Lig3 = D 1 P5 P6; 
 S1 =  (Lig1 tran nl VH1) et (Lig1 tran nl ((-1.)*VH1));
* S1 =  (Lig1 tran nl VH1);
 LigH = (D nl P5 P1) et (D nl P1 P3);
 elim 0.000001 (Lig1 et Lig2 et S1 et Lig3 et LigH);
*
*  MODELE 
*
 MOD1 = MODELE S1 MECANIQUE ELASTIQUE  ;
*
*  PROPRIETES DE MATERIAUX 
*
 RO = 7800.;
 MAT1 = MATER MOD1 YOUN 200.E6 NU 0.0 RHO RO ;
*
*  CONDITIONS AUX LIMITES 
* 
 CL1 = (BLOQ S1 UY) ; 
 CL2 = RELA 'MAXI' UX LIG2 - 'UX' LIG2B;
 CL3 = BLOQ DEPL LIG2b;
 DEPIM2 =DEPI CL2 0.01; 
*
*  MATRICE DE RIGIDITE 
*
 RIG1 = RIGI MOD1 MAT1 ;
*
*  MATRICE DE MASSE 
*
 MAS1 = MASSE MOD1 MAT1 ;
*
* CHARGEMENT  
*
ddt = 2.0D-5;
LI1 = (PROG 0. ddt (2.*ddt) 10.);
LI2 = (PROG 1. 1.  1. 1.);
EV = EVOL MANU 'T' LI1 'F(T)' LI2 ;
*dess ev ybord 0. 2. xbord 0. 1.0;
F1 = MAS1*(manu chpo S1 1 UX (9.81)); 
F2 = MAS1*(manu chpo S1 1 UX (9.81)); 
CHA1 = CHAR  (F1 et depim2) EV ;
CHA2 = CHAR  (F2 et depim2)  EV ;
*CHA1 = CHAR  (depim2) EV ;
*CHA2 = CHAR  (depim2)  EV ;
*
*  PREPARATION DE LA TABLE DE DONNEES POUR PASAPAS
*
SI (EGA COMPLET VRAI);
 time = PROG  0. PAS 1.E-3 50.D-2  ;
SINON;
 time = PROG  0. PAS 1.E-3 1.D-2  ;
FINSI;
*
TAB1 = TABLE;
TAB1.modele = mod1;
TAB1.caracteristiques = mat1;
TAB1.blocages_mecaniques = CL1 et CL2 et CL3;
TAB1.chargement = cha1;
*TAB1.amortissement = 0.01*(rigi mod1 mat1);
TAB1.temps_calcules = time;
TAB1.dynamique = vrai;
TAB1.convergence_forcee = FAUX;
PASAPAS TAB1;
*
*  EXTRAIRE  LES OBJETS D'EVOLUTION DE DEPLACEMENTS  
*
LT = PROG ;  
LUX1 = PROG  ;
LUX2 = PROG  ;
LUX3 = PROG  ;
LVX1 = PROG  ;
LVX2 = PROG  ;
LVX3 = PROG  ;
LEPOT = PROG ;
LENEC = PROG ;
LEELA = PROG ;
LEREA = PROG;
I = 1 ;
M1 = P5 ;M2 = P1 ; M3 = P3 ; 
TEMPS =  INDEX ( TAB1.DEPLACEMENTS);
NBB = (DIME TEMPS) - 2;
 REPETER  BB1 NBB  ;
  I = I + 1 ;      
   LT = LT ET (prog (TAB1.'TEMPS'. (TEMPS.i)));
   DEP1 = TAB1 . 'DEPLACEMENTS'. (TEMPS.i); 
   EPS1 = EPSI DEP1 MOD1 MAT1;
   VIT1 = TAB1 . 'VITESSES'. (TEMPS.i); 
   CON1 = TAB1 . 'CONTRAINTES'. (TEMPS.i); 
   REA1 =REAC DEP1 CL3;
   ENE1= ENER MOD1 EPS1 CON1;
   LUX1 = LUX1 ET( PROG (EXTR DEP1 UX  P1) );                            
   LUX2 = LUX2 ET( PROG (EXTR DEP1 UX  P2) );                            
   LUX3 = LUX3 ET( PROG (EXTR DEP1 UX  P3) );       
   LVX1 = LVX1 ET( PROG (EXTR VIT1 UX  P1) );                            
   LVX2 = LVX2 ET( PROG (EXTR VIT1 UX  P2) );                            
   LVX3 = LVX3 ET( PROG (EXTR VIT1 UX  P3) );  
*   LEELA =  LEELA et (prog  (intg ENE1 mod1));  
   LEELA =  LEELA et
      (prog ((0.5*('XTY' DEP1 (RIG1*DEP1) 
            ('MOTS' UX UY) 
            ('MOTS' FX FY))) ));  
   LENEC = LENEC et 
      (prog ((0.5*(XTY VIT1 (MAS1*VIT1) 
            (MOTS UX UY) (MOTS FX FY))) ));  
   LEPOT = LEPOT et 
       (prog (xty DEP1  (mas1*(manu chpo S1 1 UX (9.81)))
                   (MOTS UX UY) (MOTS FX FY))); 
     LEREA =  LEREA et (prog (extr (resu rea1) P1 FX));
 FIN BB1 ;                                                                       
EVU1 =  EVOL MANU  'TIME' LT  'UX ' ((-1.)*LUX1) ; 
EVU2 =  EVOL ROUGE MANU  'TIME' LT  'UX ' ((-1.)*LUX2);
EVU3 =  EVOL BLEU MANU  'TIME' LT  'UX ' ((-1.)*LUX3) ; 
EVREA =  EVOL BLEU MANU  'TIME' LT  'UX ' (LEREA) ;
*
EvEC =  EVOL BLEU MANU  'TIME' LT 'EC' LENEC;
EvPot =  EVOL ROUGE MANU  'TIME' LT 'EP' LEPOT;
EvEl =  EVOL MANU  'TIME' LT 'EP' LEELA;
EvBilan = evol manu 'TIME' LT (((-1.)*LEPOT) +  LEELA + LENEC);
*
EVV1 =  EVOL MANU  'TIME' LT  'UX ' ((-1.)*LVX1) ; 
EVV2 =  EVOL ROUGE MANU  'TIME' LT  'UX ' ((-1.)*LVX2) ; 
EVV3 =  EVOL BLEU MANU  'TIME' LT  'UX ' ((-1.)*LVX3) ; 
*
* ---  TRACER LES COURBES 
*
SI GRAPH;
 ta = table;
 ta.1 = 'MARQ CARR';
 DESS (EVU1 et EVU2 et EVU3) TITRE 'Deplacement';
 DESS (EVV1 et EVV2 et EVV3) TITRE 'Vitesse';
 DESS (EVU3) xbord 0. 0.20 TITRE 'Deplacement';
 DESS (EVV3) xbord 0. 0.20 TITRE 'Vitesse';
 ta = table;
 ta.1 = 'TIRR';
 ta.2= 'TIRC';
 DESS (EvPot et EvEC et EvEl et EvBilan) ta xbord 0. 0.20
      ybord 0. 90. TITRE 'Energie';
FINSI;
*
TEST = (MAXI (EXTR EvBilan ORDO) ABS) 
      / (MAXI (EXTR EVPOT ORDO) ABS);
*
SI (TEST > 1.D-6);
 ERR 4;
FINSI;
*
FIN;
*
* 

© Cast3M 2003 - All rights reserved.
Disclaimer