initial checkin, based on GSS 0.46 CVS
[gss-tcad.git] / src / material / AlGaAs / AlGaAs_thermal.cc
blob47e33573e28ca497d19531ef1928e56c89183e25
1 /*****************************************************************************/
2 /* */
3 /* 8888888 88888888 88888888 */
4 /* 8 8 8 */
5 /* 8 8 8 */
6 /* 8 88888888 88888888 */
7 /* 8 8888 8 8 */
8 /* 8 8 8 8 */
9 /* 888888 888888888 888888888 */
10 /* */
11 /* A Two-Dimensional General Purpose Semiconductor Simulator. */
12 /* */
13 /* GSS material database Version 0.4 */
14 /* Last update: Feb 17, 2006 */
15 /* */
16 /* Gong Ding */
17 /* gdiso@ustc.edu */
18 /* NINT, No.69 P.O.Box, Xi'an City, China */
19 /* */
20 /*****************************************************************************/
22 // Material Type: AlGaAs
25 #include "PMI.h"
27 class GSS_AlGaAs_Thermal : public PMIS_Thermal
29 private:
30 PetscScalar A_SP_HEA; // First parameter for the specific heat model of the material.
31 PetscScalar B_SP_HEA; // Second parameter for the specific heat model of the material.
32 PetscScalar C_SP_HEA; // Third parameter for the specific heat model of the material.
33 PetscScalar D_SP_HEA; // Fourth parameter for the specific heat model of the material.
34 PetscScalar F_SP_HEA; // Fifth parameter for the specific heat model of the material.
35 PetscScalar G_SP_HEA; // Sixth parameter for the specific heat model of the material.
36 PetscScalar A_TH_CON; // First parameter for the thermal conductivity model of the material.
37 PetscScalar B_TH_CON; // Second parameter for the thermal conductivity model of the material.
38 PetscScalar C_TH_CON; // Third parameter for the thermal conductivity model of the material.
39 PetscScalar E_TH_CON; // Fifth parameter for the thermal conductivity model of the material.
40 PetscScalar D_TH_CON; // Fourth parameter for the thermal conductivity model of the material.
41 PetscScalar T300;
42 void Thermal_Init()
44 A_SP_HEA = 1.815000e+02*J/kg/K;
45 B_SP_HEA = 8.225000e-01*J/kg/pow(K,2);
46 C_SP_HEA = -1.350000e-03*J/kg/pow(K,3);
47 D_SP_HEA = 0.000000e+00*J/kg*K;
48 F_SP_HEA = 7.500000e-07*J/kg/pow(K,4);
49 G_SP_HEA = 0.000000e+00*J/kg/pow(K,5);
50 A_TH_CON = 2.964400e+00*cm*K/J*s;
51 B_TH_CON = -1.392550e-02*cm/J*s;
52 C_TH_CON = 5.104750e-05*cm/J*s/K;
53 E_TH_CON = 0.000000e+00;
54 D_TH_CON = -3.807500e-08*cm/J*s*pow(K,1-E_TH_CON);
55 T300 = 300.0*K;
58 public:
59 //---------------------------------------------------------------------------
60 // Heat Capacity
61 PetscScalar HeatCapacity (const PetscScalar &Tl) const
63 return A_SP_HEA + B_SP_HEA*Tl + C_SP_HEA*Tl*Tl + D_SP_HEA/Tl/Tl
64 + F_SP_HEA*Tl*Tl*Tl + G_SP_HEA*Tl*Tl*Tl*Tl;
66 AutoDScalar HeatCapacity (const AutoDScalar &Tl) const
68 return A_SP_HEA + B_SP_HEA*Tl + C_SP_HEA*Tl*Tl + D_SP_HEA/Tl/Tl
69 + F_SP_HEA*Tl*Tl*Tl + G_SP_HEA*Tl*Tl*Tl*Tl;
72 //---------------------------------------------------------------------------
73 // Heat Conduction
74 PetscScalar HeatConduction(const PetscScalar &Tl) const
76 return 1.0/(A_TH_CON + B_TH_CON*Tl + C_TH_CON*Tl*Tl + D_TH_CON*pow(Tl,E_TH_CON));
78 AutoDScalar HeatConduction(const AutoDScalar &Tl) const
80 return 1.0/(A_TH_CON + B_TH_CON*Tl + C_TH_CON*Tl*Tl);
83 // constructor and destructor
84 public:
85 GSS_AlGaAs_Thermal(const PMIS_Environment &env):PMIS_Thermal(env)
87 Thermal_Init();
89 ~GSS_AlGaAs_Thermal()
95 extern "C"
97 PMIS_Thermal* PMIS_AlGaAs_Thermal_Default (const PMIS_Environment& env)
99 return new GSS_AlGaAs_Thermal(env);