Télécharger lire_med_01.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : lire_med_01.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. * Presentation : Ce cas-test permet de 'LIRE' des fichiers au format MED
  6. * fournis par le LGLS pour validation
  7. * - v3.0.7
  8. * - v3.2.1
  9. *
  10. * Ameliorations a prevoir :
  11. * - 'LIRE' les MCHAML aux points d'intégration
  12. *
  13. * Creation : 11/03/2014
  14. * Createur : C. BERTHINIER
  15. *
  16. * Modifications :
  17. * CB215821 26/06/2015 : Passage à la lecture dans une TABLE pour les
  18. * noms à plus de 8 caractères
  19. * CB215821 01/02/2018 : Passage a la version 3.2.1 de MED
  20. * Ajout de la lecture des CHPOINT (Statiques & Temporels)
  21. * Ajout de la lecture des MCHAML (Statiques & Temporels)
  22. ************************************************************************
  23.  
  24. 'OPTI' 'TRAC' 'PSC';
  25.  
  26. ************************************************************************
  27. * PROCEDURE POUR PARCOURIR LA TABLE LUES DE MANIERE INCREMENTALE
  28. ************************************************************************
  29. 'DEBP' MEDTAB ITAB*'TABLE';
  30. 'LIST' ITAB ;
  31. TAB2 ='INDE' ITAB;
  32. DIMT ='DIME' TAB2;
  33. 'REPE' SURDIM DIMT;
  34. OBJ1 = ITAB.('MOT' TAB2. &SURDIM);
  35. TYP1 ='TYPE' OBJ1;
  36. Tit1 ='CHAI' FIC1 ' : ' ('MOT' TAB2. &SURDIM) ;
  37. * Cas des MAILLAGES
  38. 'SI' ('EGA' TYP1 'MAILLAGE');
  39. Tit1 ='CHAI' Tit1 ':MAILLAGE';
  40. 'TRAC' 'CACH' OBJ1 'TITR' Tit1;
  41. 'FINS';
  42.  
  43. * Cas des CHAMPS uniques
  44. 'SI' ('EGA' TYP1 'CHPOINT');
  45. Tit1 ='CHAI' Tit1 ':CHPOINT';
  46. 'TRAC' OBJ1 ITAB.(TAB2. 1) 'TITR' Tit1;
  47. 'FINS';
  48. 'SI' ('EGA' TYP1 'MCHAML' );
  49. MCH ='CHAN' 'CONS' OBJ1 'CONS1';
  50. MAILi='EXTR' MCH 'MAILLAGE' ;
  51. TYPEL='ELEM' MAILi 'TYPE';
  52. 'SI' ('NON' ('EXIS' ('MOTS' 'TRI7' 'QUA9') TYPEL 'OU'));
  53. MOCH ='MODE' MAILi 'MECANIQUE' 'CONS' 'CONS1';
  54. Tit1 ='CHAI' Tit1 ':MCHAML';
  55. 'TRAC' MOCH MCH 'TITR' Tit1;
  56. 'FINS';
  57. 'FINS';
  58.  
  59. * Cas des Champs a plusieurs instants
  60. 'SI' ('EGA' TYP1 'TABLE');
  61. TAB3 ='INDE' OBJ1 ;
  62. DIM2 ='DIME' OBJ1.'TEMPS' ;
  63. TAB_TE = OBJ1.('MOT' TAB3. 1);
  64. IND_TE ='INDE' TAB_TE ;
  65. TAB_CH = OBJ1.('MOT' TAB3. 2);
  66. 'REPE' SURJ DIM2;
  67. Tps = OBJ1.'TEMPS' .(IND_TE.&SURJ) ;
  68. OBJ2= TAB_CH .(IND_TE.&SURJ) ;
  69. TYP2='TYPE' OBJ2 ;
  70. Tit2='CHAI' Tit1 ' - Temps=' Tps ;
  71. 'SI'('EGA' TYP2 'CHPOINT');
  72. Tit2 ='CHAI' Tit2 ':CHPOINT';
  73. 'TRAC' ITAB.(TAB2. 1) OBJ2 'TITR' Tit2;
  74. 'FINS';
  75. 'SI' ('EGA' TYP2 'MCHAML');
  76. MCH ='CHAN' 'CONS' OBJ2 'CONS1';
  77. MAILi='EXTR' MCH 'MAILLAGE' ;
  78. TYPEL='ELEM' MAILi 'TYPE';
  79. 'SI' ('NON' ('EXIS' ('MOTS' 'TRI7' 'QUA9') TYPEL 'OU'));
  80. MOCH ='MODE' MAILi 'MECANIQUE' 'CONS' 'CONS1';
  81. Tit2 ='CHAI' Tit2 ':MCHAML';
  82. 'TRAC' MOCH MCH 'TITR' Tit2;
  83. 'FINS';
  84. 'FINS';
  85. 'FIN' SURJ;
  86. 'FINS';
  87. 'FIN' SURDIM;
  88. 'FINP';
  89.  
  90.  
  91. ***********************************************************************
  92. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  93. * Version 3.0.7
  94. ***********************************************************************
  95. FIC1 = 'CHAI' 'v3.0.7/Mesh_2D_biquadratic_arc.med';
  96. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  97. TAB1 = 'LIRE' 'MED' FIC2 ;
  98. MEDTAB TAB1;
  99.  
  100. FIC1 = 'CHAI' 'v3.0.7/Mesh_2D_quadratic.med';
  101. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  102. TAB1 = 'LIRE' 'MED' FIC2 ;
  103. MEDTAB TAB1;
  104.  
  105. FIC1 = 'CHAI' 'v3.0.7/Mesh_2D_quadratic_arc.med';
  106. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  107. TAB1 = 'LIRE' 'MED' FIC2 ;
  108. MEDTAB TAB1;
  109.  
  110. FIC1 = 'CHAI' 'v3.0.7/Mesh_plan_3D.med';
  111. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  112. TAB1 = 'LIRE' 'MED' FIC2 ;
  113. MEDTAB TAB1;
  114.  
  115. FIC1 = 'CHAI' 'v3.0.7/Mesh_mechanic_tetra.med';
  116. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  117. TAB1 = 'LIRE' 'MED' FIC2 ;
  118. MEDTAB TAB1;
  119.  
  120. FIC1 = 'CHAI' 'v3.0.7/Mesh_mechanic_t_quad_arc.med';
  121. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  122. TAB1 = 'LIRE' 'MED' FIC2 ;
  123. MEDTAB TAB1;
  124.  
  125. FIC1 = 'CHAI' 'v3.0.7/Mesh_mechanic_t_quad.med';
  126. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  127. TAB1 = 'LIRE' 'MED' FIC2 ;
  128. MEDTAB TAB1;
  129.  
  130. FIC1 = 'CHAI' 'v3.0.7/Mesh_pyramids.med';
  131. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  132. TAB1 = 'LIRE' 'MED' FIC2 ;
  133. MEDTAB TAB1;
  134.  
  135. FIC1 = 'CHAI' 'v3.0.7/Mesh_pyramids_quadratic.med';
  136. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  137. TAB1 = 'LIRE' 'MED' FIC2 ;
  138. MEDTAB TAB1;
  139.  
  140. FIC1 = 'CHAI' 'v3.0.7/Mesh_sphere_hexa.med';
  141. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  142. TAB1 = 'LIRE' 'MED' FIC2 ;
  143. MEDTAB TAB1;
  144.  
  145. FIC1 = 'CHAI' 'v3.0.7/Mesh_sphere_h_quad_arc.med';
  146. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  147. TAB1 = 'LIRE' 'MED' FIC2 ;
  148. MEDTAB TAB1;
  149.  
  150. ***********************************************************************
  151. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  152. * - MAILLAGES avec plusieurs groupes par famille
  153. ***********************************************************************
  154. FIC1 = 'CHAI' 'v3.0.7/Mesh_structelem.med';
  155. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  156. TAB1 = 'LIRE' 'MED' FIC2 ;
  157. MEDTAB TAB1;
  158.  
  159. ***********************************************************************
  160. * Lecture de CHPOINT Statiques
  161. * -MAILLAGES
  162. * -CHPOINT
  163. ***********************************************************************
  164. FIC1 = 'CHAI' 'v3.0.7/testNodeFieldOnAll.med';
  165. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  166. TAB1 = 'LIRE' 'MED' FIC2 ;
  167. MEDTAB TAB1;
  168.  
  169. FIC1 = 'CHAI' 'v3.0.7/testNodeFieldOnPart.med';
  170. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  171. TAB1 = 'LIRE' 'MED' FIC2 ;
  172. MEDTAB TAB1;
  173.  
  174.  
  175.  
  176.  
  177. ***********************************************************************
  178. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  179. * Version 3.2.1
  180. ***********************************************************************
  181. FIC1 = 'CHAI' 'v3.2.1/Mesh_2D_biquadratic_arc.med';
  182. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  183. TAB1 = 'LIRE' 'MED' FIC2 ;
  184. MEDTAB TAB1;
  185.  
  186. FIC1 = 'CHAI' 'v3.2.1/Mesh_2D_quadratic.med';
  187. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  188. TAB1 = 'LIRE' 'MED' FIC2 ;
  189. MEDTAB TAB1;
  190.  
  191. FIC1 = 'CHAI' 'v3.2.1/Mesh_2D_quadratic_arc.med';
  192. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  193. TAB1 = 'LIRE' 'MED' FIC2 ;
  194. MEDTAB TAB1;
  195.  
  196. FIC1 = 'CHAI' 'v3.2.1/Mesh_plan_3D.med';
  197. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  198. TAB1 = 'LIRE' 'MED' FIC2 ;
  199. MEDTAB TAB1;
  200.  
  201. FIC1 = 'CHAI' 'v3.2.1/Mesh_mechanic_tetra.med';
  202. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  203. TAB1 = 'LIRE' 'MED' FIC2 ;
  204. MEDTAB TAB1;
  205.  
  206. FIC1 = 'CHAI' 'v3.2.1/Mesh_mechanic_t_quad_arc.med';
  207. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  208. TAB1 = 'LIRE' 'MED' FIC2 ;
  209. MEDTAB TAB1;
  210.  
  211. FIC1 = 'CHAI' 'v3.2.1/Mesh_mechanic_t_quad.med';
  212. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  213. TAB1 = 'LIRE' 'MED' FIC2 ;
  214. MEDTAB TAB1;
  215.  
  216. FIC1 = 'CHAI' 'v3.2.1/Mesh_pyramids.med';
  217. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  218. TAB1 = 'LIRE' 'MED' FIC2 ;
  219. MEDTAB TAB1;
  220.  
  221. FIC1 = 'CHAI' 'v3.2.1/Mesh_pyramids_quadratic.med';
  222. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  223. TAB1 = 'LIRE' 'MED' FIC2 ;
  224. MEDTAB TAB1;
  225.  
  226. FIC1 = 'CHAI' 'v3.2.1/Mesh_sphere_hexa.med';
  227. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  228. TAB1 = 'LIRE' 'MED' FIC2 ;
  229. MEDTAB TAB1;
  230.  
  231. FIC1 = 'CHAI' 'v3.2.1/Mesh_sphere_h_quad_arc.med';
  232. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  233. TAB1 = 'LIRE' 'MED' FIC2 ;
  234. MEDTAB TAB1;
  235.  
  236. ***********************************************************************
  237. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  238. * - MAILLAGES avec plusieurs groupes par famille
  239. ***********************************************************************
  240. FIC1 = 'CHAI' 'v3.2.1/Mesh_structelem.med';
  241. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  242. TAB1 = 'LIRE' 'MED' FIC2 ;
  243. MEDTAB TAB1;
  244.  
  245. ***********************************************************************
  246. * Lecture de CHPOINT Statiques
  247. * -MAILLAGES
  248. * -CHPOINT
  249. ***********************************************************************
  250. FIC1 = 'CHAI' 'v3.2.1/testNodeFieldOnAll.med';
  251. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  252. TAB1 = 'LIRE' 'MED' FIC2 ;
  253. MEDTAB TAB1;
  254.  
  255. FIC1 = 'CHAI' 'v3.2.1/testNodeFieldOnPart.med';
  256. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  257. TAB1 = 'LIRE' 'MED' FIC2 ;
  258. MEDTAB TAB1;
  259.  
  260. ***********************************************************************
  261. * Lecture de CHAMPS Temporels
  262. * -MAILLAGES
  263. * -CHPOINT
  264. * -MCHAML
  265. ***********************************************************************
  266. FIC1 = 'CHAI' 'v3.2.1/ForMEDReader10.med';
  267. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  268. TAB1 = 'LIRE' 'MED' FIC2;
  269. MEDTAB TAB1;
  270.  
  271. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader11.med';
  272. * Incompatible actuellement car : Valeurs aux points de Gauss
  273.  
  274. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader13.med';
  275. * Incompatible actuellement car : Type d'élément incompatible:POLYGON & HEXAGON
  276.  
  277. FIC1 = 'CHAI' 'v3.2.1/ForMEDReader17.med';
  278. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  279. TAB1 = 'LIRE' 'MED' FIC2;
  280. MEDTAB TAB1;
  281.  
  282. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader25.med';
  283. * Incompatible actuellement car : Valeurs aux points de Gauss
  284.  
  285. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader29.med';
  286. * Incompatible actuellement car : Valeurs aux points de Gauss
  287.  
  288. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader33.med';
  289. * Incompatible actuellement car : Type d'élément incompatible:POLYGON
  290.  
  291. FIN;
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  

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