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 /*****************************************************************************/
26 class GSS_InN_Avalanche
: public PMIS_Avalanche
34 PetscScalar hbarOmega
;
39 //Source: data base of DESSIS
43 b_p
= 2.0300e+07*V
/cm
;
48 //---------------------------------------------------------------------------
49 // Electron Impact Ionization rate for DDM
50 PetscScalar
ElecGenRate (const PetscScalar
&Tl
,const PetscScalar
&Ep
,const PetscScalar
&Eg
) const
58 PetscScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
59 return gamma
*a_n
*exp(-b_n
*gamma
/Ep
);
62 AutoDScalar
ElecGenRate (const AutoDScalar
&Tl
,const AutoDScalar
&Ep
,const AutoDScalar
&Eg
) const
70 AutoDScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
71 return gamma
*a_n
*exp(-b_n
*gamma
/Ep
);
75 //---------------------------------------------------------------------------
76 // Hole Impact Ionization rate for DDM
77 PetscScalar
HoleGenRate (const PetscScalar
&Tl
,const PetscScalar
&Ep
,const PetscScalar
&Eg
) const
85 PetscScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
86 return gamma
*a_p
*exp(-b_p
*gamma
/Ep
);
89 AutoDScalar
HoleGenRate (const AutoDScalar
&Tl
,const AutoDScalar
&Ep
,const AutoDScalar
&Eg
) const
97 AutoDScalar gamma
= tanh(hbarOmega
/(2*kb
*T300
)) / tanh(hbarOmega
/(2*kb
*Tl
));
98 return gamma
*a_p
*exp(-b_p
*gamma
/Ep
);
102 //---------------------------------------------------------------------------
103 // Electron Impact Ionization rate for EBM
104 PetscScalar
ElecGenRateEBM (const PetscScalar
&Tn
,const PetscScalar
&Tl
,const PetscScalar
&Eg
) const
108 AutoDScalar
ElecGenRateEBM (const AutoDScalar
&Tn
,const AutoDScalar
&Tl
,const AutoDScalar
&Eg
) const
113 //---------------------------------------------------------------------------
114 // Hole Impact Ionization rate for EBM
115 PetscScalar
HoleGenRateEBM (const PetscScalar
&Tp
,const PetscScalar
&Tl
,const PetscScalar
&Eg
) const
119 AutoDScalar
HoleGenRateEBM (const AutoDScalar
&Tp
,const AutoDScalar
&Tl
,const AutoDScalar
&Eg
) const
125 //----------------------------------------------------------------
126 // constructor and destructor
128 GSS_InN_Avalanche(const PMIS_Environment
&env
):PMIS_Avalanche(env
)
141 PMIS_Avalanche
* PMIS_InN_Avalanche_Default (const PMIS_Environment
& env
)
143 return new GSS_InN_Avalanche(env
);