MAJ_21_22_maillages.c
Aller à la documentation de ce fichier.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #include "med_config.h"
00021 #include "med_outils.h"
00022 #include <string.h>
00023 
00024 
00025 
00026 
00027 
00028 #include "med21.h"
00029 #include "med_hdfi21.h"
00030 #include "MAJ_21_22.h"
00031 
00032 void MAJ_21_22_maillages(med_idt fid)
00033 {
00034   med_idt gid;
00035   med_err ret;
00036   int n,i;
00037   char nom[MED_TAILLE_NOM+1];
00038   char chemin[MED_TAILLE_MAA+MED_TAILLE_NOM+1];
00039   char description[MED_TAILLE_DESC+1] = "Maillage converti au format MED V2.2";
00040   med_int type = (med_int) MED_NON_STRUCTURE;
00041   med_int dimension;
00042   
00043   
00044   n = 0;
00045   _MEDnObjets(fid,(char *) MED_MAA,&n);
00046   EXIT_IF(n < 0,"Erreur a la lecture du nombre de maillage",NULL);
00047 
00048   
00049 
00050 
00051 
00052 
00053   for (i=0;i<n;i++) {
00054     
00055     ret = _MEDobjetIdentifier(fid,(char *) MED_MAA,i,nom);
00056     EXIT_IF(ret < 0,"Identification d'un maillage",NULL);
00057     fprintf(stdout,"  >>> Normalisation du maillage [%s] \n",nom);
00058 
00059     
00060     strcpy(chemin,MED_MAA);
00061     strcat(chemin,nom);
00062     gid = _MEDdatagroupOuvrir(fid,chemin); 
00063     EXIT_IF(gid < 0,"Accès au maillage",nom);
00064 
00065     
00066     ret = _MEDattrEntierLire(gid,(char *)(MED_NOM_DIM),&dimension);
00067     EXIT_IF(ret < 0,"Lecture de la dimension du maillage",nom);
00068 
00069     
00070     ret = _MEDattrStringEcrire(gid,(char *)(MED_NOM_DES),MED_TAILLE_DESC,description);
00071     EXIT_IF(ret < 0,"Ecriture de la description du maillage ",nom);
00072     ret = _MEDattrEntierEcrire(gid,(char *)(MED_NOM_TYP),&type);
00073     EXIT_IF(ret < 0,"Ecriture de la dimension du maillage ",nom);
00074     
00075      
00076     MAJ_21_22_noeuds_maillage(gid,dimension);  
00077     fprintf(stdout,"  ... Normalisation des noeuds effectuée ... \n");
00078     
00079      
00080     MAJ_21_22_elements_maillage(gid,dimension);  
00081     fprintf(stdout,"  ... Normalisation des éléments effectuée ... \n");
00082     
00083     
00084     MAJ_21_22_familles_maillage(gid);
00085     fprintf(stdout,"  ... Normalisation des familles effectuée ... \n");
00086     
00087     
00088     ret = _MEDdatagroupFermer(gid);
00089     EXIT_IF(ret < 0,"Fermeture de l'accès au maillage",NULL);
00090 
00091     fprintf(stdout,"  >>> Normalisation du maillage [%s] ... OK ... \n",nom);
00092   }
00093 }