Télécharger rema-tet.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rema-tet-sing.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 0 ;
  5. ************************************************************************
  6. * NOM : REMA-TET-SING
  7. * DESCRIPTION : On remaille un tetraedre equilateral, allonge ou aplati
  8. *
  9. *
  10. *
  11. * LANGAGE : GIBIANE-CAST3M
  12. * AUTEUR : Stephane GOUNAND (CEA/DES/ISAS/DM2S/SEMT/LTA)
  13. * mel : stephane.gounand@cea.fr
  14. **********************************************************************
  15. * VERSION : v1, 16/02/2026, version initiale
  16. * HISTORIQUE : v1, 16/02/2026, création
  17. * HISTORIQUE :
  18. * HISTORIQUE :
  19. ************************************************************************
  20. *
  21. graph = faux ;
  22. interact = faux ;
  23. film = faux ;
  24. * Ne marchent pas ensemble
  25. 'SI' film ; graph = faux ; 'FINS' ;
  26. *
  27. * Mini, mediane et maxi d'un MCHAML
  28. 'DEBP' MIMEMA ;
  29. 'ARGU' ch*'MCHAML' ;
  30. 'ARGU' cmp*'MOT' ;
  31. lr = 'EXTR' (CHGRAV ch) 'VALE' cmp ;
  32. lro = 'ORDO' lr ; dlr = 'DIME' lr ;
  33. mil = 'EXTR' lro 1 ; mal = 'EXTR' lro dlr ;
  34. mel = 'EXTR' lro ('/' ('+' 1 dlr) 2) ;
  35. 'FINP' mil mel mal ;
  36. * Passage au gravite d'un MCHAML
  37. 'DEBP' CHGRAV ch*'MCHAML';
  38. 'FINP' ('CHAN' ch ('MODE' ('EXTR' ch 'MAIL') 'THERMIQUE') 'GRAVITE') ;
  39. *
  40. 'SI' ('NON' interact) ;
  41. 'OPTION' 'TRAC' 'PSC' ;
  42. 'SINON' ;
  43. 'OPTION' 'TRAC' 'X' ;
  44. 'FINSI' ;
  45. *
  46. *
  47. lqual = 'PROG' 0. 'PAS' 0.05 1. ;
  48. ldens1 = 'PROG' 0.5 'PAS' 0.05 1. ;
  49. ldens2 = 'PROG' 0.9 'PAS' -0.05 0.5 ;
  50. ldens = ldens1 'ET' (ldens2 '**' -1.) ;
  51. *
  52. ltest = vrai ;
  53. for = '(E11.3)' ;
  54. forf = '(F10.3)' ;
  55. *
  56. tol = '*' ('VALE' 'PREC') 10. ;
  57. lok = vrai ;
  58. lkas = 'LECT' 1 2 3 4 ;
  59. *lkas = 'LECT' 1 ;
  60. *
  61. nraff = 3 ;
  62. dx1 = 1.00 ;
  63. dx = 1. '/' ('*' dx1 (2 '**' nraff)) ;
  64. ttol = 1.25 ;
  65. *
  66. lz = 'PROG' 0.5 0.1 0.01 0.001 ;
  67. *lz = 'PROG' 0.001 ;
  68. *
  69. tref = 'TABL' ;
  70. 'REPE' iikas ('DIME' lkas) ;
  71. ikas = 'EXTR' lkas &iikas ;
  72. tref . ikas = 'TABL' ;
  73. 'FIN' iikas ;
  74. tref . 1 . 'miqa' = 'PROG' 0.67 0.38 0.12 3.69E-02 ;
  75. tref . 1 . 'meqa' = 'PROG' 0.84 0.64 0.21 6.69E-02 ;
  76. tref . 1 . 'maqa' = 'PROG' 0.99 0.97 0.40 0.11 ;
  77. *
  78. tref . 2 . 'miqa' = 'PROG' 0.76 0.39 0.12 3.98E-02 ;
  79. tref . 2 . 'meqa' = tref . 2 . 'miqa' ; tref . 2 . 'maqa' = tref . 2 . 'miqa' ;
  80. *
  81. tref . 3 . 'miqa' = 'PROG' 0.66 0.19 1.99E-02 1.99E-03 ;
  82. tref . 3 . 'meqa' = 'PROG' 0.86 0.65 7.98E-02 7.99E-03 ;
  83. tref . 3 . 'maqa' = 'PROG' 0.99 0.96 0.15 1.59E-02 ;
  84. *
  85. tref . 4 . 'miqa' = 'PROG' 0.73 0.19 1.99E-02 1.99E-03 ;
  86. tref . 4 . 'meqa' = tref . 4 . 'miqa' ; tref . 4 . 'maqa' = tref . 4 . 'miqa' ;
  87. *
  88. tref . 1 . 'miqe' = 'PROG' 0.53 0.32 0.15 4.04E-02 ;
  89. tref . 1 . 'meqe' = 'PROG' 0.74 0.56 0.24 9.26E-02 ;
  90. tref . 1 . 'maqe' = 'PROG' 1.02 0.92 0.49 0.22 ;
  91. *
  92. tref . 2 . 'miqe' = 'PROG' 0.63 0.32 0.15 7.12E-02 ;
  93. tref . 2 . 'meqe' = tref . 2 . 'miqe' ; tref . 2 . 'maqe' = (tref . 2 . 'miqe') '+' 0.01 ;
  94. *
  95. tref . 3 . 'miqe' = 'PROG' 0.56 0.24 5.21E-02 1.12E-02 ;
  96. tref . 3 . 'meqe' = 'PROG' 0.77 0.65 0.13 2.82E-02 ;
  97. tref . 3 . 'maqe' = 'PROG' 1.06 0.89 0.21 4.49E-02 ;
  98. *
  99. tref . 4 . 'miqe' = 'PROG' 0.50 0.19 4.16E-02 8.97E-03 ;
  100. tref . 4 . 'meqe' = tref . 4 . 'miqe' ; tref . 4 . 'maqe' = (tref . 4 . 'miqe') '+' 0.01 ;
  101. *
  102. tresu = 'TABL' ;
  103. 'REPE' iikas ('DIME' lkas) ;
  104. ikas = 'EXTR' lkas &iikas ;
  105. tresu . ikas = 'TABL' ;
  106. tresui = tresu . ikas ;
  107. tresui . 'nelem' = 'LECT' ; tresui . 'nelref' = 'LECT' ;
  108. tresui . 'miqa' = 'PROG' ; tresui . 'meqa' = 'PROG' ; tresui . 'maqa' = 'PROG' ;
  109. tresui . 'miqe' = 'PROG' ; tresui . 'meqe' = 'PROG' ; tresui . 'maqe' = 'PROG' ;
  110. 'FIN' iikas ;
  111. *
  112. 'REPE' iiz ('DIME' lz) ;
  113. iz = &iiz ;
  114. dz = 'EXTR' lz iz ;
  115. 'REPE' iikas ('DIME' lkas) ;
  116. ikas = 'EXTR' lkas &iikas ;
  117. hal = 0.5 ; mhal = -0.5 ;
  118. irac3 = '**' 3. -0.5 ;
  119. irac6 = '**' 6. -0.5 ;
  120. 'OPTI' 'DIME' 3 'ELEM' 'TET4' ;
  121. 'DENS' dx ;
  122. pA = mhal 0. 0. ;
  123. pB = hal 0. 0. ;
  124. pC = hal dz 0. ;
  125. 'SI' ('OU' ('EGA' ikas 1) ('EGA' ikas 2)) ;
  126. pD = hal 0. 1. ;
  127. 'SINO' ;
  128. pD = hal 0. dz ;
  129. 'FINS' ;
  130. lAB = 'DROI' pA pB ; lBC = 'DROI' pB pC ; lCA = 'DROI' pC pA ;
  131. cABC = lAB 'ET' lBC 'ET' lCA ;
  132. sABC = 'SURF' cABC 'PLAN' ;
  133. lAD = 'DROI' pA pD ; lDB = 'DROI' pD pB ;
  134. cADB = lAD 'ET' lDB 'ET' ('INVE' lAB) ;
  135. sADB = 'SURF' cADB 'PLAN' ;
  136. lDC = 'DROI' pD pC ;
  137. cBDC = ('INVE' lDB) 'ET' lDC 'ET' ('INVE' lBC) ;
  138. sBDC = 'SURF' cBDC 'PLAN' ;
  139. cCDA = ('INVE' lDC) 'ET' ('INVE' lAD) 'ET' ('INVE' lCA) ;
  140. sCDA = 'SURF' cCDA 'PLAN' ;
  141. tet = 'MANU' 'TET4' pA pB pC pD ;
  142. etetraff = sABC 'ET' sADB 'ET' sBDC 'ET' sCDA ;
  143. tetraff = 'TRIA' 'TOPO' etetraff 'AJNO' ;
  144. * tetraff = 'VOLU' etetraff ;
  145. 'TASS' ;
  146. *
  147. 'SI' ('EGA' ikas 1) ;
  148. desckas = 'CHAI' 'Raff tet1' ;
  149. desckar = 'CHAI' 'raf-tet1' ;
  150. metva = dx ;
  151. mailav = tet ;
  152. nelref = 'NBEL' tetraff ;
  153. 'FINS' ;
  154. 'SI' ('EGA' ikas 2) ;
  155. desckas = 'CHAI' 'Deraff tet1' ;
  156. desckar = 'CHAI' 'draf-tet1' ;
  157. dxg = '**' ('+' ('**' 1. 2.) ('**' dz 2.)) 0.5 ;
  158. metva = '*' ('MAXI' ('PROG' dxg 1.)) ttol ;
  159. mailav = tetraff ;
  160. nelref = 2 ;
  161. 'FINS' ;
  162. 'SI' ('EGA' ikas 3) ;
  163. desckas = 'CHAI' 'Raff tet2' ;
  164. desckar = 'CHAI' 'raf-tet2' ;
  165. metva = dx ;
  166. mailav = tet ;
  167. nelref = 'NBEL' tetraff ;
  168. 'FINS' ;
  169. 'SI' ('EGA' ikas 4) ;
  170. desckas = 'CHAI' 'Deraff tet2' ;
  171. desckar = 'CHAI' 'draf-tet2' ;
  172. dxg = '**' ('+' ('**' 1. 2.) ('**' dz 2.)) 0.5 ;
  173. metva = '*' ('MAXI' ('PROG' dxg 1.)) ttol ;
  174. mailav = tetraff ;
  175. nelref = 1 ;
  176. 'FINS' ;
  177. nomkas = 'CHAI' 'FORMAT' for 'CAS' ' ' ikas ' dz=' dz ' dxvoul=' metva ;
  178. nomkar = 'CHAI' 'FORMAT' for desckar '-dz' dz '-dx' metva ;
  179. txt = 'CHAI' '*****' ' ' nomkas ' :' ' ' ('CHAN' 'MAJU' desckas) ' ' '*****' ;
  180. 'MESS' txt ;
  181. *
  182. mailavq = 'CHAN' mailav 'QUAF' ;
  183. 'SI' graph ;
  184. tit = 'CHAI' desckas ' AVANT dxvoul=' metva ;
  185. 'TRAC' 'CACH' mailavq 'TITR' tit ;
  186. 'FINSI' ;
  187. *
  188. tparam = 'TABL' ;
  189. tparam . 'impr' = 1 ;
  190. tparam . 'critquals' = 'ENUM' ('PROG' 2 10. 3.) ('PROG' 2 10. 1.) ;
  191. tparam . 'impr_opto' = 0 ;
  192. tparam . 'veri_opto' = 2 ;
  193. 'SI' film ;
  194. tparam . 'sort_seqm' = 1 ;
  195. 'FINS' ;
  196. tparam . 'veri_seqm' = 0 ;
  197. 'SI' graph ;
  198. tparam . 'sort_mail_pass' = 1 ;
  199. 'FINS' ;
  200. tparam . 'graph' = faux ;
  201. *
  202. mailap = 'REMA' mailav metva tparam ;
  203. 'SI' film ;
  204. FILMTOPO tparam ('CHAI' nomkar '.ps') ;
  205. 'FINS' ;
  206. tresu . ikas . 'mail' = mailap ;
  207. lpcritq = tparam . 'critquals_eff' ; dlp = 'DIME' lpcritq ; lcritq = 'EXTR' lpcritq dlp ;
  208. *
  209. 'SI' graph ;
  210. lpass = tparam . 'seqpass' ;
  211. npass = 'DIME' lpass ;
  212. 'REPE' iipass npass ;
  213. ipass = &iipass ;
  214. mailpass = 'EXTR' lpass ipass ;
  215. mailpassq = 'CHAN' mailpass 'QUAF' ;
  216. tit = 'CHAI' 'FORMAT' for desckas ' passe' ' ' ipass ' dxvoul=' metva ;
  217. 'TRAC' 'CACH' mailpassq 'TITR' tit ;
  218. 'FIN' iipass ;
  219. 'FINSI' ;
  220. *
  221. qmailap = 'INDI' 'TOPO' 'COHE' 'DENS' mailap metva lcritq ;
  222. miq meq maq = MIMEMA qmailap 'TOPO' ;
  223. 'MESS' 'FORMAT' for nomkas ' : Qmin=' miq ' Qmed=' meq ' Qmax=' maq ;
  224. miqa meqa maqa = MIMEMA qmailap 'COHE' ;
  225. 'MESS' 'FORMAT' for nomkas ' : Qcohemin=' miqa ' Qcohemed=' meqa ' Qcohemax=' maqa ;
  226. 'SI' graph ;
  227. momailap = 'MODE' mailap 'MECANIQUE' ;
  228. tit = 'CHAI' 'FORMAT' for 'Qualite coherence' ' ' desckas ' dxvoul=' metva ;
  229. 'TRAC' ('EXCO' 'COHE' qmailap) momailap lqual 'TITR' tit ;
  230. 'FINSI' ;
  231. 'SI' ltest ;
  232. trefi = tref . ikas ;
  233. miqar = 'EXTR' (trefi . 'miqa') iz ; meqar = 'EXTR' (trefi . 'meqa') iz ; maqar = 'EXTR' (trefi . 'maqa') iz ;
  234. 'MESS' 'FORMAT' for nomkas ' : Qcohemir=' miqar ' Qcohemer=' meqar ' Qcohemar=' maqar ;
  235. 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ;
  236. 'MESS' '!!!' ' ' nomkas ' coherence failed' ;
  237. lok = lok 'ET' faux ;
  238. 'FINS' ;
  239. 'FINS' ;
  240. miqe meqe maqe = MIMEMA qmailap 'DENS' ;
  241. 'MESS' 'FORMAT' for nomkas ' : Qdensmin=' miqe ' Qdensmed=' meqe ' Qdensmax=' maqe ;
  242. 'SI' graph ;
  243. tit = 'CHAI' 'FORMAT' for 'Qualite density distribution' ' ' desckas ' dxvoul=' metva ;
  244. 'TRAC' ('EXCO' 'DENS' qmailap) momailap ldens 'TITR' tit ;
  245. 'FINSI' ;
  246. 'SI' ltest ;
  247. trefi = tref . ikas ;
  248. miqer = 'EXTR' (trefi . 'miqe') iz ; meqer = 'EXTR' (trefi . 'meqe') iz ; maqer = 'EXTR' (trefi . 'maqe') iz ;
  249. 'MESS' 'FORMAT' for nomkas ' : Qdensmir=' miqer ' Qdensmer=' meqer ' Qdensmar=' maqer ;
  250. 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.01) 'OU' ('>EG' maqe maqer)) ;
  251. 'MESS' '!!!' ' ' nomkas ' density distribution failed' ;
  252. lok = lok 'ET' faux ;
  253. 'FINS' ;
  254. 'FINS' ;
  255. nelem = 'NBEL' mailap ;
  256. 'MESS' nomkas ' : nelref=' nelref ' nelem=' nelem ' rap=' ('/' ('FLOT' nelref) ('FLOT' nelem)) ;
  257. *
  258. 'SI' ltest ;
  259. 'SI' ('OU' ('EGA' ikas 2) ('EGA' ikas 4)) ;
  260. 'SI' ('>' nelem nelref) ;
  261. 'MESS' '!!!' ' ' nomkas ' : derefinement failed nelem=' nelem ' > nelref=' nelref ;
  262. lok = lok 'ET' faux ;
  263. 'SINO' ;
  264. 'MESS' nomkas ' : derefinement OK nelem=' nelem ' <= nelref=' nelref ; ;
  265. 'FINS' ;
  266. 'FINS' ;
  267. 'SI' ('OU' ('EGA' ikas 1) ('EGA' ikas 3)) ;
  268. * Verification de la taille des aretes
  269. cmailap = 'ARET' mailap ;
  270. tcmap = DEADJACO cmailap ;
  271. matcmap = 'MAXI' tcmap 'ABS' ;
  272. dxtol = metva '*' ttol ;
  273. 'SI' ('>' matcmap dxtol) ;
  274. 'MESS' '!!!' ' ' nomkas ' : refinement failed matcamp=' matcmap ' > dxtol=' dxtol ;
  275. lok = lok 'ET' faux ;
  276. 'SINO' ;
  277. 'MESS' nomkas ' : refinement OK matcamp=' matcmap ' < dxtol=' dxtol ;
  278. 'FINS' ;
  279. 'FINS' ;
  280. 'FINS' ;
  281. *
  282. tresui = tresu . ikas ;
  283. tresui . 'desckas' = desckas ;
  284. tresui . 'nelref' = tresui . 'nelref' 'ET' nelref ;
  285. tresui . 'nelem' = tresui . 'nelem' 'ET' nelem ;
  286. tresui . 'miqa' = tresui . 'miqa' 'ET' miqa ;
  287. tresui . 'meqa' = tresui . 'meqa' 'ET' meqa ;
  288. tresui . 'maqa' = tresui . 'maqa' 'ET' maqa ;
  289. tresui . 'miqe' = tresui . 'miqe' 'ET' miqe ;
  290. tresui . 'meqe' = tresui . 'meqe' 'ET' meqe ;
  291. tresui . 'maqe' = tresui . 'maqe' 'ET' maqe ;
  292. 'FIN' iikas ;
  293. 'FIN' iiz ;
  294. *
  295. 'SI' ('NON' lok) ;
  296. 'MESSAGE' ('CHAINE' '!!! Il y a eu des erreurs') ;
  297. 'SINON' ;
  298. 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ;
  299. 'FINSI' ;
  300. *
  301. *
  302. 'OPTI' echo 1 ;
  303. 'SI' interact ;
  304. 'OPTI' 'DONN' 5 ;
  305. 'FINS' ;
  306. 'SI' ('NON' lok) ;
  307. 'ERRE' 5 ;
  308. 'FINS' ;
  309. *
  310. * End of dgibi file REMA-TET-SING
  311. *
  312. 'FIN' ;
  313.  
  314.  
  315.  

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