initial checkin, based on GSS 0.46 CVS
[gss-tcad.git] / src / material / PML / PML_basic.cc
blob8e44125119ba209dbaf818fcc1eb26276630165c
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: PML
24 #include "PMI.h"
26 class GSS_PML_BasicParameter : public PMIP_BasicParameter
28 private:
29 PetscScalar PERMITTI; // The relative dielectric permittivity of PML.
30 PetscScalar PERMEABI; // The relative megnetic permeability of PML.
31 PetscScalar AFFINITY; // The electron affinity for the material.
32 PetscScalar DENSITY; // Specific mass density for the material.
33 void Basic_Init()
35 PERMITTI = 1.0;//corrected by zhangxih
36 PERMEABI = 1.0;
37 AFFINITY = 0.0*eV;
38 DENSITY = 0.0*kg*pow(cm,-3);//corrected by zhangxih
40 public:
41 PetscScalar Density (const PetscScalar &Tl) const { return DENSITY; }
42 PetscScalar Permittivity () const { return PERMITTI; }
43 PetscScalar Permeability () const { return PERMEABI; }
44 PetscScalar Affinity (const PetscScalar &Tl) const { return AFFINITY; }
45 GSS_PML_BasicParameter(const PMIP_Environment &env):PMIP_BasicParameter(env)
47 Basic_Init();
49 ~GSS_PML_BasicParameter()
55 extern "C"
57 PMIP_BasicParameter* PMIP_PML_BasicParameter_Default (const PMIP_Environment& env)
59 return new GSS_PML_BasicParameter(env);