Télécharger deduad2d.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : deduad2d.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : DEDUAD2D
  7. * DESCRIPTION : cas-test 2d 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 deduad2d.dgibi' ;
  26. 'SAUTER' 2 'LIGNE' ;
  27. *
  28. *
  29. *
  30. interact= FAUX ;
  31. graph = FAUX ;
  32. debug = FAUX ;
  33. *
  34. *BEGINPROCEDUR cas2d
  35. ************************************************************************
  36. * NOM : CAS2D
  37. * DESCRIPTION : Construit les cas pour deduadap 2D
  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' CAS2D ;
  57. 'ARGUMENT' mesh*'ENTIER' ;
  58. 'ARGUMENT' nbmail2*'ENTIER' ;
  59. 'ARGUMENT' ltri/'LOGIQUE' ;
  60. *
  61. 'SI' ('NON' ('EXISTE' ltri)) ;
  62. ltri = 'VRAI' ;
  63. 'FINSI' ;
  64. *
  65. 'ARGUMENT' disc/'MOT' ;
  66. 'SI' ('NON' ('EXISTE' disc)) ;
  67. disc = 'LINE' ;
  68. 'FINSI' ;
  69. *
  70. 'SI' ('<' nbmail2 1) ;
  71. cherr = 'CHAINE' 'Nombre de mailles inférieur à 2...' ;
  72. 'ERREUR' cherr ;
  73. 'FINSI' ;
  74. nbmail = '*' nbmail2 2 ;
  75. *
  76. 'SI' ltri ;
  77. 'SI' ('EGA' disc 'LINE') ;
  78. 'OPTION' 'ELEM' 'TRI3' ;
  79. 'SINON' ;
  80. 'OPTION' 'ELEM' 'TRI6' ;
  81. 'FINSI' ;
  82. 'SINON' ;
  83. 'SI' ('EGA' disc 'LINE') ;
  84. 'OPTION' 'ELEM' 'QUA4' ;
  85. 'SINON' ;
  86. 'OPTION' 'ELEM' 'QUA8' ;
  87. 'FINSI' ;
  88. 'FINSI' ;
  89. *
  90. 'SI' ('OU' ('ET' ('>EG' mesh 1) ('&lt;EG' mesh 2))
  91. ('EGA' mesh 7)) ;
  92. pA = 'POIN' 0. 0. ;
  93. pB = 'POIN' 0.5 0. ;
  94. pC = 'POIN' 1.0 0. ;
  95. pD = 'POIN' 0. 0.5 ;
  96. pE = 'POIN' 0.5 0.5 ;
  97. pF = 'POIN' 1.0 0.5 ;
  98. pG = 'POIN' 0. 1.0 ;
  99. pH = 'POIN' 0.5 1.0 ;
  100. pI = 'POIN' 1.0 1.0 ;
  101. *
  102. 'SI' ('OU' ('EGA' mesh 1) ('EGA' mesh 7)) ;
  103. bas = 'ET' ('DROIT' pA pB nbmail2) ('DROIT' pB pC nbmail2) ;
  104. dro = 'ET' ('DROIT' pC pF nbmail2) ('DROIT' pF pI nbmail2) ;
  105. hau = 'ET' ('DROIT' pI pH nbmail2) ('DROIT' pH pG nbmail2) ;
  106. gau = 'ET' ('DROIT' pG pD nbmail2) ('DROIT' pD pA nbmail2) ;
  107. mt = 'DALLER' bas dro hau gau ;
  108. 'FINSI' ;
  109. *
  110. 'SI' ('EGA' mesh 2) ;
  111. bas = 'ET' ('DROIT' pA pB ('-' nbmail 1)) ('DROIT' pB pC 1) ;
  112. dro = 'ET' ('DROIT' pC pF ('-' nbmail 1)) ('DROIT' pF pI 1) ;
  113. hau = 'ET' ('DROIT' pI pH 1) ('DROIT' pH pG ('-' nbmail 1)) ;
  114. gau = 'ET' ('DROIT' pG pD 1) ('DROIT' pD pA ('-' nbmail 1)) ;
  115. mt = 'DALLER' bas dro hau gau ;
  116. 'FINSI' ;
  117. *
  118. rigblo = 'ET' ('BLOQUE' 'UX' (gau 'ET' dro))
  119. ('BLOQUE' 'UY' (bas 'ET' hau)) ;
  120. cblo = 'DEPIMPOSE' rigblo 0. ;
  121. 'FINSI' ;
  122. *
  123. 'SI' ('ET' ('>EG' mesh 3) ('&lt;EG' mesh 4)) ;
  124. pA = 0. 0. ; pB = 1. 0. ; pC = 1. 1. ;
  125. pD = 2. 1. ; pE = 2. 0. ; pF = 3. 0. ;
  126. pG = 3. 3. ; pH = 0. 3. ;
  127. dCH = 'DROIT' pC pH nbmail2 ; dDG = 'DROIT' pD pG nbmail2 ;
  128. dAB = 'DROIT' pA pB nbmail2 ; dBC = 'DROIT' pB pC nbmail2 ;
  129. dHA = 'DROIT' pH pA nbmail2 ; dCD = 'DROIT' pC pD nbmail2 ;
  130. dGH = 'DROIT' pG pH nbmail2 ; dDE = 'DROIT' pD pE nbmail2 ;
  131. dEF = 'DROIT' pE pF nbmail2 ; dFG = 'DROIT' pF pG nbmail2 ;
  132. cmt = dAB 'ET' dBC 'ET' dCD 'ET' dDE 'ET'
  133. dEF 'ET' dFG 'ET' dGH 'ET' dHA ;
  134. 'SI' ('EGA' mesh 3) ;
  135. s1 = 'DALLER' dAB dBC dCH dHA ;
  136. s2 = 'DALLER' dCD dDG dGH ('INVERSE' dCH) ;
  137. s3 = 'DALLER' dDE dEF dFG ('INVERSE' dDG) ;
  138. mt = s1 'ET' s2 'ET' s3 ;
  139. 'FINSI' ;
  140. 'SI' ('EGA' mesh 4) ;
  141. mt = 'SURFACE' cmt ;
  142. 'FINSI' ;
  143. 'FINSI' ;
  144. 'SI' ('EGA' mesh 5) ;
  145. pA = 0. 0. ; pB = 2. 0. ; pC = 3. 1. ;
  146. pD = 1. 1. ; pE = 3. -1. ; pF = 1. -1. ;
  147. dAB = 'DROIT' pA pB nbmail ; dBC = 'DROIT' pB pC nbmail ;
  148. dCD = 'DROIT' pC pD nbmail ; dDA = 'DROIT' pD pA nbmail ;
  149. dBE = 'DROIT' pB pE nbmail ; dEF = 'DROIT' pE pF nbmail ;
  150. dFA = 'DROIT' pF pA nbmail ;
  151. s1 = 'DALLER' dAB dBC dCD dDA ;
  152. s2 = 'DALLER' dAB dBE dEF dFA ;
  153. mt = s1 'ET' s2 ;
  154. cmt = 'CONTOUR' mt ;
  155. 'FINSI' ;
  156. 'SI' ('EGA' mesh 6) ;
  157. * pA = 0. 0. ; pB = 1. 0. ; p1 = 2. 0.5 ;
  158. * pC = 1. 1. ; pD = 0. 1. ; p2 = 0.5 0. ;
  159. pA = 0. 0. ; pB = 1. 0. ; p1 = 1.8 0.5 ;
  160. pC = 1. 1. ; pD = 0. 1. ; p2 = 0.5 0.2 ;
  161. dAB = 'DROIT' pA pB nbmail ; dBC = 'PARA' pB p1 pC nbmail ;
  162. dCD = 'PARA' pC p2 pD nbmail ; dDA = 'DROIT' pD pA nbmail ;
  163. mt = 'DALLER' dAB dBC dCD dDA ;
  164. cmt = 'CONTOUR' mt ;
  165. * 'TRACER' mt ;
  166. 'FINSI' ;
  167. 'SI' ('EGA' mesh 8) ;
  168. pA = 0. -3. ; pB = 4. -3. ; pC = 4. 1. ; pD = 0. 1. ;
  169. pE = 0. -1. ;
  170. dAB = 'DROIT' pA pB nbmail ; dBC = 'DROIT' pB pC nbmail ;
  171. dCD = 'DROIT' pC pD nbmail ; dDE = 'DROIT' pD pE nbmail ;
  172. dEA = 'DROIT' pE pA nbmail2 ;
  173. cmt = dAB 'ET' dBC 'ET' dCD 'ET' dDE 'ET' dEA ;
  174. mt = 'SURFACE' cmt ;
  175. * mt = 'DALLER' dAB dBC dCD (dDE 'ET' dEA) ;
  176. * cmt = 'CONTOUR' mt ;
  177. bux = 'ET' dBC dEA ;
  178. buy = 'ET' dAB dCD ;
  179. buxuy = dDE ;
  180. rigb1 = 'BLOQUE' 'UX' ('ET' bux buxuy) ;
  181. rigb2 = 'BLOQUE' 'UY' ('ET' buy buxuy) ;
  182. rigblo = 'ET' rigb1 rigb2 ;
  183. ch1 = 'MANUEL' 'CHPO' bux 1 'UX' 0. 'NATURE' 'DISCRET' ;
  184. ch2 = 'MANUEL' 'CHPO' buy 1 'UY' 0. 'NATURE' 'DISCRET' ;
  185. y1 = 'COORDONNEE' 2 buxuy ;
  186. y3 = '**' y1 3 ;
  187. fac = 4. ;
  188. ch3 = 'NOMC' 'UX' ('*' ('-' y3 y1) fac) 'NATURE' 'DISCRET' ;
  189. chblo = ch1 '+' ch2 '+' ch3 ;
  190. cblo = 'DEPIMPOSE' rigblo chblo ;
  191. * 'TRACER' mt ;
  192. 'FINSI' ;
  193. *
  194. 'SI' ('ET' ('>EG' mesh 3) ('&lt;EG' mesh 6)) ;
  195. rigblo = 'ET' ('BLOQUE' 'UX' cmt)
  196. ('BLOQUE' 'UY' cmt) ;
  197. cblo = 'DEPIMPOSE' rigblo 0. ;
  198. 'FINSI' ;
  199.  
  200. *
  201. * Cas QUAF
  202. *
  203. 'SI' ('EGA' disc 'QUAF') ;
  204. mt = 'CHANGER' mt 'QUAF' ;
  205. _mt = mt ;
  206. 'SINON' ;
  207. _mt = 'CHANGER' mt 'QUAF' ;
  208. 'FINSI' ;
  209. *
  210. * Métrique
  211. *
  212. 'SI' ('OU' ('ET' ('>EG' mesh 1) ('&lt;EG' mesh 6))
  213. ('EGA' mesh 8)) ;
  214. met ='CHAINE' 'rien' ;
  215. 'FINSI' ;
  216. 'SI' ('EGA' mesh 7) ;
  217. $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'QUAF' ;
  218. mtc = 'DOMA' $mt 'CENTRE' ;
  219. xmt ymt = 'COORDONNEE' mtc ;
  220. g11 = 'NOMC' 'G11' ('+' ('*' xmt 100.) 0.);
  221. g22 = 'NOMC' 'G22' ('+' ('*' ymt 100.) 0.) ;
  222. g12 = 'NOMC' 'G12' ('*' xmt 0.) ;
  223. met = g11 'ET' g22 'ET' g12 ;
  224. * 'LISTE' met ;
  225. * 'ERREUR' 'STOP !' ;
  226. 'FINSI' ;
  227. 'RESPRO' mt _mt met rigblo cblo ;
  228. *
  229. * End of procedure file CAS2D
  230. *
  231. 'FINPROC' ;
  232. *ENDPROCEDUR cas2d
  233. *
  234. 'OPTION' 'DIME' 2 ;
  235. 'SI' ('NON' interact) ;
  236. 'OPTION' 'TRAC' 'PS' ;
  237. 'SINON' ;
  238. 'OPTION' 'TRAC' 'X' ;
  239. 'FINSI' ;
  240. *
  241. * Pour les tests, on regarde les valeurs max. des indicateurs
  242. * d'isotropie et d'equidistribution
  243. *
  244. lmaiso = 'PROG' ;
  245. lmaequ = 'PROG' ;
  246. *
  247. * Ici les valeurs de référence
  248. *
  249. lok = VRAI ;
  250. idx = 0 ;
  251. lmaisor = 'PROG' 3. 2.5 2. 2. 2. 2. 1. 1. 1. 1.
  252. 2. 2.5 2. 3.0 4. 2. 2.5 2.5 1. 1.
  253. 5. 4.5 ;
  254. lmaequr = 'PROG' 3.5 2.5 2.5 2. 2.5 2. 1. 1. 1. 1.
  255. 3.5 2. 3.0 2.5 4. 1.5 2.5 2. 1. 1.
  256. 4.5 2.5 ;
  257. *
  258. * Maillage :
  259. * mesh = 1 : maillage régulier
  260. * mesh = 2 : maillage concentré à gauche
  261. * mesh = 3 : horseshoe avec DALLER
  262. * mesh = 4 : horseshoe avec SURF
  263. * mesh = 5 : chevron
  264. * mesh = 6 : swan
  265. * mesh = 7 : maillage régulier + métrique concentrée en bas à gauche
  266. * mesh = 8 : keyhole
  267. * ltri = VRAI : triangles sinon quadrangles
  268. * nbmail2 : nombre de mailles divisé par 2
  269. * 'QUAI' : quadratique incomplet (mécanique)
  270. * 'QUAF' : quadratique fluide
  271. *
  272. tdisc = 'TABLE' ;
  273. tdisc . 1 = 'LINE' ;
  274. tdisc . 2 = 'QUAI' ;
  275. tdisc . 3 = 'QUAF' ;
  276. ltheta = 'PROG' 1. 0.2 ;
  277. lgamma = 'PROG' 2.5 2. ;
  278. *ltheta = 'PROG' 1. 1. 0.5 0.2 0.05 ;
  279. *lgamma = 'PROG' 1. 2. 2. 2. 2. ;
  280. nparam = 'DIME' lgamma ;
  281. *
  282. * Test 0 : Juste pour moi
  283. *
  284. 'SI' FAUX ;
  285. 'SAUTER' 2 'LIGNE' ;
  286. chs = 'CHAINE' '*****************************************************' ;
  287. ch1 = 'CHAINE' '* Test 0 ' ;
  288. 'MESSAGE' chs ; 'MESSAGE' ch1 ; 'MESSAGE' chs ;
  289. 'SAUTER' 2 'LIGNE' ;
  290. *
  291. iimesh = 4 ;
  292. theta = 0.5 ;
  293. gamma = 3. ;
  294. iidisc = 1 ;
  295. iitri = 2 ;
  296. gdisc = tdisc . iidisc ;
  297. 'SI' ('EGA' iidisc 1) ;
  298. nbmail2 = 8 ;
  299. 'SINON' ;
  300. nbmail2 = 4 ;
  301. 'FINSI' ;
  302. 'SI' ('EGA' iitri 1) ;
  303. ltri = VRAI ;
  304. 'SINON' ;
  305. ltri = FAUX ;
  306. 'FINSI' ;
  307. *
  308. * Maillage
  309. *
  310. mail _mt met mblo cblo = CAS2D iimesh nbmail2 ltri gdisc ;
  311. 'SI' ltri ;
  312. mtri = 'CHAINE' 'triangle' ;
  313. 'SINON' ;
  314. mtri = 'CHAINE' 'carre' ;
  315. 'FINSI' ;
  316. mes = 'CHAINE' 'th=' theta ' ; gam=' gamma
  317. ' mesh=' iimesh ' ; ' mtri ' ; ' gdisc ;
  318. 'MESSAGE' mes ;
  319. 'SI' graph ;
  320. tit = 'CHAINE' 'Maillage initial ' mes ;
  321. 'SI' interact ;
  322. 'TRACER' mail 'TITR' tit ;
  323. 'SINON' ;
  324. 'TRACER' mail 'TITR' tit 'NCLK' ;
  325. 'FINSI' ;
  326. 'FINSI' ;
  327. *
  328. * adaptation
  329. *
  330. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  331. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
  332. 'METR' met 'CSTE'
  333. 'THET' theta 'GAMM' gamma debug ;
  334. 'SINON' ;
  335. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
  336. 'THET' theta 'GAMM' gamma debug ;
  337. 'FINSI' ;
  338. *
  339. * tracé
  340. *
  341. orig = 'FORME' ;
  342. 'FORME' dep ;
  343. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  344. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' met 'CSTE' ;
  345. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' met 'CSTE' ;
  346. 'SINON' ;
  347. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' ;
  348. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' ;
  349. 'FINSI' ;
  350. maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ;
  351. macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ;
  352. 'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ;
  353. 'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ;
  354. 'SI' graph ;
  355. tit = 'CHAINE' 'Maillage final ' mes ;
  356. 'SI' interact ;
  357. 'TRACER' mail 'TITR' tit ;
  358. 'SINON' ;
  359. 'TRACER' mail 'TITR' tit 'NCLK' ;
  360. 'FINSI' ;
  361. $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'LINE' ;
  362. mb = 'MODE' ('DOMA' $mt 'MAILLAGE') 'THERMIQUE' ;
  363. cliso = 'KCHA' $mt ciso 'CHAM' ;
  364. tit = 'CHAINE' 'Isotropie ' mes ;
  365. 'SI' interact ;
  366. 'TRACER' cliso mb 'TITR' tit ;
  367. 'SINON' ;
  368. 'TRACER' cliso mb 'TITR' tit 'NCLK' ;
  369. 'FINSI' ;
  370. clequ = 'KCHA' $mt cequ 'CHAM' ;
  371. tit = 'CHAINE' 'Equidis. ' mes ;
  372. 'SI' interact ;
  373. 'TRACER' clequ mb 'TITR' tit ;
  374. 'SINON' ;
  375. 'TRACER' clequ mb 'TITR' tit 'NCLK' ;
  376. 'FINSI' ;
  377. 'FINSI' ;
  378. 'FORME' orig ;
  379. 'FINSI' ;
  380. *
  381. * Test 1 : on fait varier la discrétisation géométrique
  382. * type et degré des éléments sur le cas du swan
  383. *
  384. 'SI' VRAI ;
  385. 'SAUTER' 2 'LIGNE' ;
  386. chs = 'CHAINE' '*****************************************************' ;
  387. ch1 = 'CHAINE' '* Test 1 : on fait varier type et degre des elements ' ;
  388. ch2 = 'CHAINE' '* sur le maillage swan ' ;
  389. 'MESSAGE' chs ; 'MESSAGE' ch1 ; 'MESSAGE' ch2 ; 'MESSAGE' chs ;
  390. 'SAUTER' 2 'LIGNE' ;
  391. *
  392. 'REPETER' idisc 3 ;
  393. 'REPETER' itri 2 ;
  394. iimesh = 6 ;
  395. theta = 0.5 ;
  396. gamma = 2. ;
  397. iidisc = &idisc ;
  398. iitri = &itri ;
  399. gdisc = tdisc . iidisc ;
  400. 'SI' ('EGA' iidisc 1) ;
  401. nbmail2 = 8 ;
  402. 'SINON' ;
  403. nbmail2 = 4 ;
  404. 'FINSI' ;
  405. 'SI' ('EGA' iitri 1) ;
  406. ltri = VRAI ;
  407. 'SINON' ;
  408. ltri = FAUX ;
  409. 'FINSI' ;
  410. *
  411. * Maillage
  412. *
  413. mail _mt met mblo cblo = CAS2D iimesh nbmail2 ltri gdisc ;
  414. 'SI' ltri ;
  415. mtri = 'CHAINE' 'triangle' ;
  416. 'SINON' ;
  417. mtri = 'CHAINE' 'carre' ;
  418. 'FINSI' ;
  419. mes = 'CHAINE' 'th=' theta ' ; gam=' gamma
  420. ' mesh=' iimesh ' ; ' mtri ' ; ' gdisc ;
  421. 'MESSAGE' mes ;
  422. 'SI' graph ;
  423. tit = 'CHAINE' 'Maillage initial ' mes ;
  424. 'SI' interact ;
  425. 'TRACER' mail 'TITR' tit ;
  426. 'SINON' ;
  427. 'TRACER' mail 'TITR' tit 'NCLK' ;
  428. 'FINSI' ;
  429. 'FINSI' ;
  430. *
  431. * adaptation
  432. *
  433. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  434. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
  435. 'METR' met 'CSTE'
  436. 'THET' theta 'GAMM' gamma debug ;
  437. 'SINON' ;
  438. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
  439. 'THET' theta 'GAMM' gamma debug ;
  440. 'FINSI' ;
  441. *
  442. * tracé
  443. *
  444. orig = 'FORME' ;
  445. 'FORME' dep ;
  446. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  447. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' met 'CSTE' ;
  448. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' met 'CSTE' ;
  449. 'SINON' ;
  450. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' ;
  451. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' ;
  452. 'FINSI' ;
  453. maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ;
  454. macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ;
  455. 'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ;
  456. 'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ;
  457. * Tests
  458. lmaiso = 'ET' lmaiso ('PROG' maciso) ;
  459. lmaequ = 'ET' lmaequ ('PROG' macequ) ;
  460. idx = '+' idx 1 ;
  461. visor='EXTRAIRE' lmaisor idx ;
  462. tiso = ('<' maciso ('*' visor 1.05)) ;
  463. 'SI' ('NON' tiso) ;
  464. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. ciso. < '
  465. visor ;
  466. 'MESSAGE' cherr ;
  467. 'FINSI' ;
  468. lok = 'ET' lok tiso ;
  469.  
  470. vequr='EXTRAIRE' lmaequr idx ;
  471. tequ = ('<' macequ ('*' vequr 1.05)) ;
  472. 'SI' ('NON' tequ) ;
  473. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. cequ. < '
  474. vequr ;
  475. 'MESSAGE' cherr ;
  476. 'FINSI' ;
  477. lok = 'ET' lok tequ ;
  478. *
  479. 'SI' graph ;
  480. tit = 'CHAINE' 'Maillage final ' mes ;
  481. 'SI' interact ;
  482. 'TRACER' mail 'TITR' tit ;
  483. 'SINON' ;
  484. 'TRACER' mail 'TITR' tit 'NCLK' ;
  485. 'FINSI' ;
  486. $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'LINE' ;
  487. mb = 'MODE' ('DOMA' $mt 'MAILLAGE') 'THERMIQUE' ;
  488. cliso = 'KCHA' $mt ciso 'CHAM' ;
  489. tit = 'CHAINE' 'Isotropie ' mes ;
  490. 'SI' interact ;
  491. 'TRACER' cliso mb 'TITR' tit ;
  492. 'SINON' ;
  493. 'TRACER' cliso mb 'TITR' tit 'NCLK' ;
  494. 'FINSI' ;
  495. clequ = 'KCHA' $mt cequ 'CHAM' ;
  496. tit = 'CHAINE' 'Equidis. ' mes ;
  497. 'SI' interact ;
  498. 'TRACER' clequ mb 'TITR' tit ;
  499. 'SINON' ;
  500. 'TRACER' clequ mb 'TITR' tit 'NCLK' ;
  501. 'FINSI' ;
  502. 'FINSI' ;
  503. 'FORME' orig ;
  504. 'FIN' itri ;
  505. 'FIN' idisc ;
  506. 'FINSI' ;
  507. *
  508. * Test 2 : on fait varier le maillage et theta avec des carres LINE
  509. *
  510. 'SI' vrai ;
  511. 'SAUTER' 2 'LIGNE' ;
  512. chs = 'CHAINE' '*****************************************************' ;
  513. ch1 = 'CHAINE' '* Test 2 : on fait varier le maillage, theta, gamma ' ;
  514. ch2 = 'CHAINE' '* avec des carres LINE ' ;
  515. 'MESSAGE' chs ; 'MESSAGE' ch1 ; 'MESSAGE' ch2 ; 'MESSAGE' chs ;
  516. 'SAUTER' 2 'LIGNE' ;
  517. *
  518. 'REPETER' imesh 8 ;
  519. 'REPETER' iparam nparam ;
  520. iimesh = &imesh ;
  521. theta = 'EXTRAIRE' ltheta &iparam ;
  522. gamma = 'EXTRAIRE' lgamma &iparam ;
  523. iidisc = 1 ;
  524. iitri = 2 ;
  525. gdisc = tdisc . iidisc ;
  526. 'SI' ('EGA' iidisc 1) ;
  527. nbmail2 = 8 ;
  528. 'SINON' ;
  529. nbmail2 = 4 ;
  530. 'FINSI' ;
  531. 'SI' ('EGA' iitri 1) ;
  532. ltri = VRAI ;
  533. 'SINON' ;
  534. ltri = FAUX ;
  535. 'FINSI' ;
  536. *
  537. * Maillage
  538. *
  539. mail _mt met mblo cblo = CAS2D iimesh nbmail2 ltri gdisc ;
  540. 'SI' ltri ;
  541. mtri = 'CHAINE' 'triangle' ;
  542. 'SINON' ;
  543. mtri = 'CHAINE' 'carre' ;
  544. 'FINSI' ;
  545. mes = 'CHAINE' 'th=' theta ' ; gam=' gamma
  546. ' mesh=' iimesh ' ; ' mtri ' ; ' gdisc ;
  547. 'MESSAGE' mes ;
  548. 'SI' graph ;
  549. tit = 'CHAINE' 'Maillage initial ' mes ;
  550. 'SI' interact ;
  551. 'TRACER' mail 'TITR' tit ;
  552. 'SINON' ;
  553. 'TRACER' mail 'TITR' tit 'NCLK' ;
  554. 'FINSI' ;
  555. 'FINSI' ;
  556. *
  557. * adaptation
  558. *
  559. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  560. dep = 'DEDU' 'ADAP' _mt mblo cblo 'METR' met 'CSTE'
  561. 'DISG' gdisc
  562. 'THET' theta 'GAMM' gamma debug ;
  563. 'SINON' ;
  564. dep = 'DEDU' 'ADAP' _mt mblo cblo 'DISG' gdisc
  565. 'THET' theta 'GAMM' gamma debug ;
  566. 'FINSI' ;
  567. *
  568. * tracé
  569. *
  570. orig = 'FORME' ;
  571. 'FORME' dep ;
  572. 'SI' ('EGA' ('TYPE' met) 'CHPOINT ') ;
  573. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' met 'CSTE' ;
  574. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' met 'CSTE' ;
  575. 'SINON' ;
  576. ciso = DEADUTIL 'QISO' _mt gdisc 'GAU7' ;
  577. cequ = DEADUTIL 'QEQU' _mt gdisc 'GAU7' ;
  578. 'FINSI' ;
  579. maciso = 'MAXIMUM' ciso ; miciso = 'MINIMUM' ciso ;
  580. macequ = 'MAXIMUM' cequ ; micequ = 'MINIMUM' cequ ;
  581. 'MESSAGE' ('CHAINE' 'CISO : max. = ' maciso ' min. = ' miciso) ;
  582. 'MESSAGE' ('CHAINE' 'CEQU : max. = ' macequ ' min. = ' micequ) ;
  583. * Tests
  584. lmaiso = 'ET' lmaiso ('PROG' maciso) ;
  585. lmaequ = 'ET' lmaequ ('PROG' macequ) ;
  586. idx = '+' idx 1 ;
  587. visor='EXTRAIRE' lmaisor idx ;
  588. tiso = ('<' maciso ('*' visor 1.05)) ;
  589. 'SI' ('NON' tiso) ;
  590. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. ciso. < '
  591. visor ;
  592. 'MESSAGE' cherr ;
  593. 'FINSI' ;
  594. lok = 'ET' lok tiso ;
  595.  
  596. vequr='EXTRAIRE' lmaequr idx ;
  597. tequ = ('<' macequ ('*' vequr 1.05)) ;
  598. 'SI' ('NON' tequ) ;
  599. cherr = 'CHAINE' '!!! Erreur, on aurait voulu max. cequ. < '
  600. vequr ;
  601. 'MESSAGE' cherr ;
  602. 'FINSI' ;
  603. lok = 'ET' lok tequ ;
  604. *
  605. 'SI' graph ;
  606. tit = 'CHAINE' 'Maillage final ' mes ;
  607. 'SI' interact ;
  608. 'TRACER' mail 'TITR' tit ;
  609. 'SINON' ;
  610. 'TRACER' mail 'TITR' tit 'NCLK' ;
  611. 'FINSI' ;
  612. $mt = 'MODELISER' _mt 'NAVIER_STOKES' 'LINE' ;
  613. mb = 'MODE' ('DOMA' $mt 'MAILLAGE') 'THERMIQUE' ;
  614. cliso = 'KCHA' $mt ciso 'CHAM' ;
  615. tit = 'CHAINE' 'Isotropie ' mes ;
  616. 'SI' interact ;
  617. 'TRACER' cliso mb 'TITR' tit ;
  618. 'SINON' ;
  619. 'TRACER' cliso mb 'TITR' tit 'NCLK' ;
  620. 'FINSI' ;
  621. clequ = 'KCHA' $mt cequ 'CHAM' ;
  622. tit = 'CHAINE' 'Equidis. ' mes ;
  623. 'SI' interact ;
  624. 'TRACER' clequ mb 'TITR' tit ;
  625. 'SINON' ;
  626. 'TRACER' clequ mb 'TITR' tit 'NCLK' ;
  627. 'FINSI' ;
  628. 'FINSI' ;
  629. 'FORME' orig ;
  630. 'FIN' iparam ;
  631. 'FIN' imesh ;
  632. 'FINSI' ;
  633. *
  634. * Fin du jeu de données
  635. *
  636. 'SAUTER' 2 'LIGNE' ;
  637. 'SI' lok ;
  638. 'MESSAGE' 'Tout sest bien passe' ;
  639. 'SINON' ;
  640. 'MESSAGE' 'Il y a eu des erreurs' ;
  641. 'FINSI' ;
  642. 'SAUTER' 2 'LIGNE' ;
  643. 'SI' interact ;
  644. 'OPTION' 'DONN' 5 ;
  645. 'FINSI' ;
  646. 'SI' ('NON' lok) ;
  647. 'ERREUR' 5 ;
  648. 'FINSI' ;
  649. *
  650. * End of dgibi file DEDUAD2D
  651. *
  652. 'FIN' ;
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  

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