SPEED
READ_FILE_MPGM.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine read_file_mpgm (filec, nmonitors_pgm, n_monitor_pgm, el_monitor_pgm, xr_monitor_pgm, yr_monitor_pgm, zr_monitor_pgm)
 Reads files such as MLST.input, MLST.position or MPGM.input.
 

Function/Subroutine Documentation

◆ read_file_mpgm()

subroutine read_file_mpgm ( character*70  filec,
integer*4  nmonitors_pgm,
integer*4, dimension(nmonitors_pgm)  n_monitor_pgm,
integer*4, dimension(nmonitors_pgm)  el_monitor_pgm,
real*8, dimension(nmonitors_pgm)  xr_monitor_pgm,
real*8, dimension(nmonitors_pgm)  yr_monitor_pgm,
real*8, dimension(nmonitors_pgm)  zr_monitor_pgm 
)

Reads files such as MLST.input, MLST.position or MPGM.input.

Author
Ilario Mazzieri
Date
September, 2013
Version
1.0
Parameters
[in]filecfile name to read
[in]nmonitors_pgmnumber of monitors
[out]n_monitor_pgmid monitor number (id spectral node)
[out]el_monitor_pgmid monitor element (id grid element)
[out]xr_monitor_pgmx-coordinate for monitor
[out]yr_monitor_pgmy-coordinate for monitor
[out]zr_monitor_pgmz-coordinate for monitor

Definition at line 31 of file READ_FILE_MPGM.f90.

38
39 implicit none
40
41 character*70 :: filec
42 character*100000 :: input_line
43
44 integer*4 :: nmonitors_pgm
45 integer*4 :: i
46 integer*4 :: trash
47 integer*4 :: ileft,iright
48 integer*4 :: status
49
50 integer*4,dimension(nmonitors_pgm) :: n_monitor_pgm
51 integer*4,dimension(nmonitors_pgm) :: el_monitor_pgm
52
53 real*8,dimension(nmonitors_pgm) :: xr_monitor_pgm
54 real*8,dimension(nmonitors_pgm) :: yr_monitor_pgm
55 real*8,dimension(nmonitors_pgm) :: zr_monitor_pgm
56
57
58 open(20,file=filec)
59 read(20,'(A)',iostat = status) input_line
60 ileft = 1
61 iright = len(input_line)
62 read(input_line(ileft:iright),*)nmonitors_pgm
63
64 do i = 1,nmonitors_pgm
65 read(20,'(A)',iostat = status) input_line
66 if (status.ne.0) exit
67
68 ileft = 1
69 iright = len(input_line)
70 read(input_line(ileft:iright),*)trash,n_monitor_pgm(i),el_monitor_pgm(i),&
71 xr_monitor_pgm(i),yr_monitor_pgm(i),zr_monitor_pgm(i)
72
73 enddo
74
75 close(20)
76
77 return
78

Referenced by find_monitor_position().

Here is the caller graph for this function: