17#define _a 0.446948490915965
18#define _b 0.091576213509771
19#define _p1 0.11169079483905
20#define _p2 0.0549758718227661
36#define MODE_ACCES MED_ACC_RDWR
38#define MODE_ACCES MED_ACC_RDEXT
40#define MODE_ACCES MED_ACC_CREAT
44#define USER_INTERLACE MED_FULL_INTERLACE
47#define USER_MODE MED_COMPACT_STMODE
49int main (
int argc,
char **argv)
60 char * lien_maa2 =
"./testfoo.med";
73 med_float refcoo1[12] = { -1.0,1.0, -1.0,-1.0, 1.0,-1.0, -1.0,0.0, 0.0,-1.0, 0.0,0.0 };
83 med_float valr1_1[1*6*2] = {0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0, 20.0,21.0, 22.0,23.0};
87 med_float gscoo1_2[6] = { -2.0/3,1.0/3, -2.0/3,-2.0/3, 1.0/3,-2.0/3 };
88 med_float wg1_2[3] = { 2.0/3, 2.0/3, 2.0/3 };
91 med_float valr1_2[2*3*2] = {0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0, 20.0,21.0, 22.0,23.0};
92 med_float valr1_2p[2*3*2] = { 12.0,13.0, 20.0,21.0, 22.0,23.0};
96 med_float valr1_3[2*3*2] = {0.0,1.0, 2.0,3.0, 10.0,11.0, 12.0,13.0, 20.0,21.0, 22.0,23.0};
97 med_float valr1_3p[2*2*2] = { 2.0,3.0, 10.0,11.0 };
106 med_int valr2[5*3 ] = {0,1,2, 10,11,12, 20,21,22, 30,31,32, 40,41,42};
107 med_int valr2p[3*3 ] = {0,1,2, 20,21,22, 40,41,42};
114 med_int profil2[3] = { 1, 3, 5 };
126 med_int valr3[5*4*2] = {0,1, 10,11, 20,21, 30,31,
127 40,41, 50,51, 60,61, 70,71,
128 80,81, 90,91, 100,101, 110,111,
129 120,121, 130,131, 140,141, 150,151,
130 160,161, 170,171, 180,181, 190,191};
131 med_int valr3p[3*4*2] = {0,1, 10,11, 20,21, 30,31,
132 80,81, 90,91, 100,101, 110,111,
133 160,161, 170,171, 180,181, 190,191};
179 MESSAGE(
"Erreur à l'ouverture du fichier : ");
193 MESSAGE(
"Impossible de lire le nombre de champs : ");
ISCRUTE(ncha);
195 printf(
"Nombre de champs : "IFORMAT" \n",ncha);
199 MESSAGE(
"Erreur à la création du champ : ");
SSCRUTE(
"Ajout Complémentaire");
241 ngauss1_1, gscoo1_1, wg1_1,
243 MESSAGE(
"Erreur à la création du modèle n° 1 : ");
SSCRUTE(gauss1_1);
249 ngauss1_2, gscoo1_2, wg1_2,
251 MESSAGE(
"Erreur à la création du modèle n° 1 : ");
SSCRUTE(gauss1_2);
259 gauss1_1,
USER_INTERLACE, 2, _nent1_1, (
unsigned char*)valr1_1 ) < 0) {
260 MESSAGE(
"Erreur à l'écriture du champ : ");
271 gauss1_1,
USER_INTERLACE, 1, _nent1_1, (
unsigned char*)valr1_1 ) < 0) {
272 MESSAGE(
"Erreur à l'écriture du champ : ");
282 gauss1_2,
USER_INTERLACE, 1, _nent1_2, (
unsigned char*)valr1_2 ) < 0) {
283 MESSAGE(
"Erreur à l'écriture du champ : ");
295 gauss1_1,
USER_INTERLACE, 2, _nent1_1, (
unsigned char*)valr1_1 ) < 0) {
296 MESSAGE(
"Erreur à l'écriture du champ : ");
307 gauss1_2,
USER_INTERLACE, 1, _nent1_2, (
unsigned char*)valr1_2 ) < 0) {
308 MESSAGE(
"Erreur à l'écriture du champ : ");
317 MESSAGE(
"Erreur à l'écriture du profil : ");
324 MESSAGE(
"Erreur à l'écriture du profil : ");
336 MESSAGE(
"Erreur à l'écriture du champ : ");
347 MESSAGE(
"Erreur à l'écriture du champ : ");
356 MESSAGE(
"Erreur à l'écriture du champ : ");
369 MESSAGE(
"Erreur à l'écriture du champ : ");
378 MESSAGE(
"Erreur à l'écriture du champ : ");
387 MESSAGE(
"Erreur à l'écriture du champ : ");
396 MESSAGE(
"Erreur à l'écriture du profil : ");
404 MESSAGE(
"Erreur à l'écriture du champ : ");
420 MESSAGE(
"Erreur à l'écriture du champ : ");
428 MESSAGE(
"Erreur à l'écriture du champ : ");
436 MESSAGE(
"Erreur à l'écriture du champ : ");
447 MESSAGE(
"Erreur à la fermeture du fichier ");
455 MESSAGE(
"Erreur à l'ouverture du fichier : ");
463 MESSAGE(
"Impossible de lire le nombre de champs : ");
ISCRUTE(ncha);
465 printf(
"Nombre de champs : "IFORMAT" \n",ncha);
471 MESSAGE(
"Erreur à la création du champ : Complémentaire 2");
478 if (
MEDmeshInfo( fid, 1, _maa, &_sdim, &_mdim, &_type, _desc, __dtunit, &_sort,
479 &_nstep, &_rep, _nomcoo,_unicoo) < 0 ) {
480 MESSAGE(
"Erreur a la lecture des informations sur le maillage : ");
SSCRUTE(_maa);
483 printf(
"Maillage de nom : |%s| , de dimension : "IFORMAT" , et de type %d\n",_maa,_mdim,_type);
484 printf(
"\t -Dimension de l'espace : "IFORMAT"\n",_sdim);
485 printf(
"\t -Description du maillage : %s\n",_desc);
486 printf(
"\t -Noms des axes : |%s|\n",_nomcoo);
487 printf(
"\t -Unités des axes : |%s|\n",_unicoo);
488 printf(
"\t -Type de repère : %d\n",_rep);
489 printf(
"\t -Nombre d'étapes de calcul : "IFORMAT"\n",_nstep);
490 printf(
"\t -Unité des dates : |%s|\n",__dtunit);
495 MESSAGE(
"Impossible de lire le nombre de champs : ");
ISCRUTE(ncha);
497 printf(
"Nombre de champs : "IFORMAT" \n",ncha);
501 MESSAGE(
"Erreur à la fermeture du fichier ");
506 free(memfile[0].app_image_ptr);
MEDC_EXPORT med_int MEDnField(const med_idt fid)
Cette fonction permet de lire le nombre de champs dans un fichier.
MEDC_EXPORT med_err MEDfieldCr(const med_idt fid, const char *const fieldname, const med_field_type fieldtype, const med_int ncomponent, const char *const componentname, const char *const componentunit, const char *const dtunit, const char *const meshname)
Cette fonction crée un champ dans un fichier.
MEDC_EXPORT med_err MEDfieldValueWithProfileWr(const med_idt fid, const char *const fieldname, const med_int numdt, const med_int numit, const med_float dt, const med_entity_type entitype, const med_geometry_type geotype, const med_storage_mode storagemode, const char *const profilename, const char *const localizationname, const med_switch_mode switchmode, const med_int componentselect, const med_int nentity, const unsigned char *const value)
Cette fonction permet d'écrire les valeurs d'un champ définies sur des entités d'un maillage pour une...
MEDC_EXPORT med_err MEDfieldValueWr(const med_idt fid, const char *const fieldname, const med_int numdt, const med_int numit, const med_float dt, const med_entity_type entitype, const med_geometry_type geotype, const med_switch_mode switchmode, const med_int componentselect, const med_int nentity, const unsigned char *const value)
Cette fonction permet d'écrire les valeurs d'un champ définies sur des entités d'un maillage pour une...
MEDC_EXPORT med_err MEDfileClose(med_idt fid)
Fermeture d'un fichier MED.
MEDC_EXPORT med_idt MEDmemFileOpen(const char *const filename, med_memfile *const memfile, const med_bool filesync, const med_access_mode accessmode)
Ouverture d'un fichier MED pour une utilisation en mémoire.
MEDC_EXPORT med_err MEDlinkWr(const med_idt fid, const char *const meshname, const char *const link)
Cette routine permet d'écrire un lien dans un fichier MED.
MEDC_EXPORT med_err MEDlocalizationWr(const med_idt fid, const char *const localizationname, const med_geometry_type geotype, const med_int spacedimension, const med_float *const elementcoordinate, const med_switch_mode switchmode, const med_int nipoint, const med_float *const ipointcoordinate, const med_float *const weight, const char *const geointerpname, const char *const ipointstructmeshname)
Cette routine permet l'écriture d'une localisation localizationname de points d'intégration dans/auto...
MEDC_EXPORT med_err MEDmeshCr(const med_idt fid, const char *const meshname, const med_int spacedim, const med_int meshdim, const med_mesh_type meshtype, const char *const description, const char *const dtunit, const med_sorting_type sortingtype, const med_axis_type axistype, const char *const axisname, const char *const axisunit)
Cette routine permet de créer un maillage dans un fichier.
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.
MEDC_EXPORT med_err MEDprofileWr(const med_idt fid, const char *const profilename, const med_int profilesize, const med_int *const profilearray)
Cette routine permet d'écrire un profil dans un fichier MED.
#define MED_NO_LOCALIZATION
#define MED_ALLENTITIES_PROFILE
#define MED_NO_INTERPOLATION
#define MED_ALL_CONSTITUENT
#define MED_NO_MESH_SUPPORT
#define ISCRUTE_int(entier)
Structure d'acceuil du buffer d'un fichier MED en mémoire.
int main(int argc, char **argv)