* fichier : pente3D.dgibi ************************************************************************ ************************************************************************ *********************************************************** **** Finite Volume, "Cell-Centred Formulation". **** **** PENT, operator to compute gradients and limiters **** **** **** **** 3D VALIDATION **** **** **** **** T. KLOCZKO, LTMF JULY 2005 **** **** **** *********************************************************** * *** Choix du type d'élément * TYEL = TET4 ; * TYEL = PYR5 ; * TYEL = PRI6 ; * TYEL = CUB8 ; * *** Options gibiane * * *** Option de tracé * * GRAPH = VRAI ; GRAPH = FAUX ; * *************************************************** *** CANAL SECTION CARRÉE AVEC BOSSE SINUSOÏDALE *** *************************************************** * RAF = 1 ; VRAF = 9. '*' RAF ; Lref = 1. ; Size = Lref '/' VRAF ; Lx = 4. ; Ly = 0.5 ; Lz = 1. ; DX = Size ; DY = Size ; DZ = Size ; NX = 'ENTIER' (Lx '/' Size '+' 0.1) ; NY = 'ENTIER' (Ly '/' Size '+' 0.1) ; NZ = 'ENTIER' (Lz '/' Size '+' 0.1) ; * *** Sommets du domaine de calcul * P0 = 0.0 0.0 0.0 ; P1 = (Lx '/' 4.) 0.0 0.0 ; P2 = (3. '*' Lx '/' 4.) 0.0 0.0 ; P3 = Lx 0.0 0.0 ; P4 = Lx 0.0 Lz ; P5 = 0.0 0.0 Lz ; P6 = 0.0 Ly 0.0 ; P7 = (Lx '/' 4.) Ly 0.0 ; P8 = (3. '*' Lx '/' 4.) Ly 0.0 ; P9 = Lx Ly 0.0 ; P10 = Lx Ly Lz ; P11 = 0.0 Ly Lz ; * *** Calcul des arêtes * P0P1 = 'DROIT' P0 P1 DINI DX DFIN DX ; P1P2 = 'DROIT' P1 P2 DINI DX DFIN DX ; P2P3 = 'DROIT' P2 P3 DINI DX DFIN DX ; P0P3 = P0P1 'ET' P1P2 'ET' P2P3 ; P4P5 = 'DROIT' P4 P5 DINI DX DFIN DX ; P6P7 = 'DROIT' P6 P7 DINI DX DFIN DX ; P7P8 = 'DROIT' P7 P8 DINI DX DFIN DX ; P8P9 = 'DROIT' P8 P9 DINI DX DFIN DX ; P6P9 = P6P7 'ET' P7P8 'ET' P8P9 ; P10P11 = 'DROIT' P10 P11 DINI DX DFIN DX ; P0P6 = 'DROIT' P0 P6 DINI DY DFIN DY ; P5P11 = 'DROIT' P5 P11 DINI DY DFIN DY ; P3P9 = 'DROIT' P3 P9 DINI DY DFIN DY ; P4P10 = 'DROIT' P4 P10 DINI DY DFIN DY ; P0P5 = 'DROIT' P0 P5 DINI DZ DFIN DZ ; P3P4 = 'DROIT' P3 P4 DINI DZ DFIN DZ ; P9P10 = 'DROIT' P9 P10 DINI DZ DFIN DZ ; P6P11 = 'DROIT' P6 P11 DINI DZ DFIN DZ ; * *** Calcul des surfaces * * Inlet SURFI = 'SURFACE' (('INVERSE' P0P6) 'ET' P0P5 'ET' P5P11 'ET' ('INVERSE' P6P11)) 'PLAN' ; SURFI = 'COULEUR' SURFI 'VERT' ; * Outlet SURFO = 'SURFACE' (('INVERSE' P3P9) 'ET' P3P4 'ET' P4P10 'ET' ('INVERSE' P9P10)) 'PLAN' ; SURFO = 'COULEUR' SURFO 'ROUG' ; * Up SURFU = 'SURFACE' (('INVERSE' P4P5) 'ET' P4P10 'ET' P10P11 'ET' ('INVERSE' P5P11)) 'PLAN' ; SURFU = 'COULEUR' SURFU 'TURQ' ; * Down * * On trace en premier lieu une surface plane que l'on déforme * par un champ de déplacement ad hoc. SURFD = 'SURFACE' (P0P3 'ET' P3P9 'ET' ('INVERSE'P6P9) 'ET' ('INVERSE' P0P6)) 'PLAN' ; SURFD = 'COULEUR' SURFD 'BLEU' ; * *** Création du déplacement pour générer la bosse * SURD1 = 'CHANGER' SURFD 'POI1' ; 'REPETER' DBCL NBPTD ; PSD = 'POINT' SURD1 &DBCL ; XSD = ('COORDONNEE' 1 PSD) ; 'SI' (XSD < (Lx '/' 4.)) ; 'UX' 0.D0 'UY' 0.D0 'UZ' 0.D0 ; 'SINON' ; 'SI' (XSD > (3. '*' Lx '/' 4.)) ; 'UX' 0.D0 'UY' 0.D0 'UZ' 0.D0 ; 'SINON' ; ZSD = (0.1D0 '*' Lx '/' 4.) '*' (1.D0 + ('COS' (180.D0 '*' ((4. '*' XSD '/' Lx) '-' 2.)))) ; 'UX' 0.D0 'UY' 0.D0 'UZ' ZSD ; 'FINSI' ; 'FINSI' ; CHPMOUV = CHPMOUV '+' CHPI ; 'FIN' DBCL ; * * Modification de la forme de la surface du bas * Front SURFF = 'SURFACE' (P0P3 'ET' P3P4 'ET' P4P5 'ET' ('INVERSE' P0P5)) 'PLAN' ; * Back SURFB = 'SURFACE' (P6P9 'ET' P9P10 'ET' P10P11 'ET' ('INVERSE' P6P11)) 'PLAN' ; * Total Face SURTOT = (SURFF 'ET' SURFB 'ET' SURFI 'ET' SURFO 'ET' SURFU 'ET' SURFD) ; 'ELIMINATION' SURTOT (Size '/' 1.D3) ; 'SI' GRAPH ; 'TRACER' SURTOT 'TITRE' 'FINSI' ; * *** Volume * DOMTOT = 'VOLUME' SURTOT ; * *** Surface latérale * SURTOT = 'ENVELOPPE' DOMTOT ; si graph;'TRACER' surtot ;finsi; * **** Creation of MODELS * MDOMTOT = 'MODELISER' DOMTOT 'EULER' ; MDOMINT = 'MODELISER' DOMINT 'EULER' ; MSURTOT = 'MODELISER' SURTOT 'EULER' ; QDOMTOT = TDOMTOT . 'QUAF' ; QDOMINT = TDOMINT . 'QUAF' ; QSURTOT = TSURTOT . 'QUAF' ; 'ELIMINATION' (QDOMTOT 'ET' QDOMINT 'ET' QSURTOT) (1.d-3 '/' (RAF '*' 1.)) ; 'SI' GRAPH ; 'TRACER' DOMTOT 'TITRE' 'TRACER' MAICON 'TITRE' 'TRACER' DOMINT 'TITRE' 'FINSI' ; * **** The interface points (for limit condition) * XFAC YFAC ZFAC = 'COORDONNEE' POIN0 ; 'SI' (&BLLIM 'EGA' 1) ; GEOLIM = 'MANUEL' 'POI1' PFAC 'BLEU' ; 'SINON' ; GEOLIM = GEOLIM 'ET' ('MANUEL' 'POI1' PFAC 'BLEU') ; 'FINSI' ; 'FIN' BLLIM ; * 'SI' GRAPH ; 'TRACER' (DOMTOT 'ET' GEOLIM) 'TITRE' 'DOMTOT et points faces aux bords'; 'FINSI' ; * *********************************************** ********* CHP: scalar linear field ********* ********* EULESCAL ********* *********************************************** * * (A11 '*' XX) '+' (A12 '*' YY) '+' (A13 '*' ZZ) '+' A0; * A11 = 12.01517 ; A12 = 13.1421 ; A13 = 14.0412 ; A0 = -3.21 ; B11 = 22.01517 ; B12 = 43.1421 ; B13 = 35.5463 ; B0 = -5.21 ; C11 = 24.01517 ; C12 = 46.1421 ; C13 = 39.5463 ; C0 = -6.21 ; CHP1 = (A11 '*' XX) '+' (A12 '*' YY) '+' (A13 '*' ZZ) '+' A0 ; CHP2 = (B11 '*' XX) '+' (B12 '*' YY) '+' (B13 '*' ZZ) '+' B0 ; CHP3 = (C11 '*' XX) '+' (C12 '*' YY) '+' (C13 '*' ZZ) '+' C0 ; CHP = CHP1 'ET' CHP2 'ET' CHP3 ; GRCHP LIMCH GRG = 'PENT' MDOMTOT 'CENTRE' 'EULESCAL' 'NOLIMITE' MOTC CHP ; 3 'P1' 1.0 'P2' 1.0 'P3' 1.0 ; ERRO = 'MAXIMUM' (LIMCH1 '-' LIMCH) 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * * TEST1 : we check that we have the same values if we use * GRG to compute gradients * GRCHP1 LIMCH = 'PENT' MDOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR' MOTC CHP 'GRADGEO' GRG ; 'LISTE' MOTC ; ERRO = 'MAXIMUM' (GRCHP '-' GRCHP1) 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * * TEST2 : we check that the computation is exact on the internal domain * 'NATU' 'DISCRET' ; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; GREXA = GR1DX 'ET' GR1DY 'ET' GR1DZ 'ET' GR2DX 'ET' GR2DY 'ET' GR2DZ 'ET' GR3DX 'ET' GR3DY 'ET' GR3DZ ; ERRCH = GREXA '-' GRCHPI ; LMOT = 'MOTS' 'P1DX' 'P1DY' 'P1DZ' 'P2DX' 'P2DY' 'P2DZ' 'P3DX' 'P3DY' 'P3DZ' ; MERRCH = ('PSCAL' ERRCH ERRCH LMOT LMOT) '**' 0.5 ; * *** Error graphics (we change the error CHAMPOINT into a CHAMELEM * 'SI' GRAPH ; 'TRACER' CHM_MER MOD1 'TITR' ('CHAINE' 'EULESCAL: erreur') ; 'FINSI' ; ERRO = 'MAXIMUM' ERRCH 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * * TEST3 : we impose the linear field values on the border. * In that case error must be "zero" everywhere. * XLIM YLIM ZLIM = 'COORDONNEE' GEOLIM ; CHPLI1 = (A11 '*' XLIM) '+' (A12 '*' YLIM) '+' (A13 '*' ZLIM) '+' A0; CHPLI2 = (B11 '*' XLIM) '+' (B12 '*' YLIM) '+' (B13 '*' ZLIM) '+' B0; CHPLI3 = (C11 '*' XLIM) '+' (C12 '*' YLIM) '+' (C13 '*' ZLIM) '+' C0; CHPLI = CHPLI1 'ET' CHPLI2 'ET' CHPLI3 ; GRCHPL LIMCH GRGL = 'PENT' MDOMTOT 'CENTRE' 'EULESCAL' 'NOLIMITE' MOTC CHP 'CLIM' CHPLI ; GRCHP1 LIMCH = 'PENT' MDOMTOT 'CENTRE' 'EULESCAL' 'NOLIMITE' MOTC CHP 'CLIM' CHPLI 'GRADGEO' GRGL ; ERRO = 'MAXIMUM' (GRCHPL '-' GRCHP1) 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; 'NATU' 'DISCRET' ; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; GREXA = GR1DX 'ET' GR1DY 'ET' GR1DZ 'ET' GR2DX 'ET' GR2DY 'ET' GR2DZ 'ET' GR3DX 'ET' GR3DY 'ET' GR3DZ ; ERRCH = GREXA '-' GRCHPL ; LMOT = 'MOTS' 'P1DX' 'P1DY' 'P1DZ' 'P2DX' 'P2DY' 'P2DZ' 'P3DX' 'P3DY' 'P3DZ' ; MERRCH = ('PSCAL' ERRCH ERRCH LMOT LMOT) '**' 0.5 ; 'SI' GRAPH ; 'TRACER' CHM_MER MOD1 'TITR' ('CHAINE' 'EULESCAL avec C.L. : Erreur') ; 'FINSI' ; ERRO = 'MAXIMUM' ERRCH 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * **** TEST4: boudary condition for a scalar field (EULESCAL) * *** Symétrie de référence et objet modèle * $VOLI = 'MODELISER' VOLI 'EULER' ; QVOLI = TVOLI . 'QUAF' ; * *** Champoints quelconques * * *** Plan de symétrie * * *** Champoints symétriques * CNEW1 CHP11 = ('EXTRAIRE' CHP1 'MAILLAGE') CHP1 'SYMETRIE' 'PLAN' PP0 PP5 PP6 ; CNEW2 CHP21 = ('EXTRAIRE' CHP2 'MAILLAGE') CHP2 'SYMETRIE' 'PLAN' PP0 PP5 PP6 ; CNEW3 CHP31 = ('EXTRAIRE' CHP3 'MAILLAGE') CHP3 'SYMETRIE' 'PLAN' PP0 PP5 PP6 ; 'ELIMINATION' (CNEW1 'ET' CNEW2 'ET' CNEW3) 1.0D-9 ; * *** Visualisation des maillages * VSYM = (VOLI 'SYMETRIE' 'PLAN' PP0 PP5 PP6) 'COULEUR' 'ROUG' ; VTOT = (VOLI 'ET' VSYM) ; 'ELIMINATION' VTOT 1.d-5 ; * 'SI' GRAPH ; 'TRACER' (VSYM 'ET' VTOT) 'TITRE' 'Traitement de C.L.' ; 'FINSI' ; * *** Objet modèle * $VTOT = 'MODELISER' VTOT 'EULER' ; QVTOT = TVTOT . 'QUAF' ; 'ELIMINATION' QVOLI 1.D-5 QVTOT ; 'ELIMINATION' QVTOT 1.D-5 CNEW1 ; * *** Calcul du gradient * CHPPET = CHP1 'ET' CHP2 'ET' CHP3 ; CHPSYM = CHP11 'ET' CHP21 'ET' CHP31 ; CHPTOT = CHPSYM 'ET' CHPPET ; GRCHP LIMCHP GRG = 'PENT' $VTOT 'CENTRE' 'EULESCAL' 'NOLIMITE' GRCHP1 LIMCHP GRG1 = 'PENT' $VOLI 'CENTRE' 'EULESCAL' 'NOLIMITE' LMOT = 'MOTS' 'P1DX' 'P1DY' 'P1DZ' 'P2DX' 'P2DY' 'P2DZ' 'P3DX' 'P3DY' 'P3DZ' ; MERRCH = ('PSCAL' ERRCH ERRCH LMOT LMOT) '**' 0.5 ; 'SI' GRAPH ; 'TRACER' CHM_MER MOD1 'FINSI' ; ERRO = 'MAXIMUM' MERRCH 'ABS' ; 'LISTE' ERRO ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5 ; 'FINSI' ; * *************************************************** ********* CHP: vectorial linear field ************ ********* EULEVECT **************** *************************************************** * * (A11 '*' XX) '+' (A12 '*' YY) '+' (A13 '*' ZZ) '+' A0; * A11 = 11.3 ; A12 = 0.23 ; A13 = 2.46 ; A0 = 1.0 ; B11 = 77.0 ; B12 = 0.6 ; B13 = 9.2 ; B0 = 9.11 ; C11 = 1.89 ; C12 = 44.7 ; C13 = 0.87 ; C0 = 4.0 ; CHP1 = (A11 '*' XX) '+' (A12 '*' YY) '+' (A13 '*' ZZ) '+' A0 ; CHP2 = (B11 '*' XX) '+' (B12 '*' YY) '+' (B13 '*' ZZ) '+' B0 ; CHP3 = (C11 '*' XX) '+' (C12 '*' YY) '+' (C13 '*' ZZ) '+' C0 ; CHP = CHP1 'ET' CHP2 'ET' CHP3 ; GRCHP LIMCHP GRG = 'PENT' MDOMTOT 'CENTRE' 'EULEVECT' 'NOLIMITE' MOTC CHP ; 'LISTE' MOTC ; 3 'P1' 1.0 'P2' 1.0 'P3' 1.0 ; ERRO = 'MAXIMUM' (LIMCH1 '-' LIMCHP) 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * * TEST1 : we check that we have the same values if we use * GRG to compute gradients * GRCHP1 LIMCHP = 'PENT' MDOMTOT 'CENTRE' 'EULEVECT' 'NOLIMITE' MOTC CHP 'GRADGEO' GRG ; ERRO = 'MAXIMUM' (GRCHP '-' GRCHP1) 'ABS' ; 'SI' (ERRO > 5.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * * TEST2 : we check that the computation is exact on the internal domain * 'NATU' 'DISCRET' ; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; GREXA = GR1DX 'ET' GR1DY 'ET' GR1DZ 'ET' GR2DX 'ET' GR2DY 'ET' GR2DZ 'ET' GR3DX 'ET' GR3DY 'ET' GR3DZ ; ERRCH = GREXA '-' GRCHPI ; LMOT = 'MOTS' 'P1DX' 'P1DY' 'P1DZ' 'P2DX' 'P2DY' 'P2DZ' 'P3DX' 'P3DY' 'P3DZ' ; MERRCH = ('PSCAL' ERRCH ERRCH LMOT LMOT) '**' 0.5 ; * *** CREATION DE 'MODEL' POUR GRAPHIQUER LE CHAMELEM *** * 'SI' GRAPH ; 'TRACER' CHM_MER MOD1 'TITR' ('CHAINE' 'EULEVECT: Erreur') ; 'FINSI' ; ERRO = 'MAXIMUM' ERRCH 'ABS' ; 'SI' (ERRO > 5.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * * TEST3 : we impose the linear field values on the border. * In that case error must be "zero" everywhere. * XLIM YLIM ZLIM = 'COORDONNEE' GEOLIM ; CHPLI1 = (A11 '*' XLIM) '+' (A12 '*' YLIM) '+' (A13 '*' ZLIM) '+' A0 ; CHPLI2 = (B11 '*' XLIM) '+' (B12 '*' YLIM) '+' (B13 '*' ZLIM) '+' B0 ; CHPLI3 = (C11 '*' XLIM) '+' (C12 '*' YLIM) '+' (C13 '*' ZLIM) '+' C0 ; CHPLI = CHPLI1 'ET' CHPLI2 'ET' CHPLI3 ; GRCHPL LIMCHP GRGL = 'PENT' MDOMTOT 'CENTRE' CHP 'CLIM' CHPLI ; GRCHP1 LIMCHP = 'PENT' MDOMTOT 'CENTRE' CHP 'CLIM' CHPLI 'GRADGEO' GRGL ; ERRO = 'MAXIMUM' (GRCHPL '-' GRCHP1) 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; 'NATU' 'DISCRET' ; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; 'NATU' 'DISCRET'; GREXA = GR1DX 'ET' GR1DY 'ET' GR1DZ 'ET' GR2DX 'ET' GR2DY 'ET' GR2DZ 'ET' GR3DX 'ET' GR3DY 'ET' GR3DZ ; ERRCH = GREXA '-' GRCHPL ; LMOT = 'MOTS' 'P1DX' 'P1DY' 'P1DZ' 'P2DX' 'P2DY' 'P2DZ' 'P3DX' 'P3DY' 'P3DZ' ; MERRCH = ('PSCAL' ERRCH ERRCH LMOT LMOT) '**' 0.5 ; 'SI' GRAPH ; 'TRACER' CHM_MER MOD1 'TITR' ('CHAINE' 'EULEVECT avec C.L.: erreur') ; 'FINSI' ; ERRO = 'MAXIMUM' ERRCH 'ABS' ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5; 'FINSI' ; * **** TEST4: boudary condition for a vectorial field (EULEVECT) * *** Géométrie de base et objet modèle * $VOLI = 'MODELISER' VOLI 'EULER' ; QVOLI = TVOLI . 'QUAF' ; * *** Construction d'un champoint * * *** Plan de symétrie * * *** Construction du champoint symétrique par rapport au plan * CNEW1 CHP11 = ('EXTRAIRE' CHP1 'MAILLAGE') CHP1 'SYMETRIE' 'PLAN' PP0 PP5 PP6 ; CHP11 = CHP11 '*' (-1.D0) ; CNEW2 CHP21 = ('EXTRAIRE' CHP2 'MAILLAGE') CHP2 'SYMETRIE' 'PLAN' PP0 PP5 PP6 ; CNEW3 CHP31 = ('EXTRAIRE' CHP3 'MAILLAGE') CHP3 'SYMETRIE' 'PLAN' PP0 PP5 PP6 ; 'ELIMINATION' (CNEW1 'ET' CNEW2 'ET' CNEW3) 1.0D-9 ; * *** Visualisation des maillages * VSYM = (VOLI 'SYMETRIE' 'PLAN' PP0 PP5 PP6) 'COULEUR' 'ROUG' ; VTOT = (VOLI 'ET' VSYM) ; 'ELIMINATION' VTOT 1.d-5 ; * 'SI' GRAPH ; 'TRACER' (VSYM 'ET' VTOT) 'TITRE' 'Traitement de C.L.' ; 'FINSI' ; * *** Objet modèle * $VTOT = 'MODELISER' VTOT 'EULER' ; QVTOT = TVTOT . 'QUAF' ; 'ELIMINATION' QVOLI 1.D-5 QVTOT ; 'ELIMINATION' QVTOT 1.D-5 CNEW1 ; * *** Calcul des gradients * CHPPET = CHP1 'ET' CHP2 'ET' CHP3 ; CHPSYM = CHP11 'ET' CHP21 'ET' CHP31 ; CHPTOT = CHPSYM 'ET' CHPPET ; GRCHP LIMCHP GRG = 'PENT' $VTOT 'CENTRE' 'EULEVECT' 'NOLIMITE' GRCHP1 LIMCHP GRG1 = 'PENT' $VOLI 'CENTRE' 'EULEVECT' 'NOLIMITE' LMOT = 'MOTS' 'P1DX' 'P1DY' 'P1DZ' 'P2DX' 'P2DY' 'P2DZ' 'P3DX' 'P3DY' 'P3DZ' ; MERRCH = ('PSCAL' ERRCH ERRCH LMOT LMOT) '**' 0.5 ; 'SI' GRAPH ; 'TRACER' CHM_MER MOD1 'FINSI' ; ERRO = 'MAXIMUM' MERRCH 'ABS' ; 'LISTE' ERRO ; 'SI' (ERRO > 1.0D-8) ; 'MESSAGE' ; 'MESSAGE' ; 'ERREUR' 5 ; 'FINSI' ; * *** Fin des tests * 'MESSAGE' ; 'MESSAGE' ('CHAINE' 'OK DOKY') ; 'MESSAGE' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales