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.(TAB2. &SURDIM);
  35. TYP1 ='TYPE' OBJ1;
  36. Tit1 ='CHAI' FIC1 ' : ' (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.'mesh' '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 ;
  63. TAB4 = OBJ1.(TAB3. 2);
  64. 'REPE' SURJ DIM2;
  65. Tps = OBJ1.'TEMPS' .(&SURJ-1) ;
  66. OBJ2= TAB4 .(&SURJ-1) ;
  67. TYP2='TYPE' OBJ2 ;
  68. Tit2='CHAI' Tit1 ' - Temps=' Tps ;
  69. 'SI'('EGA' TYP2 'CHPOINT');
  70. Tit2 ='CHAI' Tit2 ':CHPOINT';
  71. 'TRAC' ITAB.'mesh' OBJ2 'TITR' Tit2;
  72. 'FINS';
  73. 'SI' ('EGA' TYP2 'MCHAML');
  74. MCH ='CHAN' 'CONS' OBJ2 'CONS1';
  75. MAILi='EXTR' MCH 'MAILLAGE' ;
  76. TYPEL='ELEM' MAILi 'TYPE';
  77. 'SI' ('NON' ('EXIS' ('MOTS' 'TRI7' 'QUA9') TYPEL 'OU'));
  78. MOCH ='MODE' MAILi 'MECANIQUE' 'CONS' 'CONS1';
  79. Tit2 ='CHAI' Tit2 ':MCHAML';
  80. 'TRAC' MOCH MCH 'TITR' Tit2;
  81. 'FINS';
  82. 'FINS';
  83. 'FIN' SURJ;
  84. 'FINS';
  85. 'FIN' SURDIM;
  86. 'FINP';
  87.  
  88.  
  89. ***********************************************************************
  90. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  91. * Version 3.0.7
  92. ***********************************************************************
  93. FIC1 = 'CHAI' 'v3.0.7/Mesh_2D_biquadratic_arc.med';
  94. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  95. TAB1 = 'LIRE' 'MED' FIC2 ;
  96. MEDTAB TAB1;
  97.  
  98. FIC1 = 'CHAI' 'v3.0.7/Mesh_2D_quadratic.med';
  99. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  100. TAB1 = 'LIRE' 'MED' FIC2 ;
  101. MEDTAB TAB1;
  102.  
  103. FIC1 = 'CHAI' 'v3.0.7/Mesh_2D_quadratic_arc.med';
  104. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  105. TAB1 = 'LIRE' 'MED' FIC2 ;
  106. MEDTAB TAB1;
  107.  
  108. FIC1 = 'CHAI' 'v3.0.7/Mesh_plan_3D.med';
  109. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  110. TAB1 = 'LIRE' 'MED' FIC2 ;
  111. MEDTAB TAB1;
  112.  
  113. FIC1 = 'CHAI' 'v3.0.7/Mesh_mechanic_tetra.med';
  114. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  115. TAB1 = 'LIRE' 'MED' FIC2 ;
  116. MEDTAB TAB1;
  117.  
  118. FIC1 = 'CHAI' 'v3.0.7/Mesh_mechanic_t_quad_arc.med';
  119. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  120. TAB1 = 'LIRE' 'MED' FIC2 ;
  121. MEDTAB TAB1;
  122.  
  123. FIC1 = 'CHAI' 'v3.0.7/Mesh_mechanic_t_quad.med';
  124. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  125. TAB1 = 'LIRE' 'MED' FIC2 ;
  126. MEDTAB TAB1;
  127.  
  128. FIC1 = 'CHAI' 'v3.0.7/Mesh_pyramids.med';
  129. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  130. TAB1 = 'LIRE' 'MED' FIC2 ;
  131. MEDTAB TAB1;
  132.  
  133. FIC1 = 'CHAI' 'v3.0.7/Mesh_pyramids_quadratic.med';
  134. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  135. TAB1 = 'LIRE' 'MED' FIC2 ;
  136. MEDTAB TAB1;
  137.  
  138. FIC1 = 'CHAI' 'v3.0.7/Mesh_sphere_hexa.med';
  139. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  140. TAB1 = 'LIRE' 'MED' FIC2 ;
  141. MEDTAB TAB1;
  142.  
  143. FIC1 = 'CHAI' 'v3.0.7/Mesh_sphere_h_quad_arc.med';
  144. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  145. TAB1 = 'LIRE' 'MED' FIC2 ;
  146. MEDTAB TAB1;
  147.  
  148. ***********************************************************************
  149. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  150. * - MAILLAGES avec plusieurs groupes par famille
  151. ***********************************************************************
  152. FIC1 = 'CHAI' 'v3.0.7/Mesh_structelem.med';
  153. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  154. TAB1 = 'LIRE' 'MED' FIC2 ;
  155. MEDTAB TAB1;
  156.  
  157. ***********************************************************************
  158. * Lecture de CHPOINT Statiques
  159. * -MAILLAGES
  160. * -CHPOINT
  161. ***********************************************************************
  162. FIC1 = 'CHAI' 'v3.0.7/testNodeFieldOnAll.med';
  163. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  164. TAB1 = 'LIRE' 'MED' FIC2 ;
  165. MEDTAB TAB1;
  166.  
  167. FIC1 = 'CHAI' 'v3.0.7/testNodeFieldOnPart.med';
  168. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  169. TAB1 = 'LIRE' 'MED' FIC2 ;
  170. MEDTAB TAB1;
  171.  
  172.  
  173.  
  174.  
  175. ***********************************************************************
  176. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  177. * Version 3.2.1
  178. ***********************************************************************
  179. FIC1 = 'CHAI' 'v3.2.1/Mesh_2D_biquadratic_arc.med';
  180. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  181. TAB1 = 'LIRE' 'MED' FIC2 ;
  182. MEDTAB TAB1;
  183.  
  184. FIC1 = 'CHAI' 'v3.2.1/Mesh_2D_quadratic.med';
  185. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  186. TAB1 = 'LIRE' 'MED' FIC2 ;
  187. MEDTAB TAB1;
  188.  
  189. FIC1 = 'CHAI' 'v3.2.1/Mesh_2D_quadratic_arc.med';
  190. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  191. TAB1 = 'LIRE' 'MED' FIC2 ;
  192. MEDTAB TAB1;
  193.  
  194. FIC1 = 'CHAI' 'v3.2.1/Mesh_plan_3D.med';
  195. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  196. TAB1 = 'LIRE' 'MED' FIC2 ;
  197. MEDTAB TAB1;
  198.  
  199. FIC1 = 'CHAI' 'v3.2.1/Mesh_mechanic_tetra.med';
  200. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  201. TAB1 = 'LIRE' 'MED' FIC2 ;
  202. MEDTAB TAB1;
  203.  
  204. FIC1 = 'CHAI' 'v3.2.1/Mesh_mechanic_t_quad_arc.med';
  205. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  206. TAB1 = 'LIRE' 'MED' FIC2 ;
  207. MEDTAB TAB1;
  208.  
  209. FIC1 = 'CHAI' 'v3.2.1/Mesh_mechanic_t_quad.med';
  210. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  211. TAB1 = 'LIRE' 'MED' FIC2 ;
  212. MEDTAB TAB1;
  213.  
  214. FIC1 = 'CHAI' 'v3.2.1/Mesh_pyramids.med';
  215. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  216. TAB1 = 'LIRE' 'MED' FIC2 ;
  217. MEDTAB TAB1;
  218.  
  219. FIC1 = 'CHAI' 'v3.2.1/Mesh_pyramids_quadratic.med';
  220. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  221. TAB1 = 'LIRE' 'MED' FIC2 ;
  222. MEDTAB TAB1;
  223.  
  224. FIC1 = 'CHAI' 'v3.2.1/Mesh_sphere_hexa.med';
  225. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  226. TAB1 = 'LIRE' 'MED' FIC2 ;
  227. MEDTAB TAB1;
  228.  
  229. FIC1 = 'CHAI' 'v3.2.1/Mesh_sphere_h_quad_arc.med';
  230. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  231. TAB1 = 'LIRE' 'MED' FIC2 ;
  232. MEDTAB TAB1;
  233.  
  234. ***********************************************************************
  235. * Lecture de MAILLAGES Statiques avec plusieurs types d'éléments
  236. * - MAILLAGES avec plusieurs groupes par famille
  237. ***********************************************************************
  238. FIC1 = 'CHAI' 'v3.2.1/Mesh_structelem.med';
  239. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  240. TAB1 = 'LIRE' 'MED' FIC2 ;
  241. MEDTAB TAB1;
  242.  
  243. ***********************************************************************
  244. * Lecture de CHPOINT Statiques
  245. * -MAILLAGES
  246. * -CHPOINT
  247. ***********************************************************************
  248. FIC1 = 'CHAI' 'v3.2.1/testNodeFieldOnAll.med';
  249. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  250. TAB1 = 'LIRE' 'MED' FIC2 ;
  251. MEDTAB TAB1;
  252.  
  253. FIC1 = 'CHAI' 'v3.2.1/testNodeFieldOnPart.med';
  254. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  255. TAB1 = 'LIRE' 'MED' FIC2 ;
  256. MEDTAB TAB1;
  257.  
  258. ***********************************************************************
  259. * Lecture de CHAMPS Temporels
  260. * -MAILLAGES
  261. * -CHPOINT
  262. * -MCHAML
  263. ***********************************************************************
  264. FIC1 = 'CHAI' 'v3.2.1/ForMEDReader10.med';
  265. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  266. TAB1 = 'LIRE' 'MED' FIC2;
  267. MEDTAB TAB1;
  268.  
  269. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader11.med';
  270. * Incompatible actuellement car : Valeurs aux points de Gauss
  271.  
  272. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader13.med';
  273. * Incompatible actuellement car : Type d'élément incompatible:POLYGON & HEXAGON
  274.  
  275. FIC1 = 'CHAI' 'v3.2.1/ForMEDReader17.med';
  276. FIC2 = 'CHAI' '/u2/castem/divers/MED/' FIC1 ;
  277. TAB1 = 'LIRE' 'MED' FIC2;
  278. MEDTAB TAB1;
  279.  
  280. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader25.med';
  281. * Incompatible actuellement car : Valeurs aux points de Gauss
  282.  
  283. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader29.med';
  284. * Incompatible actuellement car : Valeurs aux points de Gauss
  285.  
  286. *TAB1 = 'LIRE' 'MED' '/u2/castem/divers/MED/v3.2.1/ForMEDReader33.med';
  287. * Incompatible actuellement car : Type d'élément incompatible:POLYGON
  288.  
  289. FIN;
  290.  
  291.  
  292.  
  293.  
  294.  

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