* fichier : nlin_tailmail.dgibi
'OPTION' echo 0 ;
*
'DEBPROC' TAILMAIL ;
'ARGUMENT' _mt*'MAILLAGE' ;
'ARGUMENT' disc*'MOT ' ;
'ARGUMENT' direc*'POINT ' ;
*
vdim = 'VALEUR' 'DIME' ;
numop = 1 ;
numvar = 1 ;
numder = vdim ;
numdat = vdim ;
numcof = 1 ;
*
A = ININLIN numop numvar numdat numcof numder ;
A . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ;
A . 'VAR' . 1 . 'DISC' = 'CSTE' ;
A . 'VAR' . 1 . 'VALEUR' = 1.D0 ;
'REPETER' iidim vdim ;
idim = &iidim ;
A . 'DAT' . idim . 'NOMDDL' = 'MOTS' 'DUMM' ;
A . 'DAT' . idim . 'DISC' = 'CSTE' ;
A . 'DAT' . idim . 'VALEUR' = ('COORDONNEE' idim direc) ;
'FIN' iidim ;
*
A . 'COF' . 1 . 'COMPOR' = 'CHAINE' 'TAILDIRE' ;
A . 'COF' . 1 . 'LDAT' = 'LECT' 1 PAS 1 vdim ;
*
A . 1 . 1 . 0 = 'LECT' 1 ;
*
numdat = 0 ;
numcof = 0 ;
B = ININLIN numop numvar numdat numcof numder ;
B . 'VAR' . 1 . 'NOMDDL' = 'MOTS' 'DUMM' ;
B . 'VAR' . 1 . 'DISC' = 'CSTE' ;
B . 'VAR' . 1 . 'VALEUR' = 1.D0 ;
B . 1 . 1 . 0 = 'LECT' ;
*
ctail = NLIN disc _mt A B 'ERF1' 'GAU7' ;
vtail = 'MAXIMUM' ('RESULT' ctail) ;
'RESPRO' vtail ;
'FINPROC' ;
*
'DEBPROC' CAS ;
'ARGUMENT' icas*'ENTIER' ;
'SI' ('EGA' icas 1) ;
'OPTION' 'DIME' 1 ;
p1 = 'POIN' 0. ; p2 = 'POIN' PI ;
tit = 'CHAINE' 'Segment' ;
mt = 'MANUEL' 'SEG2' p1 p2 ;
disc = 'LINE' ;
direc = 'POIN' ('**' 2 0.5D0) ;
_mt = 'CHANGER' mt 'QUAF' ;
exact = PI ;
tolerr = 1.D-12 ;
'FINSI' ;
*
'SI' ('EGA' icas 2) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = 1. 0. ; p3 = 0.5 ('/' ('**' 3 0.5) 2.) ;
tit = 'CHAINE' 'Triangle LINE 1 2 3' ;
mt = 'MANUEL' 'TRI3' p1 p2 p3 ;
disc = 'LINE' ;
direc = PI ('**' 2 0.5D0) ;
_mt = 'CHANGER' mt 'QUAF' ;
exact = 2.D0 '*' ('**' 3 -0.5D0) ;
tolerr = 1.D-12 ;
'FINSI' ;
*
'SI' ('EGA' icas 3) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = 1. 0. ; p3 = 0.5 ('/' ('**' 3 0.5) 2.) ;
tit = 'CHAINE' 'Triangle QUAI 1 3 2' ;
mt = 'MANUEL' 'TRI3' p1 p3 p2 ;
disc = 'QUAI' ;
direc = ('+' PI 1.) ('**' 2 0.5D0) ;
_mt = 'CHANGER' mt 'QUAF' ;
exact = 2.D0 '*' ('**' 3 -0.5D0) ;
tolerr = 1.D-12 ;
'FINSI' ;
*
'SI' ('EGA' icas 4) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = 1. 0. ; p3 = 0.5 ('/' ('**' 3 0.5) 2.) ;
tit = 'CHAINE' 'Triangle QUAF 3 2 1' ;
mt = 'MANUEL' 'TRI3' p3 p2 p1 ;
disc = 'QUAF' ;
direc = ('**' 2 0.5D0) PI ;
_mt = 'CHANGER' mt 'QUAF' ;
exact = 2.D0 '*' ('**' 3 -0.5D0) ;
tolerr = 1.D-12 ;
'FINSI' ;
*
'SI' ('EGA' icas 5) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = PI 0. ; p3 = PI ('**' 2 0.5) ;
p4 = 0. ('**' 2 0.5) ;
tit = 'CHAINE' 'Rectangle QUAF 1' ;
mt = 'MANUEL' 'QUA4' p1 p2 p3 p4 ;
disc = 'QUAF' ;
direc = 1. 0. ;
_mt = 'CHANGER' mt 'QUAF' ;
exact = PI '*' ('**' 2 0.5) ;
tolerr = 1.D-12 ;
'FINSI' ;
*
'SI' ('EGA' icas 6) ;
'OPTION' 'DIME' 2 ;
p1 = 0. 0. ; p2 = PI 0. ; p3 = PI ('**' 2 0.5) ;
p4 = 0. ('**' 2 0.5) ;
tit = 'CHAINE' 'Rectangle QUAF 2' ;
mt = 'MANUEL' 'QUA4' p1 p2 p3 p4 ;
disc = 'QUAF' ;
direc = 0. 1. ;
_mt = 'CHANGER' mt 'QUAF' ;
exact = ('**' 2 0.5) '*' ('**' 2 0.5) ;
tolerr = 1.D-12 ;
'FINSI' ;
*
'RESPRO' tit _mt disc direc exact tolerr ;
'FINPROC' ;
************************************************************************
* NOM : NLIN_TAILMAIL
* DESCRIPTION : Teste la loi de comportement TAILDIRE
*
*
* LANGAGE : GIBIANE-CAST3M
* AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
* mél : gounand@semt2.smts.cea.fr
**********************************************************************
* VERSION : v1, 26/07/2006, version initiale
* HISTORIQUE : v1, 26/07/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 ;
verbose = FAUX ;
'SI' ('NON' interact) ;
'OPTION' 'TRAC' 'PS' ;
'SINON' ;
'OPTION' 'TRAC' 'X' ;
* 'OPTION' 'TRAC' 'OPEN' ;
'FINSI' ;
*
tres = 'TABLE' ;
*
ncas = 6 ;
mgau = 'GAU7' ;
ok = VRAI ;
'REPETER' iicas ncas ;
icas = &iicas ;
*icas = 6 ;
tit _mt disc direc exact tolerr = CAS icas ;
ldepl = 'MOTS' 'UX' 'UY' 'UZ' ;
'SI' graph ;
'REPETER' iidim ('VALEUR' 'DIME') ;
idim = &iidim ;
cvec = 'MANUEL' 'CHPO' _mt 1 ('EXTRAIRE' ldepl idim)
('COORDONNEE' idim direc) ;
'SI' ('EGA' idim 1) ;
cvtot = cvec ;
'SINON' ;
cvtot = '+' cvtot cvec ;
'FINSI' ;
'FIN' iidim ;
vtot = 'VECTEUR' cvtot 'DEPL' 'JAUN' ;
'TRACER' vtot _mt ;
'FINSI' ;
*
appro = TAILMAIL _mt disc direc ;
*
tes = '<' ('ABS' ('-' exact appro)) tolerr ;
*
ok = ok 'ET' tes ;
*'SI' ('OU' verbose ('NON' tes)) ;
'MESSAGE' ('CHAINE' tit ' ' disc ' tolerr=' tolerr) ;
'MESSAGE' ('CHAINE' 'exact = ' exact
' exact - appro = ' ('-' exact appro)) ;
'SI' tes ; 'MESSAGE' ('CHAINE' 'tes = ok') ;
'SINON' ; 'MESSAGE' ('CHAINE' 'tes = KO') ; 'FINSI' ;
*'FINSI' ;
'FIN' iicas ;
'SI' ok ;
'MESSAGE' ('CHAINE' 'Tout sest bien passe') ;
'SINON' ;
'MESSAGE' ('CHAINE' 'Il y a eu des erreurs') ;
'FINSI' ;
*'LISTE' matm1 ; 'LISTE' matm2 ;
'SI' interact ;
'OPTION' 'DONN' 5 ;
'FINSI' ;
'SI' ('NON' ok) ;
'ERREUR' 5 ;
'FINSI' ;
*
* End of dgibi file NLIN_TAILMAIL
*
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer