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. *
  96. 'SI' ('EGA' disc 'QUAF') ;
  97. mt = 'CHANGER' mt 'QUAF' ;
  98. _mt = mt ;
  99. 'SINON' ;
  100. _mt = 'CHANGER' mt 'QUAF' ;
  101. 'FINSI' ;
  102. *
  103. * Métrique
  104. *
  105. 'SI' ('ET' ('>EG' mesh 1) ('&lt;EG' mesh 2)) ;
  106. met = 'CHAINE' 'rien' ;
  107. 'FINSI' ;
  108. 'SI' ('EGA' mesh 3) ;
  109. $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'QUAF' ;
  110. mtc = 'DOMA' $mt 'CENTRE' ;
  111. xmt = 'COORDONNEE' mtc ;
  112. g11 = 'NOMC' 'G11' ('+' ('*' xmt 100.) 1.) ;
  113. * cg11 = 'CHANGER' 'CHAM' g11 $mt 'NOEUD' ;
  114. met = g11 ;
  115. 'FINSI' ;
  116. *
  117. 'RESPRO' mt _mt met rigblo cblo ;
  118. *
  119. * End of procedure file CAS1D
  120. *
  121. 'FINPROC' ;
  122. *ENDPROCEDUR cas1d
  123. *
  124. 'OPTION' 'DIME' 1 ;
  125. 'SI' ('NON' interact) ;
  126. 'OPTION' 'TRAC' 'PS' ;
  127. 'SINON' ;
  128. 'OPTION' 'TRAC' 'X' ;
  129. 'FINSI' ;
  130. *
  131. * Pour les tests, on regarde les valeurs max. des indicateurs
  132. * d'isotropie et d'equidistribution
  133. *
  134. lmaiso = 'PROG' ;
  135. lmaequ = 'PROG' ;
  136. *
  137. * Ici les valeurs de référence
  138. *
  139. lok = VRAI ;
  140. idx = 0 ;
  141. lmaisor = 'PROG' 9 * 1.0 ;
  142. lmaequr = 'PROG' 9 * 1.0 ;
  143. *
  144. * Maillage :
  145. * mesh = 1 : maillage régulier
  146. * mesh = 2 : maillage concentré à gauche
  147. * mesh = 3 : maillage régulier + métrique concentrée à gauche
  148. * nbmail2 : nombre de mailles divisé par 2
  149. * 'QUAI' : quadratique incomplet (mécanique)
  150. * 'QUAF' : quadratique fluide
  151. tdisc = 'TABLE' ;
  152. tdisc . 1 = 'LINE' ;
  153. tdisc . 2 = 'QUAI' ;
  154. tdisc . 3 = 'QUAF' ;
  155. 'REPETER' idisc 3 ;
  156. 'REPETER' imesh 3 ;
  157. iidisc = &idisc ;
  158. iimesh = &imesh ;
  159. gdisc = tdisc . iidisc ;
  160. 'SI' ('EGA' iidisc 1) ;
  161. nbmail2 = 16 ;
  162. 'SINON' ;
  163. nbmail2 = 8 ;
  164. 'FINSI' ;
  165. *
  166. * Maillage
  167. *
  168. mail _mt met mblo cblo = CAS1D iimesh nbmail2 gdisc ;
  169. mes = 'CHAINE' 'mesh=' iimesh ' ; ' gdisc ;
  170. 'MESSAGE' mes ;
  171. 'SI' graph ;
  172. tit = 'CHAINE' 'Maillage initial ' mes ;
  173. 'SI' interact ;
  174. 'TRACER' mail 'TITR' tit 'NOEU' ;
  175. 'SINON' ;
  176. 'TRACER' mail 'TITR' tit 'NOEU' 'NCLK' ;
  177. 'FINSI' ;
  178. 'FINSI' ;
  179. *
  180. * adaptation
  181. *
  182. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  183. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
  184. 'METR' met 'CSTE' debug ;
  185. 'SINON' ;
  186. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc debug ;
  187. 'FINSI' ;
  188. *
  189. * tracé
  190. *
  191. orig = 'FORME' ;
  192. 'FORME' dep ;
  193. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  194. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' met 'CSTE' ;
  195. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' met 'CSTE' ;
  196. 'SINON' ;
  197. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' ;
  198. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' ;
  199. 'FINSI' ;
  200. maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ;
  201. macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ;
  202. 'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ;
  203. 'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ;
  204. * Tests
  205. lmaiso = 'ET' lmaiso ('PROG' maciso) ;
  206. lmaequ = 'ET' lmaequ ('PROG' macequ) ;
  207. idx = '+' idx 1 ;
  208. visor='EXTRAIRE' lmaisor idx ;
  209. tiso = ('<' maciso ('*' visor 1.01)) ;
  210. 'SI' ('NON' tiso) ;
  211. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. ciso. < '
  212. visor ;
  213. 'MESSAGE' cherr ;
  214. 'FINSI' ;
  215. lok = 'ET' lok tiso ;
  216. *
  217. vequr='EXTRAIRE' lmaequr idx ;
  218. tequ = ('<' macequ ('*' vequr 1.01)) ;
  219. 'SI' ('NON' tequ) ;
  220. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. cequ. < '
  221. vequr ;
  222. 'MESSAGE' cherr ;
  223. 'FINSI' ;
  224. lok = 'ET' lok tequ ;
  225. *
  226. 'SI' graph ;
  227. tit = 'CHAINE' 'Maillage final ' mes ;
  228. 'SI' interact ;
  229. 'TRACER' mail 'TITR' tit 'NOEU' ;
  230. 'SINON' ;
  231. 'TRACER' mail 'TITR' tit 'NOEU' 'NCLK' ;
  232. 'FINSI' ;
  233. 'FINSI' ;
  234. 'FORME' orig ;
  235. 'FIN' imesh ;
  236. 'FIN' idisc ;
  237. *
  238. * Fin du jeu de données
  239. *
  240. 'SAUTER' 2 'LIGNE' ;
  241. 'SI' lok ;
  242. 'MESSAGE' 'Tout sest bien passe' ;
  243. 'SINON' ;
  244. 'MESSAGE' 'Il y a eu des erreurs' ;
  245. 'FINSI' ;
  246. 'SAUTER' 2 'LIGNE' ;
  247. 'SI' interact ;
  248. 'OPTION' 'DONN' 5 ;
  249. 'FINSI' ;
  250. 'SI' ('NON' lok) ;
  251. 'ERREUR' 5 ;
  252. 'FINSI' ;
  253. *
  254. * End of dgibi file DEDUAD1D
  255. *
  256. 'FIN' ;
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  

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