Eidors-logo    

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
                       

 

Hosted by
SourceForge.net Logo

 

The effect of contact impedance

The contact impedance parameter fmdl.electrode(idx).z_contact controls the impedance of the material out of which the electrode is contructed. z_contact is not the impedance of the electrode cable. It also has no effect for point electrode models.

Simulation Model

Elec_width= 10; % 2 degrees - electrode width
params = [ 20,10,2]./[1000,1,100]; %d4 
ea = Elec_width/2 *(2*pi/360);
n_elec= 4;
for i=1:n_elec(1); 
  ai = (i-1)/n_elec(1) * 2*pi;
  elec_pts{i} = [sin(ai+ea),cos(ai+ea);sin(ai-ea),cos(ai-ea)];
end
fmdl= dm_2d_circ_pt_elecs( elec_pts, [], params);
subplot(221); show_fem(fmdl); axis image
print_convert contact_impedance01a.png


Figure: A 2D finite element model with four electrodes and current simulation across horizontal pairs.
fmdl.stimulation(1).stim_pattern = [0;1;0;-1];
fmdl.stimulation(1).meas_pattern = [0;1;0;-1]';
fmdl.solve =      @fwd_solve_1st_order;
fmdl.system_mat = @system_mat_1st_order;
fmdl.electrode(1).z_contact = 0.01;

img = mk_image(fmdl,1);
img.fwd_solve.get_all_meas = 1;
vh = fwd_solve(img);
imgv= rmfield(img,'elem_data');
imgv.node_data = vh.volt;
show_fem(imgv);
axis([-1.1,1.1,-0.5,0.5]);

print_convert contact_impedance02a.png


Figure: Voltage distribution from horizontally opposite stimulation

Current Near Top Electrode

imgc= img;
imgc.fwd_model.mdl_slice_mapper.npx = 128;
imgc.fwd_model.mdl_slice_mapper.npy = 200;
imgc.fwd_model.mdl_slice_mapper.level = [inf,inf,0];
hh=show_fem(imgc);
set(hh,'EdgeColor',[1,1,1]*.75);

 hold on;
q = show_current(imgc,vh.volt);
quiver(q.xp,q.yp, q.xc,q.yc,15,'b','LineWidth',1);
axis([-.2,.2,0.8,1.05]);
hold off;

title(sprintf('current near electrode:  zc = %5.3f',fmdl.electrode(1).z_contact));
print_convert contact_impedance03a.png


Figure: Current near top electrode

Current Stream Lines

ci = [5 .5 .05]; 
for i=1:3
   img.fwd_model.electrode(1).z_contact=ci(i);
   vh = fwd_solve(img);
   imgc.fwd_model.mdl_slice_mapper.xpts = linspace(-0.25,0.25,200);
   imgc.fwd_model.mdl_slice_mapper.ypts = linspace(0.8,1,100);
   q = show_current(imgc,vh.volt);
   hh=show_fem(imgc);
   set(hh,'EdgeColor',[1,1,1]*.75);
   hold on;

   sy = linspace(.98,.8 ,20); sx= 0*sy - 0.15;
   hh=streamline(q.xp,q.yp, q.xc, q.yc, sx,sy); set(hh,'Linewidth',2);
   hh=streamline(q.xp,q.yp,-q.xc,-q.yc,-sx,sy); set(hh,'Linewidth',2);

   title(sprintf('streamlines zc = %5.3f',fmdl.electrode(1).z_contact));
   hold off;
   axis([-.15,.15,0.85,1.02]);

   title(sprintf('current near electrode:  zc = %5.3f',ci(i)));
   print_convert(sprintf('contact_impedance04%c.png','a'+i-1));
end


Figure: Current near top electrode for three different z_contact values

Last Modified: $Date: 2017-02-28 13:12:08 -0500 (Tue, 28 Feb 2017) $ by $Author: aadler $