* fichier : t_HISTOG.dgibi
*---------------------------------------------------------------------*
* 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 = ('SOMM' EV1) 'EXTR' 1 ;
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' 2.) 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' ;
'MESS' ' **** Duree Gibiane en 3D = ' (0.01 * ('TEMP' 'NOEC')) ' (s)' ;
* *
'TEMP' 'ZERO' ;
EV1 = 'HIST' 'VERT' CHAM1 MOD0 LX1 ('MOTS' 'VAR2' 'VAR1' 'CHUE');
'SAUT' 1 'LIGN' ;
'MESS' ' **** Duree d"execution HIST en 3D = '
(0.01 * ('TEMP' 'NOEC')) ' (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 = ('SOMM' ('EXTR' EV1 'COUR' 1)) 'EXTR' 1 ;
ERR1 = ERR1 + (1. - MESU1) ;
'SI' ILIST1 ;
'LIST' ERR1 ;
'FINS' ;
MESU1 = ('SOMM' ('EXTR' EV1 'COUR' 2)) 'EXTR' 1 ;
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' ;
© Cast3M 2003 - All rights reserved.
Disclaimer