* fichier : t_HISTOG.dgibi ************************************************************************ * Section : Mathematiques Fonctions ************************************************************************ *---------------------------------------------------------------------* * Cas-test de l'operateur 'HIST' : * * * * Description : HIST renvoie une EVOLUTIOn de type HISTogramme repre- * * sentant la densite de distribution des valeurs d'un * * MCHALM sur un maillage. * * * * Synthaxe : HIST1 = HIST (COUL) MOD1 CHAM1 (ABS) PROG1 |(MOT1) | ; * * |(LMOT1)| * * * * Options : Pas defaut, ce cas-test verifie le fonctionnement de * * l'operateur sur 2 cas (2D et 3D). En options : * * - l'indicateur logique IDESS1 permet d'activer les traces ; * * - l'indicateur logique ITEST1 permet d'activer le test du trai- * * tement des erreurs ; * * - l'indicateur logique ILIST1 permet d'afficher la valeur cou- * * rante de l'erreur ; * * - l'indicateur logique IPETI1 permet d'effectuer une serie de * * test elementaires de fonctionnement de l'operateur. * * * *---------------------------------------------------------------------* * * * IDESS1 = VRAI => trace des EVOLUTIOns : * IDESS1 = FAUX ; * ITEST1 = VRAI => test messages d'erreur : * ITEST1 = FAUX ; * ILIST1 = VRAI => on liste la valeur de l'erreur : * ILIST1 = FAUX ; * IPETI1 = VRAI => test elementaires : * IPETI1 = FAUX ; * * 'OPTI' 'ECHO' 0 ; * * * Tables pour trace dessins : * TDESS1 = 'TABL' ; TDESS1 . 1 = 'MOT' 'MARQ CARR PLEI NOLI' ; TDESS2 = 'TABL' ; TDESS2 . 1 = 'MOT' 'MARQ CARR PLEI NOLI' ; TDESS2 . 2 = 'MOT' 'MARQ LOSA PLEI NOLI' ; * * ERR1 = 0. ; * * *---------------------- TEST TYPAGE EVOLUTIONS -----------------------* * * EV1 = 'EVOL' 'VERT' 'MANU' 'SCAL' ('PROG' 0. 4.) ('PROG' 1. 2.) ; EV2 = 'EVOL' 'ROUG' 'MANU' 'TYPE' 'HIST' 'TEMP' ('PROG' 0. 1. 2.) ('PROG' 0. 1. 0.) ; EV3 = 'EVOL' 'JAUN' 'MANU' 'TYPE' 'REEL' 'SCAL' ('PROG' 0. 2. 4.) ('PROG' 3. 3.5 4.) ; EV4 = 'EVOL' 'BLEU' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.5 2.) ('PROG' 1. 2. 4. 0.5 0.) ; * * EV0 = EV1 + EV3 ; EV0REF = 'EVOL' 'MANU' ('PROG' 0. 4.) ('PROG' 4. 6.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV0 - EV0REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * EV0 = (EV1 'ET' EV4) + (EV2 'ET' EV3) ; EV0REF = EV0REF 'ET' (EV2 + EV4) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV0 - EV0REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Test dessin d une courbe et de 2 histogrammes' ; 'DESS' (EV0 'ET' EV2) ; 'FINS' ; 'SI' ITEST1 ; 'OPTI' 'ERRE' 'IGNO' ; * Addition d'une courbe et d'un histogramme ? * EV0 = EV1 + EV2 ; * Addition de 2 courbes avec une courbe et un histogramme ? * EV0 = (EV1 'ET' EV3) + (EV2 'ET' EV1) ; * Si pas meme nombre de courbe ? * EV5 = 'EVOL' 'VERT' 'MANU' ('PROG' 0. 4.) ('PROG' 1. 2.) ; EV0 = (EV1 'ET' EV5) + EV1 ; * Test addition 2 EVOL dont une de Type pas autorise pour l'addition ?* EV5 = 'EVOL' 'MANU' 'TYPE' 'TOTO' ('PROG' 0. 4.) ('PROG' 1. 2.) ; EV0 = EV1 + EV5 ; 'OPTI' 'ERRE' 'NORM' ; 'FINS' ; * * *---------------------------------------------------------------------* * * * TESTS OPERATEUR "HIST" * * * *---------------------------------------------------------------------* * * 'SI' IPETI1 ; * * *---------------------------------------------------------------------* * * * <<~PETITS TESTS~>> * * * *---------------------------------------------------------------------* * * *-------------------------------- 1D ---------------------------------* * * 'OPTI' 'DIME' 1 'ELEM' 'SEG2' ; * * L1 = ('POIN' 0.) 'DROI' 2 ('POIN' 2.) ; MOD1 = 'MODE' L1 'MECANIQUE' ; * * * Champ a 1 composante : * CH1 = 'MANU' 'CHML' MOD1 'SCAL' -1.0 'STRESSES' ; * * * Test fonctionnement : * EV1 = 'HIST' MOD1 CH1 ('PROG' -2. PAS 0.25 0.) ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -2. PAS 0.25 0.) ('PROG' 4 * 0. 4. 4 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; 'SI' IDESS1 ; 'TITR' 'test valeurs negatives' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; * * * Test affectation couleur : * CH1 = 'MANU' 'CHML' MOD1 'SCAL' -0.5 'STRESSES' ; EV1 = 'HIST' 'ROUG' MOD1 CH1 ('PROG' -1. PAS 0.25 0.) ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -1. PAS 0.25 -0.25) ('PROG' 2 * 0. 4. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Ca marche partout ? EV1 = 'HIST' MOD1 'ROUG' CH1 ('PROG' -1. PAS 0.25 0.) ; EV1 = 'HIST' MOD1 CH1 'ROUG' ('PROG' -1. PAS 0.25 0.) ; EV1 = 'HIST' MOD1 CH1 ('PROG' -1. PAS 0.25 0.) 'ROUG' ; * * 'SI' IDESS1 ; 'TITR' 'Affectation couleur rouge a l"histogramme' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; * * * Test option 'ABS' : * EV1 = 'HIST' MOD1 CH1 'ABS' ('PROG' 0. PAS 0.25 1.) ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' 0. PAS 0.25 1.) ('PROG' 2 * 0. 4. 2 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Ca marche avec couleur ? EV1 = 'HIST' 'VERT' MOD1 CH1 'ABS' ('PROG' 0. PAS 0.25 1.) ; * * 'SI' IDESS1 ; 'TITR' 'Test mot-cle ABS + affectation couleur VERTE' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; * * * Test donnee nom de composante ? EV1 = 'HIST' MOD1 CH1 ('PROG' -1. PAS 0.25 0.) 'SCAL' ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -1. PAS 0.25 -0.25) ('PROG' 2 * 0. 4. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Avec un listmots ? EV1 = 'HIST' MOD1 CH1 ('PROG' -1. PAS 0.25 0.) ('MOTS' 'SCAL') ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -1. PAS 0.25 -0.25) ('PROG' 2 * 0. 4. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Si plusieurs Mots ? EV1 = 'HIST' MOD1 CH1 ('PROG' -1. PAS 0.25 0.) ('MOTS' 'SCAL' 'YOUN') ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -1. PAS 0.25 -0.25) ('PROG' 2 * 0. 4. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Avec couleur ? EV1 = 'HIST' 'ORAN' MOD1 CH1 ('PROG' -1. PAS 0.25 0.) 'SCAL' ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -1. PAS 0.25 -0.25) ('PROG' 2 * 0. 4. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Et Mot-cle ABS ? EV1 = 'HIST' MOD1 CH1 'ABS' ('PROG' 0. PAS 0.25 1.) 'SCAL' ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' 0. PAS 0.25 1.) ('PROG' 2 * 0. 4. 2 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Toutes options MOT ? EV1 = 'HIST' 'ORAN' MOD1 CH1 'ABS' ('PROG' 0. PAS 0.25 1.) 'SCAL' ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' 0. PAS 0.25 1.) ('PROG' 2 * 0. 4. 2 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * Toutes options + LISTMOTS ? EV1 = 'HIST' 'ORAN' MOD1 CH1 'ABS' ('PROG' 0. PAS 0.25 1.) ('MOTS' 'SCAL' 'NU') ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' 0. PAS 0.25 1.) ('PROG' 2 * 0. 4. 2 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Test donnee nom composante + couleur ORANGE + mot-cle ABS' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; * * * Tests Hachage : * CH1 = 'MANU' 'CHML' MOD1 'SCAL' 0.5 'RIGIDITE' ; EV1 = 'HIST' 'ROUG' MOD1 CH1 ('PROG' 0. 0.3 0.5 0.52 0.67 0.93) ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' 0. 0.3 0.5 0.52 0.67 0.93) ('PROG' 0. 0. 50. 3 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * CH1 = 'MANU' 'CHML' MOD1 'SCAL' -0.5 'RIGIDITE' ; EV1 = 'HIST' 'ROUG' MOD1 CH1 'ABS' ('PROG' 0. 0.3 0.5 0.52 0.67 0.93) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Test Hachage' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; CH1 = 'MANU' 'CHML' MOD1 'SCAL' -0.5 'RIGIDITE' ; EV1 = 'HIST' 'ROUG' MOD1 CH1 ('PROG' -1.1 -0.67 -0.52 -0.5 0.22) ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' ('PROG' -1.1 -0.67 -0.52 -0.5 0.22) ('PROG' 3 * 0. (1. / 0.72) 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Test Hachage' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; * * *-------------------------------- 2D ---------------------------------* * * 'OPTI' 'DIME' 2 'ELEM' 'TRI3' ; * * * Maillage : * P0 = 0. 0. ; P1 = 1. 0. ; P2 = 0. 1. ; P3 = 1. 1. ; * * *---------------- Test sur un champ a une composante -----------------* * * S1 = 'MANU' 'TRI3' P0 P1 P2 ; MOD1 = 'MODE' S1 'MECANIQUE' ; * * * Par defaut, definir aux rigidites car pas d'appel a CHASUP : * CHE1 = 'MANU' 'CHML' MOD1 'SCAL' 1. 'RIGIDITE' ; EV1 = 'HIST' 'ROUG' MOD1 CHE1 ('PROG' 0.9 PAS 0.02 1.1) ; EVREF1 = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0.9 PAS 0.02 1.08) (('PROG' 5 * 0.)'ET' ('PROG' 50.0) 'ET' ('PROG' 4 * 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Aux stresses ? CHE1 = 'MANU' 'CHML' MOD1 'SCAL' 1. 'STRESSES' ; EV2 = 'HIST' 'ORAN' MOD1 CHE1 ('PROG' 0.9 PAS 0.02 1.1) 'SCAL' ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV2) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Au centre de gravite ? CHE1 = 'MANU' 'CHML' MOD1 'SCAL' 1. 'GRAVITE' ; EV3 = 'HIST' 'VERT' MOD1 CHE1 ('PROG' 0.9 PAS 0.02 1.1) 'SCAL' ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV3) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Aux noeuds ? CHE1 = 'MANU' 'CHML' MOD1 'SCAL' 1. 'NOEUD' ; EV4 = 'HIST' 'BLEU' MOD1 CHE1 ('PROG' 0.9 PAS 0.02 1.1) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV4) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * CHE1 = 'MANU' 'CHML' MOD1 'SCAL' 1. 'MASSE' ; EV5 = 'HIST' 'JAUN' MOD1 CHE1 ('PROG' 0.9 PAS 0.02 1.1) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV5) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Champ avec 1 composante : aux points supports des RIGIDITEs' ; 'DESS' TDESS1 (EVREF1 'ET' EV1) 'XBOR' 0.88 1.12 'YBOR' -5.0 55. ; 'TITR' 'Champ avec 1 composante : aux points supports des STRESSES' ; 'DESS' TDESS1 (EVREF1 'ET' EV2) 'XBOR' 0.88 1.12 'YBOR' -5.0 55. ; 'TITR' 'Champ avec 1 composante : au centre de GRAVITE' ; 'DESS' TDESS1 (EVREF1 'ET' EV3) 'XBOR' 0.88 1.12 'YBOR' -5.0 55. ; 'TITR' 'Champ avec 1 composante : aux NOEUDs' ; 'DESS' TDESS1 (EVREF1 'ET' EV4) 'XBOR' 0.88 1.12 'YBOR' -5.0 55. ; 'TITR' 'Champ avec 1 composante : aux points supports de la MASSE' ; 'DESS' TDESS1 (EVREF1 'ET' EV5) 'XBOR' 0.88 1.12 'YBOR' -5.0 55. ; 'FINS' ; * * *------------- Test sur un champ a plusieurs composantes -------------* * * * On en profite pour tester sur des elements TRI6 : * S1 = 'CHAN' 'QUAD' S1 ; MOD1 = 'MODE' S1 'MECANIQUE' ; * * CHE1 = 'MANU' 'CHML' MOD1 'TOTO' 1.1 'TITI' 0.5 'RIGIDITE' ; * * * Traitement de toutes les composantes ? EV1 = 'HIST' 'ROUG' MOD1 CHE1 ('PROG' 0. PAS 0.2 2.) ; * * EVREF1 = ('EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'TOTO' ('PROG' 0. PAS 0.2 2.0) (('PROG' 5 * 0.) 'ET' ('PROG' 5.0) 'ET' ('PROG' 5 * 0.))) ; EVREF2 = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'TITI' ('PROG' 0. PAS 0.2 2.0) (('PROG' 2 * 0.) 'ET' ('PROG' 5.0) 'ET' ('PROG' 8 * 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV1 'COUR' 1) - EVREF1) 'ORDO')) + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV1 'COUR' 2) - EVREF2) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Avec un LISMOTS : CHE1 = 'MANU' 'CHML' MOD1 'TOTO' 1. 'GRAVITE' ; CHE1 = CHE1 'ET' ('MANU' 'CHML' MOD1 'TITI' 0.5 'GRAVITE') ; EV2 = 'HIST' 'GRIS' MOD1 CHE1 ('PROG' 0. PAS 0.2 2.) ('MOTS' 'TITI' 'TOTO' 'TATA') ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV2 'COUR' 1) - EVREF1) 'ORDO')) + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV2 'COUR' 2) - EVREF2) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; EVREF1 = EVREF1 + EVREF2 ; * * * Une seule composante demande avec un MOT : * CHE1 = 'MANU' 'CHML' MOD1 'TOTO' 1. 'NOEUD' ; CHE1 = CHE1 'ET' ('MANU' 'CHML' MOD1 'TITI' 0.5 'NOEUD') ; EV3 = 'HIST' 'AZUR' MOD1 CHE1 ('PROG' 0. PAS 0.1 1.) 'TITI' ; EVREF2 = 'EVOL' 'ROUG' 'MANU' 'TYPE' 'HIST' 'TITI' ('PROG' 0. PAS 0.1 0.9) (('PROG' 5 * 0.) 'ET' ('PROG' 10.0) 'ET' ('PROG' 4 * 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF2 - EV3) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Une seule composante demande avec un LISTMOTS : * CHE1 = 'MANU' 'CHML' MOD1 'TOTO' 1. 'MASSE' ; CHE1 = CHE1 'ET' ('MANU' 'CHML' MOD1 'TITI' 0.5 'MASSE') ; EV4 = 'HIST' 'VIOL' MOD1 CHE1 ('PROG' 0. PAS 0.1 1.) ('MOTS' 'TITI' 'SCAL') ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF2 - EV4) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Champ a 2 composantes : sans les preciser' ; 'DESS' TDESS1 (EVREF1 'ET' EV1) ; 'TITR' 'Champ a 2 composantes : en les precisant avec un Listmots' ; 'DESS' TDESS1 (EVREF1 'ET' EV2) ; 'TITR' 'Champ a 2 composantes : composante demandee avec MOT' ; 'DESS' TDESS1 (EVREF2 'ET' EV3) ; 'TITR' 'Champ a 2 composantes : composante demandee avec LISTMOTS' ; 'DESS' TDESS1 (EVREF2 'ET' EV4) ; 'FINS' ; * * *-------------------- Test sur element quadrangle --------------------* * * S1 = 'MANU' 'QUA4' P0 P1 P3 P2 ; MOD1 = 'MODE' S1 'MECANIQUE' ; CHE1 = 'MANU' 'CHML' MOD1 'TOTO' 1. 'TITI' 0.5 'STRESSES' ; EV1 = 'HIST' 'ROSE' MOD1 CHE1 ('PROG' 0. PAS 0.5 2.) 'TOTO' ; EVREF1 = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.5 1.5) (('PROG' 2 * 0.)'ET' ('PROG' 2.0) 'ET' ('PROG' 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Avec QUA4 aux points supports des STRESSES' ; 'DESS' TDESS1 (EVREF1 'ET' EV1) ; 'FINS' ; * * MOD1 = 'MODE' S1 'THERMIQUE' ; CHE1 = 'MANU' 'CHML' MOD1 'TOTO' -1. 'TITI' 0.5 'GRAVITE' ; EV1 = 'HIST' 'VERT' MOD1 CHE1 ('PROG' -2. PAS 0.08 0.) 'TOTO' ; EVREF1 = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' -2. PAS 0.08 0.) (('PROG' 12 * 0.)'ET' ('PROG' 12.5) 'ET' ('PROG' 13 * 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Thermique avec QUA4 au centre de gravite' ; 'DESS' TDESS1 (EVREF1 'ET' EV1) ; 'FINS' ; * * S1 = 'CHAN' 'QUAD' S1 ; MOD1 = 'MODE' S1 'THERMIQUE' ; CHE1 = 'MANU' 'CHML' MOD1 'TOTO' 1. 'TITI' 0.5 'RIGIDITE' ; EV1 = 'HIST' 'JAUN' MOD1 CHE1 ('PROG' 0. PAS 0.25 1.) 'TITI' ; EVREF1 = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.25 0.75) (('PROG' 2 * 0.)'ET' ('PROG' 4.0) 'ET' ('PROG' 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EVREF1 - EV1) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Thermique avec QUA8 aux points supports de la RIGIDITE' ; 'DESS' TDESS1 (EVREF1 'ET' EV1) ; 'FINS' ; * * *-------------- Test sur maillages a plusieurs elements --------------* * * 'OPTI' 'ELEM' 'QUA4' ; * * L1 = P0 'DROI' 2 P1 ; S1 = L1 'TRAN' 2 P2 ; S2 = S1 'SYME' 'DROI' P0 P2 ; S2 = 'CHAN' 'TRI3' S2 ; S0 = S1 'ET' S2 ; 'ELIM' S0 0.001 ; 'SI' IDESS1 ; 'TITR' 'Maillage a plusieurs elements' ; 'TRAC' S0 ; 'FINS' ; * * MOD1 = 'MODE' S1 'THERMIQUE' ; MOD2 = 'MODE' S2 'THERMIQUE' ; MOD0 = MOD1 'ET' MOD2 ; * * * Champ constant sur modele a 2 sous-zones : * CH1 = 'MANU' 'CHML' MOD0 'SCAL' 1. 'STRESSES' ; EV1 = 'HIST' 'ROUG' CH1 MOD0 ('PROG' 0. PAS 0.5 2.) 'SCAL' ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.5 2.) (('PROG' 2 * 0.) 'ET' ('PROG' 2.) 'ET' ('PROG' 2 * 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1 - EV1REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Champ constant a partir de 2 champs : * CH1 = ('MANU' 'CHML' MOD1 'SCAL' 1. 'NOEUD') 'ET' ('MANU' 'CHML' MOD2 'SCAL' 1. 'NOEUD') ; EV1 = 'HIST' 'ROUG' CH1 MOD0 ('PROG' 0. PAS 0.5 2.) 'SCAL' ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1 - EV1REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Composantes differentes dans chaque zone : * CH2 = ('MANU' 'CHML' MOD1 'SCAL' 1. 'STRESSES') 'ET' ('MANU' 'CHML' MOD2 'TEST' 3. 'STRESSES') ; EV2 = 'HIST' 'ROUG' CH2 MOD0 ('PROG' 0. PAS 0.5 2.) 'SCAL' ; EV2REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.5 2.) (('PROG' 2 * 0.) 'ET' ('PROG' 2.) 'ET' ('PROG' 2 * 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV2 - EV2REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Idem mais Listmots en argument : * EV2 = 'HIST' 'ROUG' CH2 MOD0 ('PROG' 0. PAS 0.5 2.) ('MOTS' 'SCAL' 'TITI') ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV2 - EV2REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Idem mais on veut toutes les composantes : * EV3 = 'HIST' 'VERT' CH2 MOD0 ('PROG' 0. PAS 1. 4.) ; EV3REF = ('EVOL' 'JAUN' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 1. 4.) ('PROG' 0. 1. 0. 0. 0.)) 'ET' ('EVOL' 'ORAN' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 1. 4.) ('PROG' 0. 0. 0. 1. 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV3REF 'COUR' 1) - ('EXTR' EV3 'COUR' 1)) 'ORDO')) + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV3REF 'COUR' 2) - ('EXTR' EV3 'COUR' 2)) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Idem en donnant un Listmots : * EV3 = 'HIST' 'VERT' CH2 MOD0 ('PROG' 0. PAS 1. 4.) ('MOTS' 'SCAL' 'TEST') ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV3REF 'COUR' 1) - ('EXTR' EV3 'COUR' 1)) 'ORDO')) + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV3REF 'COUR' 2) - ('EXTR' EV3 'COUR' 2)) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Une composante sur tout le maillage, un que sur 1 zone : * CH4 = ('MANU' 'CHML' MOD0 'SCAL' 1. 'STRESSES') 'ET' ('MANU' 'CHML' MOD2 'TEST' 3. 'STRESSES') ; EV4 = 'HIST' CH4 MOD0 ('PROG' 0. PAS 1. 4.) 'SCAL' ; EV4REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. 1. 2. 4.) ('PROG' 0. 1. 0. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV4 - EV4REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Idem mais uniquement compsante 1 zone : * EV4 = 'HIST' CH4 MOD0 ('PROG' 0. PAS 1. 4.) 'TEST' ; EV4REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 1. 4.) ('PROG' 0. 0. 0. 1. 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV4 - EV4REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Sur 2 composantes : * EV4 = 'HIST' 'BLEU' CH4 MOD0 ('PROG' 0. PAS 1. 4.) ; EV4REF = ('EVOL' 'JAUN' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 1. 4.) ('PROG' 0. 1. 0. 0. 0.)) 'ET' ('EVOL' 'ORAN' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 1. 4.) ('PROG' 0. 0. 0. 1. 0.)) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV4REF 'COUR' 1) - ('EXTR' EV4 'COUR' 1)) 'ORDO')) + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV4REF 'COUR' 2) - ('EXTR' EV4 'COUR' 2)) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Resultats sur maillage a plusieurs elts.' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'DESS' TDESS1 (EV2REF 'ET' EV2) ; 'DESS' TDESS2 (EV3REF 'ET' EV3) ; 'DESS' TDESS2 (EV4REF 'ET' EV4) ; 'FINS' ; * * * Avec 2 modeles Meca. : * MOD1 = 'MODE' S1 'MECANIQUE' ; MOD2 = 'MODE' S2 'MECANIQUE' ; MOD0 = MOD1 'ET' MOD2 ; * * * Melange de points supports : * CH1 = ('MANU' 'CHML' MOD0 'SCAL' 1. 'MASSE') 'ET' ('MANU' 'CHML' MOD2 'TEST' 3. 'MASSE') ; EV1 = 'HIST' 'ROUG' CH1 MOD0 ('PROG' 0. PAS 0.6 3. PAS 1.4 10.) ('MOTS' 'SCAL' 'TEST') ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.6 3. PAS 1.4 10.) 'SCAL' ('PROG' 0. (1. / 0.6) 9 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1REF - ('EXTR' EV1 'COUR' 1)) 'ORDO')) ; EV2REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' ('PROG' 0. PAS 0.6 3. PAS 1.4 10.) 'SCAL' ('PROG' 5 * 0. (1. / 1.4) 5 * 0.) ; ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV2REF - ('EXTR' EV1 'COUR' 2)) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'DESS' TDESS1 ((EV1REF + EV2REF) 'ET' EV1) ; 'FINS' ; * * *---------------------------------------------------------------------* * * * FIN <<~PETITS TESTS~>> * * * *---------------------------------------------------------------------* * * 'SINO' ; 'OPTI' 'DIME' 2 ; P0 = 0. 0. ; P1 = 1. 0. ; P2 = 0. 1. ; P3 = 1. 1. ; 'FINS' ; * * *------------------------ "Vrai Gros Maillage" -----------------------* * * 'OPTI' 'ELEM' 'QUA8' ; L1 = P0 'DROI' 10 P1 ; S1 = L1 'TRAN' 10 P2 ; S2 = S1 'SYME' 'DROI' P0 P2 ; 'OPTI' 'ELEM' 'TRI3' ; S2 = 'SURF' ('CONT' S2) ; S0 = S1 'ET' S2 ; 'ELIM' S0 0.001 ; * * * Avec 2 modeles Meca. : * MOD1 = 'MODE' S1 'MECANIQUE' ; MOD2 = 'MODE' S2 'MECANIQUE' ; MOD0 = MOD1 'ET' MOD2 ; * * * Creation d'un champ de variable aleatoires : * CHPO1 = 'BRUI' 'BLAN' 'UNIF' 5. 6.66 S0 ; CHAM1 = 'CHAN' 'CHAM' CHPO1 MOD0 'GRAVITE' ; 'SI' IDESS1 ; 'TITR' ' Champ d"une variable scalaire aleatoire (ditrib. uniforme)' ; 'TRAC' CHAM1 MOD1 ; 'FINS' ; * * * ATTENTION : X1 + grand que le MINI de CHAM1, LX1 ne couvre donc pas * * tout l'intervalle de valeurs : * X1 = -4.5 ; X2 = 19. ; XPAS1 = 0.5 ; LX1 = 'PROG' X1 PAS XPAS1 X2 ; N1 = 'DIME' LX1 ; LY1 = 'PROG' N1 * 0. ; NB1 = 'NBEL' S1 ; 'REPE' BOU1 NB1 ; ELI1 = S1 'ELEM' &BOU1 ; XI1 = 'EXTR' ('REDU' CHAM1 ELI1) 'SCAL' 1 1 1 ; 'SI' (XI1 '<' X1) ; 'ITER' BOU1 ; 'FINS' ; NI1 = ('ENTI' ((XI1 - X1) / XPAS1)) + 1 ; 'SI' (NI1 'EGA' 0) ; 'ITER' BOU1 ; 'FINS' ; YI1 = ('MESU' ELI1) / XPAS1 ; 'SI' (NI1 '>' 1) ; LYI1 = ('PROG' (NI1 - 1) * 0.) 'ET' ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'SINO' ; LYI1 = ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'FINS' ; LY1 = LY1 + LYI1 ; 'FIN' BOU1 ; NB1 = 'NBEL' S2 ; 'REPE' BOU1 NB1 ; ELI1 = S2 'ELEM' &BOU1 ; XI1 = 'EXTR' ('REDU' CHAM1 ELI1) 'SCAL' 1 1 1 ; 'SI' (XI1 '<' X1) ; 'ITER' BOU1 ; 'FINS' ; NI1 = ('ENTI' ((XI1 - X1) / XPAS1)) + 1 ; 'SI' (NI1 'EGA' 0) ; 'ITER' BOU1 ; 'FINS' ; YI1 = ('MESU' ELI1) / XPAS1 ; 'SI' (NI1 '>' 1) ; LYI1 = ('PROG' (NI1 - 1) * 0.) 'ET' ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'SINO' ; LYI1 = ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'FINS' ; LY1 = LY1 + LYI1 ; 'FIN' BOU1 ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'SCAL' LX1 LY1 ; EV1REF = EV1REF / ('MESU' S0) ; * * EV1 = 'HIST' 'VERT' CHAM1 MOD0 LX1 ('MOTS' 'TITI' 'SCAL' 'GREE') ; * * ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (EV1 - EV1REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Verification que l'integrale de la densite de distribution sur * * sur l'intervalle d'echantillonnage vaut la fraction surfacique des * * valeurs du champ concernees : * MESU1 = ('INTG' EV1) ; MESU1REF = ('INTG' MOD0 ('MASQ' CHAM1 'EGSUPE' -4.5)) / ('MESU' S0) ; ERR1 = ERR1 + (MESU1REF - MESU1) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Resultat test HIST en 2D' ; 'DESS' TDESS1 (EV1REF 'ET' EV1) ; 'FINS' ; * * *-------------------------------- 3D ---------------------------------* * * 'OPTI' 'DIME' 3 ; * * 'OPTI' 'ELEM' 'CU20' ; V1 = S1 'VOLU' 'TRAN' 5 (0. 0. 1.) ; 'OPTI' 'ELEM' 'TET4' ; V2 = S2 'VOLU' 'TRAN' 5 (0. 0. 1.) ; V2 = 'VOLU' (('ENVE' V2 'ELEM' 'QUA4' 'CHAN' 'TRI3') 'ET' ('ENVE' V2 'ELEM' 'TRI3')) ; V0 = 'ELIM' (V1 'ET' V2) 0.001 ; MOD1 = 'MODE' V1 'MECANIQUE' ; MOD2 = 'MODE' V2 'MECANIQUE' ; MOD0 = MOD1 'ET' MOD2 ; * * * Construction d'un champ de variables aleatoires ; * CHPO1 = 'BRUI' 'BLAN' 'UNIF' PI ('EXP' 1.9) V0 ; CHPO1 = CHPO1 'NOMC' 'VAR1' ; CHPO2 = 'BRUI' 'BLAN' 'GAUS' (-4. / 3.) ('LOG' 29.) V0 ; CHPO2 = CHPO2 'NOMC' 'VAR2' ; CHAM1 = 'CHAN' 'CHAM' (CHPO1 'ET' CHPO2) MOD0 'GRAVITE' ; 'SI' IDESS1 ; 'TITR' ' Champ de 2 variables scalaires aleatoires' ; 'TRAC' CHAM1 MOD0 ; 'FINS' ; * * X1 = -15. ; X2 = 17. ; XPAS1 = 0.8 ; LX1 = 'PROG' X1 PAS XPAS1 X2 ; N1 = 'DIME' LX1 ; * * 'TEMP' 'ZERO' ; LY1 = 'PROG' N1 * 0. ; NB1 = 'NBEL' V1 ; 'REPE' BOU1 NB1 ; ELI1 = V1 'ELEM' &BOU1 ; XI1 = 'EXTR' ('REDU' CHAM1 ELI1) 'VAR1' 1 1 1 ; 'SI' (XI1 '<' X1) ; 'ITER' BOU1 ; 'FINS' ; NI1 = ('ENTI' ((XI1 - X1) / XPAS1)) + 1 ; 'SI' (NI1 'EGA' 0) ; 'ITER' BOU1 ; 'FINS' ; YI1 = ('MESU' ELI1) / XPAS1 ; 'SI' (NI1 '>' 1) ; LYI1 = ('PROG' (NI1 - 1) * 0.) 'ET' ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'SINO' ; LYI1 = ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'FINS' ; LY1 = LY1 + LYI1 ; 'FIN' BOU1 ; NB1 = 'NBEL' V2 ; 'REPE' BOU1 NB1 ; ELI1 = V2 'ELEM' &BOU1 ; XI1 = 'EXTR' ('REDU' CHAM1 ELI1) 'VAR1' 1 1 1 ; 'SI' (XI1 '<' X1) ; 'ITER' BOU1 ; 'FINS' ; NI1 = ('ENTI' ((XI1 - X1) / XPAS1)) + 1 ; 'SI' (NI1 'EGA' 0) ; 'ITER' BOU1 ; 'FINS' ; YI1 = ('MESU' ELI1) / XPAS1 ; 'SI' (NI1 '>' 1) ; LYI1 = ('PROG' (NI1 - 1) * 0.) 'ET' ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'SINO' ; LYI1 = ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'FINS' ; LY1 = LY1 + LYI1 ; 'FIN' BOU1 ; EV1REF = 'EVOL' 'ROSE' 'MANU' 'TYPE' 'HIST' 'VAR1' LX1 LY1 ; EV1REF = EV1REF / ('MESU' V0) ; * * LY2 = 'PROG' N1 * 0. ; NB1 = 'NBEL' V1 ; 'REPE' BOU1 NB1 ; ELI1 = V1 'ELEM' &BOU1 ; XI1 = 'EXTR' ('REDU' CHAM1 ELI1) 'VAR2' 1 1 1 ; 'SI' (XI1 '<' X1) ; 'ITER' BOU1 ; 'FINS' ; NI1 = ('ENTI' ((XI1 - X1) / XPAS1)) + 1 ; 'SI' (NI1 'EGA' 0) ; 'ITER' BOU1 ; 'FINS' ; YI1 = ('MESU' ELI1) / XPAS1 ; 'SI' (NI1 '>' 1) ; LYI1 = ('PROG' (NI1 - 1) * 0.) 'ET' ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'SINO' ; LYI1 = ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'FINS' ; LY2 = LY2 + LYI1 ; 'FIN' BOU1 ; NB1 = 'NBEL' V2 ; 'REPE' BOU1 NB1 ; ELI1 = V2 'ELEM' &BOU1 ; XI1 = 'EXTR' ('REDU' CHAM1 ELI1) 'VAR2' 1 1 1 ; 'SI' (XI1 '<' X1) ; 'ITER' BOU1 ; 'FINS' ; NI1 = ('ENTI' ((XI1 - X1) / XPAS1)) + 1 ; 'SI' (NI1 'EGA' 0) ; 'ITER' BOU1 ; 'FINS' ; YI1 = ('MESU' ELI1) / XPAS1 ; 'SI' (NI1 '>' 1) ; LYI1 = ('PROG' (NI1 - 1) * 0.) 'ET' ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'SINO' ; LYI1 = ('PROG' YI1) 'ET' ('PROG' (N1 - NI1) * 0.) ; 'FINS' ; LY2 = LY2 + LYI1 ; 'FIN' BOU1 ; EV2REF = 'EVOL' 'JAUN' 'MANU' 'TYPE' 'HIST' 'VAR2' LX1 LY2 ; EV2REF = EV2REF / ('MESU' V0) ; 'SAUT' 1 'LIGN' ; TABTPS = TEMP 'NOEC'; 'MESS' ' **** Duree Gibiane en 3D = ' (0.001 * TABTPS.'TEMPS_CPU'.'INITIAL') ' (s)' ; * * 'TEMP' 'ZERO' ; EV1 = 'HIST' 'VERT' CHAM1 MOD0 LX1 ('MOTS' 'VAR2' 'VAR1' 'CHUE'); 'SAUT' 1 'LIGN' ; TABTPS = TEMP 'NOEC'; 'MESS' ' **** Duree d"execution HIST en 3D = ' (0.001 * TABTPS.'TEMPS_CPU'.'INITIAL') ' (s)' ; EV1 = ('EXTR' EV1 'COUR' 1) 'ET' (('EXTR' EV1 'COUR' 2) 'COUL' 'TURQ') ; * * ERR1 = ERR1 + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV1 'COUR' 1) - EV1REF) 'ORDO')) + ('MAXI' 'ABS' ('EXTR' (('EXTR' EV1 'COUR' 2) - EV2REF) 'ORDO')) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * * Verification que la somme des ordonnees vaut 1 : * MESU1 = ('INTG' ('EXTR' EV1 'COUR' 1)) ; ERR1 = ERR1 + (1. - MESU1) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; MESU1 = ('INTG' ('EXTR' EV1 'COUR' 2)) ; ERR1 = ERR1 + (1. - MESU1) ; 'SI' ILIST1 ; 'LIST' ERR1 ; 'FINS' ; * * 'SI' IDESS1 ; 'TITR' 'Resultat test HIST en 3D' ; 'DESS' TDESS2 (EV1REF 'ET' EV2REF 'ET' EV1) ; 'FINS' ; * * * Tests raffinement pas d'echantillonnage : * 'SI' FAUX ; XPAS2 = 0.4 ; LX2 = 'PROG' X1 PAS XPAS2 X2 ; EV2 = 'HIST' 'ROUG' MOD0 CHAM1 LX2 ('MOTS' 'VAR2') ; XPAS3 = 0.8 / 3. ; LX3 = 'PROG' X1 PAS XPAS3 X2 ; EV3 = 'HIST' 'JAUN' MOD0 CHAM1 LX3 ('MOTS' 'VAR2') ; 'DESS' (('EXTR' EV1 'COUR' 2) 'ET' EV2 'ET' EV3) ; 'FINS' ; * * *--------------------------- Tests erreurs ---------------------------* * * 'SI' ITEST1 ; 'SAUT' 1 'LIGN' ; 'OPTI' 'ERRE' 'IGNO' ; CHE1 = 'MANU' 'CHML' MOD1 'SCAL' 1. 'STRESSES' ; LR1 = PROG 0. PAS 0.5 2. ; * Si on passe un CHPO ? : * EV0 = 'HIST' ('COOR' 1 V1) MOD1 ; * Si on ne passe pas le modele ? : * EV0 = 'HIST' CHE1 ; * Si on ne passe pas le "bon" modele ? : * EV0 = 'HIST' CHE1 MOD2 LR1 ; * Si on ne passe pas le LISTREEL ; EV0 = 'HIST' MOD1 CHE1 ; * Si une composante demandee n'existe pas ? * EV0 = 'HIST' MOD1 CHE1 LR1 'TEST' ; * Si aucune composante de la liste n'existe ? * EV0 = 'HIST' MOD1 CHE1 LR1 ('MOTS' 'TEST' 'TOTO') ; * Si on donne un CHAML de MOT ? * CHE1 = 'MANU' 'CHML' MOD1 'TITI' xxx 'STRESSES' ; EV0 = 'HIST' MOD1 CHE1 LR1 ; 'OPTI' 'ERRE' 'NORM' ; 'FINS' ; * * 'SI' (ERR1 > 1.E-10) ; 'SAUT' 1 'LIGN' ; 'MESS' ' **** Erreur = ' ERR1 ; 'ERRE' 5 ; 'FINS' ; * * 'FIN' ;