* fichier : kopsrot3D.dgibi ***************** CAS TEST : kopsrot3D.dgibi ************************* * GRAPH = faux ; eps0 = 1.D-10 ; 'SAUT' 'PAGE' ; * *------------------------------------------------------------------- * TEST kopsrot3D * * Ce test permet de vérifier le bon fonctionnement de l'option ROT * de KOPS en 3D pour les trois familles d'éléments compatibles avec * le modèle NAVIER_STOKES * * On calcule la composante non nulle du rotationel d'un champ de vecteur * linéaire en chaque coordonnée * (a0+a1*x+a2*y+a3*z,b0+b1*x+b2*y+b3*z,c0+c1*x+c2*y+c3*z) * Il est donc constant et égale dans le repère cartésien (x,y,z) à : * (c2-b3,a3-c1,b1-a2) * * On s'attend à une précision de l'ordre de la précision machine. * *------------------------------------------------------------------- * 'SAUT' 'PAGE' ; * * *------------------------------------------------------------------------- * Procedure test3D * /S test : boolean (vrai si ok) *------------------------------------------------------------------------- 'DEBP' test3D ; a0 = 7. ; a1= 2. ; a2= -5. ; a3 = 13. ; b0 = 11. ; b1= 1. ; b2= 3. ; b3 = 2. ; c0 = 13. ; c1= 5. ; c2= 2. ; c3 = 7. ; * * vtest1 = mini1 + maxi1 / 2. - (c2-b3) ; vtest2 = mini2 + maxi2 / 2. - (a3-c1) ; vtest3 = mini3 + maxi3 / 2. - (b1-a2) ; * test1 = faux ; test2 = faux ; test3 = faux ; 'SI' (('ABS' vtest1) < eps0) ; test1 = vrai ; 'FINSI' ; 'SI' (('ABS' vtest2) < eps0) ; test2 = vrai ; 'FINSI' ; 'SI' (('ABS' vtest3) < eps0) ; test3 = vrai ; 'FINSI' ; test = test1 'ET' test2 'ET' test3 ; * 'SI' ('EGA' graph vrai) ; 'LIST' mini1 ; 'LIST' maxi1 ; 'LIST' mini2 ; 'LIST' maxi2 ; 'LIST' mini3 ; 'LIST' maxi3 ; 'LIST' test1 ; 'LIST' test2 ; 'LIST' test3 ; 'LIST' test ; * ampl = 0.05 ; 'TRAC' v1 domtot 'TITRE' 'Rotationel' ; 'FINSI' ; 'FINP' test ; *------------------------------------------------------------------------- * * * Maillage Lx = 1. ; Ly = 1. ; Lz = 1. ; Nx = 6 ; Ny = 7 ; Nz = 6 ; * p1 = 0. 0. 0. ; p2 = Lx 0. 0. ; p3 = Lx Ly 0. ; p4 = 0. Ly 0. ; * * * * * Test des MMODELs MotDiscr = 'QUAF' ; $domtot = 'MODELISER' _domtot 'NAVIER_STOKES' MotDiscr ; a0 = test3D ; MotDiscr = 'MACRO' ; $domtot = 'MODELISER' _domtot 'NAVIER_STOKES' MotDiscr ; a1 = test3D ; MotDiscr = 'LINE' ; $domtot = 'MODELISER' _domtot 'NAVIER_STOKES' MotDiscr ; a2 = test3D ; * * Test de non regression 'SI' a0 ; va0 = 'VRAI' ; 'SINO' ; va0 = 'FAUX' ; 'FINSI' ; 'SI' a1 ; va1 = 'VRAI' ; 'SINO' ; va1 = 'FAUX' ; 'FINSI' ; 'SI' a2 ; va2 = 'VRAI' ; 'SINO' ; va2 = 'FAUX' ; 'FINSI' ; 'MESS' 'QUAF ' va0 ; 'MESS' 'MACRO ' va1 ; 'MESS' 'LINE ' va2 ; test = a0 'ET' a1 'ET' a2 ; * * Compte-rendu de fin et sortie 'SI' test ; 'SINO' ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales