Télécharger nlin-mchaml.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : nlin-mchaml.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTION' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : NLIN-MCHAML
  7. * DESCRIPTION : Un cas-test où on donne et on reçoit des MCHAMLs
  8. * avec NLIN
  9. *
  10. *
  11. *
  12. * LANGAGE : GIBIANE-CAST3M
  13. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  14. * mel : stephane.gounand@cea.fr
  15. **********************************************************************
  16. * VERSION : v1, 18/05/2021, version initiale
  17. * HISTORIQUE : v1, 18/05/2021, création
  18. * HISTORIQUE :
  19. * HISTORIQUE :
  20. ************************************************************************
  21. *
  22. *
  23. interact= faux ;
  24. graph = faux ;
  25. *
  26. ************************************************************************
  27. * NOM : EGARIG
  28. * DESCRIPTION : Regarde si deux matrices sont égales a une tolerance
  29. * tol près.
  30. *
  31. *
  32. *
  33. * LANGAGE : GIBIANE-CAST3M
  34. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  35. * mail : stephane.gounand@cea.fr
  36. **********************************************************************
  37. * VERSION : v1, 19/05/2021, version initiale
  38. * HISTORIQUE : v1, 19/05/2021, creation
  39. * HISTORIQUE :
  40. * HISTORIQUE :
  41. ************************************************************************
  42. *
  43. 'DEBPROC' EGARIG ;
  44. 'ARGUMENT' rig1*'RIGIDITE' ;
  45. 'ARGUMENT' rig2*'RIGIDITE' ;
  46. 'ARGU' tol/'FLOTTANT' ;
  47. 'SI' ('NON' ('EXIS' tol)) ;
  48. tol = '*' ('VALE' 'PREC') 10. ;
  49. 'FINS' ;
  50. *
  51. cmm1 = 'CHPO' uniforme rig1 1. ;
  52. cmm2 = 'CHPO' uniforme rig2 1. ;
  53. lok = vrai ;
  54. dcmm = 'MAXI' 'ABS' ('-' cmm1 cmm2) ;
  55. *'MESS' 'dcmm, tol=' dcmm tol ;
  56. tst = ('<' dcmm tol) ;
  57. lok = lok 'ET' tst ;
  58. comps = 'EXTR' cmm1 'COMP' ;
  59. ncomps = 'DIME' comps ;
  60. 'REPE' icomp ncomps ;
  61. com = 'EXTR' comps &icomp ;
  62. * 'MESS' 'Composante i=' &icomp ' ' com ;
  63. cmmc = 'EXCO' com cmm1 ;
  64. nodes = 'EXTR' cmmc 'MAIL' ;
  65. nnodes = 'NBNO' nodes ;
  66. 'REPE' inode nnodes ;
  67. nod = 'POIN' nodes &inode ;
  68. * 'MESS' ' noeu i=' &inode ' ' ('NOEU' nod) ;
  69. ch1 = 'MANU' 'CHPO' nod 1 com 1. ;
  70. lig1 = '*' rig1 ch1 ;
  71. lig2 = '*' rig2 ch1 ;
  72. dlig = 'MAXI' 'ABS' ('-' lig1 lig2) ;
  73. * 'MESS' ' dlig, tol=' dlig tol ;
  74. tst = ('<' dlig tol) ;
  75. lok = lok 'ET' tst ;
  76. 'FIN' inode ;
  77. 'FIN' icomp ;
  78. *
  79. 'RESPRO' lok ;
  80. *
  81. * End of procedure file EGARIG
  82. *
  83. 'FINPROC' ;
  84. *
  85. *
  86. ************************************************************************
  87. * NOM : MASSS
  88. * DESCRIPTION : Matrice de masse scalaire avec NLIN
  89. *
  90. *
  91. *
  92. * LANGAGE : GIBIANE-CAST3M
  93. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  94. * mail : stephane.gounand@cea.fr
  95. **********************************************************************
  96. * VERSION : v1, 06/11/2024, version initiale
  97. * HISTORIQUE : v1, 06/11/2024, creation
  98. * HISTORIQUE :
  99. * HISTORIQUE :
  100. ************************************************************************
  101. *
  102. 'DEBP' MASSS ;
  103. 'ARGU' mm*'MAILLAGE' ;
  104. 'ARGU' discgeo*'MOT' ;
  105. tcle = 'TABL' ;
  106. * Lecture mots cles valeur
  107. lmocle = 'MOTS' 'NPRI' 'NDUA' 'NCOF' 'VPRI' 'VDUA' 'VCOF' 'MCHA' ;
  108. 'REPE' bcle ;
  109. 'ARGU' mocle/'MOT' ;
  110. 'SI' ('NON' ('EXIS' mocle)) ;
  111. 'QUIT' bcle ;
  112. 'SINO' ;
  113. 'SI' ('EXIS' lmocle mocle) ;
  114. 'ARGU' vcle ;
  115. tcle . mocle = vcle ;
  116. 'SINO' ;
  117. 'ERRE' 1052 'AVEC' ('CHAI' mocle 'NPRI NDUA NCOF VPRI VDUA VCOF') ;
  118. 'FINS' ;
  119. 'FINS' ;
  120. 'FIN' bcle ;
  121. *
  122. numop = 1 ; numvar = 1 ; numdat = 0 ;
  123. numcof = 0 ;
  124. numder = ('VALEUR' 'DIME') ;
  125. *
  126. A = ININLIN numop numvar numdat numcof numder ;
  127. A . 'VAR' . 1 . 'NOMDDL' = 'SCAL' ;
  128. A . 'VAR' . 1 . 'DISC' = tcle . 'NPRI' ;
  129. 'SI' ('EXIS' tcle 'VPRI') ;
  130. A . 'VAR' . 1 . 'VALEUR' = tcle . 'VPRI' ;
  131. 'FINS' ;
  132. A . 1 . 1 . 0 = 0 ;
  133. *
  134. lcof = 'EXIS' tcle 'NCOF' ;
  135. 'SI' lcof ; numdat = 1 ; numcof = 1 ; 'FINS' ;
  136. B = ININLIN numop numvar numdat numcof numder ;
  137. B . 'VAR' . 1 . 'NOMDDL' = 'SCAL' ;
  138. B . 'VAR' . 1 . 'DISC' = tcle . 'NDUA' ;
  139. 'SI' ('EXIS' tcle 'VDUA') ;
  140. B . 'VAR' . 1 . 'VALEUR' = tcle . 'VDUA' ;
  141. 'FINS' ;
  142. 'SI' lcof ;
  143. B . 'DAT' . 1 . 'NOMDDL' = 'SCAL' ;
  144. B . 'DAT' . 1 . 'DISC' = tcle . 'NCOF' ;
  145. B . 'DAT' . 1 . 'VALEUR' = tcle . 'VCOF' ;
  146. B . 'COF' . 1 . 'COMPOR' = 'IDEN' ;
  147. B . 'COF' . 1 . 'LDAT' = 1 ;
  148. icof = 1 ;
  149. 'SINO' ;
  150. icof = 0 ;
  151. 'FINS' ;
  152. B . 1 . 1 . 0 = icof ;
  153. *
  154. mocham = 'CHAI' 'CHPO' ;
  155. lcham = 'EXIS' tcle 'MCHA' ;
  156. 'SI' lcham ;
  157. vcham = tcle . 'MCHA' ;
  158. 'SI' vcham ; mocham = 'CHAM' ; 'FINS' ;
  159. 'FINS' ;
  160. mat = 'NLIN' discgeo mm A B mocham 'GAM2' ;
  161. 'RESP' mat ;
  162. 'FINP' ;
  163. ************************************************************************
  164. *
  165. * Début de jeu de données
  166. *
  167. ************************************************************************
  168. 'SI' ('NON' interact) ;
  169. 'OPTION' 'TRAC' 'PSC' ;
  170. 'SINON' ;
  171. 'OPTION' 'TRAC' 'X' ;
  172. 'FINSI' ;
  173. *
  174. 'REPE' iidim 3 ;
  175. idim = &iidim ;
  176. 'SI' ('EGA' idim 1) ;
  177. 'OPTION' 'DIME' 1 'ELEM' 'SEG2' ;
  178. 'FINS' ;
  179. 'SI' ('EGA' idim 2) ;
  180. 'OPTION' 'DIME' 2 'ELEM' 'QUA4' ;
  181. 'FINS' ;
  182. 'SI' ('EGA' idim 3) ;
  183. 'OPTION' 'DIME' 3 'ELEM' 'CUB8' ;
  184. 'FINS' ;
  185.  
  186. vdim = 'VALE' 'DIME' ;
  187. 'MESS' 'vdim=' vdim ;
  188. 'SI' ('EGA' vdim 1) ;
  189. nx = 3 ;
  190. pA = 'POIN' 0. ; pB = 'POIN' 1. ;
  191. mt = 'DROI' nx pA pB ;
  192. _mt = 'CHANGER' mt 'QUAF' ;
  193. xcoo = '**' ('COOR' _mt) 1.5 ;
  194. 'FINS' ;
  195. 'SI' ('EGA' vdim 2) ;
  196. p1 = 0. 0. ; p2 =1. 0. ;
  197. l1 = 'DROI' 2 p1 p2 ;
  198. mt1 = 'TRAN' l1 1 (0. 1.) ;
  199. mt11 = 'ELEM' mt1 1 ;
  200. mt12 = 'DIFF' mt1 mt11 ;
  201. mt11 = 'CHAN' 'TRI3' mt11 ;
  202. mt = 'ET' mt11 mt12 ;
  203. _mt = 'CHANGER' mt 'QUAF' ;
  204. xcoo = '*' ('**' ('COOR' 1 _mt) 1.5) ('**' ('COOR' 2 _mt) 1.3) ;
  205. 'FINS' ;
  206. *
  207. * Plus tard, quand les QUAF 3Ds marcheront mieux, il faudra faire un
  208. * maillage avec plusieurs types d'éléments.
  209. *
  210. 'SI' ('EGA' vdim 3) ;
  211. p1 = 0. 0. 0. ; p2 =1. 0. 0. ;
  212. l1 = 'DROI' 1 p1 p2 ;
  213. mts = 'TRAN' l1 1 (0. 1. 0.) ;
  214. l1 = 'DROI' 2 p1 p2 ;
  215. mt1 = 'TRAN' l1 1 (0. 1. 0.) ;
  216. mt11 = 'ELEM' mt1 1 ;
  217. mt12 = 'DIFF' mt1 mt11 ;
  218. mt11 = 'CHAN' 'TRI3' mt11 ;
  219. mts = 'ET' mt11 mt12 ;
  220. mt = 'VOLU' mts 1 'TRAN' (0. 0. 1.) ;
  221.  
  222. * p3 = 0. 1. 0. ; p4 =0. 0. 1. ;
  223. * mt = 'VOLU' ('MANU' 'TRI3' p1 p2 p3) 1 'TRAN' p4 ;
  224.  
  225. _mt = 'CHANGER' mt 'QUAF' ;
  226. xcoo = ('**' ('COOR' 1 _mt) 1.5)
  227. '+' ('**' ('COOR' 2 _mt) 1.3)
  228. '+' ('**' ('COOR' 3 _mt) 1.741)
  229. ;
  230. 'FINS' ;
  231. *
  232. 'SI' graph ;
  233. 'TRACER' mt 'NOEUD' 'TITRE' ('CHAINE' 'Maillage') ;
  234. 'FINSI' ;
  235. *
  236. *
  237. * Des tests
  238. *
  239. lok = vrai ;
  240. discg = 'LINE' ;
  241. *
  242. * Test 0 matrices avec tout en LINE
  243. *
  244. mtl = 'CHAN' _mt 'LINE' ;
  245. xcool = 'REDU' xcoo mtl ;
  246. ccofl = 'CHAN' 'CHAM' xcool mtl ;
  247. *'LIST' ccof ;
  248. mmassa = MASSS mtl discg 'NPRI' 'LINE' 'NDUA' 'LINE'
  249. 'NCOF' 'LINE' 'VCOF' ccofl ;
  250. mmassb = MASSS _mt discg 'NPRI' 'LINE' 'NDUA' 'LINE'
  251. 'NCOF' 'LINE' 'VCOF' xcoo ;
  252. tst = egarig mmassa mmassb ;
  253. 'SI' ('NON' tst) ; 'MESS' '!!! Test 0 rate' ; 'FINS' ;
  254. lok = lok 'ET' tst ;
  255. *
  256. * Test 0 bis matrices avec tout en QUAI
  257. *
  258. mtq = 'CHAN' _mt 'QUAD' ;
  259. xcooq = 'REDU' xcoo mtq ;
  260. ccofq = 'CHAN' 'CHAM' xcooq mtq ;
  261. *'LIST' ccof ;
  262. mmassc = MASSS mtq discg 'NPRI' 'QUAI' 'NDUA' 'QUAI'
  263. 'NCOF' 'QUAI' 'VCOF' ccofq ;
  264. mmassd = MASSS _mt discg 'NPRI' 'QUAI' 'NDUA' 'QUAI'
  265. 'NCOF' 'QUAI' 'VCOF' xcoo ;
  266. tst = egarig mmassc mmassd ;
  267. 'SI' ('NON' tst) ; 'MESS' '!!! Test 0 bis rate' ; 'FINS' ;
  268. lok = lok 'ET' tst ;
  269. *
  270. * Test 0 ter matrices un petit mix
  271. *
  272. mmasse = MASSS mtq discg 'NPRI' 'QUAI' 'NDUA' 'QUAI'
  273. 'NCOF' 'LINE' 'VCOF' ccofl ;
  274. mmassf = MASSS _mt discg 'NPRI' 'QUAI' 'NDUA' 'QUAI'
  275. 'NCOF' 'LINE' 'VCOF' xcoo ;
  276. tst = egarig mmasse mmassf ;
  277. 'SI' ('NON' tst) ; 'MESS' '!!! Test 0 ter rate' ; 'FINS' ;
  278. lok = lok 'ET' tst ;
  279. *
  280. * Test 1 matrices avec un coefficient QUAF
  281. *
  282. *ccof = 'MANU' 'CHML' _mt 'SCAL' 1.D0 ;
  283. ccof = 'CHAN' 'CHAM' xcoo _mt ;
  284. *'LIST' ccof ;
  285. mmass1 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  286. 'NCOF' 'QUAF' 'VCOF' ccof ;
  287. mmass2 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  288. 'NCOF' 'QUAF' 'VCOF' xcoo ;
  289. tst = egarig mmass1 mmass2 ;
  290. 'SI' ('NON' tst) ; 'ERRE' '!!! Test 1 rate' ; 'FINS' ;
  291. lok = lok 'ET' tst ;
  292. *
  293. * Test 1bis matrices avec un coefficient QUAD (QUAI en terminologie NLIN)
  294. *
  295. mtb = 'CHAN' _mt 'QUAD' ;
  296. xcoob = 'REDU' xcoo mtb ;
  297. ccofb = 'CHAN' 'CHAM' xcoob mtb ;
  298. *'LIST' ccof ;
  299. mmass1b = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  300. 'NCOF' 'QUAI' 'VCOF' ccofb ;
  301. mmass2b = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  302. 'NCOF' 'QUAI' 'VCOF' xcoob ;
  303. tst = egarig mmass1b mmass2b ;
  304. 'SI' ('NON' tst) ; 'MESS' '!!! Test 1bis rate' ; 'FINS' ;
  305. lok = lok 'ET' tst ;
  306. *
  307. * Test 1ter matrices avec un coefficient LINE
  308. *
  309. mtc = 'CHAN' _mt 'LINE' ;
  310. xcooc = 'REDU' xcoo mtc ;
  311. ccofc = 'CHAN' 'CHAM' xcooc mtc ;
  312. *'LIST' ccof ;
  313. mmass1c = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  314. 'NCOF' 'LINE' 'VCOF' ccofc ;
  315. mmass2c = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  316. 'NCOF' 'LINE' 'VCOF' xcooc ;
  317. tst = egarig mmass1c mmass2c ;
  318. 'SI' ('NON' tst) ; 'MESS' '!!! Test 1ter rate' ; 'FINS' ;
  319. lok = lok 'ET' tst ;
  320. *
  321. * Test 2 matrices avec un coefficient QUAF qui a ete moyenne avec chan
  322. * gravite (constant par maille)
  323. *
  324. modmec = 'MODE' _mt 'MECANIQUE' ;
  325. ccof = 'CHAN' 'CHAM' xcoo _mt ;
  326. ccof2 = 'CHAN' 'CHAM' ccof modmec 'GRAVITE' ;
  327. *'LIST' ccof2 ;
  328. mmass3 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  329. 'NCOF' 'QUAF' 'VCOF' ccof2 ;
  330. ccof3 = 'CHAN' 'CHAM' ccof2 modmec 'NOEUD' ;
  331. mmass4 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  332. 'NCOF' 'QUAF' 'VCOF' ccof3 ;
  333. tst = egarig mmass3 mmass4 ;
  334. 'SI' ('NON' tst) ; 'MESS' '!!! Test 2 rate' ; 'FINS' ;
  335. lok = lok 'ET' tst ;
  336. *
  337. * Test 2b matrices avec un coefficient QUAI qui a ete moyenne avec chan
  338. * gravite (constant par maille)
  339. *
  340. modmecq = 'MODE' mtq 'MECANIQUE' ;
  341. ccofqg = 'CHAN' 'CHAM' ccofq modmecq 'GRAVITE' ;
  342. ccof2 = ccofqg ;
  343. *'LIST' ccof2 ;
  344. mmass3 = MASSS mtq discg 'NPRI' 'QUAI' 'NDUA' 'QUAI'
  345. 'NCOF' 'QUAI' 'VCOF' ccof2 ;
  346. ccof3 = 'CHAN' 'CHAM' ccof2 modmecq 'NOEUD' ;
  347. mmass4 = MASSS _mt discg 'NPRI' 'QUAI' 'NDUA' 'QUAI'
  348. 'NCOF' 'QUAI' 'VCOF' ccof3 ;
  349. tst = egarig mmass3 mmass4 ;
  350. 'SI' ('NON' tst) ; 'MESS' '!!! Test 2b rate' ; 'FINS' ;
  351. lok = lok 'ET' tst ;
  352. *
  353. * Test 2c matrices avec un coefficient LINE qui a ete moyenne avec chan
  354. * gravite (constant par maille)
  355. *
  356. modmecl = 'MODE' mtl 'MECANIQUE' ;
  357. ccoflg = 'CHAN' 'CHAM' ccofl modmecl 'GRAVITE' ;
  358. ccof2 = ccoflg ;
  359. *'LIST' ccof2 ;
  360. mmass3 = MASSS mtq discg 'NPRI' 'LINE' 'NDUA' 'LINE'
  361. 'NCOF' 'LINE' 'VCOF' ccof2 ;
  362. mmass3b = MASSS mtl discg 'NPRI' 'LINE' 'NDUA' 'LINE'
  363. 'NCOF' 'LINE' 'VCOF' ccof2 ;
  364. ccof3 = 'CHAN' 'CHAM' ccof2 modmecl 'NOEUD' ;
  365. mmass4 = MASSS _mt discg 'NPRI' 'LINE' 'NDUA' 'LINE'
  366. 'NCOF' 'LINE' 'VCOF' ccof3 ;
  367. tst = egarig mmass3 mmass4 ;
  368. 'SI' ('NON' tst) ; 'MESS' '!!! Test 2c1 rate' ; 'FINS' ;
  369. lok = lok 'ET' tst ;
  370. tst = egarig mmass3b mmass4 ;
  371. 'SI' ('NON' tst) ; 'MESS' '!!! Test 2c2 rate' ; 'FINS' ;
  372. lok = lok 'ET' tst ;
  373. *
  374. * Test 3 matrices avec un coefficient uniforme sur le maillage
  375. *
  376. ccof = 'MANU' 'CHML' _mt 'SCAL' PI ;
  377. mmass5 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  378. 'NCOF' 'QUAF' 'VCOF' ccof ;
  379. mmass6 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF'
  380. 'NCOF' 'QUAF' 'VCOF' PI ;
  381. tst = egarig mmass5 mmass6 ;
  382. 'SI' ('NON' tst) ; 'MESS' '!!! Test 3 rate' ; 'FINS' ;
  383. lok = lok 'ET' tst ;
  384. *
  385. * Test 4, 5, 6 matrice avec la donnée de la primale et sortie CHAMELEM
  386. *
  387. mas = 'MESU' _mt ; vprec = ('VALE' 'PREC') '*' 3. ;
  388. *
  389. cmass1 = MASSS _mt discg 'NPRI' 'QUAF' 'VPRI' 1. 'NDUA' 'QUAF'
  390. 'MCHA' vrai ;
  391. cmass1b = MASSS _mt discg 'NPRI' 'QUAF' 'VPRI' 1. 'NDUA' 'QUAF'
  392. 'MCHA' faux ;
  393. ccm1 = 'CHAN' 'CHPO' modmec cmass1 'SOMM' ;
  394. mas1 = 'MAXI' ('RESU' ccm1) ;
  395. tst = 'EGA' mas1 mas vprec ;
  396. 'SI' ('NON' tst) ; 'MESS' '!!! Test 4 rate' ; 'FINS' ;
  397. lok = lok 'ET' tst ;
  398. dcm1 = 'MAXI' ('-' ccm1 cmass1b) 'ABS' ;
  399. tst = 'EGA' dcm1 0. vprec ;
  400. 'SI' ('NON' tst) ; 'MESS' '!!! Test 4 precis rate' ; 'FINS' ;
  401. lok = lok 'ET' tst ;
  402. *
  403. cmass2 = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF' 'VDUA' 1.D0
  404. 'MCHA' vrai ;
  405. cmass2b = MASSS _mt discg 'NPRI' 'QUAF' 'NDUA' 'QUAF' 'VDUA' 1.D0
  406. 'MCHA' faux ;
  407. ccm2 = 'CHAN' 'CHPO' modmec cmass2 'SOMM' ;
  408. mas2 = 'MAXI' ('RESU' ccm2) ;
  409. tst = 'EGA' mas2 mas vprec ;
  410. 'SI' ('NON' tst) ; 'MESS' '!!! Test 5 rate' ; 'FINS' ;
  411. lok = lok 'ET' tst ;
  412. dcm2 = 'MAXI' ('-' ccm2 cmass2b) 'ABS' ;
  413. tst = 'EGA' dcm2 0. vprec ;
  414. 'SI' ('NON' tst) ; 'MESS' '!!! Test 5 precis rate' ; 'FINS' ;
  415. lok = lok 'ET' tst ;
  416. *
  417. cmass3 = MASSS _mt discg 'NPRI' 'QUAF' 'VPRI' 1.D0 'NDUA' 'QUAF' 'VDUA' 1.D0
  418. 'MCHA' vrai ;
  419. cmass3b = MASSS _mt discg 'NPRI' 'QUAF' 'VPRI' 1.D0 'NDUA' 'QUAF' 'VDUA' 1.D0
  420. 'MCHA' faux ;
  421. cm32 = 'CHAN' 'CHAM' cmass3 modmec 'GRAVITE' 'SCALAIRE' ;
  422. ccm3 = 'CHAN' 'CHPO' modmec cm32 'SUPP' ;
  423. mas3 = 'MAXI' ('RESU' ccm3) ;
  424. tst = 'EGA' mas3 mas vprec ;
  425. 'SI' ('NON' tst) ; 'MESS' '!!! Test 6 rate' ; 'FINS' ;
  426. lok = lok 'ET' tst ;
  427. m3b = 'EXTR' cmass3b 'MAIL' ;
  428. m3 = 'EXTR' ccm3 'MAIL' ;
  429. 'ELIM' ('ET' m3 m3b) 1.d-6 ;
  430. dcm3 = 'MAXI' ('-' ccm3 cmass3b) 'ABS' ;
  431. tst = 'EGA' dcm3 0. vprec ;
  432. 'SI' ('NON' tst) ; 'MESS' '!!! Test 6 precis rate' ; 'FINS' ;
  433. lok = lok 'ET' tst ;
  434. *
  435. * Fin boucle sur la dimension
  436. *
  437. 'FIN' iidim ;
  438. *
  439. * Test final
  440. *
  441. 'SI' ('NON' lok) ;
  442. 'ERREUR' 5 ;
  443. 'SINON' ;
  444. 'SAUT' 1 'LIGN' ;
  445. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  446. 'FINSI' ;
  447. *
  448. 'SI' interact ;
  449. 'OPTION' 'ECHO' 1 ;
  450. 'OPTION' 'DONN' 5 ;
  451. 'FINSI' ;
  452.  
  453. *
  454. * End of dgibi file NLIN-MCHAML
  455. *
  456. 'FIN' ;
  457.  
  458.  
  459.  

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