1 /*****************************************************************************/
3 /* 8888888 88888888 88888888 */
6 /* 8 88888888 88888888 */
9 /* 888888 888888888 888888888 */
11 /* A Two-Dimensional General Purpose Semiconductor Simulator. */
13 /* GSS material database Version 0.4 */
14 /* Last update: Feb 17, 2006 */
18 /* NINT, No.69 P.O.Box, Xi'an City, China */
20 /*****************************************************************************/
22 // Material Type: InSb
26 class GSS_InSb_Avalanche
: public PMIS_Avalanche
34 PetscScalar hbarOmega
;
39 //use the parameters for InAs.
42 b_n
= 3.5000e+06*V
/cm
;
43 b_p
= 6.4000e+05*V
/cm
;
44 hbarOmega
= 1.0000e+03*eV
;
46 //experiment data: gn(F) = 126¡¤F^2¡¤exp(F/160) (s-1),
47 //should be implemented later
50 //---------------------------------------------------------------------------
51 // Electron Impact Ionization rate for DDM
52 PetscScalar
ElecGenRate (const PetscScalar
&Tl
,const PetscScalar
&Ep
,const PetscScalar
&Eg
) const
60 PetscScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
61 return gamma
*a_n
*exp(-b_n
*gamma
/Ep
);
64 AutoDScalar
ElecGenRate (const AutoDScalar
&Tl
,const AutoDScalar
&Ep
,const AutoDScalar
&Eg
) const
72 AutoDScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
73 return gamma
*a_n
*exp(-b_n
*gamma
/Ep
);
77 //---------------------------------------------------------------------------
78 // Hole Impact Ionization rate for DDM
79 PetscScalar
HoleGenRate (const PetscScalar
&Tl
,const PetscScalar
&Ep
,const PetscScalar
&Eg
) const
87 PetscScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
88 return gamma
*a_p
*exp(-b_p
*gamma
/Ep
);
91 AutoDScalar
HoleGenRate (const AutoDScalar
&Tl
,const AutoDScalar
&Ep
,const AutoDScalar
&Eg
) const
99 AutoDScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
100 return gamma
*a_p
*exp(-b_p
*gamma
/Ep
);
105 //---------------------------------------------------------------------------
106 // Electron Impact Ionization rate for EBM
107 PetscScalar
ElecGenRateEBM (const PetscScalar
&Tn
,const PetscScalar
&Tl
,const PetscScalar
&Eg
) const
111 AutoDScalar
ElecGenRateEBM (const AutoDScalar
&Tn
,const AutoDScalar
&Tl
,const AutoDScalar
&Eg
) const
116 //---------------------------------------------------------------------------
117 // Hole Impact Ionization rate for EBM
118 PetscScalar
HoleGenRateEBM (const PetscScalar
&Tp
,const PetscScalar
&Tl
,const PetscScalar
&Eg
) const
122 AutoDScalar
HoleGenRateEBM (const AutoDScalar
&Tp
,const AutoDScalar
&Tl
,const AutoDScalar
&Eg
) const
129 //----------------------------------------------------------------
130 // constructor and destructor
132 GSS_InSb_Avalanche(const PMIS_Environment
&env
):PMIS_Avalanche(env
)
136 ~GSS_InSb_Avalanche()
145 PMIS_Avalanche
* PMIS_InSb_Avalanche_Default (const PMIS_Environment
& env
)
147 return new GSS_InSb_Avalanche(env
);