Télécharger mato-2d4.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mato-2d4.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTION' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : MATO-2D4
  7. * DESCRIPTION : Test du MAilleur TOpologique pour mailler un carré
  8. * avec une métrique isotrope constante en espace
  9. * dans le but d'obtenir 10x10 mailles.
  10. * Au départ, le carré est 1x1. Concernant la frontière,
  11. * on contraint le mailleur, soit à ne pas la modifier,
  12. * soit à en modifier une partie, soit la totalité.
  13. *
  14. * On teste la qualité des éléments obtenus.
  15. *
  16. * Issu de 2d_9.dgibi+tests
  17. *
  18. *
  19. * LANGAGE : GIBIANE-CAST3M
  20. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA)
  21. * mél : stephane.gounand@cea.fr
  22. **********************************************************************
  23. * VERSION : v1, 07/04/2020, version initiale
  24. * HISTORIQUE : v1, 07/04/2020, création
  25. * HISTORIQUE :
  26. * HISTORIQUE :
  27. ************************************************************************
  28. *
  29. interact = FAUX ;
  30. graph = FAUX ;
  31. *
  32. 'OPTION' 'DIME' 2 'ELEM' 'TRI3' ;
  33. *
  34. 'SI' ('NON' interact) ;
  35. 'OPTION' 'TRAC' 'PSC' ;
  36. 'SINON' ;
  37. 'OPTION' 'TRAC' 'X' ;
  38. 'FINSI' ;
  39. lqual = 'PROG' 0. 'PAS' 0.05 1. ;
  40. *
  41. * Création du contour
  42. *
  43. nx = 1 ; nv = 10 ;
  44. pA = 0. 0. ; pB = 1. 0. ; pC = 1. 1. ; pD = 0. 1. ;
  45. lAB = 'DROI' nx pA pB ;
  46. lBC = 'DROI' nx pB pC ;
  47. lCD = 'DROI' nx pC pD ;
  48. lDA = 'DROI' nx pD pA ;
  49. *
  50. cnt = lAB 'ET' lBC 'ET' lCD 'ET' lDA ;
  51. *
  52. 'SI' graph ;
  53. tit = 'CHAI' 'Contour ' ;
  54. 'TRACER' 'CACH' cnt 'TITR' tit 'NOEU' ;
  55. 'FINSI' ;
  56. *
  57. * Tests divers (consistance...)
  58. *
  59. lok = VRAI ;
  60. *
  61. * TEST 1 Création d'un maillage sans ajouter de noeuds
  62. *
  63. mail1 = 'TRIA' 'TOPO' cnt 'NOAJ' ;
  64. 'SI' graph ;
  65. tit = 'CHAI' 'Maillage genere sans noeud supplémentaire' ;
  66. 'TRAC' mail1 'TITR' tit 'NOEU' ;
  67. 'FINSI' ;
  68. * Test 1 : on vérifie que le nombre de noeuds est conservé
  69. nno1 = 'NBNO' cnt ;
  70. nno2 = 'NBNO' mail1 ;
  71. 'SI' ('NEG' nno1 nno2) ;
  72. 'MESS' '!!! TEST 1 : nombre de noeuds non conserve' ;
  73. lok = lok 'ET' faux ;
  74. 'FINS' ;
  75. *
  76. * TEST 2 Remaillage de mail1 avec une taille voulue de 0.1 sans
  77. * toucher le bord
  78. *
  79. mail2 = 'REMA' mail1 ('CONT' mail1) ('/' 1. nv) ;
  80. 'SI' graph ;
  81. tit = 'CHAI' 'Maillage genere sans toucher le bord' ;
  82. 'TRAC' mail2 'TITR' tit 'NOEU' ;
  83. 'FINSI' ;
  84. * Test 2 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes
  85. qmail2 = 'INDI' 'TOPO' mail2 ;
  86. miq = 'MINI' qmail2 ; moq = MATOUTIL 'MOYECHAM' qmail2 ;
  87. maq = 'MAXI' qmail2 ;
  88. 'MESS' 'FORMAT' '(E9.2)' 'TEST 2 : Qmin=' miq ' Qmoy=' moq ' Qmax=' maq ;
  89. 'SI' graph ;
  90. momail2 = 'MODE' mail2 'THERMIQUE' ;
  91. tit = 'CHAI' 'Qualite maillage sans toucher le bord' ;
  92. 'TRAC' qmail2 momail2 lqual 'TITR' tit ;
  93. 'FINSI' ;
  94. * Sur mon linux64 au 07/04/2020 : Qmin= 0.91E-01 Qmoy= 0.82E+00 Qmax= 0.10E+01
  95. miqref = 0.08 ; moqref = 0.81 ; maqref = 0.99 ;
  96. 'SI' ('<EG' miq miqref) ;
  97. 'MESS' '!!! TEST 2 : miq=' miq ' < miqref=' miqref ;
  98. lok = lok 'ET' faux ;
  99. 'FINS' ;
  100. 'SI' ('&lt;EG' moq moqref) ;
  101. 'MESS' '!!! TEST 2 : moq=' moq ' < moqref=' moqref ;
  102. lok = lok 'ET' faux ;
  103. 'FINS' ;
  104. 'SI' ('&lt;EG' maq maqref) ;
  105. 'MESS' '!!! TEST 2 : maq=' maq ' < maqref=' maqref ;
  106. lok = lok 'ET' faux ;
  107. 'FINS' ;
  108. *
  109. * TEST 3 Remaillage de mail1 avec une taille voulue de 0.1 en touchant
  110. * le bord sauf lAB
  111. *
  112. mail3 = 'REMA' mail1 lAB ('/' 1. nv) ;
  113. 'SI' graph ;
  114. tit = 'CHAI' 'Maillage genere sans toucher lAB' ;
  115. 'TRAC' mail3 'TITR' tit 'NOEU' ;
  116. 'FINSI' ;
  117. * Test 3 : on vérifie que le bord n'a pas été touché
  118. * ceci est fait dans mailtopo
  119. * Test 3 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes
  120. qmail3 = 'INDI' 'TOPO' mail3 ;
  121. miq = 'MINI' qmail3 ; moq = MATOUTIL 'MOYECHAM' qmail3 ;
  122. maq = 'MAXI' qmail3 ;
  123. 'MESS' 'FORMAT' '(E9.2)' 'TEST 3 : Qmin=' miq ' Qmoy=' moq ' Qmax=' maq ;
  124. 'SI' graph ;
  125. momail3 = 'MODE' mail3 'THERMIQUE' ;
  126. tit = 'CHAI' 'Qualite maillage sans toucher lAB' ;
  127. 'TRAC' qmail3 momail3 lqual 'TITR' tit ;
  128. 'FINSI' ;
  129. * Sur mon linux64 au 07/04/2020 : Qmin= 0.13E+00 Qmoy= 0.90E+00 Qmax= 0.10E+01
  130. miqref = 0.12 ; moqref = 0.89 ; maqref = 0.99 ;
  131. 'SI' ('&lt;EG' miq miqref) ;
  132. 'MESS' '!!! TEST 3 : miq=' miq ' < miqref=' miqref ;
  133. lok = lok 'ET' faux ;
  134. 'FINS' ;
  135. 'SI' ('&lt;EG' moq moqref) ;
  136. 'MESS' '!!! TEST 3 : moq=' moq ' < moqref=' moqref ;
  137. lok = lok 'ET' faux ;
  138. 'FINS' ;
  139. 'SI' ('&lt;EG' maq maqref) ;
  140. 'MESS' '!!! TEST 3 : maq=' maq ' < maqref=' maqref ;
  141. lok = lok 'ET' faux ;
  142. 'FINS' ;
  143. *
  144. * TEST 4 Remaillage de mail1 avec une taille voulue de 0.1 en touchant
  145. * tout le bord
  146. *
  147. mail4 = 'REMA' mail1 ('/' 1. nv) ;
  148. 'SI' graph ;
  149. tit = 'CHAI' 'Maillage genere en modifiant le bord' ;
  150. 'TRAC' mail4 'TITR' tit 'NOEU' ;
  151. 'FINSI' ;
  152. * Test 4 : on vérifie que le bord n'a pas été touché
  153. * ceci est fait dans mailtopo
  154. * Test 4 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes
  155. qmail4 = 'INDI' 'TOPO' mail4 ;
  156. miq = 'MINI' qmail4 ; moq = MATOUTIL 'MOYECHAM' qmail4 ;
  157. maq = 'MAXI' qmail4 ;
  158. 'MESS' 'FORMAT' '(E9.2)' 'TEST 4 : Qmin=' miq ' Qmoy=' moq ' Qmax=' maq ;
  159. 'SI' graph ;
  160. momail4 = 'MODE' mail4 'THERMIQUE' ;
  161. tit = 'CHAI' 'Qualite maillage avec bord modifie' ;
  162. 'TRAC' qmail4 momail4 lqual 'TITR' tit ;
  163. 'FINSI' ;
  164. * Sur mon linux64 au 07/04/2020 : Qmin= 0.65E+00 Qmoy= 0.91E+00 Qmax= 0.10E+01
  165. miqref = 0.64 ; moqref = 0.90 ; maqref = 0.99 ;
  166. 'SI' ('&lt;EG' miq miqref) ;
  167. 'MESS' '!!! TEST 4 : miq=' miq ' < miqref=' miqref ;
  168. lok = lok 'ET' faux ;
  169. 'FINS' ;
  170. 'SI' ('&lt;EG' moq moqref) ;
  171. 'MESS' '!!! TEST 4 : moq=' moq ' < moqref=' moqref ;
  172. lok = lok 'ET' faux ;
  173. 'FINS' ;
  174. 'SI' ('&lt;EG' maq maqref) ;
  175. 'MESS' '!!! TEST 4 : maq=' maq ' < maqref=' maqref ;
  176. lok = lok 'ET' faux ;
  177. 'FINS' ;
  178. *
  179. * TEST 5 Remaillage de mail4 avec une taille voulue de 0.1 en ne touchant
  180. * plus le bord. On s'attend à ne pas changer le maillage mais
  181. * c'est sans compter avec l'algorithme du noeud fictif qui nous
  182. * a déjà fait des blagues
  183. *
  184. mail5 = 'REMA' mail4 ('CONT' mail4) ('/' 1. nv) ;
  185. 'SI' graph ;
  186. tit = 'CHAI' 'Maillage genere sans toucher le bord' ;
  187. 'TRAC' mail5 'TITR' tit 'NOEU' ;
  188. 'FINSI' ;
  189. * Test 5 : on vérifie que mail5 et mail4 sont identiques ainsi que les
  190. * qualités
  191. dn45= 'NBEL' ('DIFF' mail4 mail5) ;
  192. 'SI' ('NEG' dn45 0) ;
  193. 'MESS' '!!! TEST 5 : mail4 .NE. mail5' ;
  194. lok = lok 'ET' faux ;
  195. 'FINS' ;
  196. *
  197. * Test final
  198. *
  199. 'SI' ('NON' lok) ;
  200. 'ERREUR' 5 ;
  201. 'SINON' ;
  202. 'SAUT' 1 'LIGN' ;
  203. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  204. 'FINSI' ;
  205. *
  206. 'SI' interact ;
  207. 'OPTION' 'ECHO' 1 ;
  208. 'OPTION' 'DONN' 5 ;
  209. 'FINSI' ;
  210. *
  211. * End of dgibi file MATO-2D4
  212. *
  213. 'FIN' ;
  214.  
  215.  
  216.  
  217.  

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