Télécharger indi2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : indi2.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 0 ;
  5. graph = faux ;
  6. interact = faux ;
  7. ************************************************************************
  8. * NOM : INDI2
  9. * DESCRIPTION : On verifie des proprietes basiques d'invariance des
  10. * indicateurs de qualite de maillage suivants :
  11. * COHE, EQLT, ISOD, DENS, TOPO
  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, 22/12/2025, version initiale
  20. * HISTORIQUE : v1, 22/12/2025, création
  21. * HISTORIQUE :
  22. * HISTORIQUE :
  23. ************************************************************************
  24. *
  25. *
  26. *
  27. 'SI' ('NON' interact) ;
  28. 'OPTION' 'TRAC' 'PSC' ;
  29. 'SINON' ;
  30. 'OPTION' 'TRAC' 'X' ;
  31. 'FINSI' ;
  32. *
  33. tol = '*' ('VALE' 'PREC') 10. ;
  34. lok = vrai ;
  35. *
  36. 'REPE' bdim 3 ;
  37. idim = &bdim ;
  38. 'SI' ('EGA' idim 1) ;
  39. 'OPTI' 'DIME' 1 'ELEM' 'SEG2' ;
  40. 'MESS' '*********** 1D ****************' ;
  41. pA = 'POIN' 0. ; pB = 'POIN' pi ;
  42. lig = 'DROI' 1 pA pB ;
  43. lig2 = lig 'PLUS' ('POIN' (2 '**' 0.5)) ;
  44. mtot = lig 'ET' lig2 ;
  45. mtots = mtot ;
  46. 'FINS' ;
  47. 'SI' ('EGA' idim 2) ;
  48. 'OPTI' 'DIME' 2 'ELEM' 'QUA4' ;
  49. 'MESS' '*********** 2D ****************' ;
  50. * Sommet du triangle equilateral
  51. pC = 0.5 ('/' (3 '**' 0.5) 2.) ;
  52. pC = pC '*' pi ;
  53. tri = 'COUT' lig pC ;
  54. qua = lig2 'TRAN' 1 (0. pi) ;
  55. mtots = tri 'ET' (tri 'PLUS' (1. 2.)) ;
  56. mtot = mtots 'ET' qua ;
  57. 'FINS' ;
  58. 'SI' ('EGA' idim 3) ;
  59. 'OPTI' 'DIME' 3 'ELEM' 'CUB8' ;
  60. 'MESS' '*********** 3D ****************' ;
  61. * Hauteur du tetrahedre equilateral
  62. hD = '**' ('/' 2. 3.) 0.5 ;
  63. pD = 'PLUS' ('BARY' tri) (0. 0. ('*' hD pi) ) ;
  64. * Hauteur de la pyramide equilateral
  65. hE = '/' ('**' 2. 0.5) 2. ;
  66. pE = 'PLUS' ('BARY' qua) (0. 0. ('*' hE pi) ) ;
  67. tet = 'COUT' tri pD ;
  68. pyr = 'COUT' qua pE ;
  69. pri = 'VOLU' 'TRAN' tri 1 (0. 0. pi) ;
  70. cub = 'VOLU' 'TRAN' qua 1 (0. 0. pi) ;
  71. mtots = tet 'ET' (tet 'PLUS' (1. 2. 3.)) ;
  72. mtot = mtots 'ET' pyr 'ET' pri 'ET' cub ;
  73. 'FINS' ;
  74. *
  75. met = 'MANU' 'CHPO' 1 mtot 'G' (pi '**' -2) 'NATURE' 'DIFFUS' ;
  76. mlig = 'CHAN' mtot 'LIGN' ;
  77. cind0 = 'INDI' 'DENS' mlig met ;
  78. *
  79. micind0 = 'MINI' cind0 ; macind0 = 'MAXI' cind0 ;
  80. 'MESS' 'FORMAT' '(E9.2)' 'TEST 0 (aret) : micind0=' micind0 ' macind0=' macind0 ;
  81. 'SI' ('OU' ('NEG' micind0 1. tol) ('NEG' macind0 1. tol)) ;
  82. 'MESS' '!!! TEST 0 failed' ; lok = lok 'ET' faux ;
  83. 'FINS' ;
  84. *
  85. met = 'MANU' 'CHPO' 1 mtot 'G' (pi '**' -2) 'NATURE' 'DIFFUS' ;
  86. cind1 = 'INDI' 'COHE' 'EQLT' 'ISOD' 'DENS' mtot met ;
  87. micind1 = 'MINI' cind1 ; macind1 = 'MAXI' cind1 ;
  88. 'MESS' 'FORMAT' '(E9.2)' 'TEST 1 (line) : micind1=' micind1 ' macind1=' macind1 ;
  89. 'SI' ('OU' ('NEG' micind1 1. tol) ('NEG' macind1 1. tol)) ;
  90. 'MESS' '!!! TEST 1 failed' ; lok = lok 'ET' faux ;
  91. 'FINS' ;
  92. *
  93. cind2 = 'INDI' 'TOPO' mtots met ;
  94. micind2 = 'MINI' cind2 ; macind2 = 'MAXI' cind2 ;
  95. 'MESS' 'FORMAT' '(E9.2)' 'TEST 2 (topo) : micind2=' micind2 ' macind2=' macind2 ;
  96. 'SI' ('OU' ('NEG' micind2 1. tol) ('NEG' macind2 1. tol)) ;
  97. 'MESS' '!!! TEST 2 failed' ; lok = lok 'ET' faux ;
  98. 'FINS' ;
  99. *
  100. mtotq = 'CHAN' mtot quad ;
  101. *
  102. metq = 'MANU' 'CHPO' 1 mtotq 'G' (pi '**' -2) 'NATURE' 'DIFFUS' ;
  103. cind3 = 'INDI' 'COHE' 'EQLT' 'ISOD' 'DENS' mtotq metq ;
  104. *
  105. micind3 = 'MINI' cind3 ; macind3 = 'MAXI' cind3 ;
  106. 'MESS' 'FORMAT' '(E9.2)' 'TEST 3 (quad) : micind3=' micind3 ' macind3=' macind3 ;
  107. 'SI' ('OU' ('NEG' micind3 1. tol) ('NEG' macind3 1. tol)) ;
  108. 'MESS' '!!! TEST 3 failed' ; lok = lok 'ET' faux ;
  109. 'FINS' ;
  110. *
  111. vh = 1.23; vh1 = '/' 1. vh ;
  112. mtoth mtotsh = 'HOMO' mtot mtots vh ('BARY' mtot) ;
  113. meth = 'MANU' 'CHPO' 1 mtoth 'G' (pi '**' -2) 'NATURE' 'DIFFUS' ;
  114. *meth = '*' meth ('**' vh -2) ;
  115. *
  116. cind4 = 'INDI' 'COHE' 'EQLT' mtoth meth ;
  117. micind4 = 'MINI' cind4 ; macind4 = 'MAXI' cind4 ;
  118. 'MESS' 'FORMAT' '(E9.2)' 'TEST 4 (homo cohe) : micind4=' micind4 ' macind4=' macind4 ;
  119. 'SI' ('OU' ('NEG' micind4 1. tol) ('NEG' macind4 1. tol)) ;
  120. 'MESS' '!!! TEST 4 failed' ; lok = lok 'ET' faux ;
  121. 'FINS' ;
  122. *
  123. cind5 = 'INDI' 'ISOD' mtoth meth ;
  124. micind5 = 'MINI' cind5 ; macind5 = 'MAXI' cind5 ;
  125. 'MESS' 'FORMAT' '(E9.2)' 'TEST 5 (homo isod) : micind5=' micind5 ' macind5=' macind5 ;
  126. 'SI' ('OU' ('NEG' micind5 1. tol) ('NEG' macind5 1. tol)) ;
  127. 'MESS' '!!! TEST 5 failed' ; lok = lok 'ET' faux ;
  128. 'FINS' ;
  129. *
  130. cind6 = 'INDI' 'DENS' mtoth meth ;
  131. micind6 = 'MINI' cind6 ; macind6 = 'MAXI' cind6 ;
  132. 'MESS' 'FORMAT' '(E9.2)' 'TEST 6 (homo dens) : micind6=' micind6 ' macind6=' macind6 ;
  133. 'SI' ('OU' ('NEG' micind6 vh1 tol) ('NEG' macind6 vh1 tol)) ;
  134. 'MESS' '!!! TEST 6 failed' ; lok = lok 'ET' faux ;
  135. 'FINS' ;
  136. *
  137. cind7a = 'INDI' 'TOPO' mtotsh meth ;
  138. ccind7a = 'EXTR' cind7a 'COMP' ;
  139. *'REPE' ic ('DIME' ccind7a) ;
  140. 'REPE' ic idim ;
  141. nc = 'EXTR' ccind7a &ic ; 'MESS' 'INDI TOPO Composante =' nc ;
  142. cind7 = 'EXCO' nc cind7a ;
  143. micind7 = 'MINI' cind7 ; macind7 = 'MAXI' cind7 ;
  144. 'MESS' 'FORMAT' '(E9.2)' 'TEST 7 (homo topo) : micind7=' micind7 ' macind7=' macind7 ;
  145. 'SI' ('OU' ('NEG' micind7 vh1 tol) ('NEG' macind7 vh1 tol)) ;
  146. 'MESS' '!!! TEST 7 failed' ; lok = lok 'ET' faux ;
  147. 'FINS' ;
  148. 'FIN' ic ;
  149. *
  150. vh2 = 0.789;
  151. mtoth2 mtotsh2 = 'HOMO' mtot mtots vh2 ('BARY' mtot) ;
  152. meth2 = 'MANU' 'CHPO' 1 mtoth2 'G' (pi '**' -2) 'NATURE' 'DIFFUS' ;
  153. *meth = '*' meth ('**' vh -2) ;
  154. *
  155. cind4 = 'INDI' 'COHE' 'EQLT' mtoth2 meth2 ;
  156. micind4 = 'MINI' cind4 ; macind4 = 'MAXI' cind4 ;
  157. 'MESS' 'FORMAT' '(E9.2)' 'TEST 4 (homo 2 cohe) : micind4=' micind4 ' macind4=' macind4 ;
  158. 'SI' ('OU' ('NEG' micind4 1. tol) ('NEG' macind4 1. tol)) ;
  159. 'MESS' '!!! TEST 4 failed' ; lok = lok 'ET' faux ;
  160. 'FINS' ;
  161. *
  162. cind5 = 'INDI' 'ISOD' mtoth2 meth2 ;
  163. micind5 = 'MINI' cind5 ; macind5 = 'MAXI' cind5 ;
  164. 'MESS' 'FORMAT' '(E9.2)' 'TEST 5 (homo 2 isod) : micind5=' micind5 ' macind5=' macind5 ;
  165. 'SI' ('OU' ('NEG' micind5 1. tol) ('NEG' macind5 1. tol)) ;
  166. 'MESS' '!!! TEST 5 failed' ; lok = lok 'ET' faux ;
  167. 'FINS' ;
  168. *
  169. cind6 = 'INDI' 'DENS' mtoth2 meth2 ;
  170. micind6 = 'MINI' cind6 ; macind6 = 'MAXI' cind6 ;
  171. 'MESS' 'FORMAT' '(E9.2)' 'TEST 6 (homo 2 dens) : micind6=' micind6 ' macind6=' macind6 ;
  172. 'SI' ('OU' ('NEG' micind6 vh2 tol) ('NEG' macind6 vh2 tol)) ;
  173. 'MESS' '!!! TEST 6 failed' ; lok = lok 'ET' faux ;
  174. 'FINS' ;
  175. *
  176. cind7a = 'INDI' 'TOPO' mtotsh2 meth2 ;
  177. ccind7a = 'EXTR' cind7a 'COMP' ;
  178. *'REPE' ic ('DIME' ccind7a) ;
  179. 'REPE' ic idim ;
  180. nc = 'EXTR' ccind7a &ic ; 'MESS' 'INDI TOPO Composante =' nc ;
  181. cind7 = 'EXCO' nc cind7a ;
  182. micind7 = 'MINI' cind7 ; macind7 = 'MAXI' cind7 ;
  183. 'MESS' 'FORMAT' '(E9.2)' 'TEST 7 (homo topo) : micind7=' micind7 ' macind7=' macind7 ;
  184. 'SI' ('OU' ('NEG' micind7 vh2 tol) ('NEG' macind7 vh2 tol)) ;
  185. 'MESS' '!!! TEST 7 failed' ; lok = lok 'ET' faux ;
  186. 'FINS' ;
  187. 'FIN' ic ;
  188. 'FIN' bdim ;
  189. *
  190. 'SI' ('NON' lok) ;
  191. 'MESSAGE' ('CHAINE' '!!! Il y a eu des erreurs') ;
  192. 'SINON' ;
  193. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  194. 'FINSI' ;
  195. *
  196. 'OPTI' echo 1 ;
  197. 'SI' interact ;
  198. 'OPTI' 'DONN' 5 ;
  199. 'FINS' ;
  200. 'SI' ('NON' lok) ;
  201. 'ERRE' 5 ;
  202. 'FINS' ;
  203.  
  204. *
  205. * End of dgibi file INDI2
  206. *
  207. 'FIN' ;
  208.  
  209.  
  210.  

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