* fichier : tens.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * NOM : TENS * DESCRIPTION : Test de l'operateur TENS. * En particulier PRIN et de TENS PRIN * qui doivent donner les memes resultats. * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA) * mel : stephane.gounand@cea.fr ********************************************************************** * VERSION : v1, 27/07/2025, version initiale * HISTORIQUE : v1, 27/07/2025, création * HISTORIQUE : * HISTORIQUE : ************************************************************************ * interact=faux ; * 'DEBP' testtens ; 'ARGU' cha ; 'SI' ('ET' ('NEG' tcha 'CHPOINT') ('NEG' tcha 'MCHAML')) ; 'FINS' ; * Lecture des valeurs propres 'REPE' bdim vdim ; lvp = 'ET' lvp vp ; 'FIN' bdim ; 'FINS' ; * tolabs = tol1 '*' 10. ; lok = vrai ; * Debut des test * NORM2 ch2 = 'TENS' 'NORM2' cha ; d2 = 'ABS' ('-' vch2 svp2) ; * vch2b = 0. ; * lcomp = 'EXTR' cha 'COMP' ; dlcomp = 'DIME' lcomp ; * 'REPE' icomp dlcomp ; * mcomp = 'EXTR' lcomp &icomp ; * vcomp = 'MINI' ('EXCO' cha mcomp) ; * vch2b = vch2b '+' ('**' vcomp 2) ; * 'FIN' icomp ; * vch2b = '**' vch2b 0.5 ; td2 = '<' d2 tol3 ; lok = lok 'ET' td2 ; * NORMINF chi = 'TENS' cha 'NORMINF' ; vchi2 = 0. ; 'REPE' icomp dlcomp ; 'FIN' icomp ; di = 'ABS' ('-' vchi2 vchi) ; tdi = '<' di tol1 ; lok = lok 'ET' tdi ; * DET chd = 'TENS' cha 'DET' ; dd = 'ABS' ('-' vchd pvp) ; tdd = '<' dd tol2 ; lok = lok 'ET' tdd ; * TRACE cht = 'TENS' cha 'TRACE' ; dt = 'ABS' ('-' vcht svp) ; tdt = '<' dt tol1 ; lok = lok 'ET' tdt ; * LOG chl = 'TENS' cha 'LOG' ; trchl = 'TENS' chl 'TRACE' ; dvtr = 'ABS' ('-' vtrchl vtrchl2) ; tdvtr = '<' dvtr tol1 ; lok = lok 'ET' tdvtr ; dtchl = 'TENS' chl 'DET' ; dvdtl = 'ABS' ('-' vdtchl vdtchl2) ; tdvdtl = '<' dvdtl tol3 ; lok = lok 'ET' tdvdtl ; * EXP chx = 'TENS' cha 'EXP' ; trchx = 'TENS' chx 'TRACE' ; dvtr = 'ABS' ('-' vtrchx vtrchx2) ; tdvtr = '<' dvtr tol5 ; lok = lok 'ET' tdvtr ; dtchx = 'TENS' chx 'DET' ; dvdtx = 'ABS' ('-' vdtchx vdtchx2) ; tdvdtx = '<' dvdtx tol4 ; lok = lok 'ET' tdvdtx ; * INVERSE chv = 'TENS' cha 'INVERSE' ; chv2 = 'TENS' 'EXP' ('*' ('TENS' 'LOG' cha) -1.D0) ; tdv = '<' dv tol1 ; lok = lok 'ET' tdv ; * ABS chabs = 'TENS' ('*' cha -1.) 'ABS' ; tda = '<' da tolabs ; lok = lok 'ET' tda ; 'FINP' lok ; * lok = vrai ; * * * d1 = '**' 2 0.5 ; g11 = (vx1 '*' d1 '*' vx1) ; * * Décomposition spectrale * 'REPE' bcl 3 ; ibcl = &bcl ; 'SI' ('EGA' ibcl 1) ; vx1b = 1. ; 'FINS' ; 'SI' ('EGA' ibcl 2) ; 'FINS' ; 'SI' ('EGA' ibcl 3) ; 'MESS' 'Operateur TENS PRINCIPA CHAM' ; 'FINS' ; * Test dd1 = 'ABS' ('-' d1 d1b) ; tdd1 = '<' dd1 tol ; lok = lok 'ET' tdd1 ; tdv1 = ('<' dv1m tol) 'OU' ('<' dv1p tol) ; lok = lok 'ET' tdv1 ; * * Autres fonctions de TENS * ltens = testtens cha d1 ; lok = lok 'ET' ltens ; 'SI' ('NON' ltens) ; 'MESS' '!!! TESTTENS not ok' ; 'SINO' ; 'MESS' 'TESTTENS OK' ; 'FINS' ; 'FIN' bcl ; * * p3 = 0. 1. ; * v1 = 1. 0. ; v2 = 0. 1. ; alf = pi '*' 10. ; d2 = 'EXP' 1. ; * * Recomposition spectrale * g11 = (vx1 '*' d1 '*' vx1) '+' (vx2 '*' d2 '*' vx2) ; g22 = (vy1 '*' d1 '*' vy1) '+' (vy2 '*' d2 '*' vy2) ; g21 = (vy1 '*' d1 '*' vx1) '+' (vy2 '*' d2 '*' vx2) ; * * Décomposition spectrale * 'REPE' bcl 3 ; ibcl = &bcl ; 'SI' ('EGA' ibcl 1) ; 'FINS' ; 'SI' ('EGA' ibcl 2) ; 'FINS' ; 'SI' ('EGA' ibcl 3) ; 'MESS' 'Operateur TENS PRINCIPA CHAM' ; 'FINS' ; v1b = vx1b vy1b ; v2b = vx2b vy2b ; * Test dd1 = 'ABS' ('-' d1 d1b) ; tdd1 = '<' dd1 tol ; lok = lok 'ET' tdd1 ; dd2 = 'ABS' ('-' d2 d2b) ; tdd2 = '<' dd2 tol ; lok = lok 'ET' tdd2 ; tdv1 = ('<' dv1m tol) 'OU' ('<' dv1p tol) ; lok = lok 'ET' tdv1 ; tdv2 = ('<' dv2m tol) 'OU' ('<' dv2p tol) ; lok = lok 'ET' tdv2 ; * * Autres fonctions de TENS * ltens = testtens cha d1 d2 ; 'SI' ('NON' ltens) ; 'MESS' '!!! TESTTENS not ok' ; 'SINO' ; 'MESS' 'TESTTENS OK' ; 'FINS' ; 'FIN' bcl ; * * p4 = 0. 0. 1. ; * v3 = 0. 0. -1. ; bet = pi ; d3 = bet ; * * Recomposition spectrale * g11 = (vx1 '*' d1 '*' vx1) '+' (vx2 '*' d2 '*' vx2) '+' (vx3 '*' d3 '*' vx3) ; g22 = (vy1 '*' d1 '*' vy1) '+' (vy2 '*' d2 '*' vy2) '+' (vy3 '*' d3 '*' vy3) ; g33 = (vz1 '*' d1 '*' vz1) '+' (vz2 '*' d2 '*' vz2) '+' (vz3 '*' d3 '*' vz3) ; * g21 = (vy1 '*' d1 '*' vx1) '+' (vy2 '*' d2 '*' vx2) '+' (vy3 '*' d3 '*' vx3) ; g31 = (vz1 '*' d1 '*' vx1) '+' (vz2 '*' d2 '*' vx2) '+' (vz3 '*' d3 '*' vx3) ; g32 = (vz1 '*' d1 '*' vy1) '+' (vz2 '*' d2 '*' vy2) '+' (vz3 '*' d3 '*' vy3) ; * * Décomposition spectrale * 'REPE' bcl 3 ; ibcl = &bcl ; 'SI' ('EGA' ibcl 1) ; 'FINS' ; 'SI' ('EGA' ibcl 2) ; 'FINS' ; 'SI' ('EGA' ibcl 3) ; 'MESS' 'Operateur TENS PRINCIPA CHAM' ; 'FINS' ; v1b = vx1b vy1b vz1b; v2b = vx2b vy2b vz2b ; v3b = vx3b vy3b vz3b ; * Test dd1 = 'ABS' ('-' d1 d1b) ; tdd1 = '<' dd1 tol ; lok = lok 'ET' tdd1 ; dd2 = 'ABS' ('-' d2 d2b) ; tdd2 = '<' dd2 tol ; lok = lok 'ET' tdd2 ; dd3 = 'ABS' ('-' d3 d3b) ; tdd3 = '<' dd3 tol ; lok = lok 'ET' tdd3 ; tdv1 = ('<' dv1m tol) 'OU' ('<' dv1p tol) ; lok = lok 'ET' tdv1 ; tdv2 = ('<' dv2m tol) 'OU' ('<' dv2p tol) ; lok = lok 'ET' tdv2 ; tdv3 = ('<' dv3m tol) 'OU' ('<' dv3p tol) ; lok = lok 'ET' tdv3 ; * * Autres fonctions de TENS * ltens = testtens cha d1 d2 d3 ; lok = lok 'ET' ltens ; 'SI' ('NON' ltens) ; 'MESS' '!!! TESTTENS not ok' ; 'SINO' ; 'MESS' 'TESTTENS OK' ; 'FINS' ; 'FIN' bcl ; * 'SI' ('NON' lok) ; 'MESSAGE' ('CHAINE' 'Il y a eu des erreurs') ; 'ERREUR' 5 ; 'SINON' ; 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ; 'FINSI' ; * 'SI' interact ; 'OPTION' 'ECHO' 1 'DONN' 5 ; 'FINSI' ; * * End of dgibi file TENS * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales