Xyce
6.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
N_DEV_MaterialLayer.h
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------
2
// Copyright Notice
3
//
4
// Copyright (c) 2002, 2013, Sandia Corporation, Albuquerque, NM, USA. Under the
5
// terms of Contract DE-AC04-94AL85000, there is a non-exclusive license for
6
// use of this work by or on behalf of the U.S. Government. Export of this
7
// program may require a license from the United States Government.
8
//-----------------------------------------------------------------------------
9
10
//-----------------------------------------------------------------------------
11
// Filename : $RCSfile: N_DEV_MaterialLayer.h,v $
12
//
13
// Purpose :
14
//
15
// Special Notes :
16
//
17
// Creator : Eric R. Keiter, SNL, Parallel Computational Sciences
18
//
19
// Creation Date : 02/28/00
20
//
21
// Revision Information:
22
// ---------------------
23
//
24
// Revision Number: $Revision: 1.3 $
25
//
26
// Revision Date : $Date: 2014/04/30 23:55:34 $
27
//
28
// Current Owner : $Author: erkeite $
29
//-----------------------------------------------------------------------------
30
31
#ifndef Xyce_N_DEV_MaterialLayer_h
32
#define Xyce_N_DEV_MaterialLayer_h
33
34
#include <string>
35
36
#include <
N_DEV_CompositeParam.h
>
37
#include <
N_DEV_MaterialSupport.h
>
38
39
namespace
Xyce {
40
namespace
Device {
41
42
//-----------------------------------------------------------------------------
43
// Class : MaterialLayer
44
// Purpose :
45
// Special Notes :
46
// Creator : Eric Keiter, SNL
47
// Creation Date : 7/14/11
48
//-----------------------------------------------------------------------------
49
class
MaterialLayer
:
public
CompositeParam
50
{
51
friend
class
ParametricData
<
MaterialLayer
>;
52
53
public
:
54
static
ParametricData<MaterialLayer>
&
getParametricData
();
55
56
MaterialLayer
(std::string materialName = std::string(
"GAAS"
));
57
virtual
~MaterialLayer
()
58
{}
59
60
#ifdef Xyce_DEBUG_DEVICE
61
friend
std::ostream &
operator<<
(std::ostream & os,
const
MaterialLayer
& ml);
62
#endif
63
64
private
:
65
66
public
:
67
std::string
name
;
68
bool
nameGiven
;
69
std::string
material
;
70
bool
materialGiven
;
71
int
NX
;
72
bool
NXGiven
;
73
int
LX
;
74
int
begin
;
// beginning mesh point
75
int
end
;
// end mesh point +1
76
77
//////////////////////////////////////
78
double
diel
;
// dielectric constant
79
bool
dielGiven
;
// dielectric constant given flag
80
81
double
Ec
;
// conduction band edge
82
bool
EcGiven
;
// conduction band edge given flag
83
double
Ev
;
// valance band edge
84
bool
EvGiven
;
// valance band edge given flag
85
double
EcEff
;
// conduction band edge, including BGN
86
double
EvEff
;
// valance band edge, including BGN
87
88
double
bg
;
// bandgap
89
double
bgEff
;
// effective bandgap (including band-gap narrowing, bgn)
90
91
double
Cdonor
;
// n doping concentration
92
bool
CdonorGiven
;
// n doping concentration given flag
93
double
Cacceptor
;
// p doping concentration
94
bool
CacceptorGiven
;
// p doping concentration given flag
95
96
double
narco
;
// band gap narrowing of conduction band
97
bool
narcoGiven
;
// band gap narrowing of conduction band given flag
98
double
narva
;
// band gap narrowing of valence band
99
bool
narvaGiven
;
// band gap narrowing of valence band given flag
100
101
double
dnco
;
// conduction band density of states multiplier = (md*/mo)^3/2
102
double
dnva
;
// valence band density of states multiplier = (md*/mo)^3/2
103
104
double
Nc
;
// conduction band DOS
105
double
Nv
;
// valance band DOS
106
107
double
emass
;
// electron DOS effective mass
108
bool
emassGiven
;
// electron DOS effective mass given flag
109
double
hmass
;
// hole DOS effective mass
110
bool
hmassGiven
;
// hole DOS effective mass given flag
111
112
double
elmob0
;
// zero field mobility for electrons (cm2/Vs)
113
bool
elmob0Given
;
// zero field mobility for electrons (cm2/Vs) given flag
114
115
double
elvsat
;
// saturation veocity for electrons (cm/s)
116
bool
elvsatGiven
;
// saturation veocity for electrons (cm/s) given flag
117
double
eleo
;
// Eo(V/cm) in mobility field dependence
118
119
double
homob0
;
// zero field mobility for holes (cm2/Vs)
120
bool
homob0Given
;
// zero field mobility for holes (cm2/Vs) given flag
121
122
double
hovsat
;
// saturation veocity for holes (cm/s)
123
bool
hovsatGiven
;
// saturation veocity for holes (cm/s) given flag
124
125
double
dir
;
// direct recombination rate coefficient (cm3/s)
126
127
double
augnpp
;
// Auger recombination rate coefficient for npp (cm3/s)
128
double
augpnn
;
// Auger recombination rate coefficient for pnn (cm3/s)
129
130
double
srh
;
// SRH rate coeff (inverse lifetime)
131
double
srhdet
;
// energy shift from midgap for SRH
132
133
double
Ni
;
// intrinsic concentration
134
bool
NiGiven
;
// intrinsic concentration given flag
135
double
NiEff
;
// effective intrinsic concentration, including BGN
136
double
width
;
137
bool
widthGiven
;
138
139
double
gradedLayerWidth
;
140
bool
gradedLayerWidthGiven
;
141
142
double
temperature
;
143
144
void
processParams
();
145
};
146
147
}
// namespace Device
148
}
// namespace Xyce
149
150
typedef
Xyce::Device::MaterialLayer
N_DEV_MaterialLayer
;
151
152
#endif
153
src
DeviceModelPKG
TCADModels
include
N_DEV_MaterialLayer.h
Generated on Thu Sep 25 2014 15:20:25 for Xyce by
1.8.3.1