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_ANP_MPDE.C
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_ANP_MPDE.C,v $
27
// Purpose : MPDE analysis functions.
28
// Special Notes :
29
// Creator : Todd Coffey, 1414, Ting Mei, 1437
30
// Creation Date : 07/23/08
31
//
32
// Revision Information:
33
// ---------------------
34
// Revision Number: $Revision: 1.19 $
35
// Revision Date : $Date: 2014/07/23 20:30:56 $
36
// Current Owner : $Author: dgbaur $
37
//-----------------------------------------------------------------------------
38
#include <Xyce_config.h>
39
40
#include <
N_ANP_AnalysisManager.h
>
41
#include <
N_TIA_DataStore.h
>
42
#include <N_LOA_Loader.h>
43
#include <N_MPDE_Manager.h>
44
#include <N_IO_OutputMgr.h>
45
46
#include <N_IO_CmdParse.h>
47
48
#include<
N_ANP_MPDE.h
>
49
50
namespace
Xyce {
51
namespace
Analysis {
52
53
//-----------------------------------------------------------------------------
54
// Function : MPDE::MPDE( AnalysisManager * )
55
// Purpose :
56
// Special Notes :
57
// Scope : public
58
// Creator : Rich Schiek, SNL
59
// Creation Date : 3/11/06
60
//-----------------------------------------------------------------------------
61
MPDE::MPDE
(
AnalysisManager
&analysis_manager)
62
:
AnalysisBase
(analysis_manager),
63
Util::ListenerAutoSubscribe<
StepEvent
>(&analysis_manager),
64
isPaused(false),
65
startDCOPtime(0.0),
66
endTRANtime(0.0)
67
{
68
// devInterfacePtr_ = analysisManager_.devInterfacePtr_;
69
// topoMgrPtr_ = analysisManager_.topoMgrPtr_;
70
// nonlinearEquationLoaderPtr_ = analysisManager_.nonlinearEquationLoaderPtr_;
71
// appBuilderPtr_ = analysisManager_.appBuilderPtr_;
72
}
73
74
void
MPDE::notify
(
const
StepEvent
&event)
75
{
76
if
(event.
state_
==
StepEvent::STEP_STARTED
)
77
{
78
AnalysisBase::resetForStepAnalysis
();
79
}
80
}
81
82
//-----------------------------------------------------------------------------
83
// Function : MPDE::getDCOPFlag()
84
// Purpose :
85
// Special Notes :
86
// Scope : public
87
// Creator : Eric Keiter, SNL
88
// Creation Date : 3/24/2014
89
//-----------------------------------------------------------------------------
90
bool
MPDE::getDCOPFlag
()
91
{
92
return
((
getIntegrationMethod
())==
TIAMethod_NONE
);
93
}
94
95
//-----------------------------------------------------------------------------
96
// Function : MPDE::run()
97
// Purpose :
98
// Special Notes :
99
// Scope : public
100
// Creator : Rich Schiek, SNL
101
// Creation Date : 3/11/06
102
//-----------------------------------------------------------------------------
103
bool
MPDE::run
()
104
{
105
analysisManager_
.
getMPDEManager
()->run();
106
return
true
;
107
}
108
109
//-----------------------------------------------------------------------------
110
// Function : MPDE::init()
111
// Purpose :
112
// Special Notes :
113
// Scope : public
114
// Creator : Rich Schiek, SNL
115
// Creation Date : 3/11/06
116
//-----------------------------------------------------------------------------
117
bool
MPDE::init
()
118
{
119
return
false
;
120
}
121
122
//-----------------------------------------------------------------------------
123
// Function : MPDE::loopProcess()
124
// Purpose : Conduct the time stepping loop.
125
// Special Notes :
126
// Scope : public
127
// Creator : Rich Schiek, SNL
128
// Creation Date : 3/11/06
129
//-----------------------------------------------------------------------------
130
bool
MPDE::loopProcess
()
131
{
132
return
false
;
133
}
134
135
//-----------------------------------------------------------------------------
136
// Function : MPDE::processSuccessfulDCOP()
137
// Purpose :
138
// Special Notes :
139
// Scope : public
140
// Creator : Rich Schiek, SNL
141
// Creation Date : 3/11/06
142
//-----------------------------------------------------------------------------
143
bool
MPDE::processSuccessfulDCOP
()
144
{
145
return
false
;
146
}
147
148
//-----------------------------------------------------------------------------
149
// Function : MPDE::processSuccessfulStep()
150
// Purpose :
151
// Special Notes :
152
// Scope : public
153
// Creator : Rich Schiek, SNL
154
// Creation Date : 3/11/06
155
//-----------------------------------------------------------------------------
156
bool
MPDE::processSuccessfulStep
()
157
{
158
return
false
;
159
}
160
161
//-----------------------------------------------------------------------------
162
// Function : MPDE::processFailedStep
163
// Purpose :
164
// Special Notes :
165
// Scope : public
166
// Creator : Rich Schiek, SNL
167
// Creation Date : 3/11/06
168
//-----------------------------------------------------------------------------
169
bool
MPDE::processFailedStep
()
170
{
171
return
false
;
172
}
173
174
//-----------------------------------------------------------------------------
175
// Function : MPDE::processFailedDCOP
176
// Purpose :
177
// Special Notes :
178
// Scope : public
179
// Creator : Rich Schiek, SNL
180
// Creation Date : 3/11/06
181
//-----------------------------------------------------------------------------
182
bool
MPDE::processFailedDCOP
()
183
{
184
return
false
;
185
}
186
187
//-----------------------------------------------------------------------------
188
// Function : MPDE::finish
189
// Purpose :
190
// Special Notes :
191
// Scope : public
192
// Creator : Rich Schiek, SNL
193
// Creation Date : 3/11/06
194
//-----------------------------------------------------------------------------
195
bool
MPDE::finish
()
196
{
197
return
false
;
198
}
199
200
bool
MPDE::handlePredictor
()
201
{
202
return
true
;
203
}
204
205
//-----------------------------------------------------------------------------
206
// Function : MPDE::finalVerboseOutput
207
// Purpose :
208
// Special Notes :
209
// Scope : public
210
// Creator : Rich Schiek, SNL
211
// Creation Date : 3/11/06
212
//-----------------------------------------------------------------------------
213
bool
MPDE::finalVerboseOutput
()
214
{
215
return
false
;
216
}
217
218
//-----------------------------------------------------------------------------
219
// Function : MPDE::takeAnIntegrationStep_
220
// Purpose : Take a transient integration step.
221
// Special Notes :
222
// Scope : private
223
// Creator : Richard Schiek, SNL, Electrical and Microsystem Modeling
224
// Creation Date : 01/24/08
225
//-----------------------------------------------------------------------------
226
void
MPDE::takeAnIntegrationStep_
()
227
{
228
}
229
230
}
// namespace Analysis
231
}
// namespace Xyce
src
AnalysisPKG
src
N_ANP_MPDE.C
Generated on Thu Sep 25 2014 15:20:21 for Xyce by
1.8.3.1