* fichier : INTG_test.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * Ce Cas-Test permet de tester l'operateur INTG dans differentes * configurations d'options ************************************************************************ ************************************************************************ * MAILLAGE d'un CUBE de cote L ************************************************************************ L = 2.D0 ; NBE1 = 10 ; P1 = 0. 0. 0. ; P2 = L 0. 0. ; *TRAC CACH V1; ************************************************************************ * MODELE et MCHAML ************************************************************************ ************************************************************************ * INTEGRALES ************************************************************************ TEST = ABS (INTG11 - (L ** 3)) ; MESS TEST XZPREC; SI (TEST > XZPREC); FINS; DELTA = MAX12 - MIN12; TEST = MAX12 - (INTG11 / (NBE1 **3)); MESS MIN12 MAX12 DELTA TEST; SI ((DELTA > XZPREC) OU (TEST > XZPREC)); FINS; MESS INTG21; SI (INTG21 > 0.D0); FINS; SI (TEST NEG 0); FINS; *----------------------------------------------------------------------* * INTEGRATION DE COURBES D'EVOLUTION * *----------------------------------------------------------------------* * COURBES MONOTONES : *-------------------- * Definition de 2 evolutions : ev1 = 3. * ev1 ; ev2 = ev1 ** 2 ; ev0 = ev1 et ev2 ; *-------------- Integration de 1 courbe sur 1 intervalle --------------* list xx ; * 'Resultat doit etre' : 148.5 ; yy = 148.5 ; *--- Option INDI : list xx ; * 'Resultat doit etre' : 4.5 ; yy = 4.5 ; list xx ; * 'Resultat doit etre' : 18. ; yy = 18.0 ; *--- Option BORN : * Pour les bornes reelles, je cree une evol + raffinee ev3 = 3. * ev3 ; list xx ; * 'Resultat doit etre' : 39.975 ; * (6. + 3.6) * 0.5 * 0.8 + (2.5 + 10.5 + 13.5) + ((15.9 + 15.) * 0.5 * 0.3) yy = 39.975 ; * Bornes en dehores de l'intervalle de definition : * On prolonge avec la valeur a droite eou a gauche : list xx ; * 'Resultat doit etre' : 15.5*9.+1. = 151.5 yy = 151.5 ; list xx ; * 'Resultat doit etre' : 15.5*9.+1.+30.*5. = 301.5 yy = 301.5 ; * Bornes inversees : list xx ; * 'Resultat doit etre' : -1.*xx * Intervalle de largeur nulle ; list xx ; * 'Resultat doit etre' : 0. yy = 0. ; *----------------- 1 evolution, plusieurs intervalles -----------------* *--- Option INDI : list xx ; * 'Resultat doit etre' : {0. 3.5 18.} *--- Option BORN : list xx ; * 'Resultat doit etre' : {39.975 82.935} * (7.5 + 10.5 + 13.5 + 16.5 + 19.5) + ((21.+23.1)*0.5*0.7) ; * En dehors de l'intervalle de definition : list xx ; * 'Resultat doit etre' : {39.975 181.5} * 148.5 + 3. + 30. = 181.5 * Bornes "inversees" : list xx ; * 'Resultat doit etre' : {39.975 -181.5} * 148.5 + 3. + 30. = -181.5 * 1 intervalle de largeur nulle : list xx ; * 'Resultat doit etre' : {0. -181.5} * 148.5 + 3. + 30. = -181.5 *---------- Integration de plusieurs courbes sur 1 intervalle ---------* list xx ; * 'Resultat doit etre' (148.5 3010.5) ; *--- Option INDI : list xx ; * 'Resultat doit etre' (4.5 22.5) list xx ; * 'Resultat doit etre' : {18. 171.} *--- Option BORN : ev5 = ev3 et ev4 ; list xx ; list yy ; *----- Integration de plusieurs courbes sur plusieurs intervalles -----* *--- Option INDI : list xx ; * 'Resultat doit etre' : 1 NUAGE avec 2 LISTREEL, 1 par courbe * {4.5 18.000} {22.5 171.} * Extraction LISTREEL du NUAGE : ii = 2 ; *--- Option BORN : * Plusieurs evolutions, plusieurs intervalles : list xx1 ; list yy1 ; list xx2 ; list yy2 ; * FONCTIONS MULTIVALUEES : * ------------------------ * Cercle : * -------- lx1 = 180. * lx1 ; ly1 = cos lx1 ; ly2 = sin lx1 ; *dess evx ; list xx ; * 'Resultat doit etre' : approximation de -pi * Valeur absolu, resultat doit etre : 0. list xx ; * 'Resultat doit etre' : 0. yy = 0. ; * Avec INDI et borne : list xx ; * 'Resultat doit etre' : moitie integrale totale yy = 0.5 * yy ; * Sinus "vertical" : * ------------------ * Integrale sur tout le domaine : lx1 = 180. * lx1 ; ly2 = sin lx1 ; *dess evx ; list xx ; * 'Resultat doit etre' : 0. yy = 0. ; * En donnant les bornes : list xx ; * "S" : *dess evx ; list xx ; * 'Resultat doit etre' : 8. yy = 8. ; * Moitie intervalle : list xx ; * 'Resultat doit etre' : 4. yy = 4. ; * Cas pathologique signale au support : * ------------------------------------- list int1 ; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales