File: /nfs/home/0/users/jenkins/mfix.git/model/thermochemical/get_values.f
1
2
3 subroutine get_values_tester
4 implicit none
5
6 integer :: i
7 double precision :: value1 , value2 , value3
8 character(len=81) :: line
9
10 open (unit=10,file='BURCAT.THR',status='old')
11 do i = 1,9765
12 read (10,'(a80)') line
13 end do
14
15 write (*,'(1x,a80)') line
16
17 call get_values(line,value1,value2,value3)
18
19 write (*,*) value1
20 write (*,*) value2
21 write (*,*) value3
22
23 stop
24 end subroutine get_values_tester
25
26
27 subroutine get_values(line,value1,value2,value3)
28
29 implicit none
30
31 character(*) :: line
32 character(len=80) :: tokens(80)
33 logical :: bSpace
34 integer :: nTokens , start , i
35 double precision :: value1 , value2 , value3
36
37 bSpace = .false.
38 nTokens = 0
39 start = 1
40
41 do i = 1,len(line)
42 if (line(i:i).eq.char(9) .or. line(i:i).eq.char(32)) then
43 if (.not.bSpace) then
44 bSpace = .true.
45 nTokens = nTokens + 1
46 tokens(nTokens) = line(start:i-1)
47 end if
48 else
49 if (bSpace) start = i
50 bSpace = .false.
51 end if
52 end do
53
54 if (start .ne. len(line)) nTokens = nTokens - 1
55
56 if (nTokens .ge. 4) then
57 read (tokens(nTokens ),'(f16.8)') value3
58 read (tokens(nTokens-1),'(f16.8)',err=111) value2
59 read (tokens(nTokens-2),'(f16.8)') value1
60 return
61 111 continue
62 read (tokens(nTokens-3),'(f16.8)') value1
63 read (tokens(nTokens-2),'(f16.8)') value2
64 end if
65
66
67 return
68 end
69