initial checkin, based on GSS 0.46 CVS
[gss-tcad.git] / src / material / S-SiO2 / SiO2S_thermal.cc
blobb4693c71308f08f57e6c4d258c48dd2530b26ded
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: SiO2 as semiconductor
25 #include "PMI.h"
27 class GSS_SiO2S_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 void Thermal_Init()
43 A_SP_HEA = 3.000000e+03*J/kg/K;
44 B_SP_HEA = 0.000000e+00*J/kg/pow(K,2);
45 C_SP_HEA = 0.000000e+00*J/kg/pow(K,3);
46 D_SP_HEA = 0.000000e+00*J/kg*K;
47 F_SP_HEA = 0.000000e+00*J/kg/pow(K,4);
48 G_SP_HEA = 0.000000e+00*J/kg/pow(K,5);
49 A_TH_CON = 7.140000e+01*cm*K/J*s;
50 B_TH_CON = 0.000000e+00*cm/J*s;
51 C_TH_CON = 0.000000e+00*cm/J*s/K;
52 E_TH_CON = 0.000000e+00;
53 D_TH_CON = 0.000000e+00*cm/J*s*pow(K,1-E_TH_CON);
55 public:
56 //---------------------------------------------------------------------------
57 // Heat Capacity
58 PetscScalar HeatCapacity (const PetscScalar &Tl) const
60 return A_SP_HEA + B_SP_HEA*Tl + C_SP_HEA*Tl*Tl + D_SP_HEA/Tl/Tl
61 + F_SP_HEA*Tl*Tl*Tl + G_SP_HEA*Tl*Tl*Tl*Tl;
63 AutoDScalar HeatCapacity (const AutoDScalar &Tl) const
65 return A_SP_HEA + B_SP_HEA*Tl + C_SP_HEA*Tl*Tl + D_SP_HEA/Tl/Tl
66 + F_SP_HEA*Tl*Tl*Tl + G_SP_HEA*Tl*Tl*Tl*Tl;
69 //---------------------------------------------------------------------------
70 // Heat Conduction
71 PetscScalar HeatConduction(const PetscScalar &Tl) const
73 return 1.0/(A_TH_CON + B_TH_CON*Tl + C_TH_CON*Tl*Tl);
75 AutoDScalar HeatConduction(const AutoDScalar &Tl) const
77 return 1.0/(A_TH_CON + B_TH_CON*Tl + C_TH_CON*Tl*Tl);
80 // constructor and destructor
81 public:
82 GSS_SiO2S_Thermal(const PMIS_Environment &env):PMIS_Thermal(env)
84 Thermal_Init();
86 ~GSS_SiO2S_Thermal()
92 extern "C"
94 PMIS_Thermal* PMIS_SiO2S_Thermal_Default (const PMIS_Environment& env)
96 return new GSS_SiO2S_Thermal(env);