* fichier : dy_devo9.dgibi
OPTION ECHO 0 ;
OPTION ELEM SEG2 DIME 2 ;
GRAPH = 'N' ;
d_pasa = faux ;
*********************************
* TEST DE VALIDATION DE LA *
* LIAISON LIGNE_LIGNE DE DYNE *
*_______________________________*
* *
* Un disque chute sur le sol *
* sous l'action de la pesanteur *
* Comparaison des vitesses apres*
* le choc avec la solution *
* analytique d'un solide rigide *
* en suposant les conditions *
* de roulement sans glissement *
* *
*********************************
* DONNEES *
***********
R=0.1;
H=0.2;
Y0=H+R;
V0=1.;
G0=1.;
O = 0. Y0;
A = 0. H;
B = R Y0;
C1 = CERC 10 A O B;
C2 = C1 TOUR 90. O;
C3 = C1 ET C2;
C4 = C3 TOUR 180. O;
C5 = C3 ET C4;
CE1 = ELIM C5 0.01;
B1=0. 0.;
B2=1. 0.;
SOL=DROI 1 B2 B1;
*
PR=0 0;
PX=0 0;
PY=0 0;
PSOL=0 0;
G=0. Y0;
*********************
* BASE MODALE *
*********************
CHPX = MANU 'CHPO' 3 (CE1 ET G) 'UX' 1. 'UY' 0. 'RZ' 0.;
CHPY = MANU 'CHPO' 3 (CE1 ET G) 'UX' 0. 'UY' 1. 'RZ' 0.;
CHPR = MANU 'CHPO' 3 (CE1 ET G) 'UX' 0. 'UY' 0. 'RZ' 1.;
CHPSOL=MANU 'CHPO' 3 SOL 'UX' 0. 'UY' 0. 'RZ' 0.;
TBAS1 = TABLE 'BASE_MODALE';
TBAS1 . 'MODES' = TABLE 'BASE_DE_MODES';
TBAS1 . 'MODES'. 'MAILLAGE' =(CE1 ET G);
TBAS1 . 'MODES'. 1 = TABLE 'MODE';
TBAS1 . 'MODES'. 1 . 'POINT_REPERE' =PX;
TBAS1 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
TBAS1 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 5.;
TBAS1 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPX;
mai1 = manu poi1 px ;
mo_mod1 = modele mai1 mecanique elastique modal ;
ca_mod1 = mate mo_mod1 freq 0. mass 5. defo chpx amor 0.;
TBAS1 . 'MODES'. 2 = TABLE 'MODE';
TBAS1 . 'MODES'. 2 . 'POINT_REPERE' =PY;
TBAS1 . 'MODES'. 2 . 'FREQUENCE' = 0.0;
TBAS1 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 5.;
TBAS1 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPY;
mai2 = manu poi1 py ;
mo_mod2 = modele mai2 mecanique elastique modal ;
ca_mod2 = mate mo_mod2 freq 0. mass 5. defo chpy amor 0.;
TBAS1 . 'MODES'. 3 = TABLE 'MODE';
TBAS1 . 'MODES'. 3 . 'POINT_REPERE' =PR;
TBAS1 . 'MODES'. 3 . 'FREQUENCE' = 0.0;
TBAS1 . 'MODES'. 3 . 'MASSE_GENERALISEE' = 0.025;
TBAS1 . 'MODES'. 3 . 'DEFORMEE_MODALE' = CHPR;
TBAS1 . 'MODES'. 3 . 'CORPS_RIGIDE' = 'VRAI';
TBAS1 . 'MODES'. 3 . 'CENTRE_DE_GRAVITE'= G;
mai3 = manu poi1 pr ;
mo_mod3 = modele mai3 mecanique elastique modal ;
ca_mod3 = mate mo_mod3 freq 0. mass 0.025 defo chpr amor 0.
cgra g ;
TBAS2 = TABLE 'BASE_MODALE';
TBAS2 . 'MODES' = TABLE 'BASE_DE_MODES';
TBAS2 . 'MODES'. 'MAILLAGE' = SOL;
TBAS2 . 'MODES'. 1 = TABLE 'MODE';
TBAS2 . 'MODES'. 1 . 'POINT_REPERE' =PSOL;
TBAS2 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
TBAS2 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 5.;
TBAS2 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPSOL;
mai4 = manu poi1 psol ;
mo_mod4 = modele mai4 mecanique elastique modal ;
ca_mod4 = mate mo_mod4 freq 0. mass 5. defo chpsol amor 0.;
TBAST = TABLE 'ENSEMBLE_DE_BASES' ;
TBAST.1=TBAS1;
TBAST.2=TBAS2;
mo_1 = mo_mod1 et mo_mod2 et mo_mod3 et mo_mod4 ;
ca_1 = ca_mod1 et ca_mod2 et ca_mod3 et ca_mod4 ;
*************
* TEMPS *
*************
PDT = 5.E-5 ;
NPDT = 4200 ;
NINS = 1 ;
AMOR1 = AMOR TBAST (PROG 0. 0. 0. 0.);
TA = TABLE 'AMORTISSEMENT' ;
TA.'AMORTISSEMENT' = AMOR1 ;
**************************
* CONDITIONS INITIALES *
**************************
TINIT=TABLE 'INITIAL';
VIT1 = MANU CHPO 1 PX 'ALFA' V0 ;
VIT2 = MANU CHPO 1 PR 'ALFA' G0 ;
VIT =VIT1 + VIT2;
TINIT.'VITESSE'=VIT;
********************
* CHARGEMENT *
*********************
FPES1 = FORCE 'FY' -49.05 G;
FPESA1 = PJBA TBAS1 FPES1 ;
fpesa2 = pjba mo_1 ca_1 fpes1 ;
LISX1 = PROG 0. 15. ;
LISY1 = PROG 1. 1. ;
EVO_F1 = EVOL 'MANU' TEMPS LISX1 LISY1 ;
CHA_PES1 = CHARGE 'FORC' FPESA1 EVO_F1 ;
cha_pes2 = charge 'FORC' fpesa2 evo_f1 ;
TCHARG = TABLE 'CHARGEMENT' ;
TCHARG.'BASE_A' = CHA_PES1 ;
chp_r =MANU CHPO 1 (CE1) 'RAID' 10000000.;
chp_A =MANU CHPO 1 (CE1) 'AMON' 10000000.;
******************************************
* LIAISON LIGNE LIGNE *
******************************************
TLIA1 = TABLE 'LIAISON' ;
TLB1 = TABLE 'LIAISON_B' ;
TLIA1 .'LIAISON_B' = TLB1 ;
TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL1.'TYPE_LIAISON'= MOT 'LIGNE_LIGNE_FROTTEMENT';
TL1.'LIGNE_MAITRE' = SOL ;
TL1.'LIGNE_ESCLAVE'= CE1 ;
TL1.'COEFFICIENT_GLISSEMENT' = 0.1;
TL1.'COEFFICIENT_ADHERENCE' = 0.1 ;
TL1.'RAIDEUR_TANGENTIELLE' = -10. ;
TL1.'RAIDEURS' = chp_r ;
TL1.'AMORTISSEMENT_TANGENTIEL' = 0.01 ;
TLB1.1 = TL1 ;
maif1 = manu poi1 (0. 0.) ;
mollf1 = modele maif1 liaison ligne_ligne frottement ;
callf1 = mate mollf1 lima SOL lies CE1 glis 0.1 adhe 0.1
rtan -10. raid chp_r atan 0.01 ;
;
TSORT1 = TABLE 'SORTIE' ;
TSOR1 = TABLE 'SORTIE' ;
TSOR2 = TABLE 'SORTIE' ;
TSORT1.'VARIABLE' = TSOR1 ;
TSOR1.'DEPLACEMENT' = VRAI ;
TSOR1.'VITESSE' = VRAI ;
*TSOR1.'ACCELERATION' = VRAI ;
TSORT1.'LIAISON_B' = TSOR2 ;
TVAR = TABLE 'VARIABLE' ;
TVAR.'CHPOINT_FORCE_DE_CHOC' = VRAI ;
TSOR2.TL1 = 'FAUX' ;
*
t_final = npdt * pdt ;
l_cal = prog 0 pas pdt t_final ;
tabdyn = table 'PASAPAS' ;
tabdyn . modele = mo_1 et mollf1 ;
tabdyn . caracteristiques = ca_1 et callf1 ;
tabdyn . chargement = cha_pes2 ;
tabdyn . vitesses = table ;
tabdyn . vitesses . 0 = vit ;
si d_pasa ;
tabdyn . dynamique = vrai ;
tabdyn . temps_sauves = l_cal ;
pasapas tabdyn ;
sinon ;
tabdyn . pas_de_temps = pdt ;
tabdyn . nombre_pas = npdt ;
tabdyn . pas_de_sortie = nins ;
tabdyn . sortie = tsort1 ;
dyne 'DE_VOGELAERE' tabdyn ;
finsi ;
TRESU1 = DYNE 'DE_VOGELAERE' TBAST TA TSORT1 TINIT TLIA1 TCHARG
NPDT PDT NINS ;
*
mai1 = (ce1 et sol);
LISTE1 = TRESU1.'TEMPS_DE_SORTIE';
liste2 = prog ;
repeter bbt (dime tabdyn . temps) ;
liste2 = liste2 et (prog tabdyn . temps . (&bbt - 1)) ;
fin bbt ;
si (neg graph 'N') ;
N_DEF = 10 ;
LISTE1 = TRESU1.'TEMPS_DE_SORTIE' ;
REPETER BOUC1((DIME LISTE1)/N_DEF) ;
TT = EXTR LISTE1 (&BOUC1*N_DEF) ;
mess tt tt2 ;
DEP1 = RECO TRESU1 TBAST TT DEPL ;
dep2 = reco mo_1 ca_1 tabdyn tt2 depl ;
DEF1 = DEFO MAI1 DEP1 1. ;
def2 = defo mai1 dep2 1. ;
SI (&BOUC1 EGA 1) ;DEFTOT1 =DEF1; deftot2=def2;
SINON;DEFTOT1=DEFTOT1 ET DEF1 ;
deftot2 = deftot2 et def2 ;
FINSI ;
FIN BOUC1 ;
TRAC DEFTOT1 'ANIME' ;
trac deftot2 'ANIME' ;
finsi;
*
TC=((2*H)/9.81)**0.5;
NTC = ENTI(TC/PDT);
NFOIS = NPDT - NTC;
TIMP=EXTR LISTE1 (NPDT);
TLIMP=PROG TIMP;
VITESX = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UX';
VITE2X = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UX';
VITESY = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UY';
VITE2Y = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UY';
VITESR = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'RZ';
VITE2R = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'RZ';
ROT = EXTR VITESR 'ORDO';ROT2 = EXTR VITE2R 'ORDO';
VIX = EXTR VITESX 'ORDO';VIX2 = EXTR VITE2X 'ORDO' ;
VIY = EXTR VITESY 'ORDO';VIY2 = EXTR VITE2Y 'ORDO' ;
ROTAVA = EXTR 1 ROT;ROTAV2 = EXTR 1 ROT2 ;
VXAVA =EXTR 1 VIX;VXAV2 =EXTR 1 VIX2;
VYAVA =EXTR 1 VIY;VYAV2 =EXTR 1 VIY2;
*
REPETER BLOC1 NFOIS;
TIMP=EXTR LISTE1 (NPDT-&BLOC1);
TLIMP=PROG TIMP;
VITESX = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UX';
VITE2X = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UX';
VITESY = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'UY';
VITE2Y = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'UY';
VITESR = EVOL 'RECO' TRESU1 TBAST TLIMP 'VITE' G 'RZ';
VITE2R = EVOL 'RECO' tabdyn mo_1 ca_1 TLIMP 'VITE' G 'RZ';
ROT = EXTR VITESR 'ORDO'; ROT2 = EXTR VITE2R 'ORDO';
VIX = EXTR VITESX 'ORDO';VIX2 = EXTR VITE2X 'ORDO';
VIY = EXTR VITESY 'ORDO';VIY2 = EXTR VITE2Y 'ORDO' ;
ROT = EXTR 1 ROT;ROT2 = EXTR 1 ROT2 ;
VIX =EXTR 1 VIX;VIX2 =EXTR 1 VIX2;
VIY =EXTR 1 VIY;VIY2 =EXTR 1 VIY2;
*mess &bloc1 rot rot2 rotava rotav2 ;
SI (ROTAVA NEG ROT) ;
OMEGA=ROTAVA;
VITX=VXAVA;
VITY=VYAVA;
OMEG2=ROTAV2;
VITX2=VXAV2;
VITY2=VYAV2;
QUIT BLOC1;
FINSI;
ROTAVA=ROT;ROTAV2 = ROT2 ;
VXAVA=VIX; VXAV2= VIX2 ;
VYAVA=VIY; VYAV2 = VIY2 ;
FIN BLOC1;
***********************
* SOLUTION ANALYTIQUE *
***********************
EPSI=0.01;
VXANA = (2*V0 - R*G0)/3;
VYANA = (2*9.81*H)**0.5;
OMEANA= ((2*V0 - R*G0)/(-3*R));
XDIF=ABS(VXANA-VITX);XDIF2=ABS(VXANA-VITX2);
YDIF=ABS(VYANA-VITY);YDIF2=ABS(VYANA-VITY2);
RDIF=ABS(OMEANA-OMEGA);RDIF2=ABS(OMEANA-OMEG2);
err2 = abs((rot2 - rot)/rot) ;
SI ((XDIF > EPSI) OU (XDIF2 > EPSI) OU (ERR2 > EPSI));
ERREUR 5;
SINON;
SI ((YDIF > EPSI) OU (YDIF2 > EPSI));
ERREUR 5;
SINON;
SI ((RDIF > EPSI) OU (RDIF2 > EPSI)) ;
ERREUR 5;
SINON;
ERREUR 0;
FINSI;
FINSI;
FINSI;
FIN;
© Cast3M 2003 - All rights reserved.
Disclaimer