* fichier : indi3.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * NOM : INDI3.DGIBI * DESCRIPTION : Test elementaire * On verifie l'egalite entre des indicateurs de * qualite d'elements calcules par INDI et un recalcul a * partir des elements propres de la metrique locale * (Jt M J) calculee avec DEADMETR * * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA) * mel : stephane.gounand@cea.fr ********************************************************************** * VERSION : v1, 14/04/2026, version initiale * HISTORIQUE : v1, 14/04/2026, création * HISTORIQUE : * HISTORIQUE : ************************************************************************ * graph = faux ; interact = faux ; * * Mini, mediane et maxi d'un MCHAML 'DEBP' MIMEMA ; 'FINP' mil mel mal ; * Passage au gravite d'un MCHAML 'DEBP' CHGRAV ch*'MCHAML'; * MINI entre 2 MCHAML 'DEBP' MINICHEL ; m2 = '-' 1. m1 ; minchel = ('*' m1 ch1) '+' ('*' m2 ch2) ; 'FINP' minchel ; * Mesure des aretes dans une métrique 'DEBP' MESUARET ; * Transformation metrique en table 'REPE' ii vdim ; i = &ii ; 'REPE' ij i ; j = &ij ; timet . j . i = timet . i . j ; 'FIN' ij ; 'FIN' ii ; * 'REPE' iiare nare ; iare = &iiare ; 'REPE' ii vdim ; i = &ii ; 'FIN' ii ; lar2 = 0. ; 'REPE' ij vdim ; j = &ij ; 'REPE' ii vdim ; i = &ii ; lar2 = lar2 '+' ((timet . i . j) '*' (tvec . i) '*' (tvec . j)) ; 'FIN' ii ; 'FIN' ij ; laretot = laretot 'ET' (lar2 '**' 0.5) ; 'FIN' iiare ; 'RESP' laretot ; 'FINP' ; * 'SI' ('NON' interact) ; 'OPTION' 'TRAC' 'PSC' ; 'SINON' ; 'OPTION' 'TRAC' 'X' ; 'FINSI' ; * for = '(F7.2)' ; * lok = vrai ; * hal = 0.5 ; mhal = -0.5 ; irac3 = '**' 3. -0.5 ; irac6 = '**' 6. -0.5 ; 'REPE' iikas 4 ; *'REPE' iikas 1 ; ikas = &iikas ; * ikas = 2 ; 'SI' ('<EG' ikas 2) ; 'SI' ('EGA' ikas 1) ; * Sommet du triangle equilateral pA = mhal ('*' mhal irac3) ; pB = hal ('*' mhal irac3) ; pC = 0. irac3 ; 'SINO' ; pA = 0. 0. ; pB = pi 0. ; pC = ('EXP' 1) ('**' 2. 0.5) ; 'FINS' ; 'SINO' ; 'SI' ('EGA' ikas 3) ; * Sommet du tetraedre equilateral pA = mhal ('*' mhal irac3) ('*' mhal irac6) ; pB = hal ('*' mhal irac3) ('*' mhal irac6) ; pC = 0. irac3 ('*' mhal irac6) ; pD = 0. 0. ('*' 1.5 irac6) ; 'SINO' ; pA = 0. 0. 0. ; pB = pi 0. 0. ; pC = ('EXP' 1) ('**' 2. 0.5) 0. ; pD = 1. 1. ('**' 3. 0.5) ; 'FINS' ; 'FINS' ; * metele = DEADMETR ele ; melele = metele ; melelem = DEADMETR ele imet ; 'SI' ('OU' ('EGA' ikas 1) ('EGA' ikas 3)) ; 'FINS' ; * det = 'TENS' 'DET' melele ; tra = 'TENS' 'TRACE' melele ; detm = 'TENS' 'DET' melelem ; tram = 'TENS' 'TRACE' melelem ; * ldet = det '**' (1. '/' (2. '*' vd)) ; ltra = (tra '/' vd) '**' (1. '/' 2.) ; ldetm = detm '**' (1. '/' (2. '*' vd)) ; ltram = (tram '/' vd) '**' (1. '/' 2.) ; vpmin = '**' vpmin2 0.5 ; vpmax = '**' vpmax2 0.5 ; vpminm = '**' vpminm2 0.5 ; vpmaxm = '**' vpmaxm2 0.5 ; 'SI' ('EGA' vd 3) ; vpmoy = '**' vpmoy2 0.5 ; vpmoym = '**' vpmoym2 0.5 ; 'FINS' ; 'SI' ('EGA' vd 2) ; ldet1 = '**' ('*' vpmin vpmax) ('/' 1. vd) ; ltra1 = '/' ('+' vpmin vpmax) vd ; ldet1m = '**' ('*' vpminm vpmaxm) ('/' 1. vd) ; ltra1m = '/' ('+' vpminm vpmaxm) vd ; 'FINS' ; 'SI' ('EGA' vd 3) ; ldet1 = '**' ('*' vpmin vpmax '*' vpmoy) ('/' 1. vd) ; ltra1 = '/' ('+' vpmin vpmax '+' vpmoy) vd ; ldet1m = '**' ('*' vpminm vpmaxm '*' vpmoym) ('/' 1. vd) ; ltra1m = '/' ('+' vpminm vpmaxm '+' vpmoym) vd ; 'FINS' ; * * Sans métrique (sans TOPO) * cohe2 = ('/' ldet ltra) '**' ('/' xvd ('-' xvd 1)) ; eqlt2 = cohe2 ; 'SI' ('NEG' mdeqlt 0. tol) ; 'MESS' '!!! TEST EQLT sans metrique failed' ; lok = lok 'ET' faux ; 'FINS' ; dens2 = ldet ; * * Avec métrique (sans TOPO) * cohe2m = ('/' ldetm ltram) '**' ('/' xvd ('-' xvd 1)) ; eqlt2m = cohe2 ; dens2m = ldetm ; * * TOPO (sans metrique) * * icrit=0 (Coupez) * xcoq = n! sqrt(2^n/(n+1)) * xlaari = '/' ('MESU' are) ('NBEL' are) ; mare = MESUARET are metuni ; 'SI' ('NEG' mdicrit0 0. tol) ; 'MESS' '!!! TEST TOPO 0 sans metrique failed' ; lok = lok 'ET' faux ; * icrit=1 (XALIN2) icrit1b = cohe2 ; 'SI' ('NEG' mdicrit1 0. tol) ; 'MESS' '!!! TEST TOPO 1 sans metrique failed' ; lok = lok 'ET' faux ; * icrit=2 (XALIN1) icrit2b = ('/' ldet1 ltra1) '**' ('/' xvd ('-' xvd 1)) ; 'SI' ('NEG' mdicrit2 0. tol) ; 'MESS' '!!! TEST TOPO 2 sans metrique failed' ; lok = lok 'ET' faux ; * icrit=3 (lmin/lmax) icrit3b = '/' vpmin vpmax ; 'SI' ('NEG' mdicrit3 0. tol) ; 'MESS' '!!! TEST TOPO 3 sans metrique failed' ; lok = lok 'ET' faux ; * * TOPO (avec metrique) * tjcrit . 0 = 'Coupez' ; tjcrit . 3 = 'lmin/lmax' ; tjcrit . 1 = 'XALIN2' ; tjcrit . 2 = 'XALIN1' ; 'REPE' iicrit 2 ; icrit = &iicrit ; 'SI' ('EGA' icrit 1) ; pcrit = 1. ; qcrit = 1. ; 'SINO' ; pcrit = 10. ; qcrit = 3. ; 'FINS' ; * Qualite jcritt = '+' jcrit 100 ; jcrit100b = ' ' ; 'SI' ('EGA' jcrit 0) ; * xcoq = n! sqrt(2^n/(n+1)) mare = MESUARET are imet ; 'FINS' ; 'SI' ('EGA' jcrit 3) ; jcrit100b = '/' vpminm vpmaxm ; 'FINS' ; 'SI' ('EGA' jcrit 1) ; jcrit100b = cohe2m ; 'FINS' ; 'SI' ('EGA' jcrit 2) ; jcrit100b = ('/' ldet1m ltra1m) '**' ('/' xvd ('-' xvd 1)) ; 'FINS' ; jcrit100b = '**' jcrit100b ('/' 1. qcrit) ; 'SI' ('NEG' mdjcrit100 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ; * Longueur jcritt = '+' jcrit 200 ; jcrit200b = ' ' ; 'SI' ('EGA' jcrit 0) ; jcrit200b = 'AGRE' 'PMOY' mare pcrit 'ROBU' ; 'SINO' ; jcrit200b = 'AGRE' 'PMOY' lvp1m pcrit 'ROBU' ; 'FINS' ; 'SI' ('NEG' mdjcrit200 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ; * Longueur Inverse jcritt = '+' jcrit 300 ; jcrit300b = 1.D0 '/' jcrit200b ; 'SI' ('NEG' mdjcrit300 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ; * Total jcritt = jcrit ; 'SI' ('NEG' mdjcrit0 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ; 'FIN' iicrit ; 'FIN' iilj ; 'FIN' iikas ; * 'SI' ('NON' lok) ; 'MESSAGE' ('CHAINE' '!!! Il y a eu des erreurs') ; 'SINON' ; 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ; 'FINSI' ; * 'SI' interact ; 'FINS' ; 'SI' ('NON' lok) ; 'FINS' ; * * End of dgibi file INDI3.DGIBI * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales