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_Source.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_Source.h,v $
27
//
28
// Purpose : Source base lasses.
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.26 $
40
//
41
// Revision Date : $Date: 2014/04/03 19:19:24 $
42
//
43
// Current Owner : $Author: dgbaur $
44
//-----------------------------------------------------------------------------
45
46
#ifndef Xyce_N_DEV_Source_h
47
#define Xyce_N_DEV_Source_h
48
49
// ---------- Xyce Includes ----------
50
#include <
N_DEV_fwd.h
>
51
#include <
N_DEV_Device.h
>
52
#include <
N_DEV_DeviceInstance.h
>
53
54
namespace
Xyce {
55
namespace
Device {
56
57
//-----------------------------------------------------------------------------
58
// Class : SourceInstance
59
// Purpose :
60
// Special Notes :
61
// Creator : Eric Keiter
62
// Creation Date : 3/27/04
63
//-----------------------------------------------------------------------------
64
class
SourceInstance
:
public
DeviceInstance
65
{
66
public
:
67
SourceInstance
(
68
const
InstanceBlock
& IB,
69
ParametricData<void>
& parametric_data,
70
const
FactoryBlock
& factory_block);
71
72
~SourceInstance
();
73
74
private
:
75
SourceInstance
(
const
SourceInstance
&);
76
SourceInstance
&
operator=
(
const
SourceInstance
&);
77
78
public
:
79
// Additional Public Declarations
80
void
setFastSourceFlag
(
bool
value
);
81
bool
getFastSourceFlag
();
82
83
bool
getResetFlag
();
84
85
double
period
();
86
87
virtual
bool
getInstanceBreakPoints
(std::vector<N_UTL_BreakPoint> &breakPointTimes);
88
virtual
bool
updateSource
();
89
90
virtual
bool
loadBVectorsforAC
(
double
* bVecReal,
double
* bVecImag ) {
91
return
true
;
92
}
93
94
protected
:
95
// Additional Protected Declarations
96
int
sourceType
;
// type of source data
97
SourceData
*
tranSourceData_
;
98
SourceData
*
acSourceData_
;
99
SourceData
*
dcSourceData_
;
100
};
101
102
}
// namespace Device
103
}
// namespace Xyce
104
105
typedef
Xyce::Device::SourceInstance
N_DEV_SourceInstance
;
106
107
#endif
src
DeviceModelPKG
Core
include
N_DEV_Source.h
Generated on Thu Sep 25 2014 15:20:29 for Xyce by
1.8.3.1