1 jones 1.1 subroutine me_slit_init
2
3 implicit none
4
5 include 'sieve.inc'
6
7 integer i, j
8 real*8 dxsum, dx, xcount
9 real*8 dysum, dy, ycount,inch_cm
10
11 inch_cm=2.54
12 slit_info.x = slit_info.holes(1,1).x
13 slit_info.y = slit_info.holes(1,1).y
14 slit_info.num_horz = slit_info.num_holes / slit_info.num_vert
15 dxsum = 0
16 xcount = 0
17
18 do i = 1, slit_info.num_vert
19 if (slit_info.num_horz .gt. 1) then
20 do j = 2, slit_info.num_horz
21 dx = slit_info.holes(j,i).x - slit_info.holes(j-1,i).x
22 jones 1.1 dxsum = dxsum + dx
23 xcount = xcount + 1
24 enddo
25 endif
26 enddo
27
28 if (xcount .ne. 0) then
29 slit_info.dx = dxsum / xcount
30 else
31 slit_info.dx = 1
32 endif
33
34 dysum = 0
35 ycount = 0
36
37 do i = 1, slit_info.num_horz
38 if (slit_info.num_vert .gt. 1) then
39 do j = 2, slit_info.num_vert
40 dy = slit_info.holes(i,j).y - slit_info.holes(i,j-1).y
41 dysum = dysum + dy
42 ycount = ycount + 1
43 jones 1.1 enddo
44 endif
45 enddo
46
47 if (ycount .ne. 0) then
48 slit_info.dy = dysum / ycount
49 else
50 slit_info.dy = 1
51 endif
52
53 write (*,*) ' Total number of holes ', slit_info.num_holes
54 write (*,*) ' Number of vertical holes ', slit_info.num_vert
55 write (*,*) ' Number of horizontal holes ', slit_info.num_horz
56 write (*,*) ' average spacing between horizontal holes ',
57 > slit_info.dx
58 write (*,*) ' average spacing between vertical holes ',
59 > slit_info.dy
60 write (*,*) ' hole 1,1 location ', slit_info.x, slit_info.y
61
62 end
|