MED fichier: Fichier source de test10.c

MED fichier

4.1.1/test10.c
Aller à la documentation de ce fichier.
1 /* This file is part of MED.
2 *
3 * COPYRIGHT (C) 1999 - 2023 EDF R&D, CEA/DEN
4 * MED is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * MED is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with MED. If not, see <http://www.gnu.org/licenses/>.
16 */
17 #define _a 0.446948490915965
18 #define _b 0.091576213509771
19 #define _p1 0.11169079483905
20 #define _p2 0.0549758718227661
21
22 /******************************************************************************
23 * - Nom du fichier : test10.c
24 *
25 * - Description : ecriture de champs de resultats MED
26 *
27 *****************************************************************************/
28
29 #include <med.h>
30 #define MESGERR 1
31 #include "med_utils.h"
32 #include <string.h>
33
34 /* Pour tester MEDfileVersionOpen */
35 #define MODE_ACCES MED_ACC_CREAT
36
37 /* #ifdef DEF_LECT_ECR */
38 /* #define MODE_ACCES MED_ACC_RDWR */
39 /* #elif DEF_LECT_AJOUT */
40 /* #define MODE_ACCES MED_ACC_RDEXT */
41 /* #else */
42 /* #define MODE_ACCES MED_ACC_CREAT */
43 /* #endif */
44
45 #ifndef USER_INTERLACE
46 #define USER_INTERLACE MED_FULL_INTERLACE
47 #endif
48
49 #define USER_MODE MED_COMPACT_STMODE
50
51 #ifdef DEF_MED_FLOAT32
52 #define FTYPECHA MED_FLOAT32
53 #define ftypecha med_float32
54 #define filename_ "test10_f32"
55 #else
56 #define FTYPECHA MED_DOUBLE
57 #define ftypecha med_double
58 #define filename_ "test10"
59 #endif
60
61 #ifdef DEF_MED_INT32
62 #define ITYPECHA MED_INT32
63 #define itypecha med_int32
64 #define filename__ filename_ "_i32"
65 #elif DEF_MED_INT64
66 #define ITYPECHA MED_INT64
67 #define itypecha med_int64
68 #define filename__ filename_ "_i64"
69 #else
70 #define ITYPECHA MED_INT
71 #define itypecha med_int
72 #define filename__ filename_
73 #endif
74
75
76 #define filename filename__ ".med"
77
78 int main (int argc, char **argv)
79
80
81 {
82 med_err ret=0;
83 med_idt fid;
84
85
86
87 /* Maillage support aux champs*/
88 /* Ces maillages sont vides*/
89 char maa1[MED_NAME_SIZE+1]= "maa1";
90 char maa2[MED_NAME_SIZE+1]= "maa2";
91 char * lien_maa2 = "./testfoo.med";
92 char maa3[MED_NAME_SIZE+1]= "maa3";
93
94
95 /* Caractéristiques du champ n° 1 sur TRIA6 */
96 char nomcha1[MED_NAME_SIZE+1] = "champ reel";
97 char comp1[2*MED_SNAME_SIZE+1] = "comp1 comp2 ";
98 /*12345678901234561234567890123456*/
99 char unit1[2*MED_SNAME_SIZE+1] = "unit1 unit2 ";
100 med_int ncomp1 = 2;
101 /* Caractéristiques du model n° 1 de localisation des points de gauss pour le champ n°1*/
102 med_int ngauss1_1 = 6;
103 char gauss1_1[MED_NAME_SIZE+1] = "Model n1";
104 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 };
105
106 /* Constantes */
107
108 med_float gscoo1_1[12] = { 2*_b-1, 1-4*_b, 2*_b-1, 2*_b-1, 1-4*_b,
109 2*_b-1, 1-4*_a, 2*_a-1, 2*_a-1, 1-4*_a, 2*_a-1, 2*_a-1 };
110 med_float wg1_1[6] = { 4*_p2, 4*_p2, 4*_p2, 4*_p1, 4*_p1, 4*_p1 };
111
112 med_int nval1_1= 1*6; /*1 valeurs et 6 points de gauss par valeur */
113 med_int _nent1_1= 1; /*1 valeurs et 6 points de gauss par valeur */
114 ftypecha 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}; /* 2 composantes*/
115 /* Caractéristiques du model n° 2 de localisation des points de gauss pour le champ n°1*/
116 med_int ngauss1_2 = 3;
117 char gauss1_2[MED_NAME_SIZE+1] = "Model n2";
118 med_float gscoo1_2[6] = { -2.0/3,1.0/3, -2.0/3,-2.0/3, 1.0/3,-2.0/3 };
119 med_float wg1_2[3] = { 2.0/3, 2.0/3, 2.0/3 };
120 med_int nval1_2= 2*3; /*2 valeurs et 3 points de gauss par valeur */
121 med_int _nent1_2= 2; /*2 valeurs et 3 points de gauss par valeur */
122 ftypecha 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}; /* 2 composantes*/
123 ftypecha valr1_2p[2*3*2] = { 12.0,13.0, 20.0,21.0, 22.0,23.0}; /* 2 composantes*/
124 /* Caractéristiques du model n° 3 sans points de gauss pour le champ n°1*/
125 med_int nval1_3= 6; /*6 valeurs et pas de points de gauss */
126 med_int _nent1_3= 6; /*6 valeurs et pas de points de gauss */
127 ftypecha 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}; /* 2 composantes*/
128 ftypecha valr1_3p[2*2*2] = { 2.0,3.0, 10.0,11.0 }; /* 2 composantes profil1 */
129
130 /* Caractéristiques du champ n° 2 */
131 char nomcha2[MED_NAME_SIZE+1] = "champ entier";
132 char comp2[3*MED_SNAME_SIZE+1] = "comp1 comp2 comp3 ";
133 /*123456789012345612345678901234561234567890123456*/
134 char unit2[3*MED_SNAME_SIZE+1] = "unit1 unit2 unit3 ";
135 med_int ncomp2 = 3;
136 med_int nval2 = 5; /*5 valeurs */
137 itypecha valr2[5*3 ] = {0,1,2, 10,11,12, 20,21,22, 30,31,32, 40,41,42}; /* 3 composantes*/
138 /* u32b : 4294967296 s32b : 2147483647 -2147483647 */
139 itypecha valr2_[5*3 ] = {2147483647, -2147483648, 4294967296, 10,11,12, 20,21,22, 30,31,32, 40,41,42};
140 itypecha valr2p[3*3 ] = {0,1,2, 20,21,22, 40,41,42}; /* 3 composantes*/
141
142 /* Profils utilisés */
143 char nomprofil1[MED_NAME_SIZE+1] = "PROFIL(champ(1))";
144 char nomprofil1b[MED_NAME_SIZE+1] = "PROFIL(champ(1b))";
145 char nomprofil2[MED_NAME_SIZE+1] = "PROFIL(champ2)";
146 med_int profil1[2] = { 2, 3 };
147 med_int profil2[3] = { 1, 3, 5 };
148
149
150 /* Caractéristiques du champ n° 3 */
151 char nomcha3[MED_NAME_SIZE+1] = "champ entier 3";
152 char comp3[3*MED_SNAME_SIZE+1] = "comp1 comp2 ";
153 /*123456789012345612345678901234561234567890123456*/
154 char unit3[3*MED_SNAME_SIZE+1] = "unit1 unit2 ";
155 char dtunit[MED_SNAME_SIZE+1] = "s";
156 med_int ncomp3 = 2;
157 med_int nval3 = 5*4; /*5 valeurs et 4 noeuds par element*/
158 med_int _nent3 = 5; /*5 valeurs et 4 noeuds par element*/
159 itypecha valr3[5*4*2] = {0,1, 10,11, 20,21, 30,31,
160 40,41, 50,51, 60,61, 70,71,
161 80,81, 90,91, 100,101, 110,111,
162 120,121, 130,131, 140,141, 150,151,
163 160,161, 170,171, 180,181, 190,191}; /* 2 composantes*/
164 itypecha valr3p[3*4*2] = {0,1, 10,11, 20,21, 30,31,
165 80,81, 90,91, 100,101, 110,111,
166 160,161, 170,171, 180,181, 190,191}; /* 2 composantes*/
167
168
169 char nomcoo[3*MED_SNAME_SIZE+1] = "x y z ";
170 char unicoo[3*MED_SNAME_SIZE+1] = "cm cm cm ";
171
172
173
174
175 /* ouverture du fichier */
176 if ((fid = MEDfileVersionOpen(filename,MODE_ACCES,4,1,1)) < 0){
177 MESSAGE("Erreur à l'ouverture du fichier : ");
178 return -1;
179 }
180
181 /* creation de maa1 de dimension 3*/
182 if (MEDmeshCr( fid, maa1, 3, 3, MED_UNSTRUCTURED_MESH,
183 "Maillage vide","s", MED_SORT_DTIT,
184 MED_CARTESIAN, nomcoo, unicoo) < 0) {
185 MESSAGE("Erreur a la creation du maillage : "); SSCRUTE(maa1);
186 ret = -1;
187 }
188
189
190 /* creation de maa3 de dimension 3*/
191 if (MEDmeshCr( fid, maa3, 3, 3, MED_UNSTRUCTURED_MESH,
192 "Maillage vide","s", MED_SORT_DTIT,
193 MED_CARTESIAN, nomcoo, unicoo) < 0) {
194 MESSAGE("Erreur a la creation du maillage : "); SSCRUTE(maa3);
195 ret = -1;
196 }
197
198
199 /* creation du champ réel n°1 */
200 if ( MEDfieldCr(fid,nomcha1,FTYPECHA,ncomp1,comp1,unit1,dtunit,maa1 ) < 0) {
201 MESSAGE("Erreur à la création du champ : ");SSCRUTE(nomcha1);
202 ret = -1;
203 };
204
205 /* creation du champ entier n°2 */
206 if ( MEDfieldCr(fid,nomcha2,ITYPECHA,ncomp2,comp2,unit2,dtunit,maa2 ) < 0) {
207 MESSAGE("Erreur à la création du champ : ");SSCRUTE(nomcha2);
208 ret = -1;
209 };
210
211 /* creation du lien au fichier distant contenant maa2 */
212 if (MEDlinkWr(fid,maa2,lien_maa2) < 0) {
213 MESSAGE("Erreur à la création du lien : ");SSCRUTE(lien_maa2);
214 ret = -1;
215 };
216
217 /* creation de la localisation des points de Gauss modèle n°1 */
218 if (MEDlocalizationWr(fid, gauss1_1, MED_TRIA6, MED_TRIA6/100, refcoo1, USER_INTERLACE,
219 ngauss1_1, gscoo1_1, wg1_1,
220 MED_NO_INTERPOLATION, MED_NO_MESH_SUPPORT ) < 0) {
221 MESSAGE("Erreur à la création du modèle n°1 : ");SSCRUTE(gauss1_1);
222 ret = -1;
223 };
224
225 /* creation de la localisation des points de Gauss modèle n°2 */
226 if (MEDlocalizationWr(fid, gauss1_2, MED_TRIA6, MED_TRIA6/100, refcoo1, USER_INTERLACE,
227 ngauss1_2, gscoo1_2, wg1_2,
228 MED_NO_INTERPOLATION, MED_NO_MESH_SUPPORT) < 0) {
229 MESSAGE("Erreur à la création du modèle n°1 : ");SSCRUTE(gauss1_2);
230 ret = -1;
231 };
232
233 /* ecriture du champ n°1*/
234 /* enregistre uniquement les composantes n°2 de valr1_1, et n'utilise ni pas de temps ni n° d'ordre*/
235
236 if ( MEDfieldValueWithProfileWr(fid, nomcha1,MED_NO_DT,MED_NO_IT,0.0,MED_CELL,MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
237 gauss1_1,USER_INTERLACE, 2, _nent1_1, (unsigned char*)valr1_1 ) < 0) {
238 MESSAGE("Erreur à l'écriture du champ : ");
239 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
240 SSCRUTE(maa1);
241 ret = -1;
242 };
243
244
245
246 /* enregistre uniquement les composantes n°1 de valr1_1, et n'utilise ni pas de temps ni n° d'ordre */
247
248 if ( MEDfieldValueWithProfileWr(fid, nomcha1,MED_NO_DT,MED_NO_IT,0.0,MED_CELL,MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
249 gauss1_1,USER_INTERLACE, 1, _nent1_1, (unsigned char*)valr1_1 ) < 0) {
250 MESSAGE("Erreur à l'écriture du champ : ");
251 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
252 SSCRUTE(maa1);
253 ret = -1;
254 };
255
256 /* enregistre uniquement les composantes n°1 de valr1_2, au pas de temps n°1(5.5), n'utilise pas de n°d'ordre*/
257 /* ce champ repose sur le maillage maa2 qui est distant */
258
259 if ( MEDfieldValueWithProfileWr(fid, nomcha1,1,MED_NO_IT,5.5,MED_CELL,MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
260 gauss1_2,USER_INTERLACE, 1, _nent1_2, (unsigned char*)valr1_2 ) < 0) {
261 MESSAGE("Erreur à l'écriture du champ : ");
262 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
263 SSCRUTE(maa1);
264 ret = -1;
265 };
266
267 /*Ce test utilise un deuxième maillage pour un même champ, ceci n'existe plus en 3.0*/
268 /* enregistre uniquement les composantes n°2 de valr1_2, au pas de temps n°1(5.5), n'utilise pas de n°d'ordre*/
269 /* ce champ repose sur le maillage maa1 qui est local */
270
271 /*Ce test utilise un deuxième maillage pour un même champ, ceci n'existe plus en 3.0*/
272 if ( MEDfieldValueWithProfileWr(fid, nomcha1,1,1,5.5,MED_CELL,MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
273 gauss1_1,USER_INTERLACE, 2, _nent1_1, (unsigned char*)valr1_1 ) < 0) {
274 MESSAGE("Erreur à l'écriture du champ : ");
275 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
276 SSCRUTE(maa1);
277 ret = -1;
278 };
279
280
281 /* enregistre uniquement les composantes n°1 de valr1_1, au pas de temps n°1(5.5), et n°d'itération n°2*/
282 /* ce champ repose sur le maillage maa3 qui est local */
283
284 if ( MEDfieldValueWithProfileWr(fid, nomcha1,1,2,5.5,MED_CELL,MED_TRIA6,USER_MODE,MED_ALLENTITIES_PROFILE,
285 gauss1_2,USER_INTERLACE, 1, _nent1_2, (unsigned char*)valr1_2 ) < 0) {
286 MESSAGE("Erreur à l'écriture du champ : ");
287 SSCRUTE(nomcha1);SSCRUTE(MED_NO_PROFILE);
288 SSCRUTE(maa1);
289 ret = -1;
290 };
291
292 /* Creation d'un profil (selection du deuxieme élément de valr1_1) */
293 /* On n'utilise que la première valeur (2) du profil */
294 if ( MEDprofileWr(fid,nomprofil1,1,profil1) < 0) {
295 MESSAGE("Erreur à l'écriture du profil : ");
296 SSCRUTE(nomprofil1);
297 ret = -1;
298 };
299
300
301 if ( MEDprofileWr(fid,nomprofil1b,1,profil1) < 0) {
302 MESSAGE("Erreur à l'écriture du profil : ");
303 SSCRUTE(nomprofil1b);
304 ret = -1;
305 };
306
307
308
309
310 /* enregistre toutes les composantes du deuxième élément de valr1_1 (premier élément en stockage compact de valr1p),
311 au pas de temps n°2(5.6), et n°d'itération n°2*/
312 if ( MEDfieldValueWithProfileWr(fid, nomcha1,2,2,5.6,MED_CELL,MED_TRIA6,USER_MODE,nomprofil1,
313 MED_NO_LOCALIZATION,USER_INTERLACE, MED_ALL_CONSTITUENT, nval1_3, (unsigned char*)valr1_3p ) < 0) {
314 MESSAGE("Erreur à l'écriture du champ : ");
315 SSCRUTE(nomcha1);SSCRUTE(MED_NO_PROFILE);
316 SSCRUTE(maa1);
317 ret = -1;
318 };
319
320
321 /* enregistre toutes les composantes du deuxième élément de valr1_1 (premier élément en stockage compact de valr1p),
322 au pas de temps n°2(5.6), et n°d'itération n°2 */
323
324 if ( MEDfieldValueWithProfileWr(fid, nomcha1,2,2,5.6,MED_CELL,MED_TRIA6,USER_MODE,nomprofil1b,
325 gauss1_2,USER_INTERLACE, MED_ALL_CONSTITUENT, _nent1_2, (unsigned char*)valr1_2p ) < 0) {
326 MESSAGE("Erreur à l'écriture du champ : ");
327 SSCRUTE(nomcha1);SSCRUTE(MED_NO_PROFILE);
328 SSCRUTE(maa1);
329 ret = -1;
330 };
331
332
333 if ( MEDfieldValueWithProfileWr(fid, nomcha1,3,2,5.7,MED_CELL,MED_TRIA6,USER_MODE,nomprofil1,
334 MED_NO_LOCALIZATION,USER_INTERLACE, 2, _nent1_3, (unsigned char*)valr1_3p ) < 0) {
335 MESSAGE("Erreur à l'écriture du champ : ");
336 SSCRUTE(nomcha1);SSCRUTE(MED_NO_PROFILE);
337 SSCRUTE(maa1);
338 ret = -1;
339 };
340
341
342 /* Ecriture du champ n° 2 */
343
344
345 if ( MEDfieldValueWr(fid, nomcha2,MED_NO_DT,MED_NO_IT,0,
346 MED_DESCENDING_EDGE,MED_SEG2,
347 USER_INTERLACE, 1, nval2, (unsigned char*)valr2 ) < 0) {
348 MESSAGE("Erreur à l'écriture du champ : ");
349 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
350 SSCRUTE(maa1);
351 ret = -1;
352 };
353
354
355 if ( MEDfieldValueWr(fid, nomcha2,MED_NO_DT,MED_NO_IT,0,MED_NODE,MED_NONE,
356 USER_INTERLACE, 2, nval2, (unsigned char*)valr2 ) < 0) {
357 MESSAGE("Erreur à l'écriture du champ : ");
358 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
359 SSCRUTE(maa1);
360 ret = -1;
361 };
362
363
364 if ( MEDfieldValueWr(fid, nomcha2,MED_NO_DT,MED_NO_IT,0,MED_DESCENDING_FACE,MED_TRIA6,
365 USER_INTERLACE, 3, nval2, (unsigned char*)valr2 ) < 0) {
366 MESSAGE("Erreur à l'écriture du champ : ");
367 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
368 SSCRUTE(maa1);
369 ret = -1;
370 };
371
372 /* Creation d'un profil (selection des éléments 1,3,5 de valr2) */
373 /* On utilise les trois valeurs du profil */
374 if ( MEDprofileWr(fid,nomprofil2,3,profil2) < 0) {
375 MESSAGE("Erreur à l'écriture du profil : ");
376 SSCRUTE(nomprofil2);
377 ret = -1;
378 };
379
380
381 if ( MEDfieldValueWithProfileWr(fid, nomcha2,MED_NO_DT,MED_NO_IT,0,MED_CELL,MED_TRIA6,USER_MODE,nomprofil2,
382 MED_NO_LOCALIZATION,USER_INTERLACE, 3, nval2, (unsigned char*)valr2p ) < 0) {
383 MESSAGE("Erreur à l'écriture du champ : ");
384 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
385 SSCRUTE(maa1);
386 ret = -1;
387 };
388
389 /* creation du champ entier n°3 */
390 if ( MEDfieldCr(fid,nomcha3,ITYPECHA,ncomp3,comp3,unit3,dtunit,maa1) < 0) {
391 MESSAGE("Erreur à la création du champ : ");SSCRUTE(nomcha3);
392 ret = -1;
393 };
394
395 /* Ecriture du champ n° 3 */
396
397 if ( MEDfieldValueWr(fid, nomcha3,MED_NO_DT,MED_NO_IT,0,MED_CELL,MED_QUAD4,
398 USER_INTERLACE, 1, nval3, (unsigned char*)valr3 ) < 0) {
399 MESSAGE("Erreur à l'écriture du champ : ");
400 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
401 SSCRUTE(maa1);
402 ret = -1;
403 };
404
405 if ( MEDfieldValueWr(fid, nomcha3,MED_NO_DT,MED_NO_IT,0,MED_NODE_ELEMENT,MED_QUAD4,
406 USER_INTERLACE, MED_ALL_CONSTITUENT, _nent3, (unsigned char*)valr3 ) < 0) {
407 MESSAGE("Erreur à l'écriture du champ : ");
408 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
409 SSCRUTE(maa1);
410 ret = -1;
411 };
412
413 if ( MEDfieldValueWithProfileWr(fid, nomcha3,MED_NO_DT,MED_NO_IT,0,MED_NODE_ELEMENT,MED_QUAD4,USER_MODE,nomprofil2,
414 MED_NO_LOCALIZATION,USER_INTERLACE, MED_ALL_CONSTITUENT, _nent3, (unsigned char*)valr3p ) < 0) {
415 MESSAGE("Erreur à l'écriture du champ : ");
416 SSCRUTE(nomcha1);ISCRUTE_int(MED_NO_DT);ISCRUTE_int(MED_NO_IT);SSCRUTE(MED_NO_PROFILE);
417 SSCRUTE(maa1);
418 ret = -1;
419 };
420
421
422 /* fermeture du fichier */
423 if ( MEDfileClose(fid) < 0 ) ret=-1;
424
425 return ret;
426 }
427
428
429
430
itypecha
#define itypecha
Definition: 4.1.1/test10.c:70
MED_UNSTRUCTURED_MESH
Definition: med.h:133
_p2
#define _p2
Definition: 4.1.1/test10.c:20
MED_SNAME_SIZE
#define MED_SNAME_SIZE
Definition: med.h:84
MEDfileVersionOpen
MEDC_EXPORT med_idt MEDfileVersionOpen(const char *const filename, const med_access_mode accessmode, const med_int major, const med_int minor, const med_int release)
Ouverture d'un fichier MED en indiquant la version du modèle à utiliser en cas de création d'un nouve...
Definition: MEDfileVersionOpen.c:45
ISCRUTE_int
#define ISCRUTE_int(entier)
Definition: med_utils.h:314
filename
#define filename
Definition: 4.1.1/test10.c:75
med_idt
hid_t med_idt
Definition: med.h:333
FTYPECHA
#define FTYPECHA
Definition: 4.1.1/test10.c:55
MED_SEG2
#define MED_SEG2
Definition: med.h:202
USER_INTERLACE
#define USER_INTERLACE
Definition: 4.1.1/test10.c:45
med_err
herr_t med_err
Definition: med.h:334
MED_DESCENDING_EDGE
Definition: med.h:145
MEDfieldValueWr
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...
Definition: MEDfieldValueWr.c:44
MED_NO_LOCALIZATION
#define MED_NO_LOCALIZATION
Definition: med.h:277
MED_ALLENTITIES_PROFILE
#define MED_ALLENTITIES_PROFILE
Definition: med.h:293
MESSAGE
#define MESSAGE(chaine)
Definition: med_utils.h:324
med_int
int med_int
Definition: med.h:344
MED_NO_MESH_SUPPORT
#define MED_NO_MESH_SUPPORT
Definition: med.h:275
MED_SORT_DTIT
Definition: med.h:311
MEDlocalizationWr
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...
Definition: MEDlocalizationWr.c:49
MEDfieldValueWithProfileWr
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...
Definition: MEDfieldValueWithProfileWr.c:48
ITYPECHA
#define ITYPECHA
Definition: 4.1.1/test10.c:69
_p1
#define _p1
Definition: 4.1.1/test10.c:19
med_float
double med_float
Definition: med.h:338
_b
#define _b
Definition: 4.1.1/test10.c:18
MED_NO_DT
#define MED_NO_DT
Definition: med.h:322
MED_NONE
#define MED_NONE
Definition: med.h:233
MEDfileClose
MEDC_EXPORT med_err MEDfileClose(med_idt fid)
Fermeture d'un fichier MED.
Definition: MEDfileClose.c:30
SSCRUTE
#define SSCRUTE(chaine)
Definition: med_utils.h:323
MODE_ACCES
#define MODE_ACCES
Definition: 4.1.1/test10.c:34
MEDmeshCr
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.
Definition: MEDmeshCr.c:45
MED_CELL
Definition: med.h:145
MED_NAME_SIZE
#define MED_NAME_SIZE
Definition: med.h:83
ftypecha
#define ftypecha
Definition: 4.1.1/test10.c:56
MED_NODE_ELEMENT
Definition: med.h:146
MED_ALL_CONSTITUENT
#define MED_ALL_CONSTITUENT
Definition: med.h:301
MED_CARTESIAN
Definition: med.h:260
med_utils.h
MED_NODE
Definition: med.h:145
MED_NO_PROFILE
#define MED_NO_PROFILE
Definition: med.h:283
MEDfieldCr
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.
Definition: MEDfieldCr.c:44
med.h
MED_NO_IT
#define MED_NO_IT
Definition: med.h:323
MEDprofileWr
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.
Definition: MEDprofileWr.c:40
_a
#define _a
Definition: 4.1.1/test10.c:17
MED_NO_INTERPOLATION
#define MED_NO_INTERPOLATION
Definition: med.h:279
main
int main(int argc, char **argv)
Definition: 4.1.1/test10.c:77
MED_QUAD4
#define MED_QUAD4
Definition: med.h:206
MED_TRIA6
#define MED_TRIA6
Definition: med.h:207
MEDlinkWr
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.
Definition: MEDlinkWr.c:36
USER_MODE
#define USER_MODE
Definition: 4.1.1/test10.c:48
MED_DESCENDING_FACE
Definition: med.h:145