Télécharger mato-2d5.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mato-2d5.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTION' 'ECHO' 1 ;
  5. ************************************************************************
  6. * NOM : MATO-2D5
  7. * DESCRIPTION : Test du MAilleur TOpologique pour mailler un simple
  8. * cercle de manière régulière en quadratique.
  9. *
  10. * On teste la qualité des éléments obtenus.
  11. *
  12. * Issu de mato-2d1.dgibi
  13. *
  14. *
  15. * LANGAGE : GIBIANE-CAST3M
  16. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA)
  17. * mél : stephane.gounand@cea.fr
  18. **********************************************************************
  19. * VERSION : v1, 04/10/2020, version initiale
  20. * HISTORIQUE : v1, 04/10/2020, création
  21. * HISTORIQUE :
  22. * HISTORIQUE :
  23. ************************************************************************
  24. *
  25. interact = faux ;
  26. graph = faux ;
  27. complet = FAUX ;
  28. *
  29. 'OPTION' 'DIME' 2 'ELEM' 'TRI6' ;
  30. *
  31. 'SI' ('NON' interact) ;
  32. 'OPTION' 'TRAC' 'PSC' ;
  33. 'SINON' ;
  34. 'OPTION' 'TRAC' 'X' ;
  35. 'FINSI' ;
  36. lqual = 'PROG' 0.5 'PAS' 0.025 1. ;
  37. *
  38. * Création du contour
  39. *
  40. *vden = 1.4 ;
  41. vden = 0.28 ;
  42. 'OPTI' 'DENS' vden ;
  43. pC = 1.1 0.707 ; pA = 3.14 3.41 ;
  44. cnt = 'CERC' 'ROTA' 360. pA pC 'ELIM' ;
  45. cntl = 'CHAN' 'LINE' cnt ;
  46. *
  47. 'SI' graph ;
  48. tit = 'CHAI' 'Contour ' ;
  49. 'TRACER' 'CACH' cnt 'TITR' tit 'NOEU' ;
  50. 'FINSI' ;
  51. *
  52. * Tests divers (consistance...)
  53. *
  54. lok = VRAI ;
  55. *
  56. * TEST 1 Création d'un maillage sans ajouter de noeuds
  57. *
  58. * tparam = 'TABL' ;
  59. * tparam . 'debug' = 0 ;
  60. * tparam . 'graph' = vrai ;
  61. * mail1 = MAILTOPO 'TRIA' cnt 'NOAJ' tparam ;
  62. mail1 = 'TRIA' 'TOPO' cnt 'NOAJ' ;
  63. mail1l = 'CHAN' 'LINE' mail1 ;
  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' cntl ;
  70. nno2 = 'NBNO' mail1l ;
  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 Création d'un maillage en ajoutant des noeuds interieurs
  77. *
  78. mail2 = 'TRIA' 'TOPO' cnt 'AJNO' ;
  79. mail2l = 'CHAN' 'LINE' mail2 ;
  80. 'SI' graph ;
  81. tit = 'CHAI' 'Maillage genere en ajoutant des noeuds interieurs' ;
  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' mail2l ;
  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' mail2l 'THERMIQUE' ;
  91. tit = 'CHAI' 'Qualite maillage avec noeuds interieurs' ;
  92. 'TRAC' qmail2 momail2 lqual 'TITR' tit ;
  93. 'FINSI' ;
  94. * Sur mon linux64 au 04/10/2024 : qmin=0.10 qmoy=0.10 qmax=0.10
  95. miqref = 0.09 ; moqref = 0.09 ; maqref = 0.09 ;
  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. * Partie REMA
  109. mail2b = 'REMA' mail2 ('CONT' mail2) ;
  110. mail2bl = 'CHAN' 'LINE' mail2b ;
  111. * Qualités
  112. qmail2b = 'INDI' 'TOPO' mail2bl ;
  113. miq = 'MINI' qmail2b ; moq = MATOUTIL 'MOYECHAM' qmail2b ;
  114. maq = 'MAXI' qmail2b ;
  115. 'MESS' 'FORMAT' '(E9.2)' tit ' mailtopo : Qmin=' miq ' Qmoy=' moq ' Qmax=' maq ;
  116. 'SI' graph ;
  117. momail2b = 'MODE' mail2b 'THERMIQUE' ;
  118. titg = 'CHAI' tit ' mailtopo' ;
  119. 'TRAC' qmail2b momail2b lqual 'TITR' titg ;
  120. 'FINSI' ;
  121. *
  122. * TEST 3 Remaillage du précédent avec une métrique uniforme constante
  123. * en espace
  124. *
  125. metva = vden ;
  126. mail3 = 'REMA' mail2 ('CONT' mail2) metva ;
  127. mail3l = 'CHAN' 'LINE' mail3 ;
  128. 'SI' graph ;
  129. tit = 'CHAI' 'Maillage avec metrique constante uniforme' ;
  130. 'TRAC' mail3 'TITR' tit 'NOEU' ;
  131. 'FINSI' ;
  132. * Test 3 : on vérifie que les qualités mini et moyenne des éléments sont
  133. * bonnes
  134. qmail3 = 'INDI' 'TOPO' mail3l metva ;
  135. miq = 'MINI' qmail3 ; moq = MATOUTIL 'MOYECHAM' qmail3 ;
  136. maq = 'MAXI' qmail3 ;
  137. 'MESS' 'FORMAT' '(E9.2)' 'TEST 3 : Qmin=' miq ' Qmoy=' moq ' Qmax=' maq ;
  138. 'SI' graph ;
  139. momail3 = 'MODE' mail3l 'THERMIQUE' ;
  140. tit = 'CHAI' 'Qualite maillage avec noeuds interieurs' ;
  141. 'TRAC' qmail3 momail3 lqual 'TITR' tit ;
  142. 'FINSI' ;
  143. * Sur mon linux64 au 04/10/2024 : Qmin= 0.63E+00 Qmoy= 0.86E+00 Qmax= 0.99E+00
  144. miqref = 0.62 ; moqref = 0.85 ; maqref = 0.98 ;
  145. 'SI' ('&lt;EG' miq miqref) ;
  146. 'MESS' '!!! TEST 3 : miq=' miq ' < miqref=' miqref ;
  147. lok = lok 'ET' faux ;
  148. 'FINS' ;
  149. 'SI' ('&lt;EG' moq moqref) ;
  150. 'MESS' '!!! TEST 3 : moq=' moq ' < moqref=' moqref ;
  151. lok = lok 'ET' faux ;
  152. 'FINS' ;
  153. 'SI' ('&lt;EG' maq maqref) ;
  154. 'MESS' '!!! TEST 3 : maq=' maq ' < maqref=' maqref ;
  155. lok = lok 'ET' faux ;
  156. 'FINS' ;
  157. *
  158. * TEST 4 On vérifie qu'en remaillant le maillage précédent avec la même
  159. * métrique uniforme constante donnée sous forme d'un champ isotrope
  160. * constant, on ne modifie pas le maillage
  161. *
  162. vcnx = '**' vden -2 ;
  163. cmet = 'MANU' 'CHPO' mail3 1 'G' vcnx ;
  164. mail4 = 'REMA' mail3 ('CONT' mail3) cmet ;
  165. mail4l = 'CHAN' 'LINE' mail4 ;
  166. * Test 4 : on vérifie que mail4 et mail3 sont identiques ainsi que les
  167. * qualités
  168. dn34= 'NBEL' ('DIFF' mail3 mail4) ;
  169. 'SI' ('NEG' dn34 0) ;
  170. 'MESS' '!!! TEST 4 : mail3 .NE. mail4' ;
  171. lok = lok 'ET' faux ;
  172. 'FINS' ;
  173. qmail4 = 'INDI' 'TOPO' mail4l cmet ;
  174. qmail4 = 'REDU' qmail4 mail3l ;
  175. *dq34 = 'MAXI' ('-' ('REDU' qmail4 mail3) qmail3) 'ABS' ;
  176. dq34 = 'MAXI' ('-' qmail4 qmail3) 'ABS' ;
  177. * VALE prec un peu trop serré pour semt2
  178. 'SI' ('>' dq34 ('*' ('VALE' 'PREC') 10.)) ;
  179. 'MESS' '!!! TEST 4 : qmail3 .NE. qmail4' ;
  180. 'LIST' 'RESU' dq34 ;
  181. lok = lok 'ET' faux ;
  182. 'FINS' ;
  183. *
  184. * TEST 5 On vérifie qu'en remaillant le maillage précédent avec la même
  185. * métrique uniforme constante donnée sous forme d'un champ anisotrope
  186. * constant, on ne modifie pas le maillage
  187. *
  188. vcnx = '**' vden -2 ;
  189. cmet = 'MANU' 'CHPO' mail3 3 'G11' vcnx 'G22' vcnx
  190. 'G21' 0. ;
  191. mail5 = 'REMA' mail3 ('CONT' mail3) cmet ;
  192. mail5l = 'CHAN' 'LINE' mail5 ;
  193. * Test 5 : on vérifie que mail5 et mail3 sont identiques ainsi que les
  194. * qualités
  195. dn35= 'NBEL' ('DIFF' mail3 mail5) ;
  196. 'SI' ('NEG' dn35 0) ;
  197. 'MESS' '!!! TEST 5 : mail3 .NE. mail5' ;
  198. lok = lok 'ET' faux ;
  199. 'FINS' ;
  200. qmail5 = 'INDI' 'TOPO' mail5l cmet ;
  201. qmail5 = 'REDU' qmail5 mail3l ;
  202. dq35 = 'MAXI' ('-' qmail5 qmail3) 'ABS' ;
  203. * VALE prec un peu trop serré pour semt2
  204. 'SI' ('>' dq35 ('*' ('VALE' 'PREC') 10.)) ;
  205. 'MESS' '!!! TEST 5 : qmail3 .NE. qmail5' ;
  206. 'LIST' 'RESU' dq35 ;
  207. lok = lok 'ET' faux ;
  208. 'FINS' ;
  209. *
  210. * Test final
  211. *
  212. 'SI' ('NON' lok) ;
  213. 'ERREUR' 5 ;
  214. 'SINON' ;
  215. 'SAUT' 1 'LIGN' ;
  216. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  217. 'FINSI' ;
  218. *
  219. 'SI' interact ;
  220. 'OPTION' 'ECHO' 1 ;
  221. 'OPTION' 'DONN' 5 ;
  222. 'FINSI' ;
  223. *
  224. * End of dgibi file MATO-2D5
  225. *
  226. 'FIN' ;
  227.  
  228.  
  229.  

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