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_ArtificialParameters.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-2014 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_ArtificialParameters.h,v $
27
//
28
// Purpose : Implement the MOSFET Level 1 static model
29
//
30
// Special Notes :
31
//
32
// Creator : Eric R. Keiter, SNL, Parallel Computational Sciences
33
//
34
// Creation Date : 02/28/00
35
//
36
// Revision Information:
37
// ---------------------
38
//
39
// Revision Number: $Revision: 1.1 $
40
//
41
// Revision Date : $Date: 2014/04/28 21:48:23 $
42
//
43
// Current Owner : $Author: dgbaur $
44
//-------------------------------------------------------------------------
45
46
#ifndef Xyce_N_DEV_ArtificialParameters_h
47
#define Xyce_N_DEV_ArtificialParameters_h
48
49
#include <Xyce_config.h>
50
51
#include <vector>
52
53
#include <
N_DEV_fwd.h
>
54
55
namespace
Xyce {
56
namespace
Device {
57
namespace
ArtificialParameters {
58
59
typedef
std::vector<DeviceInstance *>
InstanceVector
;
60
typedef
std::map<ModelTypeId, InstanceVector>
ModelTypeInstanceVectorMap
;
61
62
struct
ArtificialParameter
63
{
64
SolverState
&
getSolverState
(
DeviceMgr
&device_manager);
65
const
SolverState
&
getSolverState
(
const
DeviceMgr
&device_manager)
const
;
66
DeviceOptions
&
getDeviceOptions
(
DeviceMgr
&device_manager);
67
const
DeviceOptions
&
getDeviceOptions
(
const
DeviceMgr
&device_manager)
const
;
68
ModelTypeInstanceVectorMap
&
getModelTypeInstanceVectorMap
(
DeviceMgr
&device_manager);
69
const
ModelTypeInstanceVectorMap
&
getModelTypeInstanceVectorMap
(
const
DeviceMgr
&device_manager)
const
;
70
InstanceVector
&
getInstanceVector
(
DeviceMgr
&device_manager);
71
const
InstanceVector
&
getInstanceVector
(
const
DeviceMgr
&device_manager)
const
;
72
73
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
) = 0;
74
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
= 0;
75
};
76
77
struct
MOSFETGainScaleParam
:
public
ArtificialParameter
78
{
79
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
80
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
81
};
82
83
struct
MOSFETNLTermScaleParam
:
public
ArtificialParameter
84
{
85
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
86
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
87
};
88
89
struct
MOSFETLParam
:
public
ArtificialParameter
90
{
91
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
92
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
93
};
94
95
struct
MOSFETWParam
:
public
ArtificialParameter
96
{
97
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
98
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
99
};
100
101
struct
MOSFETSizeScaleParam
:
public
ArtificialParameter
102
{
103
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
104
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
105
};
106
107
struct
MOSFETTOXParam
:
public
ArtificialParameter
108
{
109
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
110
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
111
};
112
113
struct
BJTBFParam
:
public
ArtificialParameter
114
{
115
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
116
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
117
};
118
119
struct
BJTNFParam
:
public
ArtificialParameter
120
{
121
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
122
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
123
};
124
125
struct
BJTNRParam
:
public
ArtificialParameter
126
{
127
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
128
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
129
};
130
131
struct
BJTExpOrdParam
:
public
ArtificialParameter
132
{
133
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
134
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
135
};
136
137
struct
DiodeNParam
:
public
ArtificialParameter
138
{
139
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
140
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
141
};
142
143
struct
VsrcScaleParam
:
public
ArtificialParameter
144
{
145
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
146
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
147
};
148
149
struct
PDEAlphaParam
:
public
ArtificialParameter
150
{
151
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
152
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
153
};
154
155
struct
PDEBetaParam
:
public
ArtificialParameter
156
{
157
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
158
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
159
};
160
161
struct
PDEChargeAlphaParam
:
public
ArtificialParameter
162
{
163
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
164
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
165
};
166
167
struct
GSteppingParam
:
public
ArtificialParameter
168
{
169
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
170
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
171
};
172
173
struct
GMinParam
:
public
ArtificialParameter
174
{
175
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
176
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
177
};
178
179
struct
TempParam
:
public
ArtificialParameter
180
{
181
virtual
bool
setValue
(
DeviceMgr
&device_manager,
double
value
);
182
virtual
double
getValue
(
const
DeviceMgr
&device_manager)
const
;
183
};
184
185
}
// namespace ArtificialParameters
186
}
// namespace Device
187
}
// namespace Xyce
188
189
#endif // Xyce_N_DEV_ArtificialParameters_h
src
DeviceModelPKG
OpenModels
include
N_DEV_ArtificialParameters.h
Generated on Thu Sep 25 2014 15:20:24 for Xyce by
1.8.3.1