Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
N_TIA_TimeIntInfo.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_TIA_TimeIntInfo.h,v $
27 // Purpose :
28 // Special Notes :
29 // Creator : Eric Keiter
30 // Creation Date : 1/29/07
31 // Revision Information:
32 // ---------------------
33 //
34 // Revision Number: $Revision: 1.17 $
35 //
36 // Revision Date : $Date: 2014/07/16 17:32:41 $
37 //
38 // Current Owner : $Author: dgbaur $
39 //-----------------------------------------------------------------------------
40 
41 #ifndef Xyce_N_TIA_TIME_INT_INFO_H
42 #define Xyce_N_TIA_TIME_INT_INFO_H
43 
44 // ---------- Standard Declarations ----------
45 #include <iosfwd>
46 
47 // ---------- Forward Declarations ----------
48 
49 
50 //-----------------------------------------------------------------------------
51 // Class : N_TIA_TimeIntInfo
52 //
53 // Purpose : This class contains time integration info that needs to
54 // be passed from the time integration package to other
55 // parts of Xyce.
56 //
57 // Special Notes :
58 // Creator : Eric Keiter, SNL
59 // Creation Date : 1/29/07
60 //-----------------------------------------------------------------------------
62 {
63 public:
65  currentOrder(1),
66  numberOfSteps(0),
67  usedOrder(1),
68  nscsco(0),
69  pdt(0.0),
70  nextTimeStep(0.0),
71  currTimeStep(0.0),
72  currentTime(0.0),
73  nextTime(0.0),
74  finalTime(0.0),
75  startingTimeStep(0.0),
76  bpTol(0.0),
77  dcopFlag(false),
78  acopFlag(false),
79  inputOPFlag(false),
80  tranopFlag(false),
81  transientFlag(false),
82  dcsweepFlag(false),
83  timeStepNumber(0),
84  initTranFlag(false),
85  beginIntegrationFlag(false),
86  doubleDCOPStep(0),
87  doubleDCOPEnabled(false),
88  stepLoopIter(0),
89  timeIntMode(0),
90  sweepSourceResetFlag(false)
91  {}
92 
93  virtual ~N_TIA_TimeIntInfo() {}
94 
97  int usedOrder;
98  int nscsco;
99 
100  double pdt;
101  double nextTimeStep;
102  double currTimeStep;
103  double currentTime;
104  double nextTime;
105  double finalTime;
107  double bpTol;
108  bool dcopFlag;
109  bool acopFlag;
122 };
123 
124 //-----------------------------------------------------------------------------
125 // Function : operator<<
126 // Purpose : "<<" operator for two-level info class.
127 // Special Notes :
128 // Scope : public
129 // Creator : Eric R. Keiter, SNL, Parallel Computational Sciences
130 // Creation Date : 1/29/07
131 //-----------------------------------------------------------------------------
132 std::ostream & operator<<(std::ostream & os, const N_TIA_TimeIntInfo & tiInfo);
133 
134 #endif // Xyce_N_TIA_TIME_INT_INFO_H
135 
136