* fichier : dy_devo8.dgibi
* Test Dy_devo8.dgibi: Jeux de donn�es *
* ------------------------------------ *
* *
d_pasa = vrai ;
OPTION ECHO 0 ;
OPTION ELEM SEG2 DIME 3 ;
*********************************
* PROBL�ME *
* Test de Comparaison entre *
* les liaisons *
* point_cercle_mobile et *
* point_ligne . *
* *
* Impact d'une but�e *
* sur un cercle mobile . *
* *
*********************************
OC = 0. 0. 0. ;
A = 0.04 0. 0. ;
B = 0. 0.04 0. ;
N = 0. 0. 1. ;
C1 = CERC 100 B OC A ;
C2 = C1 TOUR -90. OC N ;
C3 = C1 ET C2 ;
C4 = C3 TOUR -180. OC N ;
C5 = C3 ET C4 ;
OB = 0.01 0.038 0. ;
CE1 = ELIM C5 0.0001 ;
PCEX = 0 0 0 ;
PCEY = 0 0 0 ;
PCEZ = 0 0 0 ;
PBX = 0 0 0 ;
PBY = 0 0 0 ;
PCX = 0 0 0 ;
PCY = 0 0 0 ;
N1 = 0. 0. 1. ;
OEIL = 1. 1. 50. ;
*********************************
* BASE MODALE *
*********************************
MAI1 = (CE1 ET OB) ;
CHPCE1 =
MANU CHPO 6 (CE1 ET OC) 'UX' 1.0 'UY' 0.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
CHPCE2 =
MANU CHPO 6 (CE1 ET OC) 'UX' 0.0 'UY' 1.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
CHPCE3 =
MANU CHPO 6 (CE1 ET OC) 'UX' 0.0 'UY' 0.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 1.0 ;
CHPOB1 = MANU CHPO 6 OB 'UX' 1.0 'UY' 0.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
CHPOB2 = MANU CHPO 6 OB 'UX' 0.0 'UY' 1.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
CHPOC1 = MANU CHPO 6 OC 'UX' 1.0 'UY' 0.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
CHPOC2 = MANU CHPO 6 OC 'UX' 0.0 'UY' 1.0 'UZ' 0.0
'RX' 0.0 'RY' 0.0 'RZ' 0.0 ;
* POINT LIGNE_FROTTEMENT
Z=0 0 0;
TBAS1 = TABLE 'BASE_MODALE' ;
TBAS1 . 'MODES' = TABLE 'BASE_DE_MODES' ;
TBAS1 . 'MODES'. 'MAILLAGE' = CE1 ;
TBAS1 . 'MODES'. 1 = TABLE 'MODE' ;
TBAS1 . 'MODES'. 1 . 'POINT_REPERE' = PCEX ;
TBAS1 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
TBAS1 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 40.;
TBAS1 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPCE1 ;
TBAS1 . 'MODES'. 1 .numero_mode = 1 ;
mai1 = manu poi1 pcex ;
mo_mod1 = modele mai1 mecanique elastique modal ;
ca_mod1 = mate mo_mod1 freq 0.0 mass 40. defo chpce1 ;
TBAS1 . 'MODES'. 2 = TABLE 'MODE' ;
TBAS1 . 'MODES'. 2 . 'POINT_REPERE' = PCEY ;
TBAS1 . 'MODES'. 2 . 'FREQUENCE' = 0.0;
TBAS1 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 40.;
TBAS1 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPCE2 ;
TBAS1 . 'MODES'. 2 .numero_mode = 2 ;
mai2 = manu poi1 pcey ;
mo_mod2 = modele mai2 mecanique elastique modal ;
ca_mod2 = mate mo_mod2 freq 0.0 mass 40. defo chpce2 ;
TBAS2 = TABLE 'BASE_MODALE' ;
TBAS2 . 'MODES' = TABLE 'BASE_DE_MODES' ;
TBAS2 . 'MODES'. 'MAILLAGE' = (OB et Z); ;
TBAS2 . 'MODES'. 1 = TABLE 'MODE' ;
TBAS2 . 'MODES'. 1 . 'POINT_REPERE' = PBX ;
TBAS2 . 'MODES'. 1 . 'FREQUENCE' = 0.0;
TBAS2 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 40.;
TBAS2 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPOB1 ;
TBAS2 . 'MODES'. 1 .numero_mode = 1 ;
mai11 = manu poi1 pbx ;
mo_mod11 = modele mai11 mecanique elastique modal ;
ca_mod11 = mate mo_mod11 freq 0.0 mass 40. defo CHPOB1 ;
TBAS2 . 'MODES'. 2 = TABLE 'MODE' ;
TBAS2 . 'MODES'. 2 . 'POINT_REPERE' = PBY ;
TBAS2 . 'MODES'. 2 . 'FREQUENCE' = 0.0;
TBAS2 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 40.;
TBAS2 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPOB2 ;
TBAS2 . 'MODES'. 2 .numero_mode = 2 ;
mai12 = manu poi1 pby ;
mo_mod12 = modele mai12 mecanique elastique modal ;
ca_mod12 = mate mo_mod12 freq 0.0 mass 40. defo CHPOB2 ;
TBAST1 = TABLE 'ENSEMBLE_DE_BASES';
TBAST1.1=TBAS1;
TBAST1.2=TBAS2;
mo_1 = mo_mod1 et mo_mod2 et mo_mod11 et mo_mod12 ;
ca_1 = ca_mod1 et ca_mod2 et ca_mod11 et ca_mod12 ;
* POINT CERCLE_FROTTEMENT
MAI2 = OC ET OB ;
TBAS3 = TABLE 'BASE_MODALE' ;
TBAS3 . 'MODES' = TABLE 'BASE_DE_MODES' ;
TBAS3 . 'MODES'. 'MAILLAGE' = (OC et z);
TBAS3 . 'MODES'. 1 = TABLE 'MODE' ;
TBAS3 . 'MODES'. 1 . 'POINT_REPERE' = PCX ;
TBAS3 . 'MODES'. 1 . 'FREQUENCE' = 0.0 ;
TBAS3 . 'MODES'. 1 . 'MASSE_GENERALISEE' = 40. ;
TBAS3 . 'MODES'. 1 . 'DEFORMEE_MODALE' = CHPOC1 ;
TBAS3 . 'MODES'. 1 .numero_mode = 1 ;
mai21 = manu poi1 pcx ;
mo_mod21 = modele mai21 mecanique elastique modal ;
ca_mod21 = mate mo_mod21 freq 0.0 mass 40. defo CHPOC1 ;
TBAS3 . 'MODES'. 2 = TABLE 'MODE' ;
TBAS3 . 'MODES'. 2 . 'POINT_REPERE' = PCY ;
TBAS3 . 'MODES'. 2 . 'FREQUENCE' = 0.0 ;
TBAS3 . 'MODES'. 2 . 'MASSE_GENERALISEE' = 40. ;
TBAS3 . 'MODES'. 2 . 'DEFORMEE_MODALE' = CHPOC2 ;
TBAS3 . 'MODES'. 2 .numero_mode = 2 ;
mai22 = manu poi1 pcy ;
mo_mod22 = modele mai22 mecanique elastique modal ;
ca_mod22 = mate mo_mod22 freq 0.0 mass 40. defo CHPOC2 ;
TBAST2 = TABLE 'ENSEMBLE_DE_BASES';
TBAST2.1 = TBAS3;
TBAST2.2 =TBAS2;
mo_2 = mo_mod21 et mo_mod22 et mo_mod11 et mo_mod12 ;
ca_2 = ca_mod21 et ca_mod22 et ca_mod11 et ca_mod12 ;
*****************************************
* CHARGEMENT *
*****************************************
*****************************************
* TEMPS *
*****************************************
PDT = 2.5E-5 ;
NPDT = 400;
NINS = 1;
*********************************
* CONDITIONS INITIALES *
*********************************
U0 = 5. ;
V0 = 10. ;
TINIT = TABLE 'INITIAL' ;
TINIT.'VITESSE'=
(MANU CHPO PBX 1 alfa U0 'NATURE' 'DIFFUS') ET
(MANU CHPO PBY 1 alfa V0 'NATURE' 'DIFFUS');
*********************************
* LIAISON LIGNE_LIGNE *
* FROTTEMENT *
*********************************
TLIA1 = TABLE 'LIAISON' ;
TLB1 = TABLE 'LIAISON_B' ;
TLIA1 .'LIAISON_B' = TLB1 ;
*
CHRA=MANU 'CHPO' 1 OB 'RAIN' 100000000.;
CHAM=MANU 'CHPO' 1 OB 'AMON' 63245.5;
*
TL1 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL1.'TYPE_LIAISON'= MOT 'LIGNE_LIGNE_FROTTEMENT';
TL1.'LIGNE_MAITRE' = CE1 ;
TL1.'LIGNE_ESCLAVE' = OB ;
TL1.'COEFFICIENT_GLISSEMENT' = 20.0 ;
TL1.'COEFFICIENT_ADHERENCE' = 20.0 ;
TL1.'RAIDEUR_TANGENTIELLE' = -100. ;
TL1.'RAIDEURS' = CHRA;
TL1.'AMORTISSEMENT_TANGENTIEL' = 0.01 ;
*TL1.'AMORTISSEMENTS' =CHAM;
TL1.'NORMALE' = N1;
*TL1.'SYMETRIE' = 'GLOBALE';
TLB1.1 = TL1 ;
mallf1 = manu poi1 (0. 0. 0.) ;
mollf1 = modele mallf1 liaison ligne_ligne frottement ;
callf1 = mate mollf1 lima ce1 lies OB glis 20. adhe 20. rtan -100.
raid CHRA atan 1.e-2 norm n1 ;
*********************************
* LIAISON POINT_CERCLE *
* FROTTEMENT *
*********************************
TLIA2 = TABLE 'LIAISON' ;
TLB2 = TABLE 'LIAISON_B' ;
TLIA2 .'LIAISON_B' = TLB2 ;
*
TL2 = TABLE 'LIAISON_ELEMENTAIRE' ;
TL2.'TYPE_LIAISON'= MOT 'POINT_CERCLE_MOBILE';
TL2.'POINT' = OB ;
TL2.'CERCLE' = OC ;
TL2.'COEFFICIENT_GLISSEMENT' = 20.0 ;
TL2.'COEFFICIENT_ADHERENCE' = 20.0 ;
TL2.'RAIDEUR_TANGENTIELLE' = -100. ;
TL2.'RAIDEUR' = 100000000. ;
TL2.'AMORTISSEMENT_TANGENTIEL' = 0.01 ;
*TL2.'AMORTISSEMENT' =63245.5 ;
TL2.'NORMALE' = N1 ;
TL2.'RAYON' = 0.04 ;
TLB2.1 = TL2 ;
mapcm2 = manu poi1 OB ;
mopcm2 = modele mapcm2 liaison point_cercle mobile ;
capcm2 = mate mopcm2 pcercle OC glis 20. adhe 20. rtan -100.
raid 100000000. atan 1.e-2 norm n1 rayon 0.04 ;
*********************************
* SORTIES *
*********************************
TSORT1 = TABLE 'SORTIE' ;
TSORT2 = TABLE 'SORTIE' ;
TSOR1 = TABLE 'SORTIE' ;
TSORT1.'VARIABLE' = TSOR1 ;
TSORT2.'VARIABLE' = TSOR1 ;
TSOR1.'DEPLACEMENT' = VRAI ;
TSOR1.'VITESSE' = FAUX ;
TSOR2 = TABLE 'SORTIE' ;
TSORT1.'LIAISON_B' = TSOR2 ;
TSOR2.TL1 = FAUX ;
TSOR3 = TABLE 'SORTIE' ;
TSORT2.'LIAISON_B' = TSOR3 ;
TSOR3.TL2 = FAUX ;
*********************************
* OPERATEUR DYNE *
*********************************
tabdyn1 = table 'PASAPAS' ;
tabdyn1 . sortie = tsor1 ;
tabdyn1 . modele = mo_1 et mollf1 ;
tabdyn1 . caracteristiques = ca_1 et callf1 ;
tabdyn1 . pas_de_temps = pdt ;
tabdyn1 . nombre_pas = npdt ;
tabdyn1 . pas_de_sortie = nins ;
tabdyn1 . vitesses = table ;
tabdyn1 . vitesses . 0 =
(MANU CHPO PBX 1 alfa U0 'NATURE' 'DIFFUS') ET
(MANU CHPO PBY 1 alfa V0 'NATURE' 'DIFFUS');
dyne 'DIFFERENCES_CENTREES' tabdyn1 ;
tabdyn2 = table 'PASAPAS' ;
tabdyn2 . modele = mo_2 et mopcm2 ;
tabdyn2 . caracteristiques = ca_2 et capcm2 ;
tabdyn2 . vitesses = table ;
tabdyn2 . vitesses . 0 =
(MANU CHPO PBX 1 alfa U0 'NATURE' 'DIFFUS') ET
(MANU CHPO PBY 1 alfa V0 'NATURE' 'DIFFUS');
si d_pasa;
tabdyn2 . dynamique = vrai ;
tabdyn2 . temps_calcules = prog 0. pas pdt (npdt*pdt) ;
tabdyn2 . precision = 1.e-6 ;
tabdyn2 . precflex = 1.e-6 ;
pasapas tabdyn2 ;
sinon ;
tabdyn2 . sortie = tsor1 ;
tabdyn2 . pas_de_temps = pdt ;
tabdyn2 . nombre_pas = npdt ;
tabdyn2 . pas_de_sortie = nins ;
dyne 'DIFFERENCES_CENTREES' tabdyn2 ;
finsi ;
TRESU11 = DYNE 'DIFFERENCES_CENTREES' TBAST1 TSORT1
TLIA1 TINIT NPDT PDT NINS ;
*TRESU2 = DYNE 'DE_VOGELAERE' TBAST2 TSORT2
TRESU2 = DYNE 'DIFFERENCES_CENTREES' TBAST2 TSORT2
TLIA2 TINIT NPDT PDT NINS ;
*
EV5 = EVOL rouge 'RECO' TRESU11 TBAST1 'DEPL' OB 'UX';
EV6 = EVOL rouge 'RECO' TRESU11 TBAST1 'DEPL' OB 'UY';
ev15 = EVOL rouge 'RECO' tabdyn1 mo_1 ca_1 'DEPL' OB 'UX';
ev16 = EVOL rouge 'RECO' tabdyn1 mo_1 ca_1 'DEPL' OB 'UY' ;
EV7 = EVOL 'RECO' TRESU2 TBAST2 'DEPL' OB 'UX';
EV8 = EVOL 'RECO' TRESU2 TBAST2 'DEPL' OB 'UY';
o_8 = extr ev8 ordo ;
z8 = extr o_8 (dime o_8) ;
si d_pasa ;
a_t = prog 0.; o_27 = prog 0.; o_28 = prog 0.;
repeter b_p ((dime tabdyn2 . temps) - 1) ;
a_t = a_t et (prog tabdyn2 . temps . &b_p) ;
chu_1 = reco tabdyn2 . deplacements . &b_p mo_2 ca_2 ;
o_27 = o_27 et (prog ('EXTR' chu_1 'UX' OB )) ;
o_28 = o_28 et (prog ('EXTR' chu_1 'UY' OB )) ;
fin b_p ;
ev27 = evol vert manu a_t o_27 ;
ev28 = evol vert manu a_t o_28 ;
zz8 = extr o_28 (dime o_28) ;
sinon ;
ev27 = EVOL 'RECO' tabdyn2 mo_2 ca_2 'DEPL' OB 'UX';
ev28 = EVOL 'RECO' tabdyn2 mo_2 ca_2 'DEPL' OB 'UY';
finsi ;
*dess (ev5 et ev7) ; dess (ev6 et ev8) ;
*dess (ev5 et ev15 et ev7 et ev27) ;
*dess (ev6 et ev16 et ev8 et ev28) ;
*dess (ev8 et ev28) ;
* valeurs avril 2012
z8_0 = 1.04964E-02 ; zz8_0 = 1.32027E-02 ;
errz8 = abs((z8 - z8_0)/z8_0) ;
errzz8 = abs((zz8 - zz8_0)/zz8_0) ;
si ((errz8 > 1.e-2) et (errzz8 > 1.e-2)) ;
erre 5 ;
sinon ;
erre 0 ;
finsi ;
TX1 =EXTR EV5 'ORDO';TX11 =EXTR EV15 'ORDO';
TX2 =EXTR EV7 'ORDO';TX12 =EXTR EV27 'ORDO';
TY1 =EXTR EV6 'ORDO';TY11 =EXTR EV16 'ORDO';
TY2 =EXTR EV8 'ORDO';TY12 =EXTR EV28 'ORDO';
NFOIS= dime tresu11.temps_de_sortie;
max_x = 0.;max1_x = 0.;
max_y = 0.;max1_y = 0.;
*
*recherche des maximums
REPETER BLOC1 NFOIS;
x1 = EXTR TX1 (&BLOC1);x11 = EXTR TX11 (&BLOC1);
x2 = EXTR TX2 (&BLOC1);x12 = EXTR TX12 (&BLOC1);
y1 = EXTR TY1 (&BLOC1);y11 = EXTR TY11 (&BLOC1);
y2 = EXTR TY2 (&BLOC1);y12 = EXTR TY12 (&BLOC1);
ecart_x = ABS(x1 - x2);ecart1_x = ABS(x11 - x12);
ecart_y = ABS(y1 - y2);ecart1_y = ABS(y11 - y12);
SI (ecart_x > max_x);
max_x = ecart_x;
FINSI;
SI (ecart1_x > max1_x);
max1_x = ecart1_x;
FINSI;
SI (ecart_y > max_y);
max_y = ecart_y;
FINSI;
SI (ecart1_y > max1_y);
max1_y = ecart1_y;
FINSI;
FIN BLOC1;
* validation par rapport aux resultats numeriques
* d'une certaine version
SI ((max_x > 0.0018) ou (max1_x > 0.005)) ;
ERREUR 5;
SINON;
SI ((max_y > 0.0012) ou (max1_y > 0.004));
ERREUR 5;
SINON;
* ERREUR 0;
FINSI;
FINSI;
FIN;
© Cast3M 2003 - All rights reserved.
Disclaimer