* ************************************************************************ ************************************************************************ * fichier : pvec2.dgibi * * 'SAUTER' 2 'LIGNE' ; 'MESSAGE' ' Execution de pvec2.dgibi' ; 'SAUTER' 2 'LIGNE' ; * interact = faux ; * ************************************************************************ * NOM : PVEC2 * DESCRIPTION : Cas-test pour l'opérateur PVEC avec des MCHAMLs * On vérifie en 2D : * | PVEC A |^2 = | A | ^ 2 * | PSCA A (PVEC A) |^2 = 0 * et en 3D l'égalité : * | PVEC A B |^2 + | PSCA A B |^2 = | A |^2 | B |^2 * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF) * mél : stephane.gounand@cea.fr ********************************************************************** * VERSION : v1, 30/09/2011, version initiale * HISTORIQUE : v1, 30/09/2011, création * HISTORIQUE : pvec2.dgibi inspire de pvec.dgibi (BP,2020) * HISTORIQUE : ************************************************************************ * lpass = vrai ; lnew = VRAI ; *lnew = FAUX ; * procedures de produit vectoriel temporaire * 2D DEBP @PVEC2 che1 lmo1 lmo3; FINP che3; * 3D DEBP @PVEC3 che1 che2 lmo1 lmo2 lmo3; che3 = che3_1 et che3_2 et che3_3; FINP che3; ************************************************************************ * CAS 2D * ************************************************************************ ************************************************************************ * maillage ET MODELE ************************************************************************ p0 = 0. 0. ; p1 = 1. 0.22 ; gen1 = 'DROIT' 2 p0 p1 ; s1 = 'TRANSLATION' gen1 2 (0. 1.) ; s2 = 'TRANSLATION' gen2 2 (0. 1.) ; s3 = 'TRANSLATION' gen3 2 (0. 1.) ; st = s1 'ET' s2 'ET' s3 ; *'TRACER' st ; *MODT = MODE st MECANIQUE ELASTIQUE ISOTROPE; ************************************************************************ * champs ************************************************************************ ux1 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2) ; uy1 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2) ; *vB = ('NOMC' 'FX' ux2) '+' ('NOMC' 'FY' uy2) ; ************************************************************************ * operations vectorielles ************************************************************************ sinon; veca = @PVEC2 vA l1 l2 ; finsi; * opti donn 5; na = 'PSCAL' vA vA l1 l1 ; nveca = 'PSCAL' veca veca l2 l2 ; aveca = 'PSCAL' vA veca l1 l2 ; naveca = '**' aveca 2 ; * nna = 'MAXIMUM' ('-' na nveca) 'ABS' ; nnb = 'MAXIMUM' naveca ; * tolerr = 1.D-13 ; tst1 = 'EGA' nna 0. tolerr ; tst2 = 'EGA' nnb 0. tolerr ; * *opti donn 5; ************************************************************************ * CAS 3D * ************************************************************************ * uz1 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2) ; ux2 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s1 'ET' s2 'ET' s3) ; uy2 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. (s2 'ET' s3) ; uz2 = 'BRUIT' 'BLAN' 'UNIF' 0. 1. s2 ; * * sinon; avecb = @PVEC3 vA vB l1 l2 l1 ; finsi; ascab = 'PSCAL' vA vB l1 l2 ; navecb = 'PSCAL' avecb avecb l1 l1 ; nascab = '**' ascab 2 ; na = 'PSCAL' vA vA l1 l1 ; nb = 'PSCAL' vB vB l2 l2 ; nab = '*' na nb ; * res = nab '-' navecb '-' nascab ; nres = 'MAXIMUM' res 'ABS' ; tst3 = 'EGA' nnb 0. tolerr ; tst = tst1 'ET' tst2 'ET' tst3 ; 'MESSAGE' ('CHAINE' 'Test :') ; 'MESSAGE' ('CHAINE' ' nna = ' nna ) ; 'MESSAGE' ('CHAINE' ' nnb = ' nnb ) ; 'MESSAGE' ('CHAINE' ' nres = ' nres) ; 'SI' tst ; 'MESSAGE' 'Test OK' ; 'SINON' ; 'MESSAGE' '!!! Test not passed ' ; 'FINSI' ; lpass = lpass 'ET' tst ; * 'SAUTER' 2 'LIGNE' ; 'SI' lpass ; 'MESSAGE' 'Tout sest bien passe' ; 'SINON' ; 'MESSAGE' 'Il y a eu des erreurs' ; 'FINSI' ; 'SAUTER' 2 'LIGNE' ; 'SI' interact ; 'OPTION' 'DONN' 5 'ECHO' 1 ; 'FINSI' ; 'SI' ('NON' lpass) ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales