Surface and bulk passivation of multicrystalline silicon solar cells by ...

Surface and bulk passivation of multicrystalline silicon solar cells by ... Surface and bulk passivation of multicrystalline silicon solar cells by ...

archives.njit.edu
from archives.njit.edu More from this publisher
20.04.2014 Views

97 phin = -ΕΙ - 1 / beta * log(nd / ηί) phip = -ΕΙ + 1 / beta * log(pd / ni) for i = 0 to (1 / stepsize) phis (ί) = 0 + stepsize * i Ε(ί) = -.55 + 1.1 * stepsize * i ns (ί) = ni * exp (beta * (phis (ί) - phin) ) ps (ί) = ni * exp ( -beta * (phis (ί) - phip) ) next i for i = 0 to (1 / stepsize) for j = 0 to (1 / stepsize) fa(i, j) _ (100 * ns(i) + pt(E(j))) / (100 * (ns(i) + nt(E(j))) + (ps(i) + pt(Ε(j)))) fd(i, j) _ (100 * nt(E(j)) + ps(i)) / (100 * (ns(I) + nt(E(j))) + (ps(i) + pt (Ε (j))) ) next j next i for i = 0 to (1 / stepsize) Α(ί) = 0 Β (ί) = 0 for j = 0 to (1 / stepsize) Α(ί) = Α(ί) + fa(i, j) * 1.1 * stepsize Β (ί) = Β (ί) + fd (ί, j) * 1. 1 * stepsize next j next i for i = 0 to (1 / stepsize) Qit(i) _ -q * Dit * (Α(ί) - B(i)) F(i) = (exp (beta * (phip - phis (ί))) - exp (beta * phip) + exp (- beta * (phin - phis (ί))) - exp (-beta * phin) + beta * phis (ί) * (Nac - Ndc) / ni) ^ .5 Qsi(i) _ -D * F(ί) Qo (ί) = log (abs (Qίt (ί) + Qsi(i) + Qf) / q) / log (10) next i qmin = Qo (0) smin = 0 for i = 1 to (1 / stepsize)

98 if Qo (i) < qmin then qmin = Qo (i) : smin = i next i Us = (ns (smin) * ps (smin) - ni * ni) * with * LINT (smin) Se = Us / deltan print using #. ## ## #.###^^^^ #.####^^^^ #.####^^^^ n, m, phis (smin) , exp (qmin * log (10)) , Us, Se print #1, using #. n, m, phis (smin) , exp (qmin * log (10)) , Us, Se write #2, n * 10 ^ m, phis(smin), exp(qmin * log(10)), Us, Se next n print print #1, "" next m close 1, 2 end function nt (E) return ni * exp(beta * (Ε - Ε Ι )) end function function pt (E) return ni * exp (-beta * (Ε - ΕΙ) ) end function function Lx (smin, E) tp1 = (ns (smin) + nt (E)) / mup tp2 = (ps (smin) + pt (E)) / run return Dit / (tp1 + tp2) end function function LINT(smin) nmax = (dΕ2 - dE1) / TOL iterl = Lx (smin, dE1) iter2 = Lx (smin, dΕ2)

98<br />

if Qo (i) < qmin then qmin = Qo (i) : smin = i<br />

next i<br />

Us = (ns (smin) * ps (smin) - ni * ni) * with * LINT (smin)<br />

Se = Us / deltan<br />

print using #. ## ## #.###^^^^ #.####^^^^ #.####^^^^<br />

n, m, phis (smin) , exp (qmin * log (10)) , Us, Se<br />

print #1, using #.<br />

n, m, phis (smin) , exp (qmin * log (10)) , Us, Se<br />

write #2, n * 10 ^ m, phis(smin), exp(qmin * log(10)), Us, Se<br />

next n<br />

print<br />

print #1, ""<br />

next m<br />

close 1, 2<br />

end<br />

function nt (E)<br />

return ni * exp(beta * (Ε - Ε Ι ))<br />

end function<br />

function pt (E)<br />

return ni * exp (-beta * (Ε - ΕΙ) )<br />

end function<br />

function Lx (smin, E)<br />

tp1 = (ns (smin) + nt (E)) / mup<br />

tp2 = (ps (smin) + pt (E)) / run<br />

return Dit / (tp1 + tp2)<br />

end function<br />

function LINT(smin)<br />

nmax = (dΕ2 - dE1) / TOL<br />

iterl = Lx (smin, dE1)<br />

iter2 = Lx (smin, dΕ2)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!