GaNの正孔濃度

【GaNの正孔濃度】
 高MgドープのGaNでは、高密度イオン化アクセプタにより、クーロンスクリーニング抑制が生じ、正孔の活性化エネルギが低下するため、高い正孔濃度が得られます。正孔濃度のアクセプタ密度依存性を計算することで、高MgドープGaNのMgの活性化エネルギが得られます。(横軸:Mg濃度、縦軸:正孔濃度)
 Mg濃度を上げると、結晶性および表面平坦性が劣化します。更に、10^20以上のMg濃度では、Mgが凝縮し、V字型の欠陥を形成したり、極性反転を引き起こしたりします。なので、図から分かるように、10^19以上の正孔濃度を得るのは、非常に難しいです。

【補足】
 練習目的:VBAのグラフ化
 懸念事項1:スクリーニング抑制効果はNaの1/3乗でよいのか?
 懸念事項2:活性化したアクセプタ濃度=ホール濃度を用いるべきでは?
 懸念事項3:単位換算も気になる。cm-3の値で良いのか?

Mathematica
*********************
(*ドナー密度*)
ND := 1*10^17;

(*正孔濃度*)
(*c=1/4*(2*Pi*1.25*9.11*10^-31*1.38*10^-23*300)^(3/2)/(6.6*10^-34)^3*)
a[x_] := 1/2*(2*Pi*1.25*9.11*10^-31*1.38*10^-23*300)^(3/2)/(6.6*10^-34)^3*10^-6*Exp[-(0.18 - (4*Pi/3)^(1/3)*Gamma[2/3]*1.6*10^-19/(4*Pi*9.5*8.8*10^-14)*(x)^(1/3))*1.6*10^-19/(1.38*10^-23*300)]

b[x_] := 1/2*(a[x] + ND)*(Sqrt[1 + 4*a[x]*(x - ND)/(a[x] + ND)^2] - 1)*10^-6*Exp[-(0.245)*1.6*10^-19/(1.38*10^-23*300)];
d=1/2*(c+ND)*(Sqrt[1+4*c*(10^20-ND)/(c+ND)^2]-1);

(*グラフ化*)
LogLogPlot[{ b[x], x}, {x, 10^17, 10^21},
PlotRange -> {10^17, 10^21}, GridLines -> Automatic]

(*データ出力*)
data = Table[{x, b[10^x]}, {x, 17, 21, 0.03}]
Export["Hall.dat", data]


VBA
*********************
Sub main()
Dim i As Long
Dim Ea, g, m0, mp, Nas, Nal, Nds, Ndl, Nv, p1, p As Single
Dim k, T, Pi, eV, a, x As Single
Dim Nvh, Nvl, Nvc, Eah, Eal, Eac As Single
Dim ob1 As Object
Set ob1 = Application.ThisWorkbook.Worksheets("fitting")

'パラメータ
eV = 1.60218 * 10 ^ -19
m0 = 9.1095 * 10 ^ -31
k = 1.38065 * 10 ^ -23 'boltzmann constant
H = 6.62617 * 10 ^ -34 'plank constant
Pi = 3.141592

Nas = ob1.Cells(37, 9).Value 'Acceptor concentration
Nds = ob1.Cells(39, 9).Value 'donor concentration
Eac = ob1.Cells(41, 9).Value 'acceptor binding energy

'hole concentration
''表のタイトル
ob1.Cells(1, 1).Value = "Temperature"
ob1.Cells(1, 2).Value = "1000/T"

''実行:Al60%
i = 0

Do
i = i + 1
T = i * 5 + 240

x = 0.59 'Al component
g = 2
mp = (0.57 * (1 - x) + 1.51 * x) * m0 'effective hole mass
Nvc = 2 * (2 * Pi * mp * k * T) ^ (3 / 2) / H ^ 3 * 10 ^ -6 'CHの状態密度
p1 = Nvc / g * Exp(-(Eac + 0.02) * eV / (k * T)) '正孔密度
p = Sqr((Nds + p1) ^ 2 - 4 * (Nds - Nas) * p1) / 2 - (Nds + p1) / 2

ob1.Cells(1 + i, 1).Value = T
ob1.Cells(1 + i, 2).Value = 1000 / T
ob1.Cells(1 + i, 3).Value = p1
ob1.Cells(1 + i, 4).Value = p
Loop While i <= 150#

End Sub