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_Units.h
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------
2
// Copyright Notice
3
//
4
// Copyright 2002 Sandia Corporation. Under the terms
5
// of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
6
// Government retains certain rights in this software.
7
//
8
// Xyce(TM) Parallel Electrical Simulator
9
// Copyright (C) 2002-2011 Sandia Corporation
10
//
11
// This program is free software: you can redistribute it and/or modify
12
// it under the terms of the GNU General Public License as published by
13
// the Free Software Foundation, either version 3 of the License, or
14
// (at your option) any later version.
15
//
16
// This program is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU General Public License for more details.
20
//
21
// You should have received a copy of the GNU General Public License
22
// along with this program. If not, see <http://www.gnu.org/licenses/>.
23
//-----------------------------------------------------------------------------
24
25
//-------------------------------------------------------------------------
26
// Filename : $RCSfile: N_DEV_Units.h,v $
27
//
28
// Purpose : Defines units and catagory definitions for documentation purposes
29
//
30
// Special Notes :
31
//
32
// Creator : David G. Baur Raytheon Sandia National Laboratories 1355
33
//
34
// Creation Date : 2013/04/18 18:01:27
35
//
36
// Revision Information:
37
// ---------------------
38
//
39
// Revision Number: $Revision: 1.9.2.3 $
40
//
41
// Revision Date : $Date: 2014/03/14 23:36:16 $
42
//
43
// Current Owner : $Author: erkeite $
44
//-------------------------------------------------------------------------
45
46
#ifndef Xyce_N_DEV_Units_h
47
#define Xyce_N_DEV_Units_h
48
49
namespace
Xyce {
50
namespace
Device {
51
namespace
Units {
52
53
enum
ParameterUnit
54
{
55
LEVEL_1
= 1,
56
LEVEL_2
,
57
LEVEL_3
,
58
LEVEL_4
,
59
LEVEL_5
,
60
LEVEL_6
,
61
LEVEL_7
,
62
LEVEL_8
,
63
LEVEL_9
= 9,
64
LEVEL_10
,
65
LEVEL_11
,
66
LEVEL_12
,
67
LEVEL_13
,
68
LEVEL_14
,
69
LEVEL_15
,
70
LEVEL_16
,
71
LEVEL_17
,
72
LEVEL_18
,
73
LEVEL_19
,
74
LEVEL_20
,
75
LEVEL_21
,
76
LEVEL_22
,
77
LEVEL_23
,
78
LEVEL_24
,
79
LEVEL_25
,
80
LEVEL_26
,
81
LEVEL_27
,
82
LEVEL_28
,
83
LEVEL_29
,
84
LEVEL_30
,
85
U_MAXLEVEL
,
86
U_INVALID
,
87
STANDARD
,
// Unit and description are taken from standard list
88
U_NONE
,
// Actual unit specifications start here
89
U_UNKNOWN
,
// unknown
90
U_AMP
,
// A
91
U_AMPCMM1
,
// A/cm
92
U_AMPCMM2
,
// A/cm**2
93
U_AMPMM1
,
// A/m
94
U_AMPMM2
,
// A/m**2
95
U_AMPVM2
,
// A/V**2
96
U_AMPVM3
,
// A/V**3
97
U_COULOMB
,
// C
98
U_CM
,
// cm
99
U_CM2
,
// cm**2
100
U_CM2VM1SM1
,
// cm**2/(Vs)
101
U_CMM2
,
// 1/cm**2
102
U_CMM2VM1SM1
,
// 1/(cm**2*V*s)
103
U_CMM3
,
// 1/cm**3
104
U_CMSM1
,
// cm/s
105
U_MCMM3
,
// m/cm**3
106
U_M2CMM3
,
// m**2/cm**3
107
U_CM6SM1
,
// cm**6/s
108
U_DEGREE
,
// degree
109
U_DEGC
,
// degree C
110
U_DEGK
,
// degree C
111
U_DEGCM1
,
// 1/degree C
112
U_DEGCM2
,
// 1/(degree C)**2
113
U_EV
,
// eV
114
U_EVDEGKM1
,
// eV/(degree K)
115
U_FARAD
,
// F
116
U_FARADM
,
// F*m
117
U_FARADMM1
,
// F/m
118
U_FARADMM2
,
// F/m**2
119
U_FHGMHSMVM1
,
// (F/g)**(1/2)s/mV
120
U_FHGMHSMMVM1
,
// (F/g)**(1/2)sm/mV
121
U_FHGMHSM2MVM1
,
// (F/g)**(1/2)sm**2/mV
122
U_FS2HGMHMM1
,
// (Fs**2/g)**(1/2)/m
123
U_FS2HGMHMM1VM1
,
// (Fs**2/g)**(1/2)/(Vm)
124
U_FVM1MM2
,
// F/(V*m**2)
125
U_FVM1MM1
,
// F/(V*m)
126
U_FVM1
,
// F/V
127
U_HENRY
,
// Henry
128
U_HMM1
,
// Henry/m
129
U_HOUR
,
// Hour
130
U_HZ
,
// Hertz
131
U_JKM1
,
// J/K
132
U_KKGM1JM1
,
// K/(Kg*J)
133
U_JMM3KM1
,
// K/(Kg*J)
134
U_KM1
,
// 1/K
135
U_KGMM3
,
// Kg/m**3
136
U_LOGIC
,
// True/False
137
U_MCMM2VM1SM1
,
// m/(cm**2*V*s)
138
U_M2CMM2VM1SM1
,
// m**2/(cm**2*V*s)
139
U_THERMAL
,
// unknown thermal
140
U_METER
,
// m
141
U_METERM1
,
// m**-1
142
U_METERM2
,
// m**-2
143
U_METERM3
,
// m**-3
144
U_METER2
,
// m**2
145
U_METER3
,
// m**3
146
U_MEXPLL
,
// m**(LLN)
147
U_MEXPLW
,
// m**(LWN)
148
U_MEXPLLLW
,
// m**(LLN+LWN)
149
U_MEXPWL
,
// m**(WLN)
150
U_MEXPWW
,
// m**(WWN)
151
U_MEXPWLWW
,
// m**(WLN+WWN)
152
U_MHVMH
,
// m**(1/2)/V**(1/2)
153
U_MOM1
,
// m/ohm
154
U_MSM1
,
// m/s
155
U_MM3SM1
,
// 1/m**3/s
156
U_MVMH
,
// m/V**(1/2)
157
U_M2VMH
,
// m**2/V**(1/2)
158
U_M3VMH
,
// m**2/V**(1/2)
159
U_MVM1
,
// m/V
160
U_M2VM1
,
// m**2/V
161
U_M2VM1SM1
,
// m**2/(V*sec)
162
U_M3VM1
,
// m**3/V
163
U_MVM2
,
// m/V**2
164
U_MVM2DEGCM1
,
// m/(V**2*degree C)
165
U_M2OM1
,
// m**2/ohm
166
U_M2VM2DEGCM1
,
// m**2/(V**2*degree C)
167
U_M3VM2DEGCM1
,
// m**3/(V**2*degree C)
168
U_M2SM1
,
// m**2/s
169
U_M3SM1
,
// m**3/s
170
U_M2VM2
,
// m**2/V**2
171
U_M3VM2
,
// m**3/V**2
172
U_M4VM2
,
// m**4/V**2
173
U_MOLAR
,
// mol/L
174
U_OHM
,
// Ohm
175
U_OHMM2
,
// Ohm*m**2
176
U_OHMMICRON
,
// Ohm*micron
177
U_OHMMICRONM
,
// Ohm*micron*m
178
U_OHMMICRONM2
,
// Ohm*micron*m**2
179
U_OHMM
,
// Ohm*m
180
U_OHMMM1
,
// Ohm/m
181
U_OHMMM1SM1
,
// Ohm/m/s
182
U_OHMMM2SM1
,
// Ohm/m**2/s
183
U_OHMMM3SM1
,
// Ohm/m**3/s
184
U_OHMM1
,
// 1/Ohm
185
U_OHMM1MM1
,
// 1/(Ohm*m)
186
U_OHMM1MM2
,
// 1/(Ohm*m**2)
187
U_OHMPV
,
// Ohm/volt
188
U_OSQM1
,
// Ohm/square
189
U_RAD
,
// rads
190
U_RADPS
,
// rads/sec
191
U_SECOND
,
// s
192
U_SECM1
,
// 1/s
193
U_SQUARES
,
// # of squares
194
U_VKM1
,
// V/K
195
U_VHM
,
// V**(1/2)*m
196
U_VHM2
,
// V**(1/2)*m**2
197
U_VHM3
,
// V**(1/2)*m**3
198
U_VM
,
// V*m
199
U_VM2
,
// V*m**2
200
U_VM3
,
// V*m**3
201
U_VMM1
,
// V/m
202
U_VMMH
,
// V/m**(1/2)
203
U_VOLT
,
// V
204
U_VOLT3
,
// V**3
205
U_VOLTH
,
// V**(1/2)
206
U_VOLTMH
,
// V**(-1/2)
207
U_VOLTM1
,
// 1/V
208
U_VOLTM2
// 1/V**2
209
};
210
211
enum
ParameterCategory
212
{
213
CAT_INVALID
,
214
CAT_UNKNOWN
,
215
CAT_NONE
,
216
217
// Start categories
218
219
CAT_AC
,
220
CAT_BASIC
,
221
CAT_BIN
,
222
CAT_CAP
,
223
CAT_CONTROL
,
224
CAT_CURRENT
,
225
CAT_DC
,
226
CAT_DEPENDENCY
,
227
CAT_DOPING
,
228
CAT_FLICKER
,
229
CAT_GEOMETRY
,
230
CAT_INITIAL
,
231
CAT_NQS
,
232
CAT_MATERIAL
,
233
CAT_RADP
,
234
CAT_RES
,
235
CAT_PROCESS
,
236
CAT_RF
,
237
CAT_RAD
,
238
CAT_TEMP
,
239
CAT_TUNNEL
,
240
CAT_VBI
,
241
CAT_VOLT
,
242
CAT_ASYMRDS
,
243
CAT_IMPACT
,
244
CAT_GDLEAKAGE
,
245
CAT_MAX
,
// End of Categories
246
247
CAT_MASK
= 0xFF,
// Mask for extracting category from flags
248
249
// Start Flags
250
251
UNDOCUMENTED
= 0x100,
252
DEPRECATED
= 0x200,
253
POSITIONAL
= 0x400,
254
COMPATIBILITY
= 0x800
255
};
256
257
258
struct
UnitInfo
259
{
260
ParameterUnit
Unit
;
261
ParameterUnit
UnitM
;
262
const
char
*
description
;
263
const
char
*
doc
;
264
};
265
266
267
struct
StdDescription
268
{
269
const
char
*
Name
;
270
ParameterUnit
Unit
;
271
ParameterCategory
Category
;
272
const
char
*
Description
;
273
};
274
275
extern
UnitInfo
unitTable
[];
276
extern
StdDescription
descriptionTable
[];
277
extern
size_t
unitTableSize
;
278
extern
size_t
descriptionTableSize
;
279
280
}
// namespace Units
281
}
// namespace Device
282
}
// namespace Xyce
283
284
namespace
N_DEV_Units = Xyce::Device;
285
286
using namespace
Xyce::Device::Units;
287
288
#endif // Xyce_N_DEV_Units_h
src
DeviceModelPKG
Core
include
N_DEV_Units.h
Generated on Mon Mar 24 2014 10:54:39 for Xyce by
1.8.3.1