Download dyna15.dgibi

Back to the list

* fichier : dyna15.dgibi
***************************************
*
* Poteau soumis à une charge concentré
*
* Contribution statique des modes négligés
*
* D. Combescure aout 2006
*
***************************************
*AFFICH = VRAI;
AFFICH = FAUX;
*COMPLET = VRAI;
COMPLET = FAUX;
*
opti dime 2 elem seg2;
H = 3.;
H1 = 2.;
p0 = 0. 0.;
p1 = 0. H1;
p2 = 0. H;
n1 = 50;
n2 = 25;
a = 0.25;
b = a;
e1 = 30000.D6;
ro1 = 2400.;
nu1 = 0.30;
sec1 = a*b;
in1 = (1./12.)*(b*(a**3));
lig1 = (d n1 p0 p1) et (d n2 p1 p2);
mod1 = modl lig1 mecanique elastique TIMO;
mat1 = matr mod1 YOUN E1 NU nu1 RHO ro1 
       SECT sec1 INRZ in1;
KK1 = rigi mod1 mat1;
CC1 = 0.001*KK1;
MM1 = mass mod1 mat1;
bl0 = BLOQ DEPL ROTA p0;
fh1 = forc FX 1. p1;
*
* Calcul du premier mode
*
vib1 = vibr proche (prog 1.) (lect 1) (KK1 et bl0) MM1;
vib1b= traduire vib1;
nmod = (dime (vib1b) ) - 2; 
SI AFFICH;
 repeter lab1 nmod;
  dep1 = vib1b. &lab1 . DEFORMEE_MODALE;
  fr1 = vib1b.  &lab1 . FREQUENCE;
  titre fr1;
  trac (defo lig1 dep1);
 fin lab1;
FINSI;
*                                                                  
*
* Calcul du pseudo mode
psm1 = psmo (KK1 et bl0) vib1b fh1;
*
depstaf = (defo lig1 (psm1 . 1 . DEPLACEMENT));
SI AFFICH;
 TITRE 'Pseudomode';
 TRAC depstaf;
FINSI;
*
*
* Définition du chargement
*
t1 = 1/400.;
SI COMPLET;
 tfin = 100.*t1;
SINON;
 tfin = 10.*t1;
FINSI;
dt = t1/2.;
lptemps = prog 0 t1 (2.*t1) (3.*t1) 100.;
lpchar = prog  0  0  1.D6      0.      0.;
ev1 = evol manu lptemps lpchar;
*
SI AFFICH;
 dess ev1 xbord 0. (10.*t1);
FINSI;
*
cha1 = char fh1 ev1;
*
*
* Méthode 1: intégration directe sur base physique
*
*
prtimeb = prog 0. pas dt tfin;
*
tab1 = table;  opti sauv 'mon.fic';
tab1.'DEPL' = manu chpo lig1 2 ux 0 uy 0;
tab1.'VITE' = manu chpo lig1 2 ux 0 uy 0;
tab1.'CHAR' = cha1;
tab1.'RIGI' = (KK1 et bl0);
tab1.'AMOR' = CC1;
tab1.'MASS' =  MM1;
tab1.'FREQ' = (1./dt);
tab1.'INST' = prtimeb;
tab1.'SAUV' = VRAI;
tab2  = dynamic tab1;
nn = dime tab2;
prp1 = prog;
repeter lab1 nn;
  depj = (tab2 . &lab1 . DEPL) ;
  si (ega &lab1 1);
    deft = defo lig1 depj 1;
  sinon;
    deft = deft et 
     (defo lig1 depj 1);
  finsi;
  prp1 = prp1 et 
   (prog (extr depj p1 UX));
fin lab1;
evp1_1 = (evol manu prtimeb prp1);
u1max = (maxi (extr evp1_1 ordo) abs);
nn = dime (extr evp1_1 absc);
yymax = 0;
xxmax = 0;
repeter lab1 nn;
 xx = extr (extr evp1_1 absc) &lab1;
 yy = extr (extr evp1_1 ordo) &lab1;
 si ((abs yy) > yymax);
  yymax = abs yy;
  xxmax = xx;
  nnmax = &lab1;
 finsi;
fin lab1;
depmax1 = tab2 . nnmax . DEPL;
bsi1 = bsigma (sigma depmax1 mod1 mat1) mod1 mat1; 
bsi1b = bsi1 - 
(* bsi1 (MANU CHPO p0 FX 1. ) (mots FX) (mots FX) (mots FX));
*
*
* Méthode 2: intégration directe sur base modale avec pseudomode
*
*
tbas1 = table 'BASE_MODALE';
tbas1.'MODES' = vib1b;
* On rajoute le pseudomode à la base modale
tbas1.'PSEUDO_MODES' =psm1;
*
TRIG = TABLE 'RAIDEUR_ET_MASSE';
TRIG.'RAIDEUR' = pjba tbas1 (KK1 et bl0) ;
TRIG.'MASSE'  = pjba tbas1 MM1;
TAMOR = TABLE 'AMORTISSEMENT';
TAMOR . 'AMORTISSEMENT' = PJBA tbas1 CC1;
TCHAR = TABLE 'CHARGEMENT' ;    
TCHAR.'BASE_A' = pjba tbas1 cha1;
*
TSORT = TABLE 'SORTIE'   ;                           
TSORV = TABLE 'VARIABLE' ;                           
TSORT.'VARIABLE' = TSORV ;                           
TSORV.'VITESSE'         = VRAI;                     
TSORV.'DEPLACEMENT' = VRAI ;                     
TSORV.'ACCELERATION'    = VRAI ;
*
DTEX = DT;
NTT = ENTIER (tfin/(DT));
TRESU = DYNE DE_VOGELAERE TRIG TAMOR TCHAR 
             NTT DTEX TSORT  ;
* 
evp1_2 = EVOL ROUGE RECO TRESU tbas1 cha1 'DEPL' P1  UX  ;   
evp1_2b = EVOL VERT RECO TRESU tbas1 'DEPL' P1  UX  ;    
*
u2max = (maxi (extr evp1_2 ordo) abs);
nn = dime (extr evp1_2 absc);
yymax = 0;
xxmax = 0;
repeter lab1 nn;
 xx = extr (extr evp1_2 absc) &lab1;
 yy = extr (extr evp1_2 ordo) &lab1;
 si ((abs yy) > yymax);
  yymax = abs yy;
  xxmax = xx;
  nnmax = &lab1;
 finsi;
fin lab1;
depmax2 = RECO TRESU tbas1 (nnmax*DTEX) cha1 'DEPL';
bsi2 = bsigma (sigma depmax2 mod1 mat1) mod1 mat1; 
bsi2b = bsi2 - 
(* bsi2 (MANU CHPO p0 FX 1. ) (mots FX) (mots FX) (mots FX));
*
SI AFFICH;
 DESS (evp1_1 et evp1_2) 
  TITRE 'Calcul sur base physique/base modale';;
 DESS (evp1_2 et evp1_2b)
   TITRE 'Base modale - Résultats avec ou sans pseudomode';     
 trac deft anime;
 trac lig1 (vecteur bsi1b fx fy);   
 trac lig1 (vecteur bsi2b fx fy);   
FINSI;
*
TEST = (MAXI ((EXTR evp1_2 ORDO) - (EXTR evp1_1 ORDO)) ABS)/
       (MAXI (EXTR evp1_2 ORDO) ABS);
*
SI (TEST > 0.10);
 ERRE 4;
FINSI;
*
FIN;
*
 

 

© Cast3M 2003 - All rights reserved.
Disclaimer