Télécharger mato-3d1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mato-3d1.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTION' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : MATO-3D1
  7. * DESCRIPTION : Test du MAilleur TOpologique pour mailler un simple
  8. * cube 5x5x5 de manière régulière.
  9. *
  10. * On teste la qualité des éléments obtenus.
  11. * On améliore un peu la qualité du maillage obtenu
  12. * avec une boucle entre r-adaptation (DEDU ADAP) et
  13. * remaillage.
  14. *
  15. * Issu de 2d_1.dgibi+tests
  16. *
  17. *
  18. * LANGAGE : GIBIANE-CAST3M
  19. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA)
  20. * mél : stephane.gounand@cea.fr
  21. **********************************************************************
  22. * VERSION : v1, 20/01/2026, version initiale
  23. * HISTORIQUE : v1, 20/01/2026, création
  24. * HISTORIQUE :
  25. * HISTORIQUE :
  26. ************************************************************************
  27. *
  28. interact = faux ;
  29. graph = faux ;
  30. * Mini, mediane et maxi d'un MCHAML
  31. 'DEBP' MIMEMA ;
  32. 'ARGU' ch*'MCHAML' ;
  33. 'ARGU' cmp*'MOT' ;
  34. lr = 'EXTR' (CHGRAV ch) 'VALE' cmp ;
  35. lro = 'ORDO' lr ; dlr = 'DIME' lr ;
  36. mil = 'EXTR' lro 1 ; mal = 'EXTR' lro dlr ;
  37. mel = 'EXTR' lro ('/' ('+' 1 dlr) 2) ;
  38. 'FINP' mil mel mal ;
  39. * Passage au gravite d'un MCHAML
  40. 'DEBP' CHGRAV ch*'MCHAML';
  41. 'FINP' ('CHAN' ch ('MODE' ('EXTR' ch 'MAIL') 'THERMIQUE') 'GRAVITE') ;
  42. *
  43. 'OPTION' 'DIME' 3 'ELEM' 'CUB8' ;
  44. *
  45. 'SI' ('NON' interact) ;
  46. 'OPTION' 'TRAC' 'PSC' ;
  47. 'SINON' ;
  48. 'OPTION' 'TRAC' 'X' ;
  49. 'FINSI' ;
  50. lqual = 'PROG' 0. 'PAS' 0.05 1. ;
  51. ldens1 = 'PROG' 0.5 'PAS' 0.05 1. ;
  52. ldens2 = 'PROG' 0.9 'PAS' -0.05 0.5 ;
  53. ldens = ldens1 'ET' (ldens2 '**' -1.) ;
  54. *
  55. for = '(E11.3)' ;
  56. *
  57. tol= ('VALE' prec) '*' 10. ;
  58. *
  59. * Création du contour
  60. *
  61. nx = 5 ;
  62. pA = 0. 0. 0. ; pB = 1. 0. 0. ;
  63. lAB = 'DROI' nx pA pB ;
  64. fbas = 'TRAN' lAB nx (0. 1. 0.) ;
  65. vol = 'VOLU' 'TRAN' fbas nx (0. 0. 1.) ;
  66. env = 'ENVE' vol ;
  67. env = 'CHAN' env 'TRI3' ;
  68. *
  69. 'SI' graph ;
  70. tit = 'CHAI' 'Enveloppe ' ;
  71. envq = 'CHAN' env 'QUAF' ;
  72. 'TRACER' 'CACH' envq 'TITR' tit ;
  73. 'FINSI' ;
  74. *
  75. * Tests divers (consistance...)
  76. *
  77. lok = VRAI ;
  78. *
  79. * TEST 1 Création d'un maillage sans ajouter de noeuds
  80. *
  81. mail1 = 'TRIA' 'TOPO' env 'NOAJ' ;
  82. 'SI' graph ;
  83. tit = 'CHAI' 'Maillage genere sans noeud supplémentaire' ;
  84. 'TRAC' mail1 'TITR' tit ;
  85. 'FINSI' ;
  86. * Test 1 : on vérifie que le nombre de noeuds est conservé
  87. nno1 = 'NBNO' env ;
  88. nno2 = 'NBNO' mail1 ;
  89. 'SI' ('NEG' nno1 nno2) ;
  90. 'MESS' '!!! TEST 1 : nombre de noeuds non conserve' ;
  91. lok = lok 'ET' faux ;
  92. 'SINO' ;
  93. 'MESS' 'TEST 1 : nombre de noeuds conserve' ;
  94. 'FINS' ;
  95. *
  96. * TEST 2 Création d'un maillage en ajoutant des noeuds interieurs
  97. *
  98. mail2 = 'TRIA' 'TOPO' env 'AJNO' ;
  99. 'SI' graph ;
  100. tit = 'CHAI' 'Maillage genere en ajoutant des noeuds interieurs' ;
  101. 'TRAC' mail2 'TITR' tit 'NOEU' ;
  102. 'FINSI' ;
  103. * Test 2 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes
  104. qmail2 = 'INDI' 'TOPO' 'EQLT' mail2 ;
  105. miqo meqo maqo = MIMEMA qmail2 'TOPO' ;
  106. 'MESS' 'FORMAT' for 'TEST 2 : Qmin=' miqo ' Qmed=' meqo ' Qmax=' maqo ;
  107. miqa meqa maqa = MIMEMA qmail2 'EQLT' ;
  108. 'MESS' 'FORMAT' for 'TEST 2 : Qeqltmin=' miqa ' Qeqltmed=' meqa ' Qeqltmax=' maqa ;
  109. 'SI' graph ;
  110. momail2 = 'MODE' mail2 'THERMIQUE' ;
  111. tit = 'CHAI' 'Qualite equilateralite maillage avec noeuds interieurs' ;
  112. 'TRAC' ('EXCO' 'EQLT' qmail2) momail2 lqual 'TITR' tit ;
  113. 'FINSI' ;
  114. * 2026/01/20
  115. *miqar = 0.54 ; meqar = 0.80 ; maqar = 0.97 ;
  116. * 2026/06/05
  117. *miqar = 0.64 ; meqar = 0.82 ; maqar = 0.99 ;
  118. * 2026/06/11
  119. miqar = 0.62 ; meqar = 0.83 ; maqar = 0.99 ;
  120. 'MESS' 'FORMAT' for 'TEST 2 : Qeqltmir=' miqar ' Qeqltmer=' meqar ' Qeqltmar=' maqar ;
  121. 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ;
  122. 'MESS' '!!! TEST 2 failed' ;
  123. lok = lok 'ET' faux ;
  124. 'FINS' ;
  125. *
  126. * TEST 2b Création d'un maillage en ajoutant/retirant des noeuds interieurs et de bord
  127. *
  128. mail2b = 'TRIA' 'TOPO' env ('VIDE' 'MAILLAGE'/'SEG2') 'AJNO' ;
  129. 'SI' graph ;
  130. tit = 'CHAI' 'Maillage genere en ajoutant des noeuds interieurs et de bord' ;
  131. 'TRAC' mail2b 'TITR' tit 'NOEU' ;
  132. 'FINSI' ;
  133. * Test 2 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes
  134. qmail2b = 'INDI' 'EQLT' mail2b ;
  135. miqa meqa maqa = MIMEMA qmail2b 'EQLT' ;
  136. 'MESS' 'FORMAT' for 'TEST 2b : Qeqltmin=' miqa ' Qeqltmed=' meqa ' Qeqltmax=' maqa ;
  137. 'SI' graph ;
  138. momail2b = 'MODE' mail2b 'THERMIQUE' ;
  139. tit = 'CHAI' 'Qualite equilateralite maillage avec noeuds interieurs et de bord' ;
  140. 'TRAC' qmail2b momail2b lqual 'TITR' tit ;
  141. 'FINSI' ;
  142. * 2026/01/20
  143. *miqar = 0.44 ; meqar = 0.72 ; maqar = 0.96 ;
  144. * 2026/06/05 linux32
  145. miqar = 0.52 ; meqar = 0.73 ; maqar = 0.97 ;
  146. 'MESS' 'FORMAT' for 'TEST 2b : Qeqltmir=' miqar ' Qeqltmer=' meqar ' Qeqltmar=' maqar ;
  147. 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ;
  148. 'MESS' '!!! TEST 2b failed' ;
  149. lok = lok 'ET' faux ;
  150. 'FINS' ;
  151. *
  152. * TEST 3 Remaillage du précédent avec une métrique uniforme constante
  153. * en espace
  154. *
  155. metva = '/' 1. nx ;
  156. tparam = 'TABL' ; tparam . 'impr' = 0 ;
  157. * Car sinon, les tests 4 et 5 ne marchent pas
  158. * tparam . 'detect_cycling' = 0 ;
  159. mail3 = 'REMA' mail2 ('ENVE' mail2) metva tparam ;
  160. 'SI' graph ;
  161. tit = 'CHAI' 'Maillage avec metrique constante uniforme' ;
  162. 'TRAC' mail3 'TITR' tit ;
  163. 'FINSI' ;
  164. critqs = tparam . 'critquals_eff' ;
  165. critq3 = 'EXTR' critqs ('DIME' critqs) ;
  166. * Test 3 : on vérifie que les qualités mini et moyenne des éléments sont bonnes
  167. qmail3 = 'INDI' 'TOPO' 'COHE' 'DENS' mail3 metva critq3 ;
  168. miq3 meq3 maq3 = MIMEMA qmail3 'TOPO' ;
  169. 'MESS' 'FORMAT' for 'TEST 3 : Qmin=' miq3 ' Qmed=' meq3 ' Qmax=' maq3 ;
  170. miqa meqa maqa = MIMEMA qmail3 'COHE' ;
  171. 'MESS' 'FORMAT' for 'TEST 3 : Qcohemin=' miqa ' Qcohemed=' meqa ' Qcohemax=' maqa ;
  172. 'SI' graph ;
  173. momail3 = 'MODE' mail3 'THERMIQUE' ;
  174. tit = 'CHAI' 'Qualite coherence maillage avec noeuds interieurs' ;
  175. 'TRAC' ('EXCO' 'COHE' qmail3) momail3 lqual 'TITR' tit ;
  176. 'FINSI' ;
  177. * 2026/01/20
  178. *miqar = 0.66 ; meqar = 0.83 ; maqar = 0.98 ;
  179. * 2026/06/05 linux32
  180. *miqar = 0.62 ; meqar = 0.87 ; maqar = 0.99 ;
  181. * 2026/06/10 linux64
  182. *miqar = 0.61 ; meqar = 0.87 ; maqar = 0.99 ;
  183. * 2026/06/11 linux32
  184. miqar = 0.65 ; meqar = 0.87 ; maqar = 0.99 ;
  185. 'MESS' 'FORMAT' for 'TEST 3 : Qcohemir=' miqar ' Qcohemer=' meqar ' Qcohemar=' maqar ;
  186. 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ;
  187. 'MESS' '!!! TEST 3 coherence failed' ;
  188. lok = lok 'ET' faux ;
  189. 'FINS' ;
  190. qmail3b = DEADUTIL 'QALI' mail3 'METR' metva ;
  191. qmail3b = qmail3b '**' -1 ;
  192. dqmail = '-' ('EXCO' 'COHE' qmail3 'SCAL') ('EXCO' 'QALI' qmail3b 'SCAL') ;
  193. ndqmail = 'MAXI' 'ABS' dqmail ;
  194. *
  195. 'SI' ('NEG' ndqmail 0. tol) ;
  196. 'MESS' '!!! TEST 3b failed : ndqmail=' ndqmail ' .NE. 0' ;
  197. lok = lok 'ET' faux ;
  198. 'FINS' ;
  199. miqe meqe maqe = MIMEMA qmail3 'DENS' ;
  200. 'MESS' 'FORMAT' for 'TEST 3 : Qdensmin=' miqe ' Qdensmed=' meqe ' Qdensmax=' maqe ;
  201. 'SI' graph ;
  202. tit = 'CHAI' 'Qualite density distribution maillage avec noeuds interieurs' ;
  203. 'TRAC' ('EXCO' 'DENS' qmail3) momail3 ldens 'TITR' tit ;
  204. 'FINSI' ;
  205. * 2026/01/20
  206. *miqer = 0.63 ; meqer = 0.88 ; maqer = 0.99 ;
  207. * 2026/01/20
  208. *miqer = 0.52 ; meqer = 0.80 ; maqer = 1.05 ;
  209. * 2026/06/11 linux32
  210. miqer = 0.55 ; meqer = 0.81 ; maqer = 1.08 ;
  211. 'MESS' 'FORMAT' for 'TEST 3 : Qdensmir=' miqer ' Qdensmer=' meqer ' Qdensmar=' maqer ;
  212. 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.01) 'OU' ('>EG' maqe maqer)) ;
  213. 'MESS' '!!! TEST 3 density distribution failed' ;
  214. lok = lok 'ET' faux ;
  215. 'FINS' ;
  216. *
  217. * TEST 4 On vérifie qu'en remaillant le maillage précédent avec la même
  218. * métrique uniforme constante donnée sous forme d'un champ isotrope
  219. * constant, on ne modifie pas le maillage
  220. *
  221. vcnx = '**' ('/' 1. nx) -2 ;
  222. cmet = 'MANU' 'CHPO' mail3 1 'G' vcnx ;
  223. * Il faut aussi garder exactement le même critère de qualité
  224. tparam4 = 'TABL' ; tparam4 . 'impr' = 0 ;
  225. tparam4 . 'critquals' = 'ENUM' critq3 ;
  226. mail4 = 'REMA' mail3 ('ENVE' mail3) cmet tparam4 ;
  227. * Test 4 : on vérifie que mail4 et mail3 sont identiques ainsi que les
  228. * qualités
  229. * Quand il y a cyclage, c'est un peu plus complique, on ne verifie que les extrema
  230. * des qualites
  231. dn34= 'NBEL' ('DIFF' mail3 mail4) ;
  232. 'SI' ('NEG' dn34 0) ;
  233. 'SI' ('NON' (tparam4 . 'cycling_detected')) ;
  234. 'MESS' '!!! TEST 4 : mail3 .NE. mail4' ;
  235. lok = lok 'ET' faux ;
  236. 'SINO' ;
  237. 'MESS' '! Cycling detected in mail3 generation => mail4.NE.mail3' ;
  238. cmet4 = 'MANU' 'CHPO' mail4 1 'G' vcnx ;
  239. qmail4 = 'INDI' 'TOPO' mail4 cmet4 critq3 ;
  240. miq4 meq4 maq4 = MIMEMA qmail4 'TOPO' ;
  241. dmiq34 = '-' miq4 miq3 ;
  242. dmeq34 = '-' meq4 meq3 ;
  243. dmaq34 = '-' maq4 maq3 ;
  244. 'MESS' 'FORMAT' for 'TEST 4 : dQmin=' dmiq34 ' dQmed=' dmeq34 ' dQmax=' dmaq34 ' tol=' tol ;
  245. 'SI' (('>' dmiq34 tol) 'OU'('>' dmiq34 tol) 'OU' ('>' dmiq34 tol)) ;
  246. 'MESS' '!!! TEST 4 : qmail3 .NE. qmail4' ;
  247. lok = lok 'ET' faux ;
  248. 'FINS' ;
  249. 'FINS' ;
  250. 'SINO' ;
  251. qmail4 = 'INDI' 'TOPO' 'COHE' 'DENS' mail4 cmet critq3 ;
  252. dq34 = 'MAXI' ('-' qmail4 qmail3) 'ABS' ;
  253. * VALE prec un peu trop serré pour semt2
  254. 'SI' ('>' dq34 tol) ;
  255. 'MESS' '!!! TEST 4 : qmail3 .NE. qmail4' ;
  256. lok = lok 'ET' faux ;
  257. 'FINS' ;
  258. 'FINS' ;
  259. *
  260. * TEST 5 On vérifie qu'en remaillant le maillage précédent avec la même
  261. * métrique uniforme constante donnée sous forme d'un champ anisotrope
  262. * constant, on ne modifie pas le maillage
  263. *
  264. vcnx = '**' ('/' 1. nx) -2 ;
  265. cmet = 'MANU' 'CHPO' mail3 6 'G11' vcnx 'G22' vcnx 'G33' vcnx
  266. 'G21' 0. 'G31' 0. 'G32' 0. ;
  267. tparam5 = 'TABL' ; tparam5 . 'impr' = 0 ;
  268. tparam5 . 'critquals' = 'ENUM' critq3 ;
  269. mail5 = 'REMA' mail3 ('ENVE' mail3) cmet tparam5 ;
  270. * Test 5 : on vérifie que mail5 et mail3 sont identiques ainsi que les
  271. * qualités
  272. * Quand il y a cyclage, c'est un peu plus complique, on ne verifie que les extrema
  273. * des qualites
  274. dn35= 'NBEL' ('DIFF' mail3 mail5) ;
  275. 'SI' ('NEG' dn35 0) ;
  276. 'SI' ('NON' (tparam5 . 'cycling_detected')) ;
  277. 'MESS' '!!! TEST 5 : mail3 .NE. mail5' ;
  278. lok = lok 'ET' faux ;
  279. 'SINO' ;
  280. 'MESS' '! Cycling detected in mail3 generation => mail5.NE.mail3' ;
  281. cmet5 = 'MANU' 'CHPO' mail5 1 'G' vcnx ;
  282. qmail5 = 'INDI' 'TOPO' mail5 cmet5 critq3 ;
  283. miq5 meq5 maq5 = MIMEMA qmail5 'TOPO' ;
  284. dmiq35 = '-' miq5 miq3 ;
  285. dmeq35 = '-' meq5 meq3 ;
  286. dmaq35 = '-' maq5 maq3 ;
  287. 'MESS' 'FORMAT' for 'TEST 5 : dQmin=' dmiq35 ' dQmed=' dmeq35 ' dQmax=' dmaq35 ' tol=' tol ;
  288. 'SI' (('>' dmiq35 tol) 'OU'('>' dmiq35 tol) 'OU' ('>' dmiq35 tol)) ;
  289. 'MESS' '!!! TEST 5 : qmail3 .NE. qmail5' ;
  290. lok = lok 'ET' faux ;
  291. 'FINS' ;
  292. 'FINS' ;
  293. 'SINO' ;
  294. qmail5 = 'INDI' 'TOPO' 'COHE' 'DENS' mail5 cmet critq3 ;
  295. dq35 = 'MAXI' ('-' qmail5 qmail3) 'ABS' ;
  296. * VALE prec un peu trop serré pour semt2
  297. 'SI' ('>' dq35 tol) ;
  298. 'MESS' '!!! TEST 5 : qmail3 .NE. qmail5' ;
  299. lok = lok 'ET' faux ;
  300. 'FINS' ;
  301. 'FINS' ;
  302. *
  303. * TEST 6 Remaillage de mail3 avec une métrique uniforme constante
  304. * en espace en autorisant le remaillage du bord
  305. *
  306. metva = '/' 1. nx ;
  307. tparam = 'TABL' ; tparam . 'impr' = 1 ;
  308. mail6 = 'REMA' mail3 metva tparam ;
  309. 'SI' graph ;
  310. tit = 'CHAI' 'Maillage avec metrique constante uniforme et modif bord' ;
  311. 'TRAC' mail6 'TITR' tit ;
  312. 'FINSI' ;
  313. * Test 6 : on vérifie que les qualités mini et moyenne des éléments sont bonnes
  314. qmail6 = 'INDI' 'TOPO' 'COHE' 'DENS' mail6 metva ;
  315. miq meq maq = MIMEMA qmail6 'TOPO' ;
  316. 'MESS' 'FORMAT' for 'TEST 6 : Qmin=' miq ' Qmed=' meq ' Qmax=' maq ;
  317. miqa meqa maqa = MIMEMA qmail6 'COHE' ;
  318. 'MESS' 'FORMAT' for 'TEST 6 : Qcohemin=' miqa ' Qcohemed=' meqa ' Qcohemax=' maqa ;
  319. 'SI' graph ;
  320. momail6 = 'MODE' mail6 'THERMIQUE' ;
  321. tit = 'CHAI' 'Qualite coherence maillage avec noeuds interieurs' ;
  322. 'TRAC' ('EXCO' 'COHE' qmail6) momail6 lqual 'TITR' tit ;
  323. 'FINSI' ;
  324. * 2026/01/20
  325. *miqar = 0.67 ; meqar = 0.84 ; maqar = 0.99 ;
  326. * 2026/06/05 linux32
  327. *miqar = 0.57 ; meqar = 0.86 ; maqar = 0.99 ;
  328. * 2026/06/11 linux32
  329. miqar = 0.70 ; meqar = 0.87 ; maqar = 0.99 ;
  330. 'MESS' 'FORMAT' for 'TEST 6 : Qcohemir=' miqar ' Qcohemer=' meqar ' Qcohemar=' maqar ;
  331. 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ;
  332. 'MESS' '!!! TEST 6 coherence failed' ;
  333. lok = lok 'ET' faux ;
  334. 'FINS' ;
  335. *
  336. miqe meqe maqe = MIMEMA qmail6 'DENS' ;
  337. 'MESS' 'FORMAT' for 'TEST 6 : Qdensmin=' miqe ' Qdensmed=' meqe ' Qdensmax=' maqe ;
  338. 'SI' graph ;
  339. tit = 'CHAI' 'Qualite density distribution maillage avec noeuds interieurs' ;
  340. 'TRAC' ('EXCO' 'DENS' qmail6) momail6 ldens 'TITR' tit ;
  341. 'FINSI' ;
  342. * 2026/01/20
  343. *miqer = 0.64 ; meqer = 0.88 ; maqer = 0.99 ;
  344. * 2026/06/05 linux32
  345. * miqer = 0.57 ; meqer = 0.76 ; maqer = 1.05 ;
  346. * 2026/06/10 linux64
  347. * miqer = 0.56 ; meqer = 0.76 ; maqer = 1.05 ;
  348. * 2026/06/11 linux32
  349. miqer = 0.55 ; meqer = 0.77 ; maqer = 1.03 ;
  350. 'MESS' 'FORMAT' for 'TEST 6 : Qdensmir=' miqer ' Qdensmer=' meqer ' Qdensmar=' maqer ;
  351. 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.02) 'OU' ('>EG' maqe maqer)) ;
  352. 'MESS' '!!! TEST 6 density distribution failed' ;
  353. lok = lok 'ET' faux ;
  354. 'FINS' ;
  355. *
  356. * TEST 7 Une petite boucle avec de la r-adaptation (DEDU ADAP) pour voir si on peut
  357. * améliorer la qualité du maillage mail6.
  358. *
  359. *
  360. nopt = 2 ; iopt = 0 ;
  361. * Paramètres de DEDUADAP
  362. thdedu = 0.2 ; rdepa = 1. ; nitm = 1 ;
  363. *thdedu = 0.5 ; rdepa = 1. ; nitm = 1 ;
  364. maili = mail6 ;
  365. vcnx = '/' 1. nx ;
  366. vcnx2 = '**' vcnx -2 ;
  367. ldep = 'PROG' ; lqmin = 'PROG' ; lqmoy = 'PROG' ;
  368. 'REPE' bclopt nopt ;
  369. iopt = iopt '+' 1 ;
  370. tit = 'CHAI' 'i=' iopt ;
  371. * Partie DEDUADAP
  372. maili1 = maili ;
  373. modi1 = 'MODE' maili1 'MECANIQUE' ;
  374. cmet = 'MANU' 'CHPO' maili1 6 'G11' vcnx2 'G22' vcnx2 'G33' vcnx2 'G21' 0. 'G31' 0. 'G32' 0. ;
  375. ccmet = 'CHAN' 'CHAM' cmet modi1 ;
  376. depa = 'DEDU' 'ADAP' maili1 'METR' ccmet modi1 'THET' thdedu 'NITM' nitm ;
  377. depa = '*' depa rdepa ;
  378. mcdep = 'MAXI' depa 'ABS' ; ldep = ldep 'ET' mcdep ;
  379. 'MESS' tit ' dedu max. dep=' mcdep ;
  380. 'FORM' depa ;
  381. qmaili1 = 'INDI' 'TOPO' 'COHE' 'DENS' maili1 vcnx ;
  382. miq meq maq = MIMEMA qmaili1 'TOPO' ;
  383. 'MESS' 'FORMAT' for tit ' deduadap : Qmin=' miq ' Qmed=' meq ' Qmax=' maq ;
  384. miq meq maq = MIMEMA qmaili1 'COHE' ;
  385. 'MESS' 'FORMAT' for tit ' deduadap : Qcohemin=' miq ' Qcohemed=' meq ' Qcohemax=' maq ;
  386. miq meq maq = MIMEMA qmaili1 'DENS' ;
  387. 'MESS' 'FORMAT' for tit ' deduadap : Qdensmin=' miq ' Qdensmed=' meq ' Qdensmax=' maq ;
  388. 'SI' graph ;
  389. momaili1 = 'MODE' maili1 'THERMIQUE' ;
  390. vdep = 'VECT' depa -1. 'UX' 'UY' 'UZ' 'NOIR' ;
  391. titg = 'CHAI' tit ' deduadap' ;
  392. 'TRAC' ('EXCO' 'TOPO' qmaili1) momaili1 vdep maili1 lqual 'TITR' titg ;
  393. 'FINS' ;
  394. * Partie MAILTOPO
  395. maili2 = 'REMA' maili1 ('ENVE' maili1) vcnx ;
  396. * Qualités
  397. qmaili2 = 'INDI' 'TOPO' 'COHE' 'DENS' maili2 vcnx ;
  398. miq meq maq = MIMEMA qmaili2 'TOPO' ;
  399. 'MESS' 'FORMAT' for tit ' mailtopo : Qmin=' miq ' Qmed=' meq ' Qmax=' maq ;
  400. miqa meqa maqa = MIMEMA qmaili2 'COHE' ;
  401. 'MESS' 'FORMAT' for tit ' mailtopo : Qcohemin=' miqa ' Qcohemed=' meqa ' Qcohemax=' maqa ;
  402. miqe meqe maqe = MIMEMA qmaili2 'DENS' ;
  403. 'MESS' 'FORMAT' for tit ' mailtopo : Qdensmin=' miqe ' Qdensmed=' meqe ' Qdensmax=' maqe ;
  404. 'SI' graph ;
  405. momaili2 = 'MODE' maili2 'THERMIQUE' ;
  406. titg = 'CHAI' tit ' mailtopo' ;
  407. 'TRAC' ('EXCO' 'TOPO' qmaili2) momaili2 lqual 'TITR' titg ;
  408. 'FINSI' ;
  409. maili = maili2 ;
  410. 'FIN' bclopt ;
  411. * 2026/01/20
  412. * miqar = 0.71 ; meqar = 0.86 ; maqar = 0.99 ;
  413. * 2026/06/05
  414. *miqar = 0.63 ; meqar = 0.88 ; maqar = 0.99 ;
  415. * 2026/06/11 linux32
  416. miqar = 0.68 ; meqar = 0.88 ; maqar = 0.99 ;
  417. 'MESS' 'FORMAT' for 'TEST 7 : Qcohemir=' miqar ' Qcohemer=' meqar ' Qcohemar=' maqar ;
  418. 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ;
  419. 'MESS' '!!! TEST 7 coherence failed' ;
  420. lok = lok 'ET' faux ;
  421. 'FINS' ;
  422. * 2026/01/20
  423. * miqer = 0.62 ; meqer = 0.88 ; maqer = 0.99 ;
  424. * 2026/06/05 linux32
  425. *miqer = 0.58 ; meqer = 0.78 ; maqer = 1.06 ;
  426. * 2026/06/05 linux64
  427. *miqer = 0.56 ; meqer = 0.78 ; maqer = 1.06 ;
  428. * 2026/06/11 linux32
  429. miqer = 0.55 ; meqer = 0.78 ; maqer = 1.07 ;
  430. 'MESS' 'FORMAT' for 'TEST 7 : Qdensmir=' miqer ' Qdensmer=' meqer ' Qdensmar=' maqer ;
  431. 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.01) 'OU' ('>EG' maqe maqer)) ;
  432. 'MESS' '!!! TEST 7 density distribution failed' ;
  433. lok = lok 'ET' faux ;
  434. 'FINS' ;
  435. *
  436. * Test final
  437. *
  438. 'SI' ('NON' lok) ;
  439. 'ERREUR' 5 ;
  440. 'SINON' ;
  441. 'SAUT' 1 'LIGN' ;
  442. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  443. 'FINSI' ;
  444. *
  445. 'SI' interact ;
  446. 'OPTION' 'ECHO' 1 ;
  447. 'OPTION' 'DONN' 5 ;
  448. 'FINSI' ;
  449. *
  450. * End of dgibi file MATO-3D1
  451. *
  452. 'FIN' ;
  453.  
  454.  
  455.  

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