Télécharger indi3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : indi3.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : INDI3.DGIBI
  7. * DESCRIPTION : Test elementaire
  8. * On verifie l'egalite entre des indicateurs de
  9. * qualite d'elements calcules par INDI et un recalcul a
  10. * partir des elements propres de la metrique locale
  11. * (Jt M J) calculee avec DEADMETR
  12. *
  13. *
  14. *
  15. * LANGAGE : GIBIANE-CAST3M
  16. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  17. * mel : stephane.gounand@cea.fr
  18. **********************************************************************
  19. * VERSION : v1, 14/04/2026, version initiale
  20. * HISTORIQUE : v1, 14/04/2026, création
  21. * HISTORIQUE :
  22. * HISTORIQUE :
  23. ************************************************************************
  24. *
  25. graph = faux ;
  26. interact = faux ;
  27. *
  28.  
  29. * Mini, mediane et maxi d'un MCHAML
  30. 'DEBP' MIMEMA ;
  31. 'ARGU' ch*'MCHAML' ;
  32. 'ARGU' cmp*'MOT' ;
  33. lr = 'EXTR' (CHGRAV ch) 'VALE' cmp ;
  34. lro = 'ORDO' lr ; dlr = 'DIME' lr ;
  35. mil = 'EXTR' lro 1 ; mal = 'EXTR' lro dlr ;
  36. mel = 'EXTR' lro ('/' ('+' 1 dlr) 2) ;
  37. 'FINP' mil mel mal ;
  38. * Passage au gravite d'un MCHAML
  39. 'DEBP' CHGRAV ch*'MCHAML';
  40. 'FINP' ('CHAN' ch ('MODE' ('EXTR' ch 'MAIL') 'THERMIQUE') 'GRAVITE') ;
  41. * MINI entre 2 MCHAML
  42. 'DEBP' MINICHEL ;
  43. 'ARGU' ch1*'MCHAML' ;
  44. 'ARGU' ch2*'MCHAML' ;
  45. m1 = 'MASQ' ch1 'INFERIEUR' ch2 ;
  46. m2 = '-' 1. m1 ;
  47. minchel = ('*' m1 ch1) '+' ('*' m2 ch2) ;
  48. 'FINP' minchel ;
  49. * Mesure des aretes dans une métrique
  50. 'DEBP' MESUARET ;
  51. 'ARGU' are*'MAILLAGE' ;
  52. 'ARGU' im*'CHPOINT' ;
  53. * Transformation metrique en table
  54. vdim = 'VALE' 'DIME' ;
  55. timet = 'TABL' ;
  56. 'REPE' ii vdim ;
  57. i = &ii ;
  58. timet . i = 'TABL' ;
  59. 'REPE' ij i ;
  60. j = &ij ;
  61. ngij = 'CHAI' 'G' i j ;
  62. timet . i . j = 'MAXI' ('EXCO' ngij im) ;
  63. timet . j . i = timet . i . j ;
  64. 'FIN' ij ;
  65. 'FIN' ii ;
  66. *
  67. laretot = 'PROG' ;
  68. nare = 'NBEL' are ;
  69. 'REPE' iiare nare ;
  70. iare = &iiare ;
  71. ar = 'ELEM' iare are ;
  72. p1 = 'POIN' ar 'INITIAL' ;
  73. p2 = 'POIN' ar 'FINAL' ;
  74. tvec = 'TABL' ;
  75. 'REPE' ii vdim ;
  76. i = &ii ;
  77. tvec . i = '-' ('COOR' i p2) ('COOR' i p1) ;
  78. 'FIN' ii ;
  79. lar2 = 0. ;
  80. 'REPE' ij vdim ; j = &ij ;
  81. 'REPE' ii vdim ; i = &ii ;
  82. lar2 = lar2 '+' ((timet . i . j) '*' (tvec . i) '*' (tvec . j)) ;
  83. 'FIN' ii ;
  84. 'FIN' ij ;
  85. laretot = laretot 'ET' (lar2 '**' 0.5) ;
  86. 'FIN' iiare ;
  87. 'RESP' laretot ;
  88. 'FINP' ;
  89. *
  90. 'SI' ('NON' interact) ;
  91. 'OPTION' 'TRAC' 'PSC' ;
  92. 'SINON' ;
  93. 'OPTION' 'TRAC' 'X' ;
  94. 'FINSI' ;
  95. *
  96. for = '(F7.2)' ;
  97. *
  98. tol = '*' ('VALE' 'PREC') 10. ;
  99. lok = vrai ;
  100. *
  101. hal = 0.5 ; mhal = -0.5 ;
  102. irac3 = '**' 3. -0.5 ;
  103. irac6 = '**' 6. -0.5 ;
  104. 'REPE' iikas 4 ;
  105. *'REPE' iikas 1 ;
  106. ikas = &iikas ;
  107. * ikas = 2 ;
  108. 'SI' ('<EG' ikas 2) ;
  109. 'OPTI' 'DIME' 2 'ELEM' 'TRI3' ;
  110. 'SI' ('EGA' ikas 1) ;
  111. 'MESS' '*********** Triangle equilateral ****************' ;
  112. * Sommet du triangle equilateral
  113. pA = mhal ('*' mhal irac3) ;
  114. pB = hal ('*' mhal irac3) ;
  115. pC = 0. irac3 ;
  116. 'SINO' ;
  117. 'MESS' '*********** Triangle quelconque ****************' ;
  118. pA = 0. 0. ; pB = pi 0. ; pC = ('EXP' 1) ('**' 2. 0.5) ;
  119. 'FINS' ;
  120. ele = 'MANU' 'TRI3' pA pB pC ;
  121. met = 'MANU' 'CHPO' ele 3 'G11' 1.D0 'G22' 3.D0 'G21' 1.4 ;
  122. cmet = 'MANU' 'CHML' ele 'G11' 1.D0 'G22' 3.D0 'G21' 1.4 ;
  123. imet = 'TENS' 'INVE' met ; cimet = 'TENS' 'INVE' cmet ;
  124. metuni = 'MANU' 'CHPO' ele 3 'G11' 1.D0 'G22' 1.D0 'G21' 0.0 ;
  125. cmetuni = 'MANU' 'CHML' ele 'G11' 1.D0 'G22' 1.D0 'G21' 0.0 ;
  126. 'SINO' ;
  127. 'OPTI' 'DIME' 3 'ELEM' 'TET4' ;
  128. 'SI' ('EGA' ikas 3) ;
  129. 'MESS' '*********** Tetraedre equilateral ****************' ;
  130. * Sommet du tetraedre equilateral
  131. pA = mhal ('*' mhal irac3) ('*' mhal irac6) ;
  132. pB = hal ('*' mhal irac3) ('*' mhal irac6) ;
  133. pC = 0. irac3 ('*' mhal irac6) ;
  134. pD = 0. 0. ('*' 1.5 irac6) ;
  135. 'SINO' ;
  136. 'MESS' '*********** Tetraedre quelconque ****************' ;
  137. pA = 0. 0. 0. ; pB = pi 0. 0. ; pC = ('EXP' 1) ('**' 2. 0.5) 0. ;
  138. pD = 1. 1. ('**' 3. 0.5) ;
  139. 'FINS' ;
  140. ele = 'MANU' 'TET4' pA pB pC pD ;
  141. met = 'MANU' 'CHPO' ele 6 'G11' 1.D0 'G22' 3.D0 'G33' 1.4 'G21' 0.14 'G31' 0.16 'G32' 0.15 ;
  142. cmet = 'MANU' 'CHML' ele 'G11' 1.D0 'G22' 3.D0 'G33' 1.4 'G21' 0.14 'G31' 0.16 'G32' 0.15 ;
  143. imet = 'TENS' 'INVE' met ; cimet = 'TENS' 'INVE' cmet ;
  144. metuni = 'MANU' 'CHPO' ele 6 'G11' 1.D0 'G22' 1.D0 'G33' 1.D0 'G21' 0.0 'G31' 0.0 'G32' 0.0 ;
  145. cmetuni = 'MANU' 'CHML' ele 'G11' 1.D0 'G22' 1.D0 'G33' 1.D0 'G21' 0.0 'G31' 0.0 'G32' 0.0 ;
  146.  
  147. 'FINS' ;
  148. vd = 'VALE' 'DIME' ; xvd = 'FLOT' vd ;
  149. *
  150. metele = DEADMETR ele ;
  151. melele = metele ;
  152. melelem = DEADMETR ele imet ;
  153. 'SI' ('OU' ('EGA' ikas 1) ('EGA' ikas 3)) ;
  154. dmet1 = '-' metele cmetuni ; mdmet1 = 'MAXI' dmet1 'ABS' ;
  155. 'SI' ('NEG' mdmet1 0. tol) ; 'MESS' '!!! TEST 1 failed' ; lok = lok 'ET' faux ;
  156. 'SINO' ; 'MESS' ' TEST 1 passed' ; 'FINS' ;
  157. dmet2 = '-' melele cmetuni ; mdmet2 = 'MAXI' dmet2 'ABS' ;
  158. 'SI' ('NEG' mdmet2 0. tol) ; 'MESS' '!!! TEST 2 failed' ; lok = lok 'ET' faux ;
  159. 'SINO' ; 'MESS' ' TEST 2 passed' ; 'FINS' ;
  160. dmet3 = '-' melelem cimet ; mdmet3 = 'MAXI' dmet3 'ABS' ;
  161. 'SI' ('NEG' mdmet3 0. tol) ; 'MESS' '!!! TEST 3 failed' ; lok = lok 'ET' faux ;
  162. 'SINO' ; 'MESS' ' TEST 3 passed' ; 'FINS' ;
  163. 'FINS' ;
  164. *
  165. nomin = 'CHAI' 'SI' vd vd ;
  166. det = 'TENS' 'DET' melele ; tra = 'TENS' 'TRACE' melele ;
  167. vps2 = 'TENS' 'VALP' melele ; vpmax2 = 'EXCO' 'SI11' vps2 'SCAL' ; vpmin2 = 'EXCO' nomin vps2 'SCAL' ;
  168. detm = 'TENS' 'DET' melelem ; tram = 'TENS' 'TRACE' melelem ;
  169. vpsm2 = 'TENS' 'VALP' melelem ; vpmaxm2 = 'EXCO' 'SI11' vpsm2 'SCAL' ; vpminm2 = 'EXCO' nomin vpsm2 'SCAL' ;
  170. 'SI' ('EGA' vd 3) ; vpmoy2 = 'EXCO' 'SI22' vps2 'SCAL' ; vpmoym2 = 'EXCO' 'SI22' vpsm2 'SCAL' ; 'FINS' ;
  171. *
  172. ldet = det '**' (1. '/' (2. '*' vd)) ; ltra = (tra '/' vd) '**' (1. '/' 2.) ;
  173. ldetm = detm '**' (1. '/' (2. '*' vd)) ; ltram = (tram '/' vd) '**' (1. '/' 2.) ;
  174. vpmin = '**' vpmin2 0.5 ; vpmax = '**' vpmax2 0.5 ;
  175. vpminm = '**' vpminm2 0.5 ; vpmaxm = '**' vpmaxm2 0.5 ;
  176. 'SI' ('EGA' vd 3) ; vpmoy = '**' vpmoy2 0.5 ; vpmoym = '**' vpmoym2 0.5 ; 'FINS' ;
  177. 'SI' ('EGA' vd 2) ;
  178. ldet1 = '**' ('*' vpmin vpmax) ('/' 1. vd) ;
  179. ltra1 = '/' ('+' vpmin vpmax) vd ;
  180. ldet1m = '**' ('*' vpminm vpmaxm) ('/' 1. vd) ;
  181. ltra1m = '/' ('+' vpminm vpmaxm) vd ;
  182. lvp1m = 'PROG' ('MAXI' vpmaxm) ('MAXI' vpminm) ;
  183. 'FINS' ;
  184. 'SI' ('EGA' vd 3) ;
  185. ldet1 = '**' ('*' vpmin vpmax '*' vpmoy) ('/' 1. vd) ;
  186. ltra1 = '/' ('+' vpmin vpmax '+' vpmoy) vd ;
  187. ldet1m = '**' ('*' vpminm vpmaxm '*' vpmoym) ('/' 1. vd) ;
  188. ltra1m = '/' ('+' vpminm vpmaxm '+' vpmoym) vd ;
  189. lvp1m = 'PROG' ('MAXI' vpmaxm) ('MAXI' vpmoym) ('MAXI' vpminm) ;
  190. 'FINS' ;
  191. *
  192. * Sans métrique (sans TOPO)
  193. *
  194. inds = 'INDI' 'COHE' 'EQLT' 'DENS' ele ;
  195. cohe1 = 'EXCO' 'COHE' inds 'SCAL' ;
  196. cohe2 = ('/' ldet ltra) '**' ('/' xvd ('-' xvd 1)) ;
  197. dcohe = '-' cohe2 cohe1 ; mdcohe = 'MAXI' dcohe 'ABS' ;
  198. 'SI' ('NEG' mdcohe 0. tol) ; 'MESS' '!!! TEST COHE sans metrique failed' ; lok = lok 'ET' faux ;
  199. 'SINO' ; 'MESS' ' TEST COHE sans metrique passed' ; 'FINS' ;
  200. eqlt1 = 'EXCO' 'EQLT' inds 'SCAL' ;
  201. eqlt2 = cohe2 ;
  202. deqlt = '-' eqlt2 eqlt1 ; mdeqlt = 'MAXI' deqlt 'ABS' ;
  203. 'SI' ('NEG' mdeqlt 0. tol) ; 'MESS' '!!! TEST EQLT sans metrique failed' ; lok = lok 'ET' faux ; 'FINS' ;
  204. 'SINO' ; 'MESS' ' TEST EQLT sans metrique passed' ; 'FINS' ;
  205. dens1 = 'EXCO' 'DENS' inds 'SCAL' ;
  206. dens2 = ldet ;
  207. ddens = '-' dens2 dens1 ; mddens = 'MAXI' ddens 'ABS' ;
  208. 'SI' ('NEG' mddens 0. tol) ; 'MESS' '!!! TEST DENS sans metrique failed' ; lok = lok 'ET' faux ; 'FINS' ;
  209. 'SINO' ; 'MESS' ' TEST DENS sans metrique passed' ; 'FINS' ;
  210. *
  211. * Avec métrique (sans TOPO)
  212. *
  213. indsm = 'INDI' 'COHE' 'EQLT' 'DENS' ele imet ;
  214. cohe1m = 'EXCO' 'COHE' indsm 'SCAL' ;
  215. cohe2m = ('/' ldetm ltram) '**' ('/' xvd ('-' xvd 1)) ;
  216. dcohem = '-' cohe2m cohe1m ; mdcohem = 'MAXI' dcohem 'ABS' ;
  217. 'SI' ('NEG' mdcohem 0. tol) ; 'MESS' '!!! TEST COHE avec metrique failed' ; lok = lok 'ET' faux ;
  218. 'SINO' ; 'MESS' ' TEST COHE avec metrique passed' ; 'FINS' ;
  219. eqlt1m = 'EXCO' 'EQLT' indsm 'SCAL' ;
  220. eqlt2m = cohe2 ;
  221. deqltm = '-' eqlt2m eqlt1m ; mdeqltm = 'MAXI' deqltm 'ABS' ;
  222. 'SI' ('NEG' mdeqltm 0. tol) ; 'MESS' '!!! TEST EQLT avec metrique failed' ; lok = lok 'ET' faux ;
  223. 'SINO' ; 'MESS' ' TEST EQLT avec metrique passed' ; 'FINS' ;
  224. dens1m = 'EXCO' 'DENS' indsm 'SCAL' ;
  225. dens2m = ldetm ;
  226. ddensm = '-' dens2m dens1m ; mddensm = 'MAXI' ddensm 'ABS' ;
  227. 'SI' ('NEG' mddensm 0. tol) ; 'MESS' '!!! TEST DENS avec metrique failed' ; lok = lok 'ET' faux ;
  228. 'SINO' ; 'MESS' ' TEST DENS avec metrique passed' ; 'FINS' ;
  229. *
  230. * TOPO (sans metrique)
  231. *
  232. * icrit=0 (Coupez)
  233. indsm = 'INDI' 'TOPO' ele ('PROG' 0 -3. -3.) ;
  234. icrit0 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  235. * xcoq = n! sqrt(2^n/(n+1))
  236. xcoq= (FACTORIE vd) '*' ('**' ('/' ('**' 2. vd) ('+' vd 1.)) 0.5) ;
  237. are = 'CHAN' ele 'LIGN' ;
  238. * xlaari = '/' ('MESU' are) ('NBEL' are) ;
  239. mare = MESUARET are metuni ;
  240. xlaari = '/' ('SOMM' mare) ('DIME' mare) ;
  241. icrit0b = '/' ('**' ('*' ('MESU' ele) xcoq) ('/' 1. vd)) xlaari ;
  242. dicrit0 = '-' icrit0b icrit0 ; mdicrit0 = 'MAXI' dicrit0 'ABS' ;
  243. 'SI' ('NEG' mdicrit0 0. tol) ; 'MESS' '!!! TEST TOPO 0 sans metrique failed' ; lok = lok 'ET' faux ;
  244. 'SINO' ; 'MESS' ' TEST TOPO 0 sans metrique passed' ; 'FINS' ;
  245. * icrit=1 (XALIN2)
  246. indsm = 'INDI' 'TOPO' ele ('PROG' 1 -3. -3.) ;
  247. icrit1 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  248. icrit1b = cohe2 ;
  249. dicrit1 = '-' icrit1b icrit1 ; mdicrit1 = 'MAXI' dicrit1 'ABS' ;
  250. 'SI' ('NEG' mdicrit1 0. tol) ; 'MESS' '!!! TEST TOPO 1 sans metrique failed' ; lok = lok 'ET' faux ;
  251. 'SINO' ; 'MESS' ' TEST TOPO 1 sans metrique passed' ; 'FINS' ;
  252. * icrit=2 (XALIN1)
  253. indsm = 'INDI' 'TOPO' ele ('PROG' 2 -3. -3.) ;
  254. icrit2 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  255. icrit2b = ('/' ldet1 ltra1) '**' ('/' xvd ('-' xvd 1)) ;
  256. dicrit2 = '-' icrit2b icrit2 ; mdicrit2 = 'MAXI' dicrit2 'ABS' ;
  257. 'SI' ('NEG' mdicrit2 0. tol) ; 'MESS' '!!! TEST TOPO 2 sans metrique failed' ; lok = lok 'ET' faux ;
  258. 'SINO' ; 'MESS' ' TEST TOPO 2 sans metrique passed' ; 'FINS' ;
  259. * icrit=3 (lmin/lmax)
  260. indsm = 'INDI' 'TOPO' ele ('PROG' 3 -3. -3.) ;
  261. icrit3 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  262. icrit3b = '/' vpmin vpmax ;
  263. dicrit3 = '-' icrit3b icrit3 ; mdicrit3 = 'MAXI' dicrit3 'ABS' ;
  264. 'SI' ('NEG' mdicrit3 0. tol) ; 'MESS' '!!! TEST TOPO 3 sans metrique failed' ; lok = lok 'ET' faux ;
  265. 'SINO' ; 'MESS' ' TEST TOPO 3 sans metrique passed' ; 'FINS' ;
  266. *
  267. * TOPO (avec metrique)
  268. *
  269. ljcrit = 'LECT' 0 1 2 3 ;
  270. tjcrit = 'TABL' ;
  271. tjcrit . 0 = 'Coupez' ;
  272. tjcrit . 3 = 'lmin/lmax' ;
  273. tjcrit . 1 = 'XALIN2' ;
  274. tjcrit . 2 = 'XALIN1' ;
  275. 'REPE' iilj ('DIME' ljcrit) ;
  276. jcrit = 'EXTR' ljcrit &iilj ;
  277. 'MESS' '**** Critere j=' jcrit ' (' (tjcrit . jcrit) ')' ;
  278. 'REPE' iicrit 2 ;
  279. icrit = &iicrit ;
  280. 'SI' ('EGA' icrit 1) ;
  281. pcrit = 1. ; qcrit = 1. ;
  282. 'SINO' ;
  283. pcrit = 10. ; qcrit = 3. ;
  284. 'FINS' ;
  285. 'MESS' ' avec p=' pcrit ' et q=' qcrit ;
  286. * Qualite
  287. jcritt = '+' jcrit 100 ;
  288. indsm = 'INDI' 'TOPO' ele imet ('PROG' jcritt pcrit qcrit) ;
  289. jcrit100 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  290. jcrit100b = ' ' ;
  291. 'SI' ('EGA' jcrit 0) ;
  292. * xcoq = n! sqrt(2^n/(n+1))
  293. xcoq= (FACTORIE vd) '*' ('**' ('/' ('**' 2. vd) ('+' vd 1.)) 0.5) ;
  294. are = 'CHAN' ele 'LIGN' ;
  295. mare = MESUARET are imet ;
  296. xlaari = '/' ('SOMM' mare) ('DIME' mare) ;
  297. dimet = '**' ('MAXI' ('TENS' 'DET' imet)) 0.5D0 ;
  298. jcrit100b = '/' ('**' ('*' ('*' ('MESU' ele) dimet) xcoq) ('/' 1. vd)) xlaari ;
  299. 'FINS' ;
  300. 'SI' ('EGA' jcrit 3) ;
  301. jcrit100b = '/' vpminm vpmaxm ;
  302. 'FINS' ;
  303. 'SI' ('EGA' jcrit 1) ;
  304. jcrit100b = cohe2m ;
  305. 'FINS' ;
  306. 'SI' ('EGA' jcrit 2) ;
  307. jcrit100b = ('/' ldet1m ltra1m) '**' ('/' xvd ('-' xvd 1)) ;
  308. 'FINS' ;
  309. jcrit100b = '**' jcrit100b ('/' 1. qcrit) ;
  310. djcrit100 = '-' jcrit100b jcrit100 ; mdjcrit100 = 'MAXI' djcrit100 'ABS' ;
  311. 'SI' ('NEG' mdjcrit100 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ;
  312. 'SINO' ; 'MESS' ' TEST TOPO' ' ' jcritt ' avec metrique passed' ; 'FINS' ;
  313. * Longueur
  314. jcritt = '+' jcrit 200 ;
  315. indsm = 'INDI' 'TOPO' ele imet ('PROG' jcritt pcrit qcrit) ;
  316. jcrit200 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  317. jcrit200b = ' ' ;
  318. 'SI' ('EGA' jcrit 0) ;
  319. jcrit200b = 'AGRE' 'PMOY' mare pcrit 'ROBU' ;
  320. 'SINO' ;
  321. jcrit200b = 'AGRE' 'PMOY' lvp1m pcrit 'ROBU' ;
  322. 'FINS' ;
  323. djcrit200 = '-' jcrit200b jcrit200 ; mdjcrit200 = 'MAXI' djcrit200 'ABS' ;
  324. 'SI' ('NEG' mdjcrit200 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ;
  325. 'SINO' ; 'MESS' ' TEST TOPO' ' ' jcritt ' avec metrique passed' ; 'FINS' ;
  326. * Longueur Inverse
  327. jcritt = '+' jcrit 300 ;
  328. indsm = 'INDI' 'TOPO' ele imet ('PROG' jcritt pcrit qcrit) ;
  329. jcrit300 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  330. jcrit300b = 1.D0 '/' jcrit200b ;
  331. djcrit300 = '-' jcrit300b jcrit300 ; mdjcrit300 = 'MAXI' djcrit300 'ABS' ;
  332. 'SI' ('NEG' mdjcrit300 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ;
  333. 'SINO' ; 'MESS' ' TEST TOPO' ' ' jcritt ' avec metrique passed' ; 'FINS' ;
  334. * Total
  335. jcritt = jcrit ;
  336. indsm = 'INDI' 'TOPO' ele imet ('PROG' jcritt pcrit qcrit) ;
  337. jcrit0 = 'EXCO' 'TOPO' indsm 'SCAL' ;
  338. jcrit0b = 'MINI' ('PROG' ('MAXI' jcrit100b) jcrit200b jcrit300b) ;
  339. djcrit0 = '-' jcrit0b jcrit0 ; mdjcrit0 = 'MAXI' djcrit0 'ABS' ;
  340. 'SI' ('NEG' mdjcrit0 0. tol) ; 'MESS' '!!! TEST TOPO' ' ' jcritt ' avec metrique failed' ; lok = lok 'ET' faux ;
  341. 'SINO' ; 'MESS' ' TEST TOPO' ' ' jcritt ' avec metrique passed' ; 'FINS' ;
  342. 'FIN' iicrit ;
  343. 'FIN' iilj ;
  344. 'FIN' iikas ;
  345. *
  346. 'SI' ('NON' lok) ;
  347. 'MESSAGE' ('CHAINE' '!!! Il y a eu des erreurs') ;
  348. 'SINON' ;
  349. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  350. 'FINSI' ;
  351. *
  352. 'OPTI' echo 1 ;
  353. 'SI' interact ;
  354. 'OPTI' 'DONN' 5 ;
  355. 'FINS' ;
  356. 'SI' ('NON' lok) ;
  357. 'ERRE' 5 ;
  358. 'FINS' ;
  359.  
  360. *
  361. * End of dgibi file INDI3.DGIBI
  362. *
  363. 'FIN' ;
  364.  
  365.  
  366.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales