med_err MEDnoeudsEcr(med_idt fid,char *maa,med_int mdim,med_float *coord, med_mode_switch mode_coo, med_repere repere,char *nomcoo, char *unicoo,char *nom, med_booleen inom,med_int *num,med_booleen inum,med_int *fam, med_int nnoeuds) { med_err ret; /* ecriture des coordonnees */ if ((ret = MEDcoordEcr(fid,maa,mdim,coord,mode_coo, nnoeuds,repere,nomcoo, unicoo)) < 0) return -1; /* ecriture des noms (facultatifs) */ if (inom == MED_VRAI) if ((ret = MEDnomEcr(fid,maa,nom,nnoeuds,MED_NOEUD,MED_POINT1)) < 0) return -1; /* ecriture des numeros (facultatifs) */ if (inum == MED_VRAI) if ((ret = MEDnumEcr(fid,maa,num,nnoeuds,MED_NOEUD,MED_POINT1)) < 0) return -1; /* ecriture des numeros de familles */ if ((ret = MEDfamEcr(fid,maa,fam,nnoeuds,MED_NOEUD,MED_POINT1)) < 0) return -1; return 0; }
int main (int argc, char **argv) { med_idt fid; char maa[MED_TAILLE_NOM+1] = "maa1"; med_int mdim = 3; med_int index[4] = {1,6,12,17}; med_int con[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; med_int n=3,ni = 4; /* 123456789012345612345678901234561234567890123456 */ char nom[MED_TAILLE_PNOM*3+1]="poly1 poly2 poly3 "; med_int num[3] = {1,2,3}; med_int fam[3] = {0,-1,-2}; /* Creation du fichier test23.med */ fid = MEDouvrir("test23.med",MODE_ACCES); if (fid == -1) { MESSAGE("Erreur a la creation du fichier test23.med"); return -1; } printf("Creation du fichier test23.med \n"); /* Creation du maillage */ if (MEDmaaCr(fid,maa,mdim,MED_NON_STRUCTURE, "un maillage pour test23") < 0) { MESSAGE("Erreur a la creation du maillage"); return -1; } printf("Creation du maillage \n"); /* Ecriture de la connectivite des mailles polygones en mode nodal */ if (MEDpolygoneConnEcr(fid,maa,index,ni,con,MED_MAILLE,MED_NOD) < 0) { MESSAGE("Erreur a l'ecriture de la connectivite des mailles MED_POLYGONE"); return -1; } printf("Ecriture des connectivites de mailles de type MED_POLYGONE en mode nodal \n"); /* Ecriture des noms des polygones */ if (MEDnomEcr(fid,maa,nom,n,MED_MAILLE,MED_POLYGONE) < 0) { MESSAGE("Erreur a l'ecriture des noms mailles MED_POLYGONE"); return -1; } printf("Ecriture des noms des polygones \n"); /* Ecriture des numeros des polygones */ if (MEDnumEcr(fid,maa,num,n,MED_MAILLE,MED_POLYGONE) < 0) { MESSAGE("Erreur a l'ecriture des numeros des mailles MED_POLYGONE"); return -1; } printf("Ecriture des numeros des polygones \n"); /* Ecriture des numeros des familles des polygones */ if (MEDfamEcr(fid,maa,fam,n,MED_MAILLE,MED_POLYGONE) < 0) { MESSAGE("Erreur a l'ecriture des numeros de famille des mailles MED_POLYGONE"); return -1; } printf("Ecriture des numeros des familles des polygones \n"); /* Fermeture du fichier */ if (MEDfermer(fid) < 0) { MESSAGE("Erreur a la fermeture du fichier"); return -1; } printf("Fermeture du fichier test23.med \n"); return 0; }
int main (int argc, char **argv) { med_idt fid; char maa[MED_TAILLE_NOM+1] = "maa1"; med_int mdim = 3; med_int n=2; /* connectivite nodale */ med_int indexp[3] = {1,5,9}; med_int np = 3; med_int indexf[9] = {1,4,7,10,13,16,19,22,25}; med_int nf = 9; med_int conn[24] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24}; /* connectivite descendante */ med_int indexp2[3] = {1,5,9}; med_int np2 = 3; med_int conn2[8] = {1,2,3,4,5,6,7,8}; med_int indexf2[8] = {MED_TRIA3,MED_TRIA3,MED_TRIA3,MED_TRIA3, MED_TRIA3,MED_TRIA3,MED_TRIA3,MED_TRIA3}; med_int nf2=8; /* 12345678901234561234567890123456*/ char nom[MED_TAILLE_PNOM*2+1]="polyedre1 polyedre2 "; med_int num[2] = {1,2}; med_int fam[2] = {0,-1}; /* Creation du fichier test25.med */ if ((fid = MEDouvrir("test25.med",MODE_ACCES)) < 0) { MESSAGE("Erreur a la creation du fichier test25.med"); return -1; } printf("Creation du fichier test25.med \n"); /* Creation du maillage */ if (MEDmaaCr(fid,maa,mdim,MED_NON_STRUCTURE, "un maillage pour test25") < 0) { MESSAGE("Erreur a la creation du maillage"); return -1; } printf("Creation du maillage \n"); /* Ecriture des connectivites des mailles polyedres en mode nodal */ if (MEDpolyedreConnEcr(fid,maa,indexp,np,indexf,nf,conn,MED_NOD) < 0) { MESSAGE("Erreur a l'ecriture de la connectivite des mailles MED_POLYEDRE"); return -1; } printf("Ecriture des connectivites de mailles de type MED_POLYEDRE en mode nodal \n"); /* Ecriture des connectivites des mailles polyedres en mode descendant */ if (MEDpolyedreConnEcr(fid,maa,indexp2,np2,indexf2,nf2,conn2,MED_DESC) < 0) { MESSAGE("Erreur a l'ecriture des connectivites des mailles MED_POLYEDRE en mode descendant"); return -1; } printf("Ecriture des connectivites de mailles de type MED_POLYEDRE en mode descendant \n"); /* Ecriture des noms des polyedres */ if (MEDnomEcr(fid,maa,nom,n,MED_MAILLE,MED_POLYEDRE) < 0) { MESSAGE("Erreur a l'ecriture des noms des mailles MED_POLYEDRE"); return -1; } printf("Ecriture des noms des polyedres \n"); /* Ecriture des numeros des polyedres */ if (MEDnumEcr(fid,maa,num,n,MED_MAILLE,MED_POLYEDRE) < 0) { MESSAGE("Erreur a l'ecriture des numeros des mailles MED_POLYEDRE"); return -1; } printf("Ecriture des numeros des polyedres \n"); /* Ecriture des numeros des familles des polyedres */ if (MEDfamEcr(fid,maa,fam,n,MED_MAILLE,MED_POLYEDRE) < 0) { MESSAGE("Erreur a l'ecriture des familles des mailles MED_POLYEDRE"); return -1; } printf("Ecriture des numeros des familles des polyedres \n"); /* Fermeture du fichier */ if (MEDfermer(fid) < 0) { MESSAGE("Erreur a la fermeture du fichier"); return -1; } printf("Fermeture du fichier test25.med \n"); return 0; }
int main (int argc, char **argv) { med_err ret = 0; med_idt fid; /* la dimension du maillage */ med_int mdim = 2; /* nom du maillage de longueur maxi MED_TAILLE_NOM */ char maa[MED_TAILLE_NOM+1] = "maa1"; /* le nombre de noeuds */ med_int nnoe = 4; /* table des coordonnees profil : (dimension * nombre de noeuds) */ med_float coo[8] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0}; /* tables des noms et des unites des coordonnees profil : (dimension*MED_TAILLE_PNOM+1) */ /* 12345678901234561234567890123456*/ char nomcoo[2*MED_TAILLE_PNOM+1] = "x y "; char unicoo[2*MED_TAILLE_PNOM+1] = "cm cm "; /* tables des noms, numeros, numeros de familles des noeuds autant d'elements que de noeuds - les noms ont pout longueur MED_TAILLE_PNOM */ /* 1234567890123456123456789012345612345678901234561234567890123456*/ char nomnoe[4*MED_TAILLE_PNOM+1] = "nom1 nom2 nom3 nom4 "; med_int numnoe[4] = {1,2,3,4}; med_int nufano[4] = {0,1,2,2}; /* Creation du fichier "test4.med" */ fid = MEDouvrir("test4.med",MODE_ACCES); if (fid < 0) { MESSAGE("Erreur a la creation du fichier test4.med"); return -1; } /* Creation du maillage "maa" de type MED_NON_STRUCURE et de dimension 2 */ if (MEDmaaCr(fid,maa,mdim,MED_NON_STRUCTURE, "un maillage pour test4") < 0) { MESSAGE("Erreur a la creation du maillage : "); SSCRUTE(maa); ret = -1; } /* Ecriture des coordonnees des noeuds en mode MED_FULL_INTERLACE : (X1,Y1, X2,Y2, X3,Y3, ...) dans un repere cartesien */ if (MEDcoordEcr(fid,maa,mdim,coo,MED_FULL_INTERLACE,nnoe, MED_CART,nomcoo,unicoo) < 0) { MESSAGE("Erreur a l'ecriture des coordonnees des noeuds"); ret = -1; } /* Ecriture des noms des noeuds (optionnel dans un maillage MED) */ if (MEDnomEcr(fid,maa,nomnoe,nnoe,MED_NOEUD,0) < 0) { MESSAGE("Erreur a l'ecriture des noms des noeuds"); ret = -1; } /* Ecriture des numeros des noeuds (optionnel dans un maillage MED) */ if (MEDnumEcr(fid,maa,numnoe,nnoe,MED_NOEUD,0) < 0) { MESSAGE("Erreur a l'ecriture des numeros des noeuds"); ret = -1; } /* Ecriture des numeros de famille des noeuds */ if (MEDfamEcr(fid,maa,nufano,nnoe,MED_NOEUD,0) < 0) { MESSAGE("Erreur a l'ecriture des numeros de familles des noeuds"); ret = -1; } /* Fermeture du fichier */ if (MEDfermer(fid) < 0) { MESSAGE("Erreur a la fermeture du fichier test4.med"); return -1; } return ret; }