29 int main (
int argc,
char **argv) {
31 const char meshname[
MED_NAME_SIZE+1] =
"2D unstructured mesh";
44 med_int *triaconnectivity = NULL;
46 med_int *quadconnectivity = NULL;
61 MESSAGE(
"ERROR : open file in READ ONLY ACCESS mode ...");
71 if (
MEDmeshInfoByName(fid, meshname, &spacedim, &meshdim, &meshtype, meshdescription,
72 dtunit, &sortingtype, &nstep, &axistype, axisname, unitname) < 0) {
73 MESSAGE(
"ERROR : mesh info ...");
80 &geotransformation)) < 0) {
81 MESSAGE(
"ERROR : number of nodes ...");
93 &geotransformation)) < 0) {
94 MESSAGE(
"ERROR : number of MED_TRIA3 ...");
101 &geotransformation)) < 0) {
102 MESSAGE(
"ERROR : number of MED_QUAD4 ...");
108 MESSAGE(
"ERROR : memory allocation ...");
114 MESSAGE(
"ERROR : nodes coordinates ...");
122 if ((triaconnectivity = (
med_int *) malloc(
sizeof(
med_int)*ntria3*3)) == NULL) {
123 MESSAGE(
"ERROR : memory allocation ...");
128 MESSAGE(
"ERROR : MED_TRIA3 connectivity ...");
129 free(triaconnectivity);
132 free(triaconnectivity);
134 if ((quadconnectivity = (
med_int *) malloc(
sizeof(
med_int)*nquad4*4)) == NULL) {
135 MESSAGE(
"ERROR : memory allocation ...");
140 MESSAGE(
"ERROR : MED_TRIA3 connectivity ...");
141 free(quadconnectivity);
144 free(quadconnectivity);
149 if ((nfamily =
MEDnFamily(fid,meshname)) < 0) {
150 MESSAGE(
"ERROR : read number of family ...");
154 for (i=0; i<nfamily ; i++) {
157 MESSAGE(
"ERROR : read number of group in a family ...");
162 if ((groupname = (
char*) malloc(
sizeof(
char)*
MED_LNAME_SIZE*ngroup+1)) == NULL) {
163 MESSAGE(
"ERROR : memory allocation ...");
167 if (
MEDfamilyInfo(fid, meshname, i+1, familyname, &familynumber, groupname) < 0) {
168 MESSAGE(
"ERROR : family info ...");
180 if ((familynumbers = (
med_int *) malloc(
sizeof(
med_int)*nnodes)) == NULL) {
181 MESSAGE(
"ERROR : memory allocation ...");
186 for (i=0; i<nnodes; i++) *(familynumbers+i) = 0;
188 for (i=0; i<nnodes; i++) printf(
"%d - ", *(familynumbers+i));
191 free (familynumbers);
194 if ((familynumbers = (
med_int *) malloc(
sizeof(
med_int)*ntria3)) == NULL) {
195 MESSAGE(
"ERROR : memory allocation ...");
200 for (i=0; i<ntria3; i++) *(familynumbers+i) = 0;
202 free (familynumbers);
205 if ((familynumbers = (
med_int *) malloc(
sizeof(
med_int)*nquad4)) == NULL) {
206 MESSAGE(
"ERROR : memory allocation ...");
211 for (i=0; i<nquad4; i++) *(familynumbers+i) = 0;
213 free (familynumbers);
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.
int main(int argc, char **argv)
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.
MEDC_EXPORT med_err MEDfamilyInfo(const med_idt fid, const char *const meshname, const int famit, char *const familyname, med_int *const familynumber, char *const groupname)
Cette routine permet de lire les informations relatives à une famille d'un maillage.
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 MEDnFamily(const med_idt fid, const char *const meshname)
Cette routine permet de lire le nombre de famille dans un maillage.
MEDC_EXPORT med_idt MEDfileOpen(const char *const filename, const med_access_mode accessmode)
Ouverture d'un fichier MED.
MEDC_EXPORT med_err MEDmeshElementConnectivityRd(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)
Cette routine permet de lire dans un maillage le tableau des connectivités pour un type géométrique d...
MEDC_EXPORT med_err MEDfileClose(med_idt fid)
Fermeture d'un fichier MED.
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.
MEDC_EXPORT med_err MEDmeshInfoByName(const med_idt fid, const 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 en précisant son nom...