Sunteți pe pagina 1din 10

Hopping Conduction in Semiconductors and Percolation

Abstract relevant thus we shall first talk about that


and then continue with our discussion.
At low temperatures, the conduction
mechanism in semiconductors is hopping When a semiconductor is doped, there are
conduction where carriers hop from multiple impurities added to it. Thus, there
occupied donors to empty ones without will some impurities which act as donors
any excursion in conduction band. The while others which act as acceptors. Thus,
conductivity due to this mechanism is it is obvious they will have opposite
equivalent to finding the conductivity of a effects thus might cancel each other out.
random resistor network between donor This is called compensation. A low degree
pairs. Thus, the project aims to find of compensation would mean that one of
conductivity of random resistor network the concentrations (either acceptor or
similar to hopping conductivity through donor) is much greater than the other.
the application of percolation theory. We
Now that we understand compensation we
find resistances for different constraints
go back to our discussion. As temperature
and thus find trends.
decreases further, the impurity electrons
Keywords start freezing out (in n-type
semiconductors). Thus, the number of free
Percolation, Semiconductors, Hopping electrons starts to decreases due to them
Conduction. being recaptured by the impurity donor. If
we assume compensation to not be two
1. Introduction low then concentration of charge carriers
At high temperatures, semiconductors depends on number of empty donor
posses what is called intrinsic conductivity positions due to compensation.
due to thermal excitation of carriers The gradual freezing out of electrons as
through band gap. The Intrinsic carrier temperature goes on decreasing eventually
concentrations n of electrons and p of leads to a situation where electrical
holes is an exponential function of conductivity of the semiconductor comes
Temperature. The relation is given by: from electrons hopping directly between
𝑛=𝑝 impurities without going in the conduction
3 band. This is called hopping conduction.
(2𝜋√𝑚𝑒 𝑚ℎ 𝑘𝑇) ⁄2
= exp(−𝐸𝑔 ⁄2𝑘𝑇) Electrons jump from occupied donors to
4𝜋 3 ħ3 empty ones. Thus, the presence of empty
Here me and mh are masses of electrons positions on donors is a necessary
and holes and Eg is the width of the condition. At low temperatures, this
Forbidden gap. condition can be fulfilled only by
compensation.
Thus, it is obvious that as temperature
decreases, concentration of intrinsic The figure below gives semilog plot of
carriers decreases rapidly. At sufficiently Resistivity vs Temperature inverse.
low temperatures, it becomes less than the
concentration of impurities. In this region,
the conduction solely depends on nature
and concentration of impurities and thus is
called extrinsic conduction.
For further decrease in temperature,
another form of impurity addition becomes
2. Results
The following section has been divided
into three parts. First, we explain our
method to find the resistance of a random
resistor network. Second, is where we
show the algorithm while the last part
shows our results. The actual JAVA
program can be found in the Appendix.
2.1 Methods Used
Since we saw that the resistance between
two donors depends on temperature,
Here the transition to hopping conductivity certain transitions will be highly unlikely
happens at point D. For Germanium, with for a certain temperature, due to the lack of
a concentration of shallow donors energy. We also know that the variable b
ND≈1015 cm-3, the transition to hopping lies between (0,1). Thus, we try and
conductivity happens at T≈ 7K. simulate this simpler problem to help find
a relation.
Random Resistor Network
We randomly generated values of b and
A theory of hopping conduction was thus gave each transition a resistance
needed soon after it was found and the value. We then chose a value of b over
answer came from Miller and Abrahams. which all resistances would be infinite
They suggested that starting with an while below it would remain the same.
electron wavefunctions localised on Thus, we found probability of complete
individual donors, calculate the probability circuit for different values of b.
that an electron transition will occur
between donors i and j with the emission We also found the average resistance value
or absorption of a phonon. Then calculate of the whole system of resistors for values
the number of i→j transitions happen in of b where the circuit is complete.
unit time. In the absence of electric field
equal number of transitions happen
forward and backward thus essentially no 2.2 Algorithm
transitions occur. In a weak electric field,
1. Input a number L which defines a
forward transitions will be slightly more,
LxL grid.
thus giving rise to a current. Evaluating
2. Create a 2D array (say perco) with
this current will give us Rij, the resistance
dimensions of L2xL2. This will
of the transition and thus the whole
store resistance between each cell
problem boils down to calculating
of the LxL grid. Thus position (1,5)
resistivity of equivalent random resistor
in L2xL2 grid determines resistance
network.
between cell 1 and cell 5 in the
From calculations, Rij takes the form of: LxL grid.
3. Generate random number b and
𝑅𝑖𝑗 = 𝑎𝑒 𝑏 give every position in perco value
Where b depends on temperature and of eb.
distance between two donors. 4. Go through every position in perco
and put all diagonal elements as
100. This is a way of marking them
as infinite resistance moves. Also,
make sure that all elements agree
with the following relation. 2.3 Results
Perco(i,j)=Perco(j,i).
5. Take a value of b and put all values In figure 2, One can see that the
of perco while have value greater probability curve seems to get closer to a
than eb as 100. Again, this step curve as we increase the grid size.
represents an infinite resistance Due to computational limits, the grid size
transition. could not have been increased from 9x9 as
6. Create an array (say possibilities) the calculation time increased
with dimensions as L2x3. Each row
exponentially.
in this array will have the possible
transitions. Thus 1st row of the In figure 3, one can see the Resistance vs b
array will hold all the possible curves for different grid sizes. This was
transitions (transitions which are done keeping the resistance of system at 0
not 100) in ascending order of their probability as 100 while taking average of
resistance. If a cell is empty then
min resistances when a circuit was formed
keep it equal to -1.
for probabilities greater than 0.
7. The possible transitions from a cell
are transitions to its left, right and
below. Transition back to where it
came from is not allowed and
transitions up are not allowed.
8. Now find if there is a path from top
row of LxL grid to bottom row by
checking for each position of top
row. Also find total resistance of
the path if it exists. This is done
using recursion.
9. Find minimum resistance from all
the different starting points.
10. Do the above steps multiple times
for each value of b and find
average minimum resistance for
each value of b.
3x3 Grid. (50% probability at b=0.4) 5x5 Grid (50% probability at b=0.46)

7x7 Grid. (50% probability at b=0.48) 9x9 Grid. (50% probability at b=0.49)
Figure-2. The value of b for which probability is 50% seems to be moving to the right and
seems to be getting closer to a value around 0.5.

3x3 Grid. (min avg resistance at b=0.05) 5x5 Grid (min avg resistance at b=0.15

7x7 Grid (min avg resistance at b=0.2) 9x9 Grid (min avg resistance at b=0.3)
Figure-3. The value of b for which resistance starts to be not infinite seems to be moving to
the right.
3. Discussion
From the above graphs, one can imply two 4. Appendix
trends. The first comes from the
Here is Java Program we used for the
probability graph. It is clear from the
project.
graphs that as the grid size increases, the
probability curve gets closer and closer to
step curve. Thus, at infinite sized grid, the
curve would be a step curve, stepping at import java.io.*;
the percolation limit. This limit would then import com.xeiam.xchart.BitmapEncoder;
give us a value of b over which,
import com.xeiam.xchart.Chart;
percolation will happen, no matter what
the grid size. Due to computational limit, import com.xeiam.xchart.QuickChart;
our grid size could not be increased
import com.xeiam.xchart.SwingWrapper;
substantially, since the calculation at 9x9
grid took a long time. But with a more public class statmech
efficient program one can easily find the {
value for larger grids.
InputStreamReader read=new
The second implication comes from the InputStreamReader(System.in);
resistance curve. We can see that the value
of b for which average resistance finally BufferedReader in=new
becomes finite (not 100 in our case) also BufferedReader(read);
seems to be moving to the right. The trend int l;
here though is not as clear as the previous
int l1;
case. It is our hypothesis that this too will
reach a maximum which is less than 1 in double perco[][];
an infinite grid. Due to computational
int possibilities[][];
limits, we cannot check this hypothesis
ourselves. We also see that as vale of b double resistance;
increases, the average resistance (when
circuit is formed) also increases. This is
expected as for low values of b, if a circuit void input(double a)throws IOException
is formed, it is by definition formed by {
resistors with low resistances. Thus, as b
increases, the values of minimum average
resistance also increase. Lastly, we see the for(int i=0;i<l;i++)
obvious observation that as grid size
increases, value of min resistance also {
increases. This is due to the addition of for(int j=0;j<l;j++)
more resistances as grid size increases.
{

perco[i][j]=Math.pow(2.71828,Math.rando
m());
}
}
resistances();
for(int i=0;i<l;i++) }
{
for(int j=0;j<l;j++) void resistances()
{ {
if(i==j) for(int i=0;i<(l-l1);i++)
perco[i][j]=100; {
else int j=0;
perco[j][i]=perco[i][j]; if(i<l1)
{
} if(i==0)
{
} if(perco[i][i+1]!=100)
possibilities[i][j++]=i+1;
possibilities=new int[l][3];
resistance=0.0; if(perco[i][l1+i]!=100)
select(a); possibilities[i][j++]=l1+i;
} }
else if(i==(l1-1))
void select(double a) {
{ if(perco[i][i-1]!=100)
possibilities[i][j++]=i-1;
for(int i=0;i<l;i++) if(perco[i][l1+i]!=100)
{ possibilities[i][j++]=l1+i;
for(int j=0;j<l;j++) }
{ else
{
if(perco[i][j]>Math.pow(2.71828,a))
if(perco[i][i-1]!=100)
perco[i][j]=100;
possibilities[i][j++]=i-1;
}
if(perco[i][i+1]!=100)
}
possibilities[i][j++]=i+1;
if(perco[i][i+l1]!=100) }
possibilities[i][j++]=i+l1; }
}
} while(j<3)
else possibilities[i][j++]=-1;
{
if(i%l1==0) }
{
if(perco[i][i+1]!=100) for(int i=0;i<l;i++)
possibilities[i][j++]=i+1; {
for(int j=0;j<3;j++)
if(perco[i][i+l1]!=100) {
possibilities[i][j++]=i+l1; if(possibilities[i][j]!=-1)
} {
else if((i+1)%l1==0) double
min=perco[i][possibilities[i][j]];
{
int temp;
if(perco[i][i-1]!=100)
int index=j;
possibilities[i][j++]=i-1;
for(int k=j;k<3;k++)
{
if(perco[i][i+l1]!=100)
if(possibilities[i][k]!=-1)
possibilities[i][j++]=i+l1;
{
}
else if(perco[i][possibilities[i][k]]<min)
{ {
if(perco[i][i-1]!=100) min=perco[i][possibilities[i][k]];

possibilities[i][j++]=i-1; index=k;

if(perco[i][i+1]!=100) }

possibilities[i][j++]=i+1; }

if(perco[i][i+l1]!=100) }

possibilities[i][j++]=i+l1; temp=possibilities[i][j];
}
possibilities[i][j]=possibilities[i][index];
}
possibilities[i][index]=temp;
return flag;
}
}
}
}
}

void main()throws Exception


}
{
do
boolean percolation(int f,int behind)
{
{
System.out.println("Enter the size
if(f>=(l-l1)) of the grid(nxn)");
return true; l1=Integer.parseInt(in.readLine());
else l=l1*l1;
{ perco=new double[l][l];
boolean flag=false; double
array[]={0.0,0.05,0.1,0.15,0.2,0.25,0.3,0.3
if(f!=-1) 5,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.
{ 85,0.9,0.95,1.0};

for(int j=0;j<3;j++) double resisplot[]=new double[21];

{ double count=0.0;

if(possibilities[f][j]!=behind) double prob[]=new double[21];

{ for(int k=0;k<21;k++)
{
double a=array[k];
if(percolation(possibilities[f][j],f)) double avresis=0.0;
{ count=0.0;
for(int i=0;i<1000;i++)
resistance=resistance+perco[f][possibilitie
s[f][j]]; {
flag=true; input(a);
break; double resistanceF[]=new
double[l];
}
}
double min=100.0;
for(int j=0;j<l1;j++) resisplot[k]=100;
{ prob[k]=count/1000;
}
if(percolation(j,j))
{ for(int i=0;i<21;i++)
resistanceF[j]=resistance; {
resistance=0.0; System.out.println(resisplot[i]);
} System.out.println("prob=
"+prob[i]);
else
}
{
Chart chart =
resistanceF[j]=100.0; QuickChart.getChart("Average Resistance
resistance=0.0; vs b("+l1+"x"+l1+")", "b", "Resistance",
"Resistance(b)", array, resisplot);
}
Chart chart1 =
} QuickChart.getChart("Probability vs
b("+l1+"x"+l1+")", "b", "Probability",
"Probability(b)", array, prob);
for(int j=0;j<l1;j++)
new
{ SwingWrapper(chart).displayChart();
if(resistanceF[j]<min) new
SwingWrapper(chart1).displayChart();
min=resistanceF[j];
System.out.println("Press 0 to
}
stop");

if(min!=100)
{ if((Integer.parseInt(in.readLine()))==0)
count=count+1; break;
avresis=avresis+min; }while(true);
} }
}
}
avresis=avresis/count;
if(count!=0)
resisplot[k]=avresis;
else
Springer-Verlag Berlin Heidelberg
5. References GmbH.
 B I Shklovskii, A L Efros (1984)
Electronic properties of Doped
Semiconductors (1st edition ebook),

S-ar putea să vă placă și