Télécharger deduad1d.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : deduad1d.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : DEDUAD1D
  7. * DESCRIPTION : cas-test élémentaire 1D pour 'DEDU' 'ADAP'
  8. *
  9. *
  10. * LANGAGE : GIBIANE-CAST3M
  11. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  12. * mél : gounand@semt2.smts.cea.fr
  13. **********************************************************************
  14. * VERSION : v1, 21/09/2005, version initiale
  15. * HISTORIQUE : v1, 21/09/2005, création
  16. * HISTORIQUE :
  17. * HISTORIQUE :
  18. ************************************************************************
  19. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  20. * en cas de modification de ce sous-programme afin de faciliter
  21. * la maintenance !
  22. ************************************************************************
  23. *
  24. 'SAUTER' 2 'LIGNE' ;
  25. 'MESSAGE' ' Execution de deduad1d.dgibi' ;
  26. 'SAUTER' 2 'LIGNE' ;
  27. *
  28. *
  29. *
  30. interact= FAUX ;
  31. graph = FAUX ;
  32. debug = FAUX ;
  33. *
  34. *BEGINPROCEDUR cas1d
  35. ************************************************************************
  36. * NOM : CAS1D
  37. * DESCRIPTION : Construit les cas pour deduadap 1D
  38. *
  39. *
  40. *
  41. * LANGAGE : GIBIANE-CAST3M
  42. * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  43. * mél : gounand@semt2.smts.cea.fr
  44. **********************************************************************
  45. * VERSION : v1, 15/12/2004, version initiale
  46. * HISTORIQUE : v1, 15/12/2004, création
  47. * HISTORIQUE :
  48. * HISTORIQUE :
  49. ************************************************************************
  50. * Prière de PRENDRE LE TEMPS de compléter les commentaires
  51. * en cas de modification de ce sous-programme afin de faciliter
  52. * la maintenance !
  53. ************************************************************************
  54. *
  55. *
  56. 'DEBPROC' CAS1D ;
  57. 'ARGUMENT' mesh*'ENTIER' ;
  58. 'ARGUMENT' nbmail2*'ENTIER' ;
  59. *
  60. 'ARGUMENT' disc/'MOT' ;
  61. 'SI' ('NON' ('EXISTE' disc)) ;
  62. disc = 'LINE' ;
  63. 'FINSI' ;
  64. *
  65. 'SI' ('<' nbmail2 1) ;
  66. cherr = 'CHAINE' 'Nombre de mailles inférieur à 2...' ;
  67. 'ERREUR' cherr ;
  68. 'FINSI' ;
  69. nbmail = '*' nbmail2 2 ;
  70. *
  71. 'SI' ('EGA' disc 'LINE') ;
  72. 'OPTION' 'ELEM' 'SEG2' ;
  73. 'SINON' ;
  74. 'OPTION' 'ELEM' 'SEG3' ;
  75. 'FINSI' ;
  76. *
  77. pA = 'POIN' 0. ;
  78. pB = 'POIN' 1. ;
  79. pC = 'POIN' 0.5 ;
  80. *
  81. 'SI' ('OU' ('EGA' mesh 1) ('EGA' mesh 3)) ;
  82. mt = 'ET' ('DROIT' pA pC nbmail2) ('DROIT' pC pB nbmail2) ;
  83. 'FINSI' ;
  84. 'SI' ('EGA' mesh 2) ;
  85. mt = 'ET' ('DROIT' pA pC ('-' nbmail 1))
  86. ('DROIT' pC pB 1) ;
  87. 'FINSI' ;
  88. *
  89. * Blocages
  90. *
  91. rigblo = 'BLOQUE' 'UX' (pA 'ET' pB) ;
  92. cblo = 'DEPIMPOSE' rigblo 0. ;
  93. *
  94. * Cas QUAF
  95. 'SI' ('EGA' disc 'QUAF') ;
  96. mt = 'CHANGER' mt 'QUAF' ;
  97. 'FINSI' ;
  98. *
  99. * Métrique
  100. *
  101. 'SI' ('ET' ('>EG' mesh 1) ('&lt;EG' mesh 2)) ;
  102. met = 'CHAINE' 'rien' ;
  103. mod = 'VIDE' 'MMODEL' ;
  104. 'FINSI' ;
  105. 'SI' ('EGA' mesh 3) ;
  106. xmt = 'COORDONNEE' mt ;
  107. g11 = 'NOMC' 'G11' ('+' ('*' xmt 100.) 1.) ;
  108. mod = 'MODE' mt 'MECANIQUE' ;
  109. met = 'CHANGER' 'CHAM' g11 mod 'GRAVITE' ;
  110. 'FINSI' ;
  111. *
  112. 'RESPRO' mt met mod rigblo cblo ;
  113. *
  114. * End of procedure file CAS1D
  115. *
  116. 'FINPROC' ;
  117. *ENDPROCEDUR cas1d
  118. *
  119. 'OPTION' 'DIME' 1 ;
  120. 'SI' ('NON' interact) ;
  121. 'OPTION' 'TRAC' 'PS' ;
  122. 'SINON' ;
  123. 'OPTION' 'TRAC' 'X' ;
  124. 'FINSI' ;
  125. *
  126. * Pour les tests, on regarde les valeurs max. des indicateurs
  127. * d'isotropie et d'equidistribution
  128. *
  129. lmaiso = 'PROG' ;
  130. lmaequ = 'PROG' ;
  131. *
  132. * Ici les valeurs de référence
  133. *
  134. lok = VRAI ;
  135. idx = 0 ;
  136. lmaisor = 'PROG' 9 * 1.0 ;
  137. lmaequr = 'PROG' 9 * 1.0 ;
  138. *
  139. * Maillage :
  140. * mesh = 1 : maillage régulier
  141. * mesh = 2 : maillage concentré à gauche
  142. * mesh = 3 : maillage régulier + métrique concentrée à gauche
  143. * nbmail2 : nombre de mailles divisé par 2
  144. * 'QUAI' : quadratique incomplet (mécanique)
  145. * 'QUAF' : quadratique fluide
  146. tdisc = 'TABLE' ;
  147. tdisc . 1 = 'LINE' ;
  148. tdisc . 2 = 'QUAI' ;
  149. tdisc . 3 = 'QUAF' ;
  150. 'REPETER' idisc 3 ;
  151. 'REPETER' imesh 3 ;
  152. iidisc = &idisc ;
  153. iimesh = &imesh ;
  154. gdisc = tdisc . iidisc ;
  155. 'SI' ('EGA' iidisc 1) ;
  156. nbmail2 = 16 ;
  157. 'SINON' ;
  158. nbmail2 = 8 ;
  159. 'FINSI' ;
  160. *
  161. * Maillage
  162. *
  163. mail met mod mblo cblo = CAS1D iimesh nbmail2 gdisc ;
  164. mes = 'CHAINE' 'mesh=' iimesh ' ; ' gdisc ;
  165. 'MESSAGE' mes ;
  166. 'SI' graph ;
  167. tit = 'CHAINE' 'Maillage initial ' mes ;
  168. 'SI' interact ;
  169. 'TRACER' mail 'TITR' tit 'NOEU' ;
  170. 'SINON' ;
  171. 'TRACER' mail 'TITR' tit 'NOEU' 'NCLK' ;
  172. 'FINSI' ;
  173. 'FINSI' ;
  174. *
  175. * adaptation
  176. *
  177. 'SI' ('EGA' ('TYPE' met) 'MCHAML') ;
  178. dep = 'DEDU' 'ADAP' mail mblo cblo 'METR' met mod debug ;
  179. 'SINON' ;
  180. dep = 'DEDU' 'ADAP' mail mblo cblo debug ;
  181. 'FINSI' ;
  182. *
  183. * tracé
  184. *
  185. orig = 'FORME' ;
  186. 'FORME' dep ;
  187. 'SI' ('EGA' ('TYPE' met) 'MCHAML') ;
  188. ciso = DEADUTIL 'QISO' mail 'METR' met mod ;
  189. cequ = DEADUTIL 'QEQU' mail 'METR' met mod ;
  190. 'SINON' ;
  191. ciso = DEADUTIL 'QISO' mail ;
  192. cequ = DEADUTIL 'QEQU' mail ;
  193. 'FINSI' ;
  194. maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ;
  195. macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ;
  196. 'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ;
  197. 'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ;
  198. * Tests
  199. lmaiso = 'ET' lmaiso ('PROG' maciso) ;
  200. lmaequ = 'ET' lmaequ ('PROG' macequ) ;
  201. idx = '+' idx 1 ;
  202. visor='EXTRAIRE' lmaisor idx ;
  203. tiso = ('<' maciso ('*' visor 1.01)) ;
  204. 'SI' ('NON' tiso) ;
  205. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. ciso. < '
  206. visor ;
  207. 'MESSAGE' cherr ;
  208. 'FINSI' ;
  209. lok = 'ET' lok tiso ;
  210. *
  211. vequr='EXTRAIRE' lmaequr idx ;
  212. tequ = ('<' macequ ('*' vequr 1.01)) ;
  213. 'SI' ('NON' tequ) ;
  214. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. cequ. < '
  215. vequr ;
  216. 'MESSAGE' cherr ;
  217. 'FINSI' ;
  218. lok = 'ET' lok tequ ;
  219. *
  220. 'SI' graph ;
  221. tit = 'CHAINE' 'Maillage final ' mes ;
  222. 'SI' interact ;
  223. 'TRACER' mail 'TITR' tit 'NOEU' ;
  224. 'SINON' ;
  225. 'TRACER' mail 'TITR' tit 'NOEU' 'NCLK' ;
  226. 'FINSI' ;
  227. 'FINSI' ;
  228. 'FORME' orig ;
  229. 'FIN' imesh ;
  230. 'FIN' idisc ;
  231. *
  232. * Fin du jeu de données
  233. *
  234. 'SAUTER' 2 'LIGNE' ;
  235. 'SI' lok ;
  236. 'MESSAGE' 'Tout sest bien passe' ;
  237. 'SINON' ;
  238. 'MESSAGE' 'Il y a eu des erreurs' ;
  239. 'FINSI' ;
  240. 'SAUTER' 2 'LIGNE' ;
  241. 'SI' interact ;
  242. 'OPTION' 'DONN' 5 ;
  243. 'FINSI' ;
  244. 'SI' ('NON' lok) ;
  245. 'ERREUR' 5 ;
  246. 'FINSI' ;
  247. *
  248. * End of dgibi file DEDUAD1D
  249. *
  250. 'FIN' ;
  251.  
  252.  
  253.  

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