124 #define USER_MODE MED_COMPACT_STMODE 126 #define xstr(s) str(s) 132 EXIT_IF(nfam < 0,
"lors de la lecture du nombre de familles",NULL);
133 fprintf(stdout,
"- Nombre de familles : %d \n",nfam);
142 char *attdes=NULL,*gro=NULL;
143 med_int *attval=NULL,*attide=NULL;
151 fprintf(stdout,
"\n(**************************)\n");
152 fprintf(stdout,
"(* FAMILLES DU MAILLAGE : *)\n");
153 fprintf(stdout,
"(**************************)\n");
155 for (i=0;i<nfam;i++) {
159 EXIT_IF(ngro < 0,
"lors de la lecture du nombre de groupe d'une famille",
164 EXIT_IF(natt < 0,
"lors de la lecture du nombre d'attributs d'une famille",
167 fprintf(stdout,
"- Famille %d a %d attributs et %d groupes \n",i+1,natt,
174 EXIT_IF(attide == NULL,NULL,NULL);
176 EXIT_IF(attval == NULL,NULL,NULL);
178 EXIT_IF(attdes == NULL,NULL,NULL);
180 EXIT_IF(gro == NULL,NULL,NULL);
183 EXIT_IF(ret < 0,
"lors de la lecture des informations d'une famille",
190 fprintf(stdout,
" - Famille de nom %s et de numero %d : \n",nomfam,numfam);
191 fprintf(stdout,
" - Attributs : \n");
192 for (j=0;j<natt;j++) {
195 fprintf(stdout,
" ide = %d - val = %d - des = %s\n",*(attide+j),
201 if (attide) {free(attide);attide=NULL;}
202 if (attval) {free(attval);attval=NULL;}
203 if (attdes) {free(attdes);attdes=NULL;}
206 fprintf(stdout,
" - Groupes :\n");
207 for (j=0;j<ngro;j++) {
210 fprintf(stdout,
" gro = %s\n",str2);
215 if (gro) {free(gro);gro=NULL;}
218 if (famille_0 != 1) {
219 MESSAGE(
"Erreur : La famille FAMILLE_ZERO n'a pas été trouvée, elle est obligatoire. ");
228 EXIT_IF(nequ < 0,
"lors de la lecture du nombre d'equivalences",NULL);
229 fprintf(stdout,
"- Nombre d'equivalences : %d \n",nequ);
247 fprintf(stdout,
"\n(******************************)\n");
248 fprintf(stdout,
"(* EQUIVALENCES DU MAILLAGE : *)\n");
249 fprintf(stdout,
"(******************************)\n");
252 fprintf(stdout,
"- Aucune équivalence \n");
255 for (i = 0;i<nequ;i++) {
256 fprintf(stdout,
"- Equivalence numero : %d ",i+1);
260 EXIT_IF(ret < 0,
"lors de la lecture des informations sur une equivalence",
262 fprintf(stdout,
"\n - Nom de l'equivalence: %s \n",equ);
263 fprintf(stdout,
"\n - Description de l'equivalence : %s \n",des);
265 fprintf(stdout,
"\n - L'equivalence est définie sur "IFORMAT" étapes de calcul\n",nstep);
267 for (_cstpit=1; _cstpit <= nstep; ++_cstpit) {
270 & _numdt, &_numit,&nocstpncor);
272 "lors de la lecture des valeurs de séquence de calcul d'une equivalence",
275 fprintf(stdout,
"\n - Séquence de calcul définie sur (numdt,numit) ("IFORMAT","IFORMAT") :\n",_numdt,_numit);
282 "lors de la lecture du nombre de correspondances d'une equivalence",
284 fprintf(stdout,
"\n - Il y a %d correspondances sur les noeuds \n",ncor);
290 EXIT_IF(cor == NULL,NULL,NULL);
293 EXIT_IF(ret < 0,
"lors de la lecture du tableau des correspondances",
297 fprintf(stdout,
"\n - Correspondance %d : %d et %d \n",j+1,*(cor+2*j),
308 "lors de la lecture du nombre de correspondances dans une equivalence",
310 fprintf(stdout,
"\n - Il y a %d correspondances sur les mailles %s \n",ncor,
317 EXIT_IF(cor == NULL,NULL,NULL);
320 EXIT_IF(ret < 0,
"lors de la lecture du tableau des equivalences",
325 fprintf(stdout,
"\n - Correspondance %d : %d et %d \n",k+1,
326 *(cor+2*k),*(cor+2*k+1));
340 "lors de la lecture du nombre de correspondances dans une equivalence",
342 fprintf(stdout,
"\n - Il y a %d correspondances sur les faces %s\n",ncor,
349 EXIT_IF(cor == NULL,NULL,NULL);
352 EXIT_IF(ret < 0,
"lors de la lecture du tableau des equivalences",
357 fprintf(stdout,
"\n - Correspondance %d : %d et %d \n",k+1,*(cor+2*k),
370 EXIT_IF(ret < 0,
"lors de la lecture du nombre de correspondances",
372 fprintf(stdout,
"\n - Il y a %d correspondances sur les aretes %s \n",
379 EXIT_IF(cor == NULL,NULL,NULL);
382 EXIT_IF(ret < 0,
"lors de la lecture du tableau des equivalences",
387 fprintf(stdout,
"\n Correspondance %d : %d et %d \n",k+1,*(cor+2*k),
404 EXIT_IF(njnt < 0,
"lors de la lecture du nombre de joints",NULL);
405 fprintf(stdout,
"- Nombre de joints : %d \n",njnt);
416 med_int typ_ent_local,typ_geo_local,typ_ent_distant,typ_geo_distant;
426 med_int njstep=0,ncor=0,nodtitncor=0;
430 fprintf(stdout,
"\n(******************************)\n");
431 fprintf(stdout,
"(* JOINTS DU MAILLAGE : *)\n");
432 fprintf(stdout,
"(******************************)\n");
435 fprintf(stdout,
"- Aucun joint \n");
438 for (i = 0;i<njnt;i++) {
439 fprintf(stdout,
"- Joint numero : %d ",i+1);
443 EXIT_IF(ret < 0,
"lors de la lecture des informations sur un joint",
446 fprintf(stdout,
"\n - Nom du joint: %s \n",jn);
447 fprintf(stdout,
"\n - Description du joint : %s ",des);
448 fprintf(stdout,
"\n - Domaine en regard : %d ",ndom);
449 fprintf(stdout,
"\n - Maillage distant : %s ",maa_dist);
451 printf(
"Nombre d'étapes de calcul : "IFORMAT" \n",njstep);
452 printf(
"Nombre de correspondance pour (NO_DT,NO_IT) : "IFORMAT" \n",nodtitncor);
455 for (csit=1; csit <= njstep; ++csit) {
458 EXIT_IF(ret < 0,
"Erreur a la lecture des valeurs (numdt,numit) dans les joints",
461 printf(
"Séquence de calcul (numdt,numit) : ("IFORMAT","IFORMAT")\n",_numdt,_numit);
464 while ( corit <= ncor ) {
470 EXIT_IF(ret < 0,
"Erreur a la lecture des infos sur le nombre d'entite en regard",
473 if (typ_ent_local ==
MED_NODE) strcpy(nom_geo_ent_local,
"MED_NOEUD");
475 EXIT_IF(ret < 0,
"Erreur à l'appel de _MEDgetExternalGeometryTypeName", NULL);
476 if (typ_ent_distant ==
MED_NODE) strcpy(nom_geo_ent_distant,
"MED_NOEUD");
478 EXIT_IF(ret < 0,
"Erreur à l'appel de _MEDgetExternalGeometryTypeName", NULL);
479 fprintf(stdout,
"\n\t\t- nb de couples d'entites en regard (local,distant)=(%s,%s) : "IFORMAT" \n",
480 nom_geo_ent_local,nom_geo_ent_distant, nent);
485 typ_ent_local,typ_geo_local,typ_ent_distant,typ_geo_distant,
487 fprintf(stdout,
"\n\t\t- Erreur a la lecture des correspondances sur (%s,%s,%s,%s)",
493 fprintf(stdout,
"\n\t\t- Correspondance %d : "IFORMAT" et "IFORMAT" ",k+1,
494 *(cortab+2*k),*(cortab+2*k+1));
521 EXIT_IF(nnoe < 0,
"lors de la lecture du nombre de noeuds",NULL);
522 fprintf(stdout,
"- Nombre de noeuds : %d \n",nnoe);
529 const char *
const nommaa,
536 const char *
const nomcoo,
537 const char *
const unicoo,
554 EXIT_IF(coo == NULL,NULL,NULL);
558 EXIT_IF(numnoe == NULL,NULL,NULL);
560 EXIT_IF(nufano == NULL,NULL,NULL);
564 EXIT_IF(nomnoe == NULL,NULL,NULL);
572 &inonoe,nomnoe,&inunoe,numnoe,&ifano,nufano);
575 EXIT_IF(ret < 0,
"lors de la lecture des noeuds du maillage \n",NULL);
578 fprintf(stdout,
"\n(************************)\n");
579 fprintf(stdout,
"(* NOEUDS DU MAILLAGE : *)\n");
580 fprintf(stdout,
"(************************)\n");
581 fprintf(stdout,
"- Type de repere des coordonnees : %d \n",*rep);
582 fprintf(stdout,
"- Nom des coordonnees : \n");
583 for (i=0;i<edim;i++) {
586 fprintf(stdout,
" %s ",str);
588 fprintf(stdout,
"\n- Unites des coordonnees : \n");
589 for (i=0;i<edim;i++) {
592 fprintf(stdout,
" %s ",str);
595 fprintf(stdout,
"\n- Coordonnees des noeuds : \n");
596 for (i=0;i<nnoe*edim;i++) {
598 fprintf(stdout,
"\n [ %5d ] : ", (i/edim + 1) );
600 fprintf(stdout,
"\n\n ");
601 fprintf(stdout,
" %-+9.6f ",*(coo+i));
605 fprintf(stdout,
"\n- Noms des noeuds : \n");
606 for (i=0;i<nnoe;i++) {
609 fprintf(stdout,
" %s ",str);
613 fprintf(stdout,
"\n- Numeros des noeuds : \n");
615 fprintf(stdout,
" %d ",*(numnoe+i));
618 fprintf(stdout,
"\n- Numeros des familles des noeuds : \n");
619 for (i=0;i<nnoe;i++) {
621 fprintf(stdout,
" %d ",*(nufano+i));
623 fprintf(stdout,
" %d ",0);
625 fprintf(stdout,
"\n");
640 const char *
const nommaa,
653 EXIT_IF(nmailles < 0,
" lors de la lecture du nombre de mailles",NULL);
657 fprintf (stdout,
"- Nombre de mailles de type %s : %d \n",
nommai[indice],
668 const med_int *
const nmailles,
686 fprintf(stdout,
"\n(**************************)\n");
687 fprintf(stdout,
"(* ELEMENTS DU MAILLAGE : *)\n");
688 fprintf(stdout,
"(**************************)");
692 if (nmailles[i] > 0) {
695 EXIT_IF(ret < 0,
"lors de la lecture des caractéristiques des mailles",NULL);
711 connectivite = (
med_int*) malloc(
sizeof(
med_int)*taille*nmailles[i]);
712 EXIT_IF(connectivite == NULL,NULL,NULL);
713 nomele = (
char*) malloc(
sizeof(
char)*
MED_SNAME_SIZE*nmailles[i]+1);
714 EXIT_IF(nomele == NULL,NULL,NULL);
716 EXIT_IF(numele == NULL,NULL,NULL);
718 EXIT_IF(nufael == NULL,NULL,NULL);
722 typ_con, mode_coo, connectivite,
723 &inoele,nomele,&inuele,numele,&inufael,nufael );
725 EXIT_IF(ret < 0,
"lors de la lecture des mailles",NULL);
729 fprintf(stdout,
"\n\n- Mailles de type %s : ",
nommai[i]);
730 fprintf(stdout,
"\n - Connectivité : \n");
731 for (j=0;j<nmailles[i]*taille;j++) {
733 fprintf(stdout,
"\n [ %5d ] : ", (j/taille +1) );
735 fprintf(stdout,
"\n");
736 fprintf(stdout,
" %9d ",*(connectivite+j));
740 fprintf(stdout,
"\n - Noms : \n");
741 for (j=0;j<nmailles[i];j++) {
744 fprintf(stdout,
" %s ",str);
748 fprintf(stdout,
"\n - Numeros :\n");
749 for (j=0;j<nmailles[i];j++)
750 fprintf(stdout,
" %d ",*(numele+j));
752 fprintf(stdout,
"\n - Numéros de familles : \n");
753 for (j=0;j<nmailles[i];j++)
755 fprintf(stdout,
" %d ",*(nufael+j));
757 fprintf(stdout,
" %d ",0);
772 const char *
const nommaa,
784 EXIT_IF(nmpolygones < 0,
"lors de la lecture du nombre de mailles polygone\n",
786 if (nmpolygones > 0 ) nmpolygones--;
else nmpolygones=0;
787 fprintf(stdout,
"- Nombre de mailles de type MED_POLYGONE : %d \n",
794 const char *
const nommaa,
820 EXIT_IF(taille < 0,
"lors de la lecture des parametres des mailles polygones",
825 EXIT_IF(indexp == NULL,NULL,NULL);
827 EXIT_IF(connectivite == NULL,NULL,NULL);
829 EXIT_IF(numele == NULL,NULL,NULL);
831 EXIT_IF(nufael == NULL,NULL,NULL);
832 nomele = (
char *) malloc(
sizeof(
char)*
MED_SNAME_SIZE*nmpolygones+1);
833 EXIT_IF(nomele == NULL,NULL,NULL);
837 indexp,connectivite);
839 EXIT_IF(ret < 0,
"lors de la lecture des connectivites des mailles polygones",
856 fprintf(stdout,
"\n\n- Mailles de type MED_POLYGONE : ");
857 for (i=0;i<nmpolygones;i++) {
858 fprintf(stdout,
"\n >> Maille MED_POLYGONE %d : \n",i+1);
859 fprintf(stdout,
"\n - Connectivité : ");
860 ind1 = *(indexp+i)-1;
861 ind2 = *(indexp+i+1)-1;
862 for (j=ind1;j<ind2;j++)
863 printf(
" %d ",*(connectivite+j));
867 fprintf(stdout,
"\n - Nom : %s \n",tmp);
870 fprintf(stdout,
"\n - Numero : %d \n",*(numele+i));
873 fprintf(stdout,
"\n - Numéro de famille : %d \n",*(nufael+i));
875 fprintf(stdout,
"\n - Numéro de famille : %d \n",0);
891 const char *
const nommaa,
902 EXIT_IF(npolyedres < 0,
"lors de la lecture du nombre de mailles polyedre \n",
904 if ( npolyedres > 0 ) npolyedres--;
else npolyedres=0;
905 fprintf(stdout,
"- Nombre de mailles de type MED_POLYEDRE : %d \n",
913 const char *
const nommaa,
941 EXIT_IF(taille < 0,
"lors de la lecture des parametres des mailles polyedres",
947 EXIT_IF(nindn < 0,
"lors de la lecture des parametres des mailles polyedres",
953 EXIT_IF(indexf == NULL,NULL,NULL);
955 EXIT_IF(indexn == NULL,NULL,NULL);
957 EXIT_IF(connectivite == NULL,NULL,NULL);
959 EXIT_IF(numele == NULL,NULL,NULL);
961 EXIT_IF(nufael == NULL,NULL,NULL);
962 nomele = (
char *) malloc(
sizeof(
char)*
MED_SNAME_SIZE*npolyedres+1);
963 EXIT_IF(nomele == NULL,NULL,NULL);
966 indexf,indexn,connectivite);
968 "lors de la lecture de la connectivite des mailles polyedres",
982 fprintf(stdout,
"\n\n- Mailles de type MED_POLYEDRE : ");
983 for (i=0;i<npolyedres;i++) {
984 fprintf(stdout,
"\n >> Maille MED_POLYEDRE %d : \n",i+1);
985 fprintf(stdout,
"\n - Connectivité : \n");
986 nfa = *(indexf+i+1) - *(indexf+i);
988 ind1 = *(indexf+i) - 1;
989 for (j=0;j<nfa;j++) {
993 ind2 = *(indexn+ind1+j) - 1;
994 nnoe = *(indexn+ind1+j+1) - *(indexn+ind1+j);
995 fprintf(stdout,
" - Face %d : [ ", j+1);
997 printf(
" %d ",*(connectivite+ind2+k));
1001 nfa = *(indexf+i+1) - *(indexf+i);
1004 ind1 = *(indexf+i) - 1;
1006 fprintf(stdout,
" - Face %d de numero : %d et de type %d \n", j+1,
1007 *(connectivite+ind1+j),*(indexn+ind1+j));
1013 fprintf(stdout,
"\n - Nom : %s \n",tmp);
1016 fprintf(stdout,
"\n - Numero : %d \n",*(numele+i));
1018 fprintf(stdout,
"\n - Numéro de famille : %d \n",*(nufael+i));
1020 fprintf(stdout,
"\n - Numéro de famille : %d \n",0);
1037 const char *
const nommaa,
1050 EXIT_IF(nfaces < 0,
"lors de la lecture du nombre de faces",NULL);
1054 fprintf (stdout,
"- Nombre de faces de type %s : %d \n",
1061 const char *
const nommaa,
1082 if (nfaces[i] > 0 ) {
1086 EXIT_IF(ret < 0,
"lors de la lecture des caractéristiques des mailles",NULL);
1089 connectivite = (
med_int*)malloc(
sizeof(
med_int)*taille*nfaces[i]);
1090 EXIT_IF(connectivite == NULL,NULL,NULL);
1092 EXIT_IF(nomele == NULL,NULL,NULL);
1094 EXIT_IF(numele == NULL,NULL,NULL);
1096 EXIT_IF(nufael == NULL,NULL,NULL);
1101 &inoele,nomele,&inuele,numele,&inufael,nufael );
1102 EXIT_IF(ret < 0,
"lors de la lecture des faces",NULL);
1106 fprintf(stdout,
"\n- Faces de type %s : ",
nomfac[i]);
1107 fprintf(stdout,
"\n - Connectivité : \n");
1108 for (j=0;j<nfaces[i]*taille;j++) {
1110 fprintf(stdout,
"\n [ %5d ] : ", (j/taille+1) );
1112 fprintf(stdout,
"\n");
1113 fprintf(stdout,
" %9d ",*(connectivite+j));
1117 fprintf(stdout,
"\n - Noms : \n");
1118 for (j=0;j<nfaces[i];j++) {
1121 fprintf(stdout,
" %s ",str);
1125 fprintf(stdout,
"\n - Numeros :\n");
1126 for (j=0;j<nfaces[i];j++)
1127 fprintf(stdout,
" %d ",*(numele+j));
1129 fprintf(stdout,
"\n - Numéros de familles : \n");
1130 for (j=0;j<nfaces[i];j++)
1132 fprintf(stdout,
" %d ",*(nufael+j));
1134 fprintf(stdout,
" %d ",0);
1148 const char *
const nommaa,
1159 EXIT_IF(nfpolygones < 0,
"lors de la lecture du nombre de faces polygone \n",
1162 fprintf(stdout,
"- Nombre de faces de type MED_POLYGONE : %d \n",
1169 const char *
const nommaa,
1192 EXIT_IF(taille < 0,
"lors de la lecture des parametres des faces polygones",
1197 EXIT_IF(indexp == NULL,NULL,NULL);
1199 EXIT_IF(connectivite == NULL,NULL,NULL);
1201 EXIT_IF(numele == NULL,NULL,NULL);
1203 EXIT_IF(nufael == NULL,NULL,NULL);
1204 nomele = (
char *) malloc(
sizeof(
char)*
MED_SNAME_SIZE*nfpolygones+1);
1205 EXIT_IF(nomele == NULL,NULL,NULL);
1209 indexp,connectivite);
1210 EXIT_IF(ret < 0,
"lors de la lecture des connectivites des faces polygones",
1227 fprintf(stdout,
"\n\n- Faces de type MED_POLYGONE : ");
1228 for (i=0;i<nfpolygones;i++) {
1229 fprintf(stdout,
"\n >> Face MED_POLYGONE %d : \n",i+1);
1230 fprintf(stdout,
"\n - Connectivité : ");
1231 ind1 = *(indexp+i)-1;
1232 ind2 = *(indexp+i+1)-1;
1233 for (j=ind1;j<ind2;j++)
1234 fprintf(stdout,
" %d ",*(connectivite+j));
1238 fprintf(stdout,
"\n - Nom : %s \n",tmp);
1241 fprintf(stdout,
"\n - Numero : %d \n",*(numele+j));
1243 fprintf(stdout,
"\n - Numéro de famille : %d \n",*(nufael+i));
1245 fprintf(stdout,
"\n - Numéro de famille : %d \n",0);
1261 const char *
const nommaa,
1273 EXIT_IF(naretes < 0,
"lors de la lecture du nombre d'aretes",NULL);
1278 "- Nombre d'aretes de type %s : %d \n",
nomare[indice],naretes);
1284 const char *
const nommaa,
1288 const med_int *
const naretes,
1305 if (naretes[i] > 0) {
1308 EXIT_IF(ret < 0,
"lors de la lecture des caractéristiques des mailles",NULL);
1311 connectivite = (
med_int*)malloc(
sizeof(
med_int)*taille*naretes[i]);
1312 EXIT_IF(connectivite == NULL,NULL,NULL);
1313 nomele = (
char*)malloc(
sizeof(
char)*
MED_SNAME_SIZE*naretes[i]+1);
1314 EXIT_IF(nomele == NULL,NULL,NULL);
1316 EXIT_IF(numele == NULL,NULL,NULL);
1318 EXIT_IF(nufael == NULL,NULL,NULL);
1323 &inoele,nomele,&inuele,numele,&inufael,nufael );
1324 EXIT_IF(ret < 0,
"lors de la lecture des aretes",
1329 fprintf(stdout,
"\n- Aretes de type %s : ",
nomare[i]);
1330 fprintf(stdout,
"\n - Connectivité : \n");
1331 for (j=0;j<naretes[i]*taille;j++) {
1333 fprintf(stdout,
"\n [ %5d ] : ", (j/taille+1) );
1335 fprintf(stdout,
"\n");
1336 fprintf(stdout,
" %9d ",*(connectivite+j));
1340 fprintf(stdout,
"\n - Noms : \n");
1341 for (j=0;j<naretes[i];j++) {
1344 fprintf(stdout,
" %s ",str);
1348 fprintf(stdout,
"\n - Numeros :\n");
1349 for (j=0;j<naretes[i];j++)
1350 fprintf(stdout,
" %d ",*(numele+j));
1352 fprintf(stdout,
"\n - Numéros de familles : \n");
1353 for (j=0;j<naretes[i];j++)
1355 fprintf(stdout,
" %d ",*(nufael+j));
1357 fprintf(stdout,
" %d ",0);
1395 const char *
const nomcoo,
1396 const char *
const unicoo,
1398 const int lecture_en_tete_seulement)
1407 med_int nmpolygones, npolyedres, nfpolygones;
1456 if (lecture_en_tete_seulement)
1462 lecture_noeuds_maillage_non_structure(fid,nommaa,numdt,numit,mdim,edim,nnoe,mode_coo,nomcoo,unicoo,rep);
1481 if (nmpolygones > 0)
1492 if (nfpolygones > 0)
1527 const char *
const nommaa,
1545 EXIT_IF(ret < 0,
"a la lecture du type d'une grille ",NULL);
1552 fprintf(stdout,
"- Type de grille : MED_GRILLE_CARTESIENNE \n");
1554 fprintf(stdout,
"- Type de grille : MED_GRILLE_POLAIRE \n");
1555 for (axe=1;axe<=mdim;axe++) {
1574 "lors de la lecture de la taille d'un indice d'une grille",
1576 *nnoe = nind[axe - 1] * (*nnoe);
1577 *nmai = (nind[axe - 1] - 1) * (*nmai);
1579 "- Taille de l'indice de l'axe %d des coordonnees : %d \n",
1585 fprintf(stdout,
"- Type de grille : MED_GRILLE_DESTRUCTUREE \n");
1588 EXIT_IF(*nnoe < 0,
"lors de la lecture du nombre de noeuds du maillage " 1593 EXIT_IF(structure_grille == NULL,NULL,NULL);
1597 EXIT_IF(ret < 0,
"lors de la lecture de la structure de la grille",
1599 fprintf(stdout,
"- Structure de la grille : [ ");
1600 for (j=0;j<mdim;j++) {
1601 *nmai = (*(structure_grille+j) - 1) * (*nmai);
1602 fprintf(stdout,
" %d ",*(structure_grille+j));
1604 fprintf(stdout,
" ] \n");
1606 free(structure_grille);
1611 EXIT_IF(-1,
"Type de grille non reconnu.",nommaa);
1615 fprintf(stdout,
"- Nombre de noeuds : %d \n",*nnoe);
1616 fprintf(stdout,
"- Nombre de mailles : %d \n",*nmai);
1623 const char *
const nommaa,
1630 const char *
const comp,
1631 const char *
const unit,
1642 char *nomnoe = NULL;
1645 fprintf(stdout,
"\n(*************************)\n");
1646 fprintf(stdout,
"(* NOEUDS DE LA GRILLE : *)\n");
1647 fprintf(stdout,
"(*************************)\n");
1654 for (axe = 1; axe<=mdim; axe++) {
1657 EXIT_IF(indices == NULL,NULL,NULL);
1661 EXIT_IF(ret < 0,
"lors de la lecture d'un tableau d'indice",
1665 for (j=0;j<nind[axe - 1];j++)
1666 fprintf(stdout,
" %f ",*(indices+j));
1676 EXIT_IF(coo == NULL,NULL,NULL);
1680 EXIT_IF(ret < 0,
"lors de la lecture des noeuds du maillage",NULL);
1682 fprintf(stdout,
"- Nom des coordonnees : \n");
1683 for (i=0;i<edim;i++) {
1686 fprintf(stdout,
" %s ",str);
1688 fprintf(stdout,
"\n- Unites des coordonnees : \n");
1689 for (i=0;i<edim;i++) {
1692 fprintf(stdout,
" %s ",str);
1695 fprintf(stdout,
"\n - Coordonnees des noeuds : [ ");
1696 for (j=0;j<nnoe*edim;j++)
1697 fprintf(stdout,
" %f ",*(coo+j));
1698 fprintf(stdout,
" ] \n");
1707 EXIT_IF(-1,
"Type de grille non reconnu.",nommaa);
1718 EXIT_IF(numnoe == NULL,NULL,NULL);
1720 EXIT_IF(nomnoe == NULL,NULL,NULL);
1722 EXIT_IF(nufano == NULL,NULL,NULL);
1726 if (ret < 0) ret=0;
else inufael=
MED_TRUE;
1728 EXIT_IF(ret < 0,
"lors de la lecture des numeros de familles des noeuds",
1732 fprintf(stdout,
"\n- Numeros des familles des noeuds : \n");
1733 for (i=0;i<nnoe;i++)
1735 fprintf(stdout,
" %d ",*(nufano+i));
1737 fprintf(stdout,
" %d ",0);
1738 fprintf(stdout,
"\n");
1744 fprintf(stdout,
"\n- Noms des noeuds : \n");
1745 for (i=0;i<nnoe;i++) {
1748 fprintf(stdout,
" %s ",str);
1756 fprintf(stdout,
"\n- Numeros des noeuds : \n");
1757 for (i=0;i<nnoe;i++)
1758 fprintf(stdout,
" %d ",*(numnoe+i));
1772 const char *
const nommaa,
1782 char *nomele = NULL;
1788 fprintf(stdout,
"\n(***************************)\n");
1789 fprintf(stdout,
"(* ELEMENTS DE LA GRILLE : *)\n");
1790 fprintf(stdout,
"(***************************)\n");
1815 EXIT_IF(numele == NULL,NULL,NULL);
1817 EXIT_IF(nomele == NULL,NULL,NULL);
1819 EXIT_IF(nufael == NULL,NULL,NULL);
1824 for (i=0;i<nmai;i++)
1829 fprintf(stdout,
"\n- Numeros des familles des mailles : \n");
1830 for (i=0;i<nmai;i++)
1831 fprintf(stdout,
" %d ",*(nufael+i));
1832 fprintf(stdout,
"\n");
1838 fprintf(stdout,
"\n - Noms : \n");
1839 for (i=0;i<nmai;i++) {
1842 fprintf(stdout,
" %s ",str);
1850 fprintf(stdout,
"\n - Numeros :\n");
1851 for (i=0;i<nmai;i++)
1852 fprintf(stdout,
" %d ",*(numele+i));
1865 const char *
const nommaa,
1871 const char *
const comp,
1872 const char *
const unit,
1873 const int lecture_en_tete_seulement)
1905 if (lecture_en_tete_seulement)
1911 lecture_noeuds_maillage_structure(fid,nommaa,numdt,numit,mdim,edim,nind,nnoe,comp,unit,type,mode_coo);
1937 const char *
const maillage,
1940 const char *
const nomcha,
1941 const char *
const dtunit,
1948 int i,j,k,l,m,n,nb_geo=0;
1949 med_int nbpdtnor=0,pflsize,*pflval,ngauss=0,ngauss_maa_ass=0,ngroup,*vale=NULL,nval;
1950 med_int numdt=0,numo=0,_nprofile;
1951 med_int meshnumdt=0,meshnumit=0;
1964 const char *
const * AFF;
1990 for (k=1;k<=nb_geo;k++) {
1994 if (nbpdtnor < 1 )
continue;
1996 for (j=0;j<nbpdtnor;j++) {
1999 &nmesh, maa_ass,&localmesh, &meshnumdt, &meshnumit ) <0) {
2000 MESSAGE(
"Erreur a la demande d'information sur (pdt,nor) : ");
2006 for (i=0;i< nmesh;++i) {
2008 if ( (_nprofile =
MEDfield23nProfile(fid,nomcha,numdt,numo,entite,type_geo[k],i+1,meshname,
2009 pflname,locname ) ) < 0 ) {
2010 MESSAGE(
"Erreur a la demande du nombre de profils referencés par le champ : ");
2017 for (l=0;l<_nprofile;l++) {
2021 locname, &ngauss) ) < 0 ) {
2022 MESSAGE(
"Erreur a la lecture du nombre de valeurs du champ : ");
2028 if (!strcmp(meshname,maa_ass) ) ngauss_maa_ass = ngauss;
2031 printf(
"\n +Pas de Temps n."IFORMAT" (%f) [%s], n. d'ordre "IFORMAT", avec "IFORMAT" valeur(s) par entité.\n",numdt,dt,dtunit,numo,ngauss);
2033 printf(
"\n +Pas de Temps n."IFORMAT
" (%f) [%s], n. d'ordre "IFORMAT
", avec "IFORMAT
" pts de gauss sur le maillage par defaut.\n",numdt,dt,dtunit,numo,ngauss_maa_ass);
2034 printf(
"\tLe maillage par defaut est : |%s|, sur un total de : %i maillages associes\n", maa_ass, nmesh);
2037 if ( (!strcmp(meshname,maillage)) && (meshnumdt == mnumdt) && (meshnumit == mnumit) ) {
2039 if (_nprofile > 1 ) {
2040 printf(
"\t- Il y a "IFORMAT
" entités qui portent des valeurs en mode %i. Chaque entite %s\ 2041 de type geometrique %s associes au profile |%s| a "IFORMAT
" valeurs associées \n",
2042 nval,
USER_MODE,AFF_ENT[(
int)entite],AFF[k],pflname,ngauss);
2043 printf(
"\t- Le maillage associé est |%s|\n",meshname);
2046 printf(
"\t- Il y a %d valeurs en mode %i. Chaque entite %s\ 2047 de type geometrique %s associes au maillage |%s| a %i pts de gauss \n",
2048 nval*ngauss,
USER_MODE,AFF_ENT[(
int)entite],AFF[k],
2053 printf(
"\t- La séquence de calcul utilisée dans le maillage associé |%s| est (numdt,numit) : ("IFORMAT
","IFORMAT
") \n",meshname,meshnumdt,meshnumit);
2059 MESSAGE(
"Erreur a la lecture de la taille du lien : ");
2063 lien = (
char *)malloc(lnsize*
sizeof(
char) + 1);
2064 EXIT_IF(lien == NULL,NULL,NULL);
2066 if (
MEDlinkRd(fid, maa_ass, lien) < 0 ) {
2067 MESSAGE(
"Erreur a la lecture du lien : ");
2071 lien[lnsize] =
'\0';
2072 printf(
"\tLe maillage |%s| est porte par un fichier distant |%s|\n",maa_ass,lien);
2082 EXIT_IF(valr == NULL,NULL,NULL);
2086 (
unsigned char*) valr) < 0 ) {
2087 MESSAGE(
"Erreur a la lecture des valeurs du champ : ");
2095 EXIT_IF(vale == NULL,NULL,NULL);
2099 (
unsigned char*) vale) < 0 ) {
2100 MESSAGE(
"Erreur a la lecture des valeurs du champ : ");
2107 if ( strlen(locname) && (_nprofile > 1) )
2108 printf(
"\t- Modèle de localisation des points de Gauss de nom |%s|\n",locname);
2111 ngroup = (type_geo[k] % 100);
2119 printf(
"\t- Valeurs :\n\t");
2120 for (m=0;m<(nval*ngauss)/ngroup;m++) {
2122 for (n=0;n<ngroup*ncomp;n++)
2124 printf(
" %f ",*(valr+(m*ngroup*ncomp)+n));
2126 printf(
" "IFORMAT
" ",*(vale+(m*ngroup*ncomp)+n));
2134 printf(
"\t- Valeurs :\n\t");
2135 for (m=0;m<ncomp;m++) {
2137 for (n=0;n<(nval*ngauss);n++)
2139 printf(
" %f ",*(valr+(m*nval)+n));
2141 printf(
" "IFORMAT
" ",*(vale+(m*nval)+n));
2152 if ( valr ) {free(valr);valr = NULL;}}
2154 if (vale) { free(vale);vale = NULL; }
2158 printf(
"\t- Profil : MED_NOPFL\n");
2163 MESSAGE(
"Erreur a la lecture du nombre de valeurs du profil : ");
2168 printf(
"\t- Profil : |%s| de taille "IFORMAT
"\n",pflname,pflsize);
2171 EXIT_IF(pflval == NULL,NULL,NULL);
2173 MESSAGE(
"Erreur a la lecture des valeurs du profil : ");
2179 for (m=0;m<pflsize;m++) printf(
" "IFORMAT
" ",*(pflval+m));
2208 const char *
const maillage,
2212 const int lecture_en_tete_seulement)
2220 med_int mdim,ncomp,ncha,npro,nln,pflsize,*pflval,nval,nloc,ngauss;
2239 if (! lecture_en_tete_seulement) {
2240 fprintf(stdout,
"\n(************************)\n");
2241 fprintf(stdout,
"(* CHAMPS DU MAILLAGE : *)\n");
2242 fprintf(stdout,
"(************************)\n");
2247 EXIT_IF(ncha < 0,
"lors de la lecture du nombre de champs",NULL);
2248 fprintf(stdout,
"- Nombre de champs : %d \n",ncha);
2250 if (lecture_en_tete_seulement)
2259 for (i =0;i<ncha;i++) {
2261 printf(
"\nChamp numero : |%d| \n",i+1);
2265 MESSAGE(
"Erreur à la lecture du nombre de composantes : ");
2273 EXIT_IF(comp == NULL,NULL,NULL);
2275 EXIT_IF(unit == NULL,NULL,NULL);
2278 &typcha, comp, unit, dtunit, &ncstp) < 0 ) {
2279 MESSAGE(
"Erreur à la demande d'information sur les champs : ");
2283 printf(
"Nom du champ : |%s| de type |%d|\n",nomcha,typcha);
2284 printf(
"Nom des composantes : |%s|\n",comp);
2285 printf(
"Unites des composantes : |%s| \n",unit);
2296 lret =
getFieldsOn(fid, maillage, mnumdt, mnumit, nomcha, dtunit, typcha, ncomp,
MED_NODE,mode_coo, ncstp);
2299 if (lret == 0) lret =
getFieldsOn(fid, maillage, mnumdt, mnumit , nomcha, dtunit, typcha, ncomp,
MED_CELL,mode_coo, ncstp);
2300 else {
MESSAGE(
"Erreur à la lecture des champs aux noeuds "); ret = -1;
continue;}
2302 if (lret == 0) lret =
getFieldsOn(fid, maillage, mnumdt, mnumit , nomcha, dtunit, typcha, ncomp,
MED_DESCENDING_FACE,mode_coo, ncstp);
2303 else {
MESSAGE(
"Erreur à la lecture des champs aux mailles "); ret = -1;
continue;}
2305 if (lret == 0) lret =
getFieldsOn(fid, maillage, mnumdt, mnumit , nomcha, dtunit, typcha, ncomp,
MED_DESCENDING_EDGE,mode_coo, ncstp);
2306 else {
MESSAGE(
"Erreur à la lecture des champs aux faces "); ret = -1;
continue;}
2308 if (lret == 0) lret =
getFieldsOn(fid, maillage, mnumdt, mnumit , nomcha, dtunit, typcha, ncomp,
MED_NODE_ELEMENT,mode_coo, ncstp);
2309 else {
MESSAGE(
"Erreur a la lecture des champs aux aretes "); ret = -1;
continue;}
2311 if (lret != 0) {
MESSAGE(
"Erreur a la lecture des champs aux noeuds des mailles "); ret = -1;};
2318 printf(
"\nNombre de profils stockes : "IFORMAT"\n\n",npro);
2319 for (i=1 ; i <= npro ; i++ ) {
2324 printf(
"\t- Profil n°%i de nom |%s| et de taille "IFORMAT"\n",i,pflname,nval);
2327 MESSAGE(
"Erreur a la lecture des valeurs du profil : ");
2332 for (j=0;j<nval;j++) printf(
" "IFORMAT" ",*(pflval+j));
2341 printf(
"\nNombre de liens stockes : "IFORMAT"\n\n",nln);
2342 for (i=1 ; i <= nln ; i++ ) {
2347 printf(
"\t- Lien n°%i de nom |%s| et de taille "IFORMAT"\n",i,nomlien,nval);
2349 lien = (
char * ) malloc((nval+1)*
sizeof(char));
2350 EXIT_IF(lien == NULL,NULL,NULL);
2352 if (
MEDlinkRd(fid, nomlien, lien ) < 0 ) {
2353 MESSAGE(
"Erreur a la lecture du lien : ");
2358 printf(
"\t\t|%s|\n\n",lien);
2366 printf(
"\nNombre de localisations stockees : "IFORMAT"\n\n",nloc);
2367 for (i=1 ; i <= nloc ; i++ ) {
2369 geointerpname, ipointstructmeshname,&nsectionmeshcell,
2370 §iongeotype) < 0) {
2371 MESSAGE(
"Erreur a la demande d'information sur la localisation n° : ");
ISCRUTE_int(i);
2374 printf(
"\t- Loc. n°%i de nom |%s| de dimension "IFORMAT" avec "IFORMAT" pts de GAUSS \n",i,locname,locsdim,ngauss);
2375 t1 = (type_geo%100)*(type_geo/100);
2376 t2 = ngauss*(type_geo/100);
2383 MESSAGE(
"Erreur a la lecture des valeurs de la localisation : ");
2387 printf(
"\t Coordonnees de l'element de reference de type %i :\n\t\t",type_geo);
2388 for (j=0;j<t1;j++) printf(
" %f ",*(refcoo+j));
2390 printf(
"\t Localisation des points de GAUSS : \n\t\t");
2391 for (j=0;j<t2;j++) printf(
" %f ",*(gscoo+j));
2393 printf(
"\t Poids associes aux points de GAUSS :\n\t\t");
2394 for (j=0;j<t3;j++) printf(
" %f ",*(wg+j));
2417 int lecture_en_tete_seulement)
2430 fprintf(stdout,
"\n(*******************************)\n");
2431 fprintf(stdout,
"(* VARIABLES SCALAIRES : *)\n");
2432 fprintf(stdout,
"(*******************************)\n");
2436 EXIT_IF(n < 0,
"lors de la lecture du nombre de scalaires",NULL);
2437 fprintf(stdout,
"- Nombre de variables scalaires : %d\n",n);
2439 if (lecture_en_tete_seulement)
2442 for (i=1;i<=n;i++) {
2447 EXIT_IF(ret < 0,
"lors de la lecture des parametres d'un scalaire",NULL);
2448 fprintf(stdout,
"- Scalaire n°%d de nom %s \n",i,nom_scalaire);
2450 fprintf(stdout,
" Type flottant. \n");
2452 fprintf(stdout,
" Type entier. \n");
2453 printf(
" Description associee : [%s] \n",description);
2458 "lors de la lecture du nombre de pas de temps d'un scalaire" 2460 fprintf(stdout,
" Nombre de valeurs stockees : %d \n",npdt);
2462 for (j=1;j<=npdt;j++) {
2466 "lors de la lecture des parametres d'un pas de temps d'un scalaire",
2470 fprintf(stdout,
" - Aucun de pas de temps \n");
2473 " - Pas de de temps de numero %d de valeur %f [%s] \n",numdt,
2476 fprintf(stdout,
" - Aucun numero d'ordre \n");
2478 fprintf(stdout,
" - Numero d'ordre : %d \n",numo);
2482 fprintf(stdout,
" - Valeur : %f \n",valr);
2486 fprintf(stdout,
" - Valeur : %d \n",vali);
2488 EXIT_IF(ret < 0,
"lors de la lecture de la valeur d'un scalaire",NULL);
2500 med_int majeur,mineur,release;
2505 ret = (int) access(fichier,F_OK);
2506 EXIT_IF(ret < 0,
"Le fichier n'est pas accessible ou n'existe pas ",
2511 EXIT_IF(ret < 0,
"Impossible de déterminer la compatibilité de format. ",
2514 EXIT_IF(!hdfok,
"Le fichier n'est pas dans un format HDF compatible ", fichier);
2515 EXIT_IF(!medok,
"Le fichier n'est pas dans un format MED compatible ", fichier);
2520 "- Lecture du fichier à l'aide de la bibliotheque MED V%d.%d.%d \n",
2521 majeur,mineur,release);
2525 EXIT_IF( fid < 0,
"Ouverture du du fichier ",fichier);
2528 EXIT_IF(( (majeur < 2) || ( (majeur == 2) && (mineur < 2)) ),
"Le fichier est antérieur à la version 2.2", NULL);
2544 fprintf(stdout,
"- En-tete du fichier : %s \n",fichier_en_tete);
2554 fprintf(stdout,
"(*****************)\n");
2555 fprintf(stdout,
"(* PARAMETRAGE : *)\n");
2556 fprintf(stdout,
"(*****************)\n");
2557 fprintf(stdout,
"- Mode d'affichage des coordonnées des noeuds ? \n");
2558 fprintf(stdout,
" 1. Mode entrelacé : taper 1 \n");
2559 fprintf(stdout,
" 2. Mode non entrelacé : taper 2 \n");
2562 fprintf(stdout,
" Reponse : ");
2563 scanf(
"%d",&reponse);
2564 }
while (reponse != 1 && reponse != 2);
2570 fprintf(stdout,
"- Connectivité des éléments ? \n");
2571 fprintf(stdout,
" 1. Nodale : taper 1 \n");
2572 fprintf(stdout,
" 2. Descendante : taper 2 \n");
2575 fprintf(stdout,
" Reponse : ");
2576 scanf(
"%d",&reponse);
2577 }
while (reponse != 1 && reponse != 2);
2593 char *
const maillage_description,
2595 char *
const dtunit,
2596 char *
const nomcoo,
2597 char *
const unicoo,
2604 fprintf(stdout,
"\n(********************************************)\n");
2605 fprintf(stdout,
"(* INFORMATIONS GENERALES SUR LE MAILLAGE : *)\n");
2606 fprintf(stdout,
"(********************************************)\n");
2609 ret =
MEDmeshInfo(fid, numero,nommaa,edim,mdim,type_maillage,maillage_description,
2610 dtunit,&sortingtype,nstep,rep,nomcoo,unicoo);
2611 EXIT_IF(ret < 0,
"Lecture des informations sur le maillage",NULL);
2614 fprintf(stdout,
"- Nom du maillage : <<%s>>\n",nommaa);
2615 fprintf(stdout,
"- Dimension du maillage : "IFORMAT"\n",*mdim);
2617 fprintf(stdout,
"- La dimension de l'espace est "IFORMAT" \n",*edim);
2619 fprintf(stdout,
"- Type du maillage : MED_NON_STRUCTURE \n");
2621 fprintf(stdout,
"- Type du maillage : MED_STRUCTURE \n");
2622 fprintf(stdout,
"- Description associee au maillage : %s\n",
2623 maillage_description);
2626 fprintf(stdout,
"- Nombre d'étapes de calcul associées au maillage : "IFORMAT"\n",
2629 fprintf(stdout,
"- Unité des dates d'étapes de calcul associées au maillage : %s\n",
2635 fprintf(stdout,
"- Nom universel du maillage : %s \n",nom_universel);
2657 int lecture_en_tete_seulement = 0;
2679 if (argc > 2 && strcmp(argv[1],
"--structure") == 0) {
2685 EXIT_IF(argc != 2 && argc != 5,
"nombre de parametres incorrects\n",NULL);
2699 fprintf(stdout,
"\n >>>>>> DUMP DU FICHIER %s >>>>>>\n",argv[1 + decalage]);
2708 if (! strcmp(argv[3 + decalage],
"NODALE"))
2710 if (! strcmp(argv[3 + decalage],
"DESCENDANTE"))
2713 if (!strcmp(argv[4 + decalage],
"NO_INTERLACE"))
2715 if (!strcmp(argv[4 + decalage],
"FULL_INTERLACE"))
2717 if (! strcmp(argv[4 + decalage],
"LECTURE_EN_TETE_SEULEMENT"))
2718 lecture_en_tete_seulement = 1;
2728 EXIT_IF(nmaa < 0,
"lors de la lecture du nombre de maillages",NULL);
2732 fprintf(stdout,
"- Il y a %d maillages dans ce fichier \n",nmaa);
2733 fprintf(stdout,
" Lequel voulez-vous lire (1|2|3|...|n) ?\n");
2735 fprintf(stdout,
" Reponse : ");
2736 scanf(
"%d",&numero);
2737 }
while ( (numero > nmaa) || (numero <= 0) );
2740 numero = atoi(argv[2 + decalage]);
2741 EXIT_IF(numero > nmaa || numero <= 0,
"ce numero de maillage n'existe pas",
2757 maillage_description,&nstep,dtunit,nomcoo,unicoo,&rep);
2760 for (csit=1; csit <= nstep; ++csit) {
2763 EXIT_IF(ret < 0,
"lors de l'appel à MEDmeshComputationStepInfo",NULL);
2772 nomcoo,unicoo,&rep,lecture_en_tete_seulement);
2775 nomcoo,unicoo,lecture_en_tete_seulement);
2789 EXIT_IF(ret < 0,
"lors de la fermeture du fichier",argv[1 + decalage]);
2791 fprintf(stdout,
"\n >>>>>> FIN DU DUMP DU FICHIER %s >>>>>>\n",argv[1 + decalage]);
2793 return EXIT_SUCCESS;
med_int lecture_nombre_equivalence(med_idt fid, const char *const nommaa)
MEDC_EXPORT med_err _MEDgetExternalGeometryTypeName(char *const geotypename, med_geometry_type geotype)
MEDC_EXPORT med_err MEDmeshInfo(const med_idt fid, const int meshit, char *const meshname, med_int *const spacedim, med_int *const meshdim, med_mesh_type *const meshtype, char *const description, char *const dtunit, med_sorting_type *const sortingtype, med_int *const nstep, med_axis_type *const axistype, char *const axisname, char *const axisunit)
Cette routine permet de lire les informations relatives à un maillage dans un fichier.
void parametrage(med_switch_mode *mode_coo, med_connectivity_mode *typ_con)
const char * MED23FIELD_GET_NODE_GEOMETRY_TYPENAME[MED_N_NODE_FIXED_GEO+2]
const char *const * nomare
MEDC_EXPORT med_err MEDfileNumVersionRd(const med_idt fid, med_int *const major, med_int *const minor, med_int *const release)
Lecture du numéro de version de la bibliothèque MED utilisée pour créer le fichier.
void lecture_caracteristiques_grille(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, med_int *nind, med_int *nnoe, med_int *nmai, med_grid_type *type)
const char * MED23FIELD_GET_EDGE_GEOMETRY_TYPENAME[MED_N_EDGE_FIXED_GEO+2]
MEDC_EXPORT med_idt MEDfileOpen(const char *const filename, const med_access_mode accessmode)
Ouverture d'un fichier MED.
void lecture_parametres_scalaires(med_idt fid, int lecture_en_tete_seulement)
MEDC_EXPORT med_int MEDnParameter(const med_idt fid)
Cette routine permet la lecture du nombre de paramètre numérique scalaire dans un fichier...
med_int lecture_nombre_mailles_standards(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_geometry_type typ_geo, const med_connectivity_mode typ_con, const int indice)
med_int lecture_nombre_faces_standards(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_geometry_type typ_geo, const med_int indice)
MEDC_EXPORT med_err MEDlinkInfo(const med_idt fid, const int linkit, char *const meshname, med_int *const linksize)
Cette routine permet de lire les informations sur un lien dans un fichier MED.
MEDC_EXPORT med_err MEDmeshEntityFamilyNumberRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, med_int *const number)
Cette routine permet la lecture des numéros de famille d'un type d'entité d'un maillage.
MEDC_EXPORT med_int MEDnProfile(const med_idt fid)
Cette routine permet de lire le nombre de profil dans un fichier MED.
med_int lecture_nombre_famille(med_idt fid, const char *const nommaa)
MEDC_EXPORT med_int MEDnFamily(const med_idt fid, const char *const meshname)
Cette routine permet de lire le nombre de famille dans un maillage.
MEDC_EXPORT med_int MEDprofileSizeByName(const med_idt fid, const char *const profilename)
Cette routine permet de lire la taille d'un profil dont on connait le nom.
med_int lecture_nombre_joint(med_idt fid, const char *const nommaa)
med_geometry_type MED23FIELD_GET_NODE_GEOMETRY_TYPE[MED_N_NODE_FIXED_GEO+2]
void lecture_maillage_non_structure(med_idt fid, const char *nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int edim, const med_switch_mode mode_coo, const med_connectivity_mode typ_con, const char *const nomcoo, const char *const unicoo, const med_axis_type *const rep, const int lecture_en_tete_seulement)
MEDC_EXPORT med_int MEDfield23nValueWithProfile(const med_idt fid, const char *const fieldname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, const char *const meshname, const int profileit, const med_storage_mode storagemode, char *const profilename, med_int *const profilesize, char *const localizationname, med_int *const nintegrationpoint)
Cette fonction permet de lire le nombre de valeurs à lire dans un champ pour une séquence de calcul...
MEDC_EXPORT med_err MEDmeshComputationStepInfo(const med_idt fid, const char *const meshname, const int csit, med_int *const numdt, med_int *const numit, med_float *const dt)
Cette routine permet de lire les informations relatives à une séquence de calcul d'un maillage...
MEDC_EXPORT med_err MEDmeshElementRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, const med_connectivity_mode cmode, const med_switch_mode switchmode, med_int *const connectivity, med_bool *const withelementname, char *const elementname, med_bool *const withelementnumber, med_int *const elementnumber, med_bool *const withfamnumber, med_int *const famnumber)
Cette routine permet la lecture d'un type d'élément d'un maillage non structuré pour une séquence de ...
MEDC_EXPORT med_err MEDfield23ValueWithProfileRd(const med_idt fid, const char *const fieldname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, const char *const meshname, const med_storage_mode storagemode, const char *const profilename, const med_switch_mode switchmode, const med_int componentselect, unsigned char *const value)
Cette fonction permet de lire les valeurs d'un champ définies sur des entités d'un maillage pour une ...
med_geometry_type MED23FIELD_GET_EDGE_GEOMETRY_TYPE[MED_N_EDGE_FIXED_GEO+2]
#define EXIT_IF(expression, message, arg)
med_int lecture_nombre_noeuds_maillage_non_structure(const med_idt fid, const char *nommaa, const med_int numdt, const med_int numit)
MEDC_EXPORT med_err MEDsubdomainJointInfo(const med_idt fid, const char *const meshname, const int jointit, char *const jointname, char *const description, med_int *const domainnumber, char *const remotemeshname, med_int *const nstep, med_int *const nocstpncorrespondence)
Cette routine permet de lire les informations sur un joint dans un maillage.
#define MED_ALL_CONSTITUENT
#define MED_N_CELL_FIXED_GEO
void lecture_faces_polygones(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int nfpolygones, const med_switch_mode mode_coo)
MEDC_EXPORT med_err MEDequivalenceInfo(const med_idt fid, const char *const meshname, const int equivit, char *const equivname, char *const equivdescription, med_int *const nstep, med_int *const nocstpncorrespondence)
Cette routine permet lire les informations d'une équivalence portant sur les entités d'un maillage...
MEDC_EXPORT med_err MEDsubdomainCorrespondenceRd(const med_idt fid, const char *const meshname, const char *const jointname, const med_int numdt, const med_int numit, const med_entity_type localentitytype, const med_geometry_type localgeotype, const med_entity_type remoteentitytype, const med_geometry_type remotegeotype, med_int *const correspondence)
Cette routine permet la lecture d'une correspondance dans un joint pour un type de couple d'entité en...
void lecture_noeuds_maillage_non_structure(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int edim, const med_int nnoe, const med_switch_mode mode_coo, const char *const nomcoo, const char *const unicoo, const med_axis_type *const rep)
MEDC_EXPORT med_int MEDnEquivalence(const med_idt fid, const char *const meshname)
Cette routine permet de lire le nombre d'équivalence dans un fichier.
#define ISCRUTE_int(entier)
#define MED_N_NODE_FIXED_GEO
const char *const MED23FIELD_GET_FACE_GEOMETRY_TYPENAME[MED_N_FACE_FIXED_GEO+2]
MEDC_EXPORT med_err MEDlinkRd(const med_idt fid, const char *const meshname, char *const link)
Cette routine permet de lire un lien dans un fichier MED.
MEDC_EXPORT med_err MEDlocalizationInfo(const med_idt fid, const int localizationit, char *const localizationname, med_geometry_type *const geotype, med_int *const spacedimension, med_int *const nipoint, char *const geointerpname, char *const sectionmeshname, med_int *const nsectionmeshcell, med_geometry_type *const sectiongeotype)
Cette routine permet d'obtenir la description de la localisation de points d'intégration n° localizat...
MEDC_EXPORT med_err MEDmeshGridTypeRd(const med_idt fid, const char *const meshname, med_grid_type *const gridtype)
Cette routine permet de lire le type d'un maillage structuré (MED_STRUCTURED_MESH).
MEDC_EXPORT med_err MEDmeshEntityNumberRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, med_int *const number)
Cette routine permet de lire les numéros d'un type d'entité d'un maillage.
void lecture_aretes_standards(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int *const naretes, const med_switch_mode mode_coo)
void lecture_mailles_polyedres(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int npolyedres, const med_switch_mode mode_coo, const med_connectivity_mode typ_con)
MEDC_EXPORT med_err MEDmeshNodeCoordinateRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_switch_mode switchmode, med_float *const coordinates)
Cette routine permet de lire dans un maillage le tableau des coordonnées des noeuds, selon une séquence de calcul donnée.
med_geometry_type MED23FIELD_GET_CELL_GEOMETRY_TYPE[MED_N_CELL_FIXED_GEO+2]
med_err getFieldsOn(const med_idt fid, const char *const maillage, const med_int mnumdt, const med_int mnumit, const char *const nomcha, const char *const dtunit, const med_field_type typcha, const med_int ncomp, const med_entity_type entite, const med_switch_mode stockage, const med_int ncstp)
MEDC_EXPORT med_err MEDprofileRd(const med_idt fid, const char *const profilename, med_int *const profilearray)
Cette routine permet de lire un profil dans un fichier MED.
#define MED_N_EDGE_GEO_FIXED_CON
MEDC_EXPORT med_err MEDparameterValueRd(const med_idt fid, const char *const paramname, const med_int numdt, const med_int numit, unsigned char *const value)
Cette routine permet la lecture de la valeur d'un paramètre numérique scalaire.
const char *const MED23MESH_GET_FACE_GEOMETRY_TYPENAME[MED_N_FACE_FIXED_GEO+2]
MEDC_EXPORT med_err MEDequivalenceCorrespondenceSize(const med_idt fid, const char *const meshname, const char *const equivname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, med_int *const nentity)
Cette routine permet de lire le nombre de correspondances dans une équivalence pour une séquence de c...
#define MED_N_FACE_FIXED_GEO
const char *const MED23MESH_GET_CELL_GEOMETRY_TYPENAME[MED_N_CELL_FIXED_GEO+2]
MEDC_EXPORT med_err MEDmeshPolygonRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_connectivity_mode cmode, med_int *const polyindex, med_int *const connectivity)
Cette routine permet la lecture des connectivités de polygones.
MEDC_EXPORT med_err MEDsubdomainComputingStepInfo(const med_idt fid, const char *const meshname, const char *const jointname, const int csit, med_int *const numdt, med_int *const numit, med_int *const ncorrespondence)
Cette routine permet de lire les informations sur les correspondances entre types d'entités dans un m...
void lecture_mailles_maillage_structure(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int nmai)
med_entity_type MED23MESH_GET_ENTITY_TYPE[MED_N_ENTITY_TYPES+2]
void lecture_famille_maillage(med_idt fid, const char *const nommaa, med_int nfam)
MEDC_EXPORT med_int MEDnLink(const med_idt fid)
Cette routine permet la lecture du nombre de lien dans un fichier MED.
const char * MED23MESH_GET_NODE_GEOMETRY_TYPENAME[MED_N_NODE_FIXED_GEO+2]
MEDC_EXPORT med_int MEDlinkInfoByName(const med_idt fid, const char *const meshname)
Cette routine permet de lire les informations sur un lien dans un fichier MED.
med_idt ouverture_fichier_MED(char *fichier)
const char *const MED23FIELD_GET_ENTITY_TYPENAME[MED_N_ENTITY_TYPES+2]
const med_geometry_type *const typmai
int main(int argc, char **argv)
void lecture_equivalence_maillage(med_idt fid, const char *const nommaa, med_int nequ)
MEDC_EXPORT med_err MEDfileCommentRd(const med_idt fid, char *const comment)
Lecture d'un descripteur dans un fichier MED.
med_geometry_type MED23MESH_GET_NODE_GEOMETRY_TYPE[MED_N_NODE_FIXED_GEO+2]
void lecture_noeuds_maillage_structure(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int edim, const med_int *const nind, const med_int nnoe, const char *const comp, const char *const unit, const med_grid_type type, const med_switch_mode mode_coo)
#define MED_N_CELL_GEO_FIXED_CON
void lecture_joint_maillage(med_idt fid, const char *const nommaa, med_int njnt)
#define MED_N_FACE_GEO_FIXED_CON
MEDC_EXPORT med_err MEDlibraryNumVersion(med_int *const major, med_int *const minor, med_int *const release)
Renvoie les 3 numéros de version de la librairie MED.
void lecture_mailles_standards(const med_idt fid, const char *nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int *const nmailles, const med_switch_mode mode_coo, const med_connectivity_mode typ_con)
MEDC_EXPORT med_err MEDlocalizationRd(const med_idt fid, const char *const localizationname, const med_switch_mode switchmode, med_float *const elementcoordinate, med_float *const ipointcoordinate, med_float *const weight)
Cette routine permet la lecture d'une localisation localizationname de points d'intégration dans/auto...
MEDC_EXPORT med_int MEDmeshnEntity(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, const med_data_type datatype, const med_connectivity_mode cmode, med_bool *const changement, med_bool *const transformation)
Cette routine permet de lire le nombre d'entités dans un maillage pour une séquence de calcul donnée...
MEDC_EXPORT med_int MEDnField(const med_idt fid)
Cette fonction permet de lire le nombre de champs dans un fichier.
const char * MED23MESH_GET_EDGE_GEOMETRY_TYPENAME[MED_N_EDGE_FIXED_GEO+2]
med_entity_type MED23FIELD_GET_ENTITY_TYPE[MED_N_ENTITY_TYPES+2]
med_geometry_type MED23MESH_GET_CELL_GEOMETRY_TYPE[MED_N_CELL_FIXED_GEO+2]
med_geometry_type MED23MESH_GET_EDGE_GEOMETRY_TYPE[MED_N_EDGE_FIXED_GEO+2]
MEDC_EXPORT med_err MEDsubdomainCorrespondenceSizeInfo(const med_idt fid, const char *const meshname, const char *const jointname, const med_int numdt, const med_int numit, const int corit, med_entity_type *const localentitytype, med_geometry_type *const localgeotype, med_entity_type *const remoteentitytype, med_geometry_type *const remotegeotype, med_int *const nentity)
Cette routine permet de lire les informations sur les couples d'entités en correspondance dans un joi...
MEDC_EXPORT med_err MEDfieldInfo(const med_idt fid, const int ind, char *const fieldname, char *const meshname, med_bool *const localmesh, med_field_type *const fieldtype, char *const componentname, char *const componentunit, char *const dtunit, med_int *const ncstp)
Cette fonction permet de lire les informations concernant le champ d'indice ind . ...
const char *const MED23MESH_GET_ENTITY_TYPENAME[MED_N_ENTITY_TYPES+2]
const med_geometry_type *const typare
med_int lecture_nombre_mailles_polyedres(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_connectivity_mode typ_con)
MEDC_EXPORT med_err MEDmeshUniversalNameRd(const med_idt fid, const char *const meshname, char *const univname)
Cette routine permet la lecture du nom universel d'un maillage.
MEDC_EXPORT med_err MEDequivalenceComputingStepInfo(const med_idt fid, const char *const meshname, const char *const equivname, const int csit, med_int *const numdt, med_int *const numit, med_int *const ncorrespondence)
Cette routine permet de lire les informations relatives à une équivalence pour une séquence de calcul...
MEDC_EXPORT med_int MEDnLocalization(const med_idt fid)
Cette routine permet de lire le nombre de localisations de points d'intégration contenues dans un fic...
const char *const MED23FIELD_GET_CELL_GEOMETRY_TYPENAME[MED_N_CELL_FIXED_GEO+2]
MEDC_EXPORT med_int MEDnSubdomainJoint(const med_idt fid, const char *const meshname)
Cette routine permet la lecture du nombre de joint dans un maillage.
MEDC_EXPORT med_err MEDmeshNodeRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_switch_mode switchmode, med_float *const coordinate, med_bool *const withnodename, char *const nodename, med_bool *const withnodenumber, med_int *const nodenumber, med_bool *const withfamnumber, med_int *const famnumber)
Cette routine permet la lecture des noeuds d'un maillage non structuré pour une séquence de calcul do...
MEDC_EXPORT med_err MEDmeshGridIndexCoordinateRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_int axis, med_float *const gridindex)
Cette routine permet la lecture des coordonnées des noeuds d'un maillage structuré selon un axe du re...
MEDC_EXPORT med_err MEDfileCompatibility(const char *const filename, med_bool *const hdfok, med_bool *const medok)
Vérification de la compatibilité d'un fichier avec HDF et MED.
MEDC_EXPORT med_err MEDprofileInfo(const med_idt fid, const int profileit, char *const profilename, med_int *const profilesize)
Cette routine permet de lire les informations sur un profil dans un fichier MED.
MEDC_EXPORT med_err MEDequivalenceCorrespondenceRd(const med_idt fid, const char *const meshname, const char *const equivname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, med_int *const correspondence)
Cette routine permet de lire un tableau de correspondances entre les entités d'un maillage dans une é...
MEDC_EXPORT med_err MEDfileClose(med_idt fid)
Fermeture d'un fichier MED.
void lecture_maillage_structure(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int edim, const med_switch_mode mode_coo, const char *const comp, const char *const unit, const int lecture_en_tete_seulement)
void lecture_faces_standard(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int mdim, const med_int *const nfaces, const med_switch_mode mode_coo)
#define MED_N_ENTITY_TYPES
MEDC_EXPORT med_err _MEDgetGeometricParameter(const med_entity_type entitytype, const med_geometry_type geotype, med_int *const entdim, med_int *const nnodes, med_int *const nndes)
MEDC_EXPORT med_err MEDfamily23Info(const med_idt fid, const char *const meshname, const int famit, char *const familyname, med_int *const attributenumber, med_int *const attributevalue, char *const attributedes, med_int *const familynumber, char *const groupname)
Cette routine permet de lire les informations relatives à une famille d'un maillage créé avec MED 2...
MEDC_EXPORT med_err MEDparameterComputationStepInfo(const med_idt fid, const char *const paramname, const int csit, med_int *const numdt, med_int *const numit, med_float *const dt)
Cette routine permet la lecture des informations relatives à une séquence de calcul du paramètre numé...
MEDC_EXPORT med_err MEDmeshEntityNameRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, char *const name)
Cette routine permet de lire les noms d'un type d'entité d'un maillage.
med_int lecture_nombre_faces_polygones(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit)
MEDC_EXPORT med_int MEDfield23nProfile(const med_idt fid, const char *const fieldname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_geometry_type geotype, const int meshit, char *const meshname, char *const defaultprofilename, char *const defaultlocalizationname)
Cette fonction permet de lire le nombre de profils référencés dans un champ pour une séquence de calc...
MEDC_EXPORT med_err MEDmeshPolyhedronRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, const med_entity_type entitype, const med_connectivity_mode cmode, med_int *const faceindex, med_int *const nodeindex, med_int *const connectivity)
Cette routine permet la lecture dans un maillage des connectivités de polyèdres.
const char *const * nommai
med_geometry_type MED23MESH_GET_FACE_GEOMETRY_TYPE[MED_N_FACE_FIXED_GEO+2]
med_int lecture_nombre_mailles_polygones(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_connectivity_mode typ_con)
void lecture_mailles_polygones(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_int nmpolygones, const med_switch_mode mode_coo, const med_connectivity_mode typ_con)
const char *const * nomfac
MEDC_EXPORT med_int MEDfieldnComponent(const med_idt fid, const int ind)
Cette fonction lit le nombre de composantes d'un champ.
MEDC_EXPORT med_err MEDfield23ComputingStepMeshInfo(const med_idt fid, const char *const fieldname, const int csit, med_int *const numdt, med_int *const numit, med_float *const dt, med_int *const nmesh, char *const meshname, med_bool *const localmesh, med_int *const meshnumdt, med_int *const meshnumit)
Cette fonction permet de lire les informations caractérisant une séquence de calcul : numéro de pas d...
MEDC_EXPORT med_int MEDnFamily23Attribute(const med_idt fid, const char *const meshname, const int famit)
Cette routine permet de lire le nombre d'attribut dans une famille dans un maillage créé avec MED 2...
MEDC_EXPORT med_err MEDparameterInfo(const med_idt fid, const int paramit, char *const paramname, med_parameter_type *const paramtype, char *const description, char *const dtunit, med_int *const nstep)
Cette routine permet la lecture des informations relatives à un paramètre scalaire via un itérateur...
const med_geometry_type *const typfac
med_geometry_type MED23FIELD_GET_FACE_GEOMETRY_TYPE[MED_N_FACE_FIXED_GEO+2]
void lecture_information_maillage(const med_idt fid, const int numero, char *nommaa, med_int *const mdim, med_int *const edim, med_mesh_type *const type_maillage, char *const maillage_description, med_int *const nstep, char *const dtunit, char *const nomcoo, char *const unicoo, med_axis_type *const rep)
med_int lecture_nombre_aretes_standards(const med_idt fid, const char *const nommaa, const med_int numdt, const med_int numit, const med_geometry_type typ_geo, const med_int indice)
MEDC_EXPORT med_int MEDnMesh(const med_idt fid)
Cette routine permet de lire le nombre de maillages dans un fichier.
#define MED_N_EDGE_FIXED_GEO
MEDC_EXPORT med_err MEDmeshGridStructRd(const med_idt fid, const char *const meshname, const med_int numdt, const med_int numit, med_int *const gridstruct)
Cette routine permet la lecture de la structure (nombre de points sur chaque axe du repère) d'un mail...
void lecture_resultats(const med_idt fid, const char *const maillage, const med_int mnumdt, const med_int mnumit, const med_switch_mode mode_coo, const int lecture_en_tete_seulement)
void lecture_en_tete(med_idt fid, char *fichier)
MEDC_EXPORT med_int MEDnFamilyGroup(const med_idt fid, const char *const meshname, const int famit)
Cette routine permet de lire le nombre de groupe dans une famille.