MED fichier
test11.f90
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 
18 
19 ! ******************************************************************************
20 ! * - Nom du fichier : test11.f90
21 ! *
22 ! * - Description : lecture de champs de resultats MED
23 ! *
24 ! *****************************************************************************
25 
26 program test11
27 
28  implicit none
29  include 'med.hf90'
30 
31 
32  integer*8 fid
33  integer cret,ret,lret,retmem
34  integer user_interlace,user_mode
35  character*64 :: maa,nomcha,pflname,nomlien,locname
36  character*200 desc
37  character*255 argc
38  character*16, allocatable, dimension(:) :: comp,unit
39  character*16 dtunit
40  integer mdim,ncomp,ncha,npro,nln,pflsize,nval
41  integer, allocatable, dimension(:) :: pflval
42  integer ngauss,nloc
43  integer t1,t2,t3,typcha,type,type_geo
44  real*8, allocatable, dimension(:) :: refcoo, gscoo, wg
45  character*255 lien
46  integer i,j
47  integer getfieldson
48  integer nstep, stype, atype,sdim
49  character*16 nomcoo(3)
50  character*16 unicoo(3)
51  integer lmesh, ncst
52  character*64 :: giname, isname
53  integer nsmc, sgtype
54 
55  parameter(user_interlace = med_full_interlace)
56  parameter(user_mode = med_compact_pflmode)
57 
58  cret=0;ret=0;lret=0;retmem=0
59  print *,"Indiquez le fichier med a decrire : "
60  !!read(*,'(A)') argc
61  argc="test10.med"
62 
63  ! ** ouverture du fichier **
64  call mfiope(fid,argc,med_acc_rdonly, ret)
65  if (ret .ne. 0) call efexit(-1)
66 
67  ! ** info sur le premier maillage **
68  if (ret.eq.0) then
69  call mmhmii(fid,1,maa,sdim,mdim,type,desc,dtunit,stype,nstep,atype,nomcoo,unicoo,ret)
70  endif
71  if (ret.ne.0) then
72  print *, "Erreur a la lecture des informations sur le maillage : ", &
73  & maa,mdim,type,desc
74  call efexit(-1)
75  endif
76 
77  write (*,'(/A,A,A,I1)') "Maillage de nom |",trim(maa),"| et de dimension ",mdim
78 
79  ! ** combien de champs dans le fichier **
80  call mfdnfd(fid,ncha,ret)
81  if (ret.ne.0) then
82  print *, "Impossible de lire le nombre de champs : ",ncha
83  call efexit(-1)
84  endif
85 
86  write (*,'(A,I1/)') "Nombre de champs : ",ncha
87 
88 
89  ! ** lecture de tous les champs associes a <maa> **
90  do i=1,ncha
91  lret = 0
92  write(*,'(A,I5)') "- Champ numero : ",i
93 
94  ! ** combien de composantes **
95  call mfdnfc(fid,i,ncomp,ret)
96  ! print *,ncomp,ret
97  if (ret.ne.0) then
98  print *, "Erreur a la lecture du nombre de composantes : ",ncomp
99  cret = -1
100  endif
101 
102  ! ** allocation memoire de comp et unit **
103  allocate(comp(ncomp),unit(ncomp),stat=retmem)
104  if (retmem .ne. 0) then
105  print *, "Erreur a l'allocation mémoire de comp et unit : "
106  call efexit(-1)
107  endif
108 
109  ! ** Info sur les champs
110  call mfdfdi(fid,i,nomcha,maa,lmesh,typcha,comp,unit,dtunit,ncst,ret)
111  if (ret .ne. 0) then
112  print *, "Erreur a la demande d'information sur les champs : ",nomcha,typcha,comp,unit,ncomp,ncst
113  cret = -1
114  continue
115  endif
116 
117  write(*,'(/5X,A,A)') 'Nom du champ : ', trim(nomcha)
118  write(*,'(/5X,A,A)') 'Nom du maillage : ',trim(maa)
119  write(*,'(5X,A,I5)') 'Type du champ : ', typcha
120  write(*,'(5X,A,I1)') 'Nombre de composantes = ',ncomp
121  do j=1,ncomp
122  write(*,'(5X,A,I1,A,A,A,A)') 'Composante ',j,' : ',trim(comp(j)),' ',trim(unit(j))
123  enddo
124  write(*,'(5X,A,I1)') 'Nombre de pas de temps = ',ncst
125  print *,""
126 
127  deallocate(comp,unit)
128 
129  lret = getfieldson(fid, nomcha, typcha, ncomp, med_node, user_interlace, ncst)
130  ! print *,lret
131 
132  if (lret .eq. 0) then
133  lret = getfieldson(fid, nomcha, typcha, ncomp, med_cell, user_interlace, ncst)
134  else
135  print *, "Erreur a la lecture des champs aux noeuds "; cret = -1; continue
136  endif
137 
138  if (lret .eq. 0) then
139  lret = getfieldson(fid, nomcha, typcha, ncomp, med_descending_face,user_interlace, ncst)
140  else
141  print *,"Erreur a la lecture des champs aux mailles "; cret = -1; continue
142  endif
143 
144  if (lret .eq. 0) then
145  lret = getfieldson(fid, nomcha, typcha, ncomp, med_descending_edge,user_interlace, ncst)
146  else
147  print *,"Erreur a la lecture des champs aux faces "; cret = -1; continue
148  endif
149 
150  if (lret .eq. 0) then
151  lret = getfieldson(fid, nomcha, typcha, ncomp, med_node_element,user_interlace, ncst)
152  else
153  print *,"Erreur a la lecture des champs aux aretes "; cret = -1; continue
154  endif
155 
156  if (lret .ne. 0) then
157  print *,"Erreur a la lecture des champs aux noeuds des mailles "; cret = -1
158  endif
159 
160  enddo
161 
162 
163  call mpfnpf(fid,nval,ret)
164  write (*,'(5X,A,I2)') 'Nombre de profils stockés : ', nval
165 
166  if (nval .gt. 0 ) then
167  do i=1,nval
168  call mpfpfi(fid,i,pflname,nval,ret)
169  write (*,'(5X,A,I2,A,A,A,I2)') 'Profil n ',i,' : ',pflname, ' et de taille',nval
170  enddo
171  endif
172 
173 
174  ! ** Interrogation des liens **
175  call mlnnln(fid,nln,ret)
176  if (ret.ne.0) then
177  print *,"Erreur a la lecture du nombre de liens : " &
178  & ,nln
179  cret = -1;
180  else
181  print *,""
182  write (*,'(5X,A,I5)') "Nombre de liens stockes : ",nln;print *,"";print *,""
183  do i=1,nln
184  call mlnlni(fid, i, nomlien, nval, ret)
185  if (ret.ne.0) then
186  print *,"Erreur a la demande d'information sur le lien n° : ",i
187  cret = -1;continue;
188  endif
189  write (*,'(5X,A,I4,A,A,A,I4)') "- Lien n°",i," de nom |",trim(nomlien),"| et de taille ",nval
190  !! allocate
191  lien = ""
192  call mlnlir(fid,nomlien,lien,ret)
193  if (ret.ne.0) then
194  print *,"Erreur a la lecture du lien : ", lien,nval,nomlien
195  ret = -1;
196  else
197  write (*,'(5X,A,A,A)') "|",trim(lien),"|";print *,"";print *,""
198  endif
199  !!deallocate
200  end do
201  endif
202 
203 
204  ! ** Interrogation des localisations des points de GAUSS **
205  call mlcnlc(fid,nloc,ret)
206  if (ret.ne.0) then
207  print *,"Erreur a la lecture du nombre de points de Gauss : " &
208  & ,nloc
209  cret = -1;
210  else
211  print *,"Nombre de localisations stockees : ",nloc;print *,"";print *,""
212  do i=1,nloc
213  call mlclci(fid, i, locname, type_geo, sdim, ngauss, giname, isname, nsmc, sgtype, ret)
214  if (ret.ne.0) then
215  print *,"Erreur a la demande d'information sur la localisation n° : ",i
216  cret = -1;continue;
217  endif
218  write (*,'(5X,A,I4,A,A,A,I4,A,I4)') "- Loc n°",i," de nom |",trim(locname) &
219  &,"| et nbr. de pts Gauss ",ngauss,"| et dans un espace de dimension ",sdim
220  t1 = mod(type_geo,100)*sdim
221  t2 = ngauss*sdim
222  t3 = ngauss
223  allocate(refcoo(t1),stat=retmem)
224  if (retmem .ne. 0) then
225  print *, "Erreur a l'allocation mémoire de refcoo : "
226  call efexit(-1)
227  endif;
228  allocate(gscoo(t2),stat=retmem)
229  if (retmem .ne. 0) then
230  print *, "Erreur a l'allocation mémoire de gscoo : "
231  call efexit(-1)
232  endif;
233  allocate(wg(t3),stat=retmem)
234  if (retmem .ne. 0) then
235  print *, "Erreur a l'allocation mémoire de wg : "
236  call efexit(-1)
237  endif;
238  call mlclor(fid, locname,user_interlace,refcoo,gscoo,wg, ret )
239  if (ret.ne.0) then
240  print *,"Erreur a la lecture des valeurs de la localisation : " &
241  & ,locname
242  cret = -1;
243  else
244  write (*,'(5X,A,I4)') "Coordonnees de l'element de reference de type ",type_geo
245  do j=1,t1
246  write (*,'(5X,E20.8)') refcoo(j)
247  enddo
248  print *,""
249  write (*,'(5X,A)') "Localisation des points de GAUSS : "
250  do j=1,t2
251  write (*,'(5X,E20.8)') gscoo(j)
252  enddo
253  print *,""
254  write (*,'(5X,A)') "Poids associes aux points de GAUSS "
255  do j=1,t3
256  write (*,'(5X,E20.8)') wg(j)
257  enddo
258  print *,""
259  endif
260  deallocate(refcoo)
261  deallocate(gscoo)
262  deallocate(wg)
263  enddo
264  endif
265 
266  call mficlo(fid,ret)
267  !print *,ret
268 
269  call efexit(cret)
270 
271 end program test11
272 
273 
274 integer function getfieldson(fid, nomcha, typcha, ncomp, entite, stockage, ncst)
275  implicit none
276  include 'med.hf90'
277 
278  integer*8 fid
279  integer ::typcha,ncomp,entite,stockage, ncst
280  character(LEN=*) nomcha
281 
282  integer :: j,k,l,m,n,nb_geo,cret,ret,retmem,nvl,nref
283  integer :: nbpdtnor,pflsize,ngauss,ngroup,nent,nprofile
284  integer, allocatable, dimension(:) :: pflval
285  integer, allocatable, dimension(:) :: vale
286  integer :: numdt,numo,lnsize,nbrefmaa
287  real*8, allocatable, dimension(:) :: valr
288  real*8 dt
289  logical local
290  character*64 :: pflname,locname,maa_ass
291  character*16 :: dt_unit
292  character*255:: lien
293  integer user_mode
294 
295  integer,pointer,dimension(:) :: type_geo
296  integer,target :: typ_noeud(1) = (/ med_none /)
297 
298  integer :: my_nof_cell_type = 17
299  integer :: my_nof_descending_face_type = 5
300  integer :: my_nof_descending_edge_type = 2
301 
302  integer,target :: typmai(17) = (/ med_point1,med_seg2, &
303  & med_seg3,med_tria3, &
304  & med_quad4,med_tria6, &
305  & med_quad8,med_tetra4, &
306  & med_pyra5,med_penta6, &
307  & med_hexa8,med_tetra10, &
308  & med_pyra13,med_penta15, &
309  & med_hexa20,med_polygon,&
310  & med_polyhedron/)
311 
312  integer,target :: typfac(5) = (/med_tria3,med_tria6, &
313  & med_quad4,med_quad8,med_polygon/)
314  integer,target ::typare(2) = (/med_seg2,med_seg3/)
315 
316  character(LEN=15),pointer,dimension(:) :: aff
317  character(LEN=15),target,dimension(17) :: fmed_geometrie_maille_aff = (/&
318  & "MED_POINT1 ",&
319  & "MED_SEG2 ",&
320  & "MED_SEG3 ",&
321  & "MED_TRIA3 ",&
322  & "MED_QUAD4 ",&
323  & "MED_TRIA6 ",&
324  & "MED_QUAD8 ",&
325  & "MED_TETRA4 ",&
326  & "MED_PYRA5 ",&
327  & "MED_PENTA6 ",&
328  & "MED_HEXA8 ",&
329  & "MED_TETRA10 ",&
330  & "MED_PYRA13 ",&
331  & "MED_PENTA15 ",&
332  & "MED_HEXA20 ",&
333  & "MED_POLYGON ",&
334  & "MED_POLYHEDRON " /)
335 
336  character(LEN=15),target,dimension(5) :: fmed_geometrie_face_aff = (/&
337  & "MED_TRIA3 ",&
338  & "MED_TRIA6 ",&
339  & "MED_QUAD4 ",&
340  & "MED_QUAD8 ",&
341  & "MED_POLYGON " /)
342 
343  character(LEN=15),target,dimension(2) :: fmed_geometrie_arete_aff = (/&
344  & "MED_SEG2 ",&
345  & "MED_SEG3 " /)
346 
347  character(LEN=15),target,dimension(1) :: fmed_geometrie_noeud_aff = (/ &
348  & "(AUCUN) "/)
349 
350 
351  character(LEN=20),target,dimension(0:4) :: fmed_entite_maillage_aff =(/ &
352  & "MED_CELL ", &
353  & "MED_DESCENDING_FACE ", &
354  & "MED_DESCENDING_EDGE ", &
355  & "MED_NODE ", &
356  & "MED_NODE_ELEMENT "/)
357 
358  parameter(user_mode = med_compact_stmode )
359 
360  !! write (*,'(A0)') FMED_GEOMETRIE_NOEUD_AFF(1)
361  !! write (*,'(A0)') FMED_GEOMETRIE_MAILLE_AFF(1)
362  !! write (*,'(A0)') FMED_GEOMETRIE_FACE_AFF(1)
363  !! write (*,'(A0)') FMED_GEOMETRIE_ARETE_AFF(1)
364 
365  locname=''
366  nbpdtnor=0;pflsize=0;ngauss=0;nent=0
367  numdt = 0;numo=0;retmem=0
368  cret=0;ret=0
369 
370  nullify(type_geo)
371  nullify(aff)
372 
373 
374  select case (entite)
375  case (med_node)
376  type_geo => typ_noeud
377  nb_geo = 1
378  aff => fmed_geometrie_noeud_aff
379  case (med_cell)
380  type_geo => typmai
381  nb_geo = 17
382  aff => fmed_geometrie_maille_aff
383  case (med_node_element)
384  type_geo => typmai
385  nb_geo = 17
386  aff => fmed_geometrie_maille_aff
387  case (med_descending_face)
388  type_geo => typfac;
389  nb_geo = 5
390  aff => fmed_geometrie_face_aff
391  case (med_descending_edge)
392  type_geo => typare
393  nb_geo = my_nof_descending_edge_type
394  aff => fmed_geometrie_arete_aff
395  end select
396 
397  do k=1,nb_geo
398 
399  ! ** Combien de (PDT,NOR) a lire **
400  nbpdtnor = ncst
401  if(nbpdtnor < 1 ) continue
402 
403  do j=1,ncst
404 
405  call mfdcsi(fid,nomcha,j,numdt,numo,dt,ret)
406  !print *,ret
407  if (ret.ne.0) then
408  print *, "Erreur a la demande d'information sur (pdt,nor) : " &
409  & ,nomcha,entite, numdt, numo, dt
410  cret = -1
411  end if
412 
413  call mfdnpf(fid,nomcha,numdt,numo,entite,type_geo(k),pflname,locname,nprofile,ret)
414  !print *,ret
415  if (ret.ne.0) then
416  print *, "Erreur a la lecture du nombre de profil : " &
417  & ,nomcha,entite, type_geo(k),numdt, numo
418  cret = -1
419  call efexit(cret)
420  end if
421 
422  do l=1,nprofile
423 
424  ! ** Combien de valeurs à lire ? **
425  call mfdnvp(fid,nomcha,numdt,numo,entite,type_geo(k),l,user_mode,pflname,pflsize,locname,ngauss,nent,ret)
426  !print *,ret
427  if (ret.ne.0) then
428  print *,"Erreur a la lecture du nombre de valeurs du champ : " &
429  & ,nomcha,entite,type_geo(k), &
430  & numdt, numo
431  cret = -1; continue
432  endif
433  !write(*,'(5X,A,I5,A)') 'Il y a ', nent ,' valeurs a lire '
434 
435  write(*,'(5X,A,I2,A,I2,A,I2,A,E10.5,A)') 'Étape de calcul n° ',l,' (',numdt,',',numo,'), dt=(',dt,')'
436  write(*,'(5X,A,I5,A,I2,A,A,A,A,A,A,I2,A,A)') &
437  & 'Il y a ',nent,' valeurs en mode ',user_mode, &
438  & '. Chaque entite ',trim(fmed_entite_maillage_aff(entite)), &
439  & ' de type geometrique ',trim(aff(k)),' associes au profil |',&
440  & trim(pflname)//'| a ',ngauss,' valeur(s) par entité, et une localization de nom |',trim(locname)//'|'
441 
442  ! **Lecture des valeurs du champ **
443  if (typcha .eq. med_float64) then
444  allocate(valr(ncomp*nent*ngauss),stat=retmem)
445 
446  call mfdrpr(fid,nomcha,numdt,numo,entite,type_geo(k),user_mode, &
447  & pflname,stockage,med_all_constituent,valr,ret)
448  !print *,ret
449  if (ret.ne.0) then
450  print *,"Erreur a la lecture des valeurs du champ : ", &
451  & nomcha,valr,stockage,med_all_constituent, &
452  & pflname,user_mode,entite,type_geo(k),numdt,numo
453  cret = -1;
454  call efexit(cret)
455  endif
456  else
457  allocate(vale(ncomp*nent*ngauss),stat=retmem)
458 
459  call mfdipr(fid,nomcha,numdt,numo,entite,type_geo(k),user_mode, &
460  & pflname,stockage,med_all_constituent,vale,ret)
461  !print *,ret
462  if (ret.ne.0) then
463  print *,"Erreur a la lecture des valeurs du champ : ",&
464  & nomcha,vale,stockage,med_all_constituent, &
465  & pflname,user_mode,entite,type_geo(k),numdt,numo
466  cret = -1;
467  endif
468 
469  endif
470 
471  if (ngauss .gt. 1 ) then
472  write (*,'(5X,A,A,A)') "- Modèle de localisation des ", &
473  & "points de Gauss de nom ", trim(locname)
474  end if
475 
476  if ( entite .eq. med_node_element ) then
477  ngroup = mod(type_geo(k),100)
478  else
479  ngroup = ngauss
480  end if
481 
482  select case (stockage)
483  case (med_full_interlace)
484  write(*,'(5X,A)') "- Valeurs :"; write(*,'(5X,A)') ""
485  do m=0,nent-1
486  write(*,*) "|"
487  do n=0,(ngroup*ncomp-1)
488  if (typcha .eq. med_float64) then
489  write (*,'(1X,E20.5,1X)') valr( m*ngroup*ncomp+n +1 )
490  else
491  write (*,'(1X,I8,1X)') vale( m*ngroup*ncomp+n +1 )
492  end if
493  enddo
494  enddo
495  case (med_no_interlace)
496  write(*,'(5X,A)') "- Valeurs :"; write(*,'(5X,A)') ""
497  do m=0,ncomp-1
498  write(*,*) "|"
499  do n=0,nent-1
500  if (typcha .eq. med_float64) then
501  write (*,'(1X,E20.5,1X)') valr(m*nent+n +1)
502  else
503  write (*,'(1X,I8,1X)') vale(m*nent+n +1)
504  endif
505  enddo
506  enddo
507  end select
508 
509  write(*,*) "|"
510  if (typcha .eq. med_float64) then
511  deallocate(valr)
512  else
513  deallocate(vale)
514  endif
515 
516  !* Profils
517  if (pflname .eq. med_no_profile) then
518  !write(*,'(5X,A)') 'Pas de profil'
519  else
520  write(*,'(5X,A,A)') 'Profil :',pflname
521  call mpfpsn(fid,pflname,pflsize,ret)
522  if (ret .ne. 0) then
523  print *,"Erreur a la lecture du nombre de valeurs du profil : ", &
524  & pflname,pflsize
525  cret = -1;continue
526  endif
527  write(*,'(5X,A,I5)') 'Taille du profil : ',pflsize
528 
529  ! ** allocation memoire de pflval **
530  allocate(pflval(pflsize),stat=retmem)
531  if (retmem .ne. 0) then
532  print *, "Erreur a l'allocation mémoire de pflsize : "
533  call efexit(-1)
534  endif
535 
536  call mpfprr(fid,pflname,pflval,ret)
537  if (cret .ne. 0) write(*,'(I1)') cret
538  if (ret .ne. 0) then
539  print *,"Erreur a la lecture du profil : ", &
540  & pflname,pflval
541  cret = -1;continue
542  endif
543  write(*,'(5X,A)') 'Valeurs du profil : '
544  do m=1,pflsize
545  write (*,'(5X,I6)') pflval(m)
546  enddo
547 
548  deallocate(pflval)
549 
550  endif
551 
552  enddo
553 
554  enddo
555 
556  enddo
557 
558  print *,""
559  getfieldson=ret
560 
561 end function getfieldson
mfdnvp
subroutine mfdnvp(fid, fname, numdt, numit, etype, gtype, pit, stm, pname, psize, lname, nip, n, cret)
Cette fonction permet de lire le nombre de valeurs à lire dans un champ pour une étape de calcul,...
Definition: medfield.f:406
mlnnln
subroutine mlnnln(fid, n, cret)
Cette routine permet la lecture du nombre de lien dans un fichier MED.
Definition: medlink.f:38
mlclor
subroutine mlclor(fid, lname, swm, ecoo, ipcoo, wght, cret)
Cette routine permet la lecture d'une localisation localizationname de points d'intégration dans/auto...
Definition: medlocalization.f:106
getfieldson
integer function getfieldson(fid, nomcha, typcha, ncomp, entite, stockage, ncst)
Definition: test11.f90:275
mmhmii
subroutine mmhmii(fid, it, name, sdim, mdim, mtype, desc, dtunit, stype, nstep, atype, aname, aunit, cret)
Cette routine permet de lire les informations relatives à un maillage dans un fichier.
Definition: medmesh.f:110
mpfpfi
subroutine mpfpfi(fid, it, pname, psize, cret)
Cette routine permet de lire les informations sur un profil dans un fichier MED.
Definition: medprofile.f:61
mlnlni
subroutine mlnlni(fid, it, mname, lsize, cret)
Cette routine permet de lire les informations sur un lien dans un fichier MED.
Definition: medlink.f:60
mfdnpf
subroutine mfdnpf(fid, fname, numdt, numit, etype, gtype, dpname, dlname, n, cret)
Cette fonction permet de lire le nombre de profils référencés dans un champ pour une étape de calcul,...
Definition: medfield.f:354
mfdipr
subroutine mfdipr(fid, fname, numdt, numit, etype, gtype, stm, pname, swm, cs, val, cret)
Cette fonction permet de lire les valeurs d'un champ définies sur des entités d'un maillage pour une ...
Definition: medfield.f:528
mpfnpf
subroutine mpfnpf(fid, n, cret)
Cette routine permet de lire le nombre de profils dans un fichier MED.
Definition: medprofile.f:39
test11
program test11
Definition: test11.f90:26
mfdfdi
subroutine mfdfdi(fid, it, fname, mname, lmesh, type, cname, cunit, dtunit, nc, cret)
Cette fonction permet de lire les informations concernant le champ d'indice ind .
Definition: medfield.f:248
mlnlir
subroutine mlnlir(fid, mname, lname, cret)
Cette routine permet de lire un lien dans un fichier MED.
Definition: medlink.f:102
mficlo
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
Definition: medfile.f:82
mfdnfd
subroutine mfdnfd(fid, n, cret)
Cette fonction permet de lire le nombre de champs dans un fichier.
Definition: medfield.f:180
mfdnfc
subroutine mfdnfc(fid, ind, n, cret)
Cette fonction lit le nombre de composantes d'un champ.
Definition: medfield.f:202
mpfprr
subroutine mpfprr(fid, pname, profil, cret)
Cette routine permet de lire un profil dans un fichier MED.
Definition: medprofile.f:97
mfdcsi
subroutine mfdcsi(fid, fname, it, numdt, numit, dt, cret)
Cette fonction permet de lire les informations caractérisant une étape de calcul : numéro de pas de t...
Definition: medfield.f:290
mpfpsn
subroutine mpfpsn(fid, pname, psize, cret)
Cette routine permet de lire la taille d'un profil dont on connait le nom.
Definition: medprofile.f:79
mlcnlc
subroutine mlcnlc(fid, n, cret)
Cette routine permet de lire le nombre de localisations de points d'intégration contenues dans un fic...
Definition: medlocalization.f:41
mfdrpr
subroutine mfdrpr(fid, fname, numdt, numit, etype, gtype, stm, pname, swm, cs, val, cret)
Cette fonction permet de lire les valeurs d'un champ définies sur des entités d'un maillage pour une ...
Definition: medfield.f:505
mlclci
subroutine mlclci(fid, it, lname, gtype, sdim, nip, giname, isname, nsmc, sgtype, cret)
Cette routine permet d'obtenir la description de la localisation de points d'intégration n° localizat...
Definition: medlocalization.f:64
med_float64
double med_float64
Definition: med.h:339
mfiope
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
Definition: medfile.f:42