* fichier : fron1.dgibi
* FICHIER GIBIANE POUR TESTER L'OPERATEUR FRONT
*
graph = 'N';
* sur un disque de rayon 100
* la vitesse vaut 2 - (r/100)**2
* la position du front 100(-1+exp(t/100))
* r = 100 est atteint pour t=62.3225
*
*
* MAILLAGE
*
opti dime 2 elem qua4 ;
opti isoval ligne ;
n1 = 30;
p1 = 0. 0. ;
pp1 = -1.d-6 -1.d-6 ;
p2 = 0. 100. ;
p3 = 100. 0. ;
*
* SEGMENTS
*
li1 = d p1 n1 p2 ;
li2 = p2 c n1 p1 p3 ;
li3= d p3 n1 p1 ;
*
* SURFACE
*
su1 = surf (li1 et li2 et li3) 'PLAN' ;
*su1 = li1 rota -90. 50 pp1 ;
*elim su1 1.d-4 ;
titre 'Maillage d un quart du disque' ;
SI ( ega graph 'O');
trace su1 ;
finsi;
*
* CHAMP DE VITESSE
*
chx chy = coor su1 ;
*
chv = ((chx*chx +(chy*chy))) * (-1.d-4) + 2.D0 ;
titre 'champ de vitesse' ;
SI ( ega graph 'O');
trace chv su1 (cont su1) ;
finsi;
chpv = (manu chpo su1 1 'TCMB' 10.) +(nomc chv 'VIT') ;
*
* INITIALISATION
*
chp1 = (manu chpo su1 1 'TPS' 100. ) +
(manu chpo p1 1 'TPS ' -100.) ;
t1 = 0. ;
dt = 5. ;
*
chp1 = fron chp1 chpv t1 0. ;
*
titre 'instant' t1 ;
chflag = (exco chp1 'TPS') masque inferieure t1 ;
SI ( ega graph 'O');
trace chflag su1 (cont su1 ) ;
finsi;
ev1 = evol chpo chp1 'TPS' li1 ;
lx = extr ev1 'ABS' ;
ly = prog ;
*
* COURBE DE REFERENCE
*
repeter bou2 (dime lx) ;
x = extr lx &bou2 ;
r2 = 2**0.5 ;
y = 50 / r2 * (log ( (r2 + (x/100)) /( r2 - (x/100)) )) ;
ly = ly et (prog y ) ;
fin bou2 ;
*
ev2 = evol manu lx 'ABS' 'TEMPS' ly ;
TAB1=TABLE;
TAB1.1='TIRR';
TAB1.2='MARQ TRIA';
SI ( ega graph 'O');
dess (ev2 et ev1) 'TITX' 'Rayon' tab1 ;
*
finsi;
* BOUCLE SUR LES PAS DE TEMPS
*
repeter bou1 14 ;
t1 = (dt* &bou1) ;
titre 'Instant' t1 ;
chp3 = fron chp1 chpv t1 dt ;
*
ev1 = (evol chpo chp3 'TPS' li1) ;
chflag = (exco chp3 'TPS') masque inferieure t1 ;
SI ( ega graph 'O');
trace chp3 su1 (cont su1 ) ;
trace chflag su1 (cont su1 ) ;
dess (ev2 et ev1) 'TITX' 'Rayon' tab1 ;
finsi;
*
chp1 = chp3 ;
fin bou1 ;
*
* VALIDATION
*
ltc = extr ev1 'TPS' ;
tc = extr ltc (dime ltc ) ;
tcth = extr ly (dime ly ) ;
err = abs ( tc -tcth ) ;
si ( err >eg 1.d-2 ) ;
erreur 5 ;
finsi ;
fin ;
© Cast3M 2003 - All rights reserved.
Disclaimer