Download fron1.dgibi

Back to the list

* 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