clear; close all; percentc60 = 50;%Percentage viable hopping sites in the mixed layer ebarrier = 100;%Energy barrier to entry of the mixed layer from the neat fullerene layer in meV kt = 26;%RT thermal energy in meV d=100;%Lattice diemsions in number of lattice sites (assumed 1 nm per site) l=200; w=7; randomblend = rand(d,l,w); %gerate a random matrix with dimension representing depth length width, respectively randomblend(randomblend1 && randomblend(charges(j,1)-1,charges(j,2),charges(j,3))~=0 charges(j,1) = charges(j,1)-1; end elseif stepdir < 3 if charges(j,2)==l-1 collected(j)=1; totalcollected = totalcollected + 1; elseif randomblend(charges(j,1),charges(j,2)+1,charges(j,3))~=0 charges(j,2) = charges(j,2)+1; end elseif stepdir < 4 if charges(j,2)>1 && randomblend(charges(j,1),charges(j,2)-1,charges(j,3))~=0 charges(j,2) = charges(j,2)-1; end elseif stepdir < 5 if charges(j,3) < w && randomblend(charges(j,1),charges(j,2),charges(j,3)+1)~=0 charges(j,3) = charges(j,3)+1; elseif charges(j,3) == w && randomblend(charges(j,1),charges(j,2),1)~=0 charges(j,3)=1; end elseif stepdir < 6 if charges(j,3) > 1 && randomblend(charges(j,1),charges(j,2),charges(j,3)-1)~=0 charges(j,3) = charges(j,3)-1; elseif charges(j,3) == 1 && randomblend(charges(j,1),charges(j,2),w)~=0 charges(j,3)=w; end end end end if mod(step,skip)==0 %periodically plot to visualize charge distribution figure(1) plot3(charges(:,1),charges(:,2),charges(:,3),'*') axis([1 d 1 l 1 w]) title(['Collection Efficiency = ' num2str((totalcollected-totalquenched)/totalcollected) ', P_{up} = ' num2str(ebarrier) ', ' num2str(percentc60) '% C60, % Finished = ' num2str(totalcollected/(N/2))]) view(2) drawnow end step = step + 1; numinneatlayer(step)=sum(charges(:,1)<11); end efficiency = (totalcollected-sum(quenched))/totalcollected %calculate efficiency of charge collection