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.14 $
35 // Revision Date : $Date: 2014/02/24 23:49:12 $
36 // Current Owner : $Author: tvrusso $
37 //-----------------------------------------------------------------------------
38 #include <Xyce_config.h>
39 
40 // ---------- Standard Includes ----------
41 
42 
43 // ---------- Xyce Includes ----------
44 #include <N_ANP_AnalysisManager.h>
45 #include <N_TIA_DataStore.h>
46 #include <N_LOA_Loader.h>
47 #include <N_MPDE_Manager.h>
48 #include <N_IO_OutputMgr.h>
49 
50 #include <N_IO_CmdParse.h>
51 
52 #include<N_ANP_MPDE.h>
53 
54 namespace Xyce {
55 namespace Analysis {
56 
57 //-----------------------------------------------------------------------------
58 // Function : MPDE::MPDE( AnalysisManager * )
59 // Purpose :
60 // Special Notes :
61 // Scope : public
62 // Creator : Rich Schiek, SNL
63 // Creation Date : 3/11/06
64 //-----------------------------------------------------------------------------
65 MPDE::MPDE( AnalysisManager * anaManagerPtr ) :
66  AnalysisBase(anaManagerPtr),
67  isPaused(false),
68  startDCOPtime(0.0),
69  endTRANtime(0.0)
70 {
71  devInterfacePtr_ = anaManagerRCPtr_->devInterfacePtr;
72  topoMgrPtr_ = anaManagerRCPtr_->topoMgrPtr;
73  nonlinearEquationLoaderPtr_ = anaManagerRCPtr_->nonlinearEquationLoaderPtr;
74  appBuilderPtr_ = anaManagerRCPtr_->appBuilderPtr;
75 }
76 
77 //-----------------------------------------------------------------------------
78 // Function : MPDE::run()
79 // Purpose :
80 // Special Notes :
81 // Scope : public
82 // Creator : Rich Schiek, SNL
83 // Creation Date : 3/11/06
84 //-----------------------------------------------------------------------------
85 bool MPDE::run()
86 {
87  anaManagerRCPtr_->getMPDEManager()->run();
88  return true;
89 }
90 
91 //-----------------------------------------------------------------------------
92 // Function : MPDE::init()
93 // Purpose :
94 // Special Notes :
95 // Scope : public
96 // Creator : Rich Schiek, SNL
97 // Creation Date : 3/11/06
98 //-----------------------------------------------------------------------------
99 bool MPDE::init()
100 {
101  return false;
102 }
103 
104 //-----------------------------------------------------------------------------
105 // Function : MPDE::loopProcess()
106 // Purpose : Conduct the time stepping loop.
107 // Special Notes :
108 // Scope : public
109 // Creator : Rich Schiek, SNL
110 // Creation Date : 3/11/06
111 //-----------------------------------------------------------------------------
113 {
114  return false;
115 }
116 
117 //-----------------------------------------------------------------------------
118 // Function : MPDE::processSuccessfulDCOP()
119 // Purpose :
120 // Special Notes :
121 // Scope : public
122 // Creator : Rich Schiek, SNL
123 // Creation Date : 3/11/06
124 //-----------------------------------------------------------------------------
126 {
127  return false;
128 }
129 
130 //-----------------------------------------------------------------------------
131 // Function : MPDE::processSuccessfulStep()
132 // Purpose :
133 // Special Notes :
134 // Scope : public
135 // Creator : Rich Schiek, SNL
136 // Creation Date : 3/11/06
137 //-----------------------------------------------------------------------------
139 {
140  return false;
141 }
142 
143 //-----------------------------------------------------------------------------
144 // Function : MPDE::processFailedStep
145 // Purpose :
146 // Special Notes :
147 // Scope : public
148 // Creator : Rich Schiek, SNL
149 // Creation Date : 3/11/06
150 //-----------------------------------------------------------------------------
152 {
153  return false;
154 }
155 
156 //-----------------------------------------------------------------------------
157 // Function : MPDE::processFailedDCOP
158 // Purpose :
159 // Special Notes :
160 // Scope : public
161 // Creator : Rich Schiek, SNL
162 // Creation Date : 3/11/06
163 //-----------------------------------------------------------------------------
165 {
166  return false;
167 }
168 
169 //-----------------------------------------------------------------------------
170 // Function : MPDE::finish
171 // Purpose :
172 // Special Notes :
173 // Scope : public
174 // Creator : Rich Schiek, SNL
175 // Creation Date : 3/11/06
176 //-----------------------------------------------------------------------------
178 {
179  return false;
180 }
181 
183 {
184  return true;
185 }
186 
187 //-----------------------------------------------------------------------------
188 // Function : MPDE::resetForStepAnalysis()
189 // Purpose : When doing a .STEP sweep, some data must be reset to its
190 // initial state.
191 // Special Notes :
192 // Scope : public
193 // Creator : Eric Keiter, SNL, Parallel Computational Sciences
194 // Creation Date : 8/26/04
195 //-----------------------------------------------------------------------------
197 {
199  return false;
200 }
201 
202 
203 //-----------------------------------------------------------------------------
204 // Function : MPDE::finalVerboseOutput
205 // Purpose :
206 // Special Notes :
207 // Scope : public
208 // Creator : Rich Schiek, SNL
209 // Creation Date : 3/11/06
210 //-----------------------------------------------------------------------------
212 {
213  return false;
214 }
215 
216 //-----------------------------------------------------------------------------
217 // Function : MPDE::takeAnIntegrationStep_
218 // Purpose : Take a transient integration step.
219 // Special Notes :
220 // Scope : private
221 // Creator : Richard Schiek, SNL, Electrical and Microsystem Modeling
222 // Creation Date : 01/24/08
223 //-----------------------------------------------------------------------------
225 {
226 }
227 
228 } // namespace Analysis
229 } // namespace Xyce