|
EIDORS: Electrical Impedance Tomography and Diffuse Optical Tomography Reconstruction Software |
|
EIDORS
(mirror) Main Documentation Tutorials − Image Reconst − Data Structures − Applications − FEM Modelling − GREIT − Old tutorials − Workshop Download Contrib Data GREIT Browse Docs Browse SVN News Mailing list (archive) FAQ Developer
|
FEM accuracy vs model sizeTo roughly test relative accuracy, we start with a very fine FEM model (and assume it to be accurate).WARNING: Don't try this at home. Only the first model takes over an hour, 50 GB of memory and 8 CPUs.
h= 10/2; w = 28; % Simulate tank of 30cm hight, 28cm width
stim= mk_stim_patterns(16,1,[0,1],[0,1],{},1); % Sheffield pattern
elec_sz = [0.2,0,0.05]; % electrode radius 0.5cm; 1cm diameter.
maxsz = .15;
fmdl = ng_mk_cyl_models([2*h,w/2,maxsz],[16,h],elec_sz);
fmdl.stimulation = stim;
vr = fwd_solve(mk_image(fmdl,1)); % solve homogeneous model
vr.n_ne = [size(fmdl.nodes,1), size(fmdl.elems,1)];
We then create
coarser models, and compare the relative accuracy in EIT
data measurements between models.
maxsz = [8,4,3,2,1.5,1.3,1.2,1.1,1,.9,0.8,0.7,0.6,0.5,0.45,0.4,0.35,0.3,0.28,0.26,.25,.24,.23,.22,.21,.20,.19,.18,.17,.16]; %maxsz = [8,4,3,2,1,0.8,0.7]; for i=1:length(maxsz) fmdl = ng_mk_cyl_models([2*h,w/2,maxsz(i)],[16,h],elec_sz); fmdl.stimulation = stim; vh = fwd_solve(mk_image(fmdl,1)); vh.n_ne = [size(fmdl.nodes,1), size(fmdl.elems,1)]; vv(i) = vh; endThe relative error is calculated as the absolute of (vcourse/vfine − 1).
for i=1:length(maxsz);
dv(:,i) = vv(i).meas ./ vr.meas - 1;
disp([i, maxsz(i), 1e3*mean(abs(dv(i,:))), vv(i).n_ne/1e4]);
n_ne(i,:) = vv(i).n_ne;
end
loglog(maxsz,mean(abs(dv)),'*-');
xlabel('Maximum element size');
ylabel('Relative error');
grid
print_convert netgen_accuracy03a.png '-density 75'
loglog(n_ne(:,1),mean(abs(dv)),'*');
xlabel('Number of nodes');
ylabel('Relative error');
grid on
print_convert netgen_accuracy03b.png '-density 75'
loglog(n_ne(:,2),mean(abs(dv)),'*');
xlabel('Number of elements');
ylabel('Relative error');
grid on
print_convert netgen_accuracy03c.png '-density 75'
i maxsz 1e3*error #nodes/1e4 #elems/1e4
1.0000 8.0000 7.9558 0.9095 4.0884
2.0000 4.0000 8.5508 0.9021 4.0426
3.0000 3.0000 7.3548 0.9101 4.0775
4.0000 2.0000 4.4607 0.9339 4.1812
5.0000 1.5000 2.6622 1.0268 4.5968
6.0000 1.3000 2.5278 1.0799 4.7807
7.0000 1.2000 2.7691 1.4368 7.4770
8.0000 1.1000 2.6421 1.4898 7.7080
9.0000 1.0000 0.8140 1.5298 7.1152
10.0000 0.9000 0.8350 1.7002 7.9016
11.0000 0.8000 0.7083 2.2692 10.9423
12.0000 0.7000 0.7342 2.3332 11.0094
13.0000 0.6000 0.3399 3.2216 15.6624
14.0000 0.5000 0.3268 6.5616 34.5212
15.0000 0.4500 0.2649 7.1027 36.8755
16.0000 0.4000 0.2913 11.9885 64.1146
17.0000 0.3500 0.4348 14.5644 86.6994
18.0000 0.3000 0.1766 17.5866 94.7772
19.0000 0.2800 0.1726 18.1879 97.2358
20.0000 0.2600 0.2149 18.7605 99.0547
21.0000 0.2500 0.2162 43.2111 242.2489
22.0000 0.2400 0.2349 46.8521 262.4490
23.0000 0.2300 0.1493 46.8355 261.5192
24.0000 0.2200 0.1651 47.3970 263.6308
25.0000 0.2100 0.1707 59.8964 335.1454
26.0000 0.2000 0.1061 88.0420 494.9801
27.0000 0.1900 0.2024 90.0918 504.3220
28.0000 0.1800 0.1521 71.1429 397.4208
29.0000 0.1700 0.2003 87.7859 493.0194
30.0000 0.1600 0.1357 100.5216 566.3516
Figure: Relation between relative error and a: max element size b: number of nodes and c: number of elements. |
Last Modified: $Date: 2017-02-28 13:12:08 -0500 (Tue, 28 Feb 2017) $ by $Author: aadler $