Esempio n. 1
0
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;
}
Esempio n. 2
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; 
}
Esempio n. 3
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; 
}
Esempio n. 4
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;
}