* fichier : deduad1d.dgibi
'OPTI' 'ECHO' 0 ;
************************************************************************
* NOM : DEDUAD1D
* DESCRIPTION : cas-test élémentaire 1D pour 'DEDU' 'ADAP'
*
*
* LANGAGE : GIBIANE-CAST3M
* AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
* mél : gounand@semt2.smts.cea.fr
**********************************************************************
* VERSION : v1, 21/09/2005, version initiale
* HISTORIQUE : v1, 21/09/2005, création
* HISTORIQUE :
* HISTORIQUE :
************************************************************************
* Prière de PRENDRE LE TEMPS de compléter les commentaires
* en cas de modification de ce sous-programme afin de faciliter
* la maintenance !
************************************************************************
*
'SAUTER' 2 'LIGNE' ;
'MESSAGE' ' Execution de deduad1d.dgibi' ;
'SAUTER' 2 'LIGNE' ;
*
*
*
interact= FAUX ;
graph = FAUX ;
debug = FAUX ;
*
*BEGINPROCEDUR cas1d
************************************************************************
* NOM : CAS1D
* DESCRIPTION : Construit les cas pour deduadap 1D
*
*
*
* LANGAGE : GIBIANE-CAST3M
* AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
* mél : gounand@semt2.smts.cea.fr
**********************************************************************
* VERSION : v1, 15/12/2004, version initiale
* HISTORIQUE : v1, 15/12/2004, création
* HISTORIQUE :
* HISTORIQUE :
************************************************************************
* Prière de PRENDRE LE TEMPS de compléter les commentaires
* en cas de modification de ce sous-programme afin de faciliter
* la maintenance !
************************************************************************
*
*
'DEBPROC' CAS1D ;
'ARGUMENT' mesh*'ENTIER' ;
'ARGUMENT' nbmail2*'ENTIER' ;
*
'ARGUMENT' disc/'MOT' ;
'SI' ('NON' ('EXISTE' disc)) ;
disc = 'LINE' ;
'FINSI' ;
*
'SI' ('<' nbmail2 1) ;
cherr = 'CHAINE' 'Nombre de mailles inférieur à 2...' ;
'ERREUR' cherr ;
'FINSI' ;
nbmail = '*' nbmail2 2 ;
*
'SI' ('EGA' disc 'LINE') ;
'OPTION' 'ELEM' 'SEG2' ;
'SINON' ;
'OPTION' 'ELEM' 'SEG3' ;
'FINSI' ;
*
pA = 'POIN' 0. ;
pB = 'POIN' 1. ;
pC = 'POIN' 0.5 ;
*
'SI' ('OU' ('EGA' mesh 1) ('EGA' mesh 3)) ;
mt = 'ET' ('DROIT' pA pC nbmail2) ('DROIT' pC pB nbmail2) ;
'FINSI' ;
'SI' ('EGA' mesh 2) ;
mt = 'ET' ('DROIT' pA pC ('-' nbmail 1))
('DROIT' pC pB 1) ;
'FINSI' ;
*
* Blocages
*
rigblo = 'BLOQUE' 'UX' (pA 'ET' pB) ;
cblo = 'DEPIMPOSE' rigblo 0. ;
*
* Cas QUAF
*
'SI' ('EGA' disc 'QUAF') ;
mt = 'CHANGER' mt 'QUAF' ;
_mt = mt ;
'SINON' ;
_mt = 'CHANGER' mt 'QUAF' ;
'FINSI' ;
*
* Métrique
*
'SI' ('ET' ('>EG' mesh 1) ('<EG' mesh 2)) ;
met = 'CHAINE' 'rien' ;
'FINSI' ;
'SI' ('EGA' mesh 3) ;
$mt = 'MODELISER' _mt 'NAVIER_STOKES' 'QUAF' ;
mtc = 'DOMA' $mt 'CENTRE' ;
xmt = 'COORDONNEE' mtc ;
g11 = 'NOMC' 'G11' ('+' ('*' xmt 100.) 1.) ;
* cg11 = 'CHANGER' 'CHAM' g11 $mt 'NOEUD' ;
met = g11 ;
'FINSI' ;
*
'RESPRO' mt _mt met rigblo cblo ;
*
* End of procedure file CAS1D
*
'FINPROC' ;
*ENDPROCEDUR cas1d
*
'OPTION' 'DIME' 1 ;
'SI' ('NON' interact) ;
'OPTION' 'TRAC' 'PS' ;
'SINON' ;
'OPTION' 'TRAC' 'X' ;
'FINSI' ;
*
* Pour les tests, on regarde les valeurs max. des indicateurs
* d'isotropie et d'equidistribution
*
lmaiso = 'PROG' ;
lmaequ = 'PROG' ;
*
* Ici les valeurs de référence
*
lok = VRAI ;
idx = 0 ;
lmaisor = 'PROG' 9 * 1.0 ;
lmaequr = 'PROG' 9 * 1.0 ;
*
* Maillage :
* mesh = 1 : maillage régulier
* mesh = 2 : maillage concentré à gauche
* mesh = 3 : maillage régulier + métrique concentrée à gauche
* nbmail2 : nombre de mailles divisé par 2
* 'QUAI' : quadratique incomplet (mécanique)
* 'QUAF' : quadratique fluide
tdisc = 'TABLE' ;
tdisc . 1 = 'LINE' ;
tdisc . 2 = 'QUAI' ;
tdisc . 3 = 'QUAF' ;
'REPETER' idisc 3 ;
'REPETER' imesh 3 ;
iidisc = &idisc ;
iimesh = &imesh ;
gdisc = tdisc . iidisc ;
'SI' ('EGA' iidisc 1) ;
nbmail2 = 16 ;
'SINON' ;
nbmail2 = 8 ;
'FINSI' ;
*
* Maillage
*
mail _mt met mblo cblo = CAS1D iimesh nbmail2 gdisc ;
mes = 'CHAINE' 'mesh=' iimesh ' ; ' gdisc ;
'MESSAGE' mes ;
'SI' graph ;
tit = 'CHAINE' 'Maillage initial ' mes ;
'SI' interact ;
'TRACER' mail 'TITR' tit 'NOEU' ;
'SINON' ;
'TRACER' mail 'TITR' tit 'NOEU' 'NCLK' ;
'FINSI' ;
'FINSI' ;
*
* adaptation
*
'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
'METR' met 'CSTE' debug ;
'SINON' ;
dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc debug ;
'FINSI' ;
*
* tracé
*
orig = 'FORME' ;
'FORME' dep ;
'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' met 'CSTE' ;
cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' met 'CSTE' ;
'SINON' ;
ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' ;
cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' ;
'FINSI' ;
maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ;
macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ;
'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ;
'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ;
* Tests
lmaiso = 'ET' lmaiso ('PROG' maciso) ;
lmaequ = 'ET' lmaequ ('PROG' macequ) ;
idx = '+' idx 1 ;
visor='EXTRAIRE' lmaisor idx ;
tiso = ('<' maciso ('*' visor 1.01)) ;
'SI' ('NON' tiso) ;
cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. ciso. < '
visor ;
'MESSAGE' cherr ;
'FINSI' ;
lok = 'ET' lok tiso ;
*
vequr='EXTRAIRE' lmaequr idx ;
tequ = ('<' macequ ('*' vequr 1.01)) ;
'SI' ('NON' tequ) ;
cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. cequ. < '
vequr ;
'MESSAGE' cherr ;
'FINSI' ;
lok = 'ET' lok tequ ;
*
'SI' graph ;
tit = 'CHAINE' 'Maillage final ' mes ;
'SI' interact ;
'TRACER' mail 'TITR' tit 'NOEU' ;
'SINON' ;
'TRACER' mail 'TITR' tit 'NOEU' 'NCLK' ;
'FINSI' ;
'FINSI' ;
'FORME' orig ;
'FIN' imesh ;
'FIN' idisc ;
*
* Fin du jeu de données
*
'SAUTER' 2 'LIGNE' ;
'SI' lok ;
'MESSAGE' 'Tout sest bien passe' ;
'SINON' ;
'MESSAGE' 'Il y a eu des erreurs' ;
'FINSI' ;
'SAUTER' 2 'LIGNE' ;
'SI' interact ;
'OPTION' 'DONN' 5 ;
'FINSI' ;
'SI' ('NON' lok) ;
'ERREUR' 5 ;
'FINSI' ;
*
* End of dgibi file DEDUAD1D
*
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer