initial checkin, based on GSS 0.46 CVS
[gss-tcad.git] / src / material / Si / Si_thermal.cc
blob06d36492da8f0a554806ad85efaf3c9660273683
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: Silicon
25 #include "PMI.h"
27 class GSS_Si_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 = 8.509000e+02*J/kg/K;
45 B_SP_HEA = 1.522000e-01*J/kg/pow(K,2);
46 C_SP_HEA = 0.000000e+00*J/kg/pow(K,3);
47 D_SP_HEA = -1.582000e+07*J/kg*K;
48 F_SP_HEA = 0.000000e+00*J/kg/pow(K,4);
49 G_SP_HEA = 0.000000e+00*J/kg/pow(K,5);
50 A_TH_CON = 3.000000e-02*cm*K/J*s;
51 B_TH_CON = 1.560000e-03*cm/J*s;
52 C_TH_CON = 1.650000e-06*cm/J*s/K;
53 E_TH_CON = 0.000000e+00;
54 D_TH_CON = 0.000000e+00*cm/J*s*pow(K,1-E_TH_CON);
55 T300 = 300.0*K;
57 public:
58 //---------------------------------------------------------------------------
59 // Heat Capacity
60 PetscScalar HeatCapacity (const PetscScalar &Tl) const
62 return A_SP_HEA + B_SP_HEA*Tl + C_SP_HEA*Tl*Tl + D_SP_HEA/Tl/Tl
63 + F_SP_HEA*Tl*Tl*Tl + G_SP_HEA*Tl*Tl*Tl*Tl;
65 AutoDScalar HeatCapacity (const AutoDScalar &Tl) const
67 return A_SP_HEA + B_SP_HEA*Tl + C_SP_HEA*Tl*Tl + D_SP_HEA/Tl/Tl
68 + F_SP_HEA*Tl*Tl*Tl + G_SP_HEA*Tl*Tl*Tl*Tl;
71 //---------------------------------------------------------------------------
72 // Heat Conduction
73 PetscScalar HeatConduction(const PetscScalar &Tl) const
75 return 1.0/(A_TH_CON + B_TH_CON*Tl + C_TH_CON*Tl*Tl);
77 AutoDScalar HeatConduction(const AutoDScalar &Tl) const
79 return 1.0/(A_TH_CON + B_TH_CON*Tl + C_TH_CON*Tl*Tl);
82 // constructor and destructor
83 public:
84 GSS_Si_Thermal(const PMIS_Environment &env):PMIS_Thermal(env)
86 Thermal_Init();
88 ~GSS_Si_Thermal()
94 extern "C"
96 PMIS_Thermal* PMIS_Si_Thermal_Default (const PMIS_Environment& env)
98 return new GSS_Si_Thermal(env);