Xyce  6.1
 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  {
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 //-----------------------------------------------------------------------------
91 {
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 {
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
196 {
197  return false;
198 }
199 
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 //-----------------------------------------------------------------------------
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 //-----------------------------------------------------------------------------
227 {
228 }
229 
230 } // namespace Analysis
231 } // namespace Xyce