1 function fuel_frac=fuel_test
\r
2 for i=1:4,figure(i),end
\r
3 %input('Posdslkjflkjdfition figure windows and press Enter >');
\r
5 [c1,c2]=ndgrid([0,fd(1)],[0,fd(2)]); % corners of the mesh cell
\r
11 lfn0=[-1 -1; 1 1] % to debug fortran
\r
13 %lfn0= [0.4192792 -1.9766893E-02; 6.310914 5.983462 ]
\r
14 fuel_time= 8.235294 ;
\r
18 tign = [1.000000 1.000000 ;
\r
20 f1=fuel_burnt(lfn0,tign,tnow,fd,fuel_time)
\r
21 display('fuel_burnt result')
\r
22 f2=fuel_burnt_fd(lfn0,tign,tnow,fd,fuel_time)
\r
23 display('fuel_burnt_fd result')
\r
24 fq=fuel_burnt_quad(lfn0,tign,tnow,fd,fuel_time,n)
\r
25 display('fuel_burnt_quad result')
\r
27 display('fuel_burnt error')
\r
29 display('fuel_burnt error')
\r
36 lfn0=[-2 -2; -1 -1] % to debug fortran
\r
38 %lfn0= [0.4192792 -1.9766893E-02; 6.310914 5.983462 ]
\r
39 fuel_time= 8.235294 ;
\r
43 tign = [1.000000 1.000000 ;
\r
45 f1=fuel_burnt(lfn0,tign,tnow,fd,fuel_time)
\r
46 display('fuel_burnt result')
\r
47 f2=fuel_burnt_fd(lfn0,tign,tnow,fd,fuel_time)
\r
48 display('fuel_burnt_fd result')
\r
49 fq=fuel_burnt_quad(lfn0,tign,tnow,fd,fuel_time,n)
\r
50 display('fuel_burnt_quad result')
\r
52 display('fuel_burnt error')
\r
54 display('fuel_burnt error')
\r
59 lfn0=[-2 -2; -4 -4] % to debug fortran
\r
61 %lfn0= [0.4192792 -1.9766893E-02; 6.310914 5.983462 ]
\r
62 fuel_time= 8.235294 ;
\r
66 tign = [6.000000 6.000000 ;
\r
68 f1=fuel_burnt(lfn0,tign,tnow,fd,fuel_time)
\r
69 display('fuel_burnt result')
\r
70 f2=fuel_burnt_fd(lfn0,tign,tnow,fd,fuel_time)
\r
71 display('fuel_burnt_fd result')
\r
72 fq=fuel_burnt_quad(lfn0,tign,tnow,fd,fuel_time,n)
\r
73 display('fuel_burnt_quad result')
\r
75 display('fuel_burnt error')
\r
77 display('fuel_burnt error')
\r
82 lfn0=[-3 -1; -1 1] % to debug fortran
\r
84 %lfn0= [0.4192792 -1.9766893E-02; 6.310914 5.983462 ]
\r
85 fuel_time= 8.235294 ;
\r
89 tign = [4.000000 8.000000 ;
\r
90 8.000000 10.000000 ]
\r
91 f1=fuel_burnt(lfn0,tign,tnow,fd,fuel_time)
\r
92 display('fuel_burnt result')
\r
93 f2=fuel_burnt_fd(lfn0,tign,tnow,fd,fuel_time)
\r
94 display('fuel_burnt_fd result')
\r
95 fq=fuel_burnt_quad(lfn0,tign,tnow,fd,fuel_time,n)
\r
96 display('fuel_burnt_quad result')
\r
98 display('fuel_burnt error')
\r
100 display('fuel_burnt error')
\r
102 lfn0=[-1 1; 1 3] % to debug fortran
\r
104 %lfn0= [0.4192792 -1.9766893E-02; 6.310914 5.983462 ]
\r
105 fuel_time= 8.235294 ;
\r
109 tign = [1.000000 2.000000 ;
\r
110 2.000000 2.000000 ]
\r
111 f1=fuel_burnt(lfn0,tign,tnow,fd,fuel_time)
\r
112 display('fuel_burnt result')
\r
113 f2=fuel_burnt_fd(lfn0,tign,tnow,fd,fuel_time)
\r
114 display('fuel_burnt_fd result')
\r
115 fq=fuel_burnt_quad(lfn0,tign,tnow,fd,fuel_time,n)
\r
116 display('fuel_burnt_quad result')
\r
118 display('fuel_burnt error')
\r
120 display('fuel_burnt error')
\r
142 function fuel_frac=fuel_burnt_quad(lfn,tign,tnow,fd,fuel_time,n)
\r
143 % compute the same numerically for comparison
\r
144 % if fireline passes through the cell then
\r
145 % lfn and tign must be linear
\r
146 %otherwise the result will differ
\r
147 % evaluate by quadrature on n by n points
\r
150 [q1,q2]=meshgrid(fd(1)*g,fd(2)*g); % quad nodes
\r
151 [c1,c2]=meshgrid([0,fd(1)],[0,fd(2)]); % corners of the mesh cell
\r
152 % T and L on quad nodes
\r
153 T = interp2(c1,c2,tign,q1,q2)-tnow;
\r
154 L = interp2(c1,c2,lfn,q1,q2);
\r
156 f = (1 - exp((L<0).*T./fuel_time)).*(L<0);
\r
158 fuel_frac = sum(f(:))/(n*n);
\r