* fichier : proi1.dgibi
************************************************************************
* NOM : PROI1
* DESCRIPTION : Vérifie que PROI
* OBJ1 = PROI | GEO2 CHEL1 |
*
* redonne presque la valeur exacte pour un champ linéaire
* et un champ quadratique
* interpolé sur un certain nombre d'éléments.
*
* LANGAGE : GIBIANE-CAST3M
* AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
* mél : gounand@semt2.smts.cea.fr
**********************************************************************
* VERSION : v1, 02/05/2006, version initiale
* HISTORIQUE : v1, 02/05/2006, 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 !
************************************************************************
*
*
interact= FAUX ;
graph = FAUX ;
'OPTION' 'TRAC' 'X' ;
*
ok = VRAI ;
*
* imesh = (SEG2 TRI3 QUA4 CUB8 PRI6 TET4 PYR5)
* ityp = (LINE QUAD QUAF)
*
*
* On fait deux fois (linéaire puis quadratique)
*
'REPETER' iidf 2 ;
'REPETER' iimesh 7 ;
'REPETER' iityp 3 ;
idf = &iidf ;
imesh = &iimesh ;
ityp = &iityp ;
*imesh = 6 ;
*ityp = 3 ;
'SI' ('EGA' imesh 1) ;
'OPTION' 'DIME' 1 ;
p1 = 'POIN' 0. ; p2 = 'POIN' 1.5 ; pt = 'POIN' 0.2 ;
mt = 'MANUEL' 'SEG2' p1 p2 ;
'FINSI' ;
'SI' ('EGA' imesh 2) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = 1.5 0.1 ; p3 = 0.1 1.3 ;
pt = 0.2 0.2 ;
mt = 'MANUEL' 'TRI3' p1 p2 p3 ;
'FINSI' ;
'SI' ('EGA' imesh 3) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = 1.5 0.1 ;
p3 = 1.4 1.3 ; p4 = 0.1 1.3 ;
pt = 0.2 0.2 ;
mt = 'MANUEL' 'QUA4' p1 p2 p3 p4 ;
'FINSI' ;
'SI' ('EGA' imesh 4) ;
'OPTION' 'DIME' 3 ;
p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ;
p3 = 1.4 1.3 0. ; p4 = 0.1 1.3 0. ;
p5 = 0. 0. 1. ; p6 = 1.4 0.1 1. ;
p7 = 1.4 1.3 1. ; p8 = 0.1 1.3 1. ;
pt = 0.2 0.2 0.2 ;
mt = 'MANUEL' 'CUB8' p1 p2 p3 p4 p5 p6 p7 p8 ;
'FINSI' ;
'SI' ('EGA' imesh 5) ;
'OPTION' 'DIME' 3 ;
p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ; p3 = 0.1 1.3 0. ;
p4 = 0. 0.2 1. ; p5 = 1.5 0.1 0. ; p6 = 0.1 1.3 0. ;
pt = 0.2 0.2 0.2 ;
mt = 'MANUEL' 'PRI6' p1 p2 p3 p4 p5 p6 ;
'FINSI' ;
'SI' ('EGA' imesh 6) ;
'OPTION' 'DIME' 3 ;
p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ; p3 = 0.1 1.3 0. ;
p4 = 0. 0.2 1. ;
pt = 0.2 0.2 0.2 ;
mt = 'MANUEL' 'TET4' p1 p2 p3 p4 ;
'FINSI' ;
'SI' ('EGA' imesh 7) ;
'OPTION' 'DIME' 3 ;
p1 = 0. 0. 0. ; p2 = 1.5 0.1 0. ;
p3 = 1.4 1.3 0. ; p4 = 0.1 1.3 0. ;
p5 = 0. 0.1 1. ;
pt = 0.2 0.2 0.2 ;
mt = 'MANUEL' 'PYR5' p1 p2 p3 p4 p5 ;
'FINSI' ;
'SI' ('EGA' ityp 1) ;
_mt = mt ;
'FINSI' ;
'SI' ('EGA' ityp 2) ;
_mt = 'CHANGER' mt 'QUADRATIQUE' ;
'FINSI' ;
'SI' ('EGA' ityp 3) ;
_mt = 'CHANGER' mt 'QUAF' ;
'FINSI' ;
*
* Les pyramides QUAF n'existent pas encore !
*
'SI' ('NON' ('ET' ('EGA' imesh 7)
('EGA' ityp 3))) ;
chex1 = '**' ('COORDONNEE' 1 _mt) idf ;
* chex1 = ('COORDONNEE' 1 _mt) ;
'SI' graph ;
'TRACER' chex1 _mt ;
'FINSI' ;
cchex1 = 'CHANGER' 'CHAM' chex1 _mt ;
*
ppt = 'MANUEL' 'POI1' pt ;
cppt = '**' ('COORDONNEE' 1 ppt) idf ;
* cppt = ('COORDONNEE' 1 ppt) ;
*
chax = 'PROI' ppt cchex1 ;
*
x1 = 'MAXIMUM' ('RESULT' chax) ;
x2 = 'MAXIMUM' ('RESULT' cppt) ;
dif = 'ABS' ('-' x1 x2) ;
*
'SI' ('EGA' idf 1) ;
crit = 1.D-12 ;
'SINON' ;
'SI' ('EGA' ityp 1) ;
crit = 3.D-1 ;
'FINSI' ;
'SI' ('EGA' ityp 2) ;
crit = 1.D-3 ;
'FINSI' ;
'SI' ('EGA' ityp 3) ;
crit = 1.D-12 ;
'FINSI' ;
'FINSI' ;
*
test = ('<' dif crit) ;
ok = ok 'ET' test ;
*
'MESSAGE' ('CHAINE' 'idf = ' idf ' imesh = ' imesh
' ityp = ' ityp) ;
'MESSAGE' ('CHAINE' 'x1 = ' x1) ;
'MESSAGE' ('CHAINE' 'x2 = ' x2) ;
'MESSAGE' ('CHAINE' 'dif= ' dif) ;
'LISTE' test ;
*
'FINSI' ;
*
'FIN' iityp ;
'FIN' iimesh ;
'FIN' iidf ;
*
'SI' ('NON' ok) ;
'ERREUR' 5 ;
'SINON' ;
'MESSAGE' 'tout sest bien passe' ;
'FINSI' ;
*
'SI' interact ;
'OPTION' 'DONN' 5 ;
'FINSI' ;
*
* End of dgibi file PROI1
*
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer