47 #include <Xyce_config.h>
50 #include <N_UTL_Misc.h>
62 #include <N_ERH_ErrorMgr.h>
63 #include <N_LAS_BlockVector.h>
64 #include <N_LAS_Matrix.h>
65 #include <N_LAS_System.h>
66 #include <N_LAS_Vector.h>
67 #include <N_PDS_Comm.h>
68 #include <N_PDS_Manager.h>
129 #ifdef Xyce_DEBUG_TIME
130 Xyce::dout().width(21); Xyce::dout().precision(13); Xyce::dout().setf(std::ios::scientific);
134 Xyce::dout() << std::endl
135 << Xyce::section_divider << std::endl
136 <<
" N_TIA_Gear12::obtainPredictor" << std::endl
138 <<
"\n sec.nscsco_: " <<
sec.
nscsco_ << std::endl;
140 Xyce::dout() <<
"\n sec.beta_[" << i <<
"] = " <<
sec.
beta_[i] <<
"\n" << std::endl;
143 Xyce::dout() <<
"\n xHistory["<< i <<
"]: \n" << std::endl;
144 (
ds.
xHistory[i])->printPetraObject(Xyce::dout());
145 Xyce::dout() << std::endl;
149 Xyce::dout() <<
"\n qHistory["<< i <<
"]: \n" << std::endl;
150 (
ds.
qHistory[i])->printPetraObject(Xyce::dout());
151 Xyce::dout() << std::endl;
155 Xyce::dout() <<
"\n sHistory["<< i <<
"]: \n" << std::endl;
156 (
ds.
sHistory[i])->printPetraObject(Xyce::dout());
157 Xyce::dout() << std::endl;
159 Xyce::dout() <<
"\n xn0: \n" << std::endl;
160 ds.
xn0Ptr->printPetraObject(Xyce::dout());
161 Xyce::dout() << std::endl;
162 Xyce::dout() <<
"\n qn0: \n" << std::endl;
163 ds.
qn0Ptr->printPetraObject(Xyce::dout());
164 Xyce::dout() << std::endl;
165 Xyce::dout() <<
"\n qpn0: \n" << std::endl;
166 ds.
qpn0Ptr->printPetraObject(Xyce::dout());
167 Xyce::dout() << std::endl;
168 Xyce::dout() <<
"\n sn0: \n" << std::endl;
169 ds.
sn0Ptr->printPetraObject(Xyce::dout());
170 Xyce::dout() << std::endl;
171 Xyce::dout() <<
"\n spn0: \n" << std::endl;
172 ds.
spn0Ptr->printPetraObject(Xyce::dout());
173 Xyce::dout() << std::endl;
174 Xyce::dout() << Xyce::section_divider << std::endl;
176 #endif // Xyce_DEBUG_TIME
196 for (
int ip=0; ip<numParams;++ip)
198 std::vector<N_LAS_Vector*> & dqdpHistory =
ds.
dqdpHistory[ip];
199 std::vector<N_LAS_Vector*> & dXdpHistory =
ds.
dXdpHistory[ip];
208 dXdpn0Ptr->putScalar(0.0);
209 dqdpn0Ptr->putScalar(0.0);
235 #ifdef Xyce_DEBUG_TIME
238 Xyce::dout() << std::endl
239 << Xyce::section_divider << std::endl
240 <<
" N_TIA_Gear12::obtainResidual" << std::endl
242 <<
"\n solution: \n" << std::endl;
244 Xyce::dout() <<
"\n daeQVector: \n" << std::endl;
246 Xyce::dout() <<
"\n qn0: \n" << std::endl;
247 ds.
qn0Ptr->printPetraObject(Xyce::dout());
248 Xyce::dout() <<
"\n qpn0: \n" << std::endl;
249 ds.
qpn0Ptr->printPetraObject(Xyce::dout());
251 <<
"\n daeFVector: \n" << std::endl;
254 Xyce::dout() <<
"\n dQdt-vector: \n" << std::endl;
256 Xyce::dout() << std::endl;
266 #ifdef SEPARATE_F_AND_B
286 #ifdef Xyce_DEBUG_TIME
289 Xyce::dout() <<
"\n Residual-vector: \n" << std::endl
290 <<
"-(qpn0-(sec.alpha_s/h)*(Q-qn0)+F-B) \n" << std::endl;
292 Xyce::dout() << Xyce::section_divider << std::endl
310 for (
int ip=0; ip<numParams;++ip)
320 std::vector<N_LAS_Vector*> & dqdpHistoryVec =
ds.
dqdpHistory[ip];
329 RHSVec.linearCombo(1.0, RHSVec,
sec.
alpha_[2],*(dqdpHistoryVec[1]));
333 #ifdef SEPARATE_F_AND_B
334 RHSVec.linearCombo(1.0,RHSVec,-1.0,dbdpVec);
343 RHSVec.linearCombo(1.0,RHSVec, -qscalar1, currDQdxDXdpVec);
348 RHSVec.linearCombo(1.0,RHSVec, -qscalar2, lastDQdxDXdpVec);
352 Xyce::dout() <<
"obtainSensitivityResiduals: RHS Vector, ip = " << ip <<
":\n";
353 RHSVec.printPetraObject(Xyce::dout());
369 #ifdef Xyce_DEBUG_TIME
372 Xyce::dout() << std::endl
373 << Xyce::section_divider << std::endl
374 <<
" N_TIA_Gear12::obtainJacobian" << std::endl;
391 Jac.linearCombo( qscalar, dQdx, fscalar, dFdx );
393 #ifdef Xyce_DEBUG_TIME
396 Xyce::dout() <<
"\n dFdx:" <<std::endl;
397 dFdx.printPetraObject(Xyce::dout());
398 Xyce::dout() <<
"\n Total Jacobian:" <<std::endl;
399 Jac.printPetraObject(Xyce::dout());
405 Xyce::dout() << Xyce::section_divider << std::endl << std::endl;
418 N_LAS_Vector * tmpSolVectorPtr, std::vector<N_LAS_Vector*> & historyVec)
425 if( -dtr < 100 * N_UTL_MachineDependentParams::MachinePrecision() )
427 *tmpSolVectorPtr = *(historyVec[0]);
431 tmpSolVectorPtr->linearCombo(1.0, *(historyVec[0]), -1.0, *(historyVec[1]));
438 tmpSolVectorPtr->linearCombo(1.0, *(historyVec[0]), dtr, *tmpSolVectorPtr);
461 N_LAS_Vector * tmpSolVectorPtr)
463 N_LAS_BlockVector * blockTempSolVectorPtr =
464 dynamic_cast<N_LAS_BlockVector*
>(tmpSolVectorPtr);
465 if (blockTempSolVectorPtr == NULL)
467 std::string msg =
"N_TIA_Gear12::interpolateMPDESolution: ";
468 msg +=
"N_LAS_Vector tmpSolVectorPtr is not of type N_LAS_BlockVector";
469 N_ERH_ErrorMgr::report(N_ERH_ErrorMgr::DEV_FATAL_0, msg);
475 int numblocks = timepoint.size();
476 int blockCount = blockTempSolVectorPtr->blockCount();
477 if (numblocks > blockCount)
479 std::string msg =
"N_TIA_Gear12::interpolateMPDESolution: ";
480 msg +=
"Number of time points requested is greater than number of fast time points in MPDE block vector";
481 N_ERH_ErrorMgr::report(N_ERH_ErrorMgr::DEV_FATAL_0, msg);
494 tfuzz = 100 * uround * (tn + hh);
495 tp = tn - hused - tfuzz;
496 for (
int i=0; i<numblocks ; ++i)
498 if ( (timepoint[i] - tp)*hh < 0.0 )
504 N_LAS_Vector * solVectorPtr;
505 N_LAS_Vector * xHistoryVectorPtr;
507 for (
int i=0; i < numblocks ; ++i)
509 if ((kused == 0) || (timepoint[i] == tn)) { kord = 1; }
510 else { kord = kused; }
511 solVectorPtr = &(blockTempSolVectorPtr->block(i));
513 delt = timepoint[i] - tn;
515 for (
int j=1 ; j <= kord ; ++j)
519 N_LAS_BlockVector * blockXHistoryVectorPtr =
520 dynamic_cast<N_LAS_BlockVector*>(
ds.
xHistory[j]);
521 if (blockXHistoryVectorPtr == NULL)
523 Xyce::Report::DevelFatal0().in(
"N_TIA_Gear12::interpolateMPDESolution") <<
"N_LAS_Vector ds.xHistory[j] is not of type N_LAS_BlockVector\n j = " << j;
526 xHistoryVectorPtr = &(blockXHistoryVectorPtr->block(i));
527 solVectorPtr->linearCombo(1.0,*solVectorPtr,c,*xHistoryVectorPtr);
544 N_LAS_Vector * solnVecPtr,
545 const std::vector<double> & fastTimes )
821 N_LAS_Vector * solnVecPtr,
822 const std::vector<double> & fastTimes,
1132 N_LAS_Vector * solnVecPtr,
1133 const bool doNotInterpolate,
1134 const std::vector<double> &outputInterpolationTimes,
1135 bool skipPrintLineOutput)
1137 #ifdef Xyce_DEBUG_TIME
1140 Xyce::dout() << std::endl
1141 << Xyce::section_divider << std::endl
1142 <<
" N_TIA_Gear12::printOutputSolution" << std::endl
1145 #endif // Xyce_DEBUG_TIME
1148 bool dointerp =
true;
1161 if (doNotInterpolate)
1166 if (dointerp && !outputInterpolationTimes.empty())
1168 for (
unsigned int i=0;i<outputInterpolationTimes.size();++i)
1177 skipPrintLineOutput);
1184 if (outputInterpolationTimes.empty() || doNotInterpolate)
1190 skipPrintLineOutput);
1193 #ifdef Xyce_DEBUG_TIME
1194 Xyce::dout() << Xyce::section_divider << std::endl;
1195 #endif // Xyce_DEBUG_TIME
1210 N_LAS_Vector * solnVecPtr,
1211 const double saveTime,
1212 const bool doNotInterpolate)
1214 #ifdef Xyce_DEBUG_TIME
1217 Xyce::dout() << std::endl
1218 << Xyce::section_divider << std::endl
1219 <<
" N_TIA_Gear12::saveOutputSolution" << std::endl;
1221 #endif // Xyce_DEBUG_TIME
1225 bool dointerp =
true;
1230 #ifdef Xyce_DEBUG_TIME
1231 Xyce::dout() << Xyce::section_divider << std::endl;
1232 #endif // Xyce_DEBUG_TIME
1246 #ifdef Xyce_DEBUG_TIME
1249 Xyce::dout() << std::endl
1250 << Xyce::section_divider << std::endl
1251 <<
" N_TIA_Gear12::updateHistory" << std::endl
1252 <<
"\n Before updates \n" << std::endl;
1255 Xyce::dout() <<
"\n xHistory["<< i <<
"]: \n" << std::endl;
1256 (
ds.
xHistory[i])->printPetraObject(Xyce::dout());
1257 Xyce::dout() << std::endl;
1261 Xyce::dout() <<
"\n qHistory["<< i <<
"]: \n" << std::endl;
1262 (
ds.
qHistory[i])->printPetraObject(Xyce::dout());
1263 Xyce::dout() << std::endl;
1267 Xyce::dout() <<
"\n sHistory["<< i <<
"]: \n" << std::endl;
1268 (
ds.
sHistory[i])->printPetraObject(Xyce::dout());
1269 Xyce::dout() << std::endl;
1271 Xyce::dout() << Xyce::section_divider << std::endl;
1273 #endif // Xyce_DEBUG_TIME
1292 #ifdef Xyce_DEBUG_TIME
1295 Xyce::dout() <<
"\n After updates \n" << std::endl;
1296 Xyce::dout() <<
"\n newtonCorrectionPtr: " << std::endl;
1298 Xyce::dout() <<
"\n qnewtonCorrectionPtr: " << std::endl;
1302 Xyce::dout() <<
"\n xHistory["<< i <<
"]: \n" << std::endl;
1303 (
ds.
xHistory[i])->printPetraObject(Xyce::dout());
1304 Xyce::dout() << std::endl;
1308 Xyce::dout() <<
"\n qHistory["<< i <<
"]: \n" << std::endl;
1309 (
ds.
qHistory[i])->printPetraObject(Xyce::dout());
1310 Xyce::dout() << std::endl;
1312 Xyce::dout() <<
"\n sNewtonCorrectionPtr: " << std::endl;
1314 Xyce::dout() << std::endl;
1315 Xyce::dout() <<
"\n nextStatePtr: " << std::endl;
1317 Xyce::dout() << std::endl;
1320 Xyce::dout() <<
"\n sHistory["<< i <<
"]: \n" << std::endl;
1321 (
ds.
sHistory[i])->printPetraObject(Xyce::dout());
1322 Xyce::dout() << std::endl;
1324 Xyce::dout() << Xyce::section_divider << std::endl;
1326 #endif // Xyce_DEBUG_TIME
1342 for (
int ip=0; ip<numParams;++ip)
1344 std::vector<N_LAS_Vector*> & dqdpHistory =
ds.
dqdpHistory[ip];
1345 std::vector<N_LAS_Vector*> & dXdpHistory =
ds.
dXdpHistory[ip];
1354 *(dQdxdXdpHistory[2]) = *(dQdxdXdpHistory[1]);
1355 *(dXdpHistory[2]) = *(dXdpHistory[1]);
1356 *(dqdpHistory[1]) = *(dqdpHistory[0]);
1359 *(dQdxdXdpHistory[1]) = *(dQdxdXdpHistory[0]);
1360 *(dXdpHistory[1]) = *(dXdpHistory[0]);
1362 *(dQdxdXdpHistory[0]) = nextDQdxDXdpVec;
1363 *(dXdpHistory[0]) = nextDXdpVec;
1364 *(dqdpHistory[0]) = nextDqdpVec;
1382 #ifdef Xyce_DEBUG_TIME
1385 Xyce::dout() << std::endl
1386 << Xyce::section_divider << std::endl
1387 <<
" N_TIA_Gear12::restoreHistory" << std::endl;
1389 Xyce::dout() <<
"\n sec.psi_[i] = " <<
sec.
psi_[i] << std::endl;
1392 Xyce::dout() <<
"\n xHistory["<< i <<
"]: \n" << std::endl;
1393 (
ds.
xHistory[i])->printPetraObject(Xyce::dout());
1394 Xyce::dout() << std::endl;
1398 Xyce::dout() <<
"\n qHistory["<< i <<
"]: \n" << std::endl;
1399 (
ds.
qHistory[i])->printPetraObject(Xyce::dout());
1400 Xyce::dout() << std::endl;
1404 Xyce::dout() <<
"\n sHistory["<< i <<
"]: \n" << std::endl;
1405 (
ds.
sHistory[i])->printPetraObject(Xyce::dout());
1406 Xyce::dout() << std::endl;
1408 Xyce::dout() << Xyce::section_divider << std::endl;
1410 #endif // Xyce_DEBUG_TIME
1425 #ifdef Xyce_DEBUG_TIME
1428 Xyce::dout() << std::endl
1429 << Xyce::section_divider << std::endl
1430 <<
" N_TIA_Gear12::updateCoeffs" << std::endl
1435 <<
" psi_[0] = " <<
sec.
psi_[0] << std::endl;
1481 #ifdef Xyce_DEBUG_TIME
1484 Xyce::dout() <<
" nscsco_ = " <<
sec.
nscsco_ << std::endl
1485 <<
" beta_[0] = " <<
sec.
beta_[0] << std::endl
1486 <<
" beta_[1] = " <<
sec.
beta_[1] << std::endl
1487 <<
" beta_[2] = " <<
sec.
beta_[2] << std::endl
1488 <<
" beta_[3] = " <<
sec.
beta_[3] << std::endl
1489 <<
" beta_[4] = " <<
sec.
beta_[4] << std::endl
1490 <<
" alpha_[0] = " <<
sec.
alpha_[0] << std::endl
1491 <<
" alpha_[1] = " <<
sec.
alpha_[1] << std::endl
1492 <<
" alpha_[2] = " <<
sec.
alpha_[2] << std::endl
1493 <<
" alpha_[3] = " <<
sec.
alpha_[3] << std::endl
1494 <<
" alpha_[4] = " <<
sec.
alpha_[4] << std::endl
1497 <<
" gamma_[0] = " <<
sec.
gamma_[0] << std::endl
1498 <<
" gamma_[1] = " <<
sec.
gamma_[1] << std::endl
1499 <<
" gamma_[2] = " <<
sec.
gamma_[2] << std::endl
1500 <<
" gamma_[3] = " <<
sec.
gamma_[3] << std::endl
1501 <<
" gamma_[4] = " <<
sec.
gamma_[4] << std::endl
1502 <<
" psi_[0] = " <<
sec.
psi_[0] << std::endl
1503 <<
" psi_[1] = " <<
sec.
psi_[1] << std::endl
1504 <<
" psi_[2] = " <<
sec.
psi_[2] << std::endl
1505 <<
" psi_[3] = " <<
sec.
psi_[3] << std::endl
1506 <<
" psi_[4] = " <<
sec.
psi_[4] << std::endl
1507 <<
" sigma_[0] = " <<
sec.
sigma_[0] << std::endl
1508 <<
" sigma_[1] = " <<
sec.
sigma_[1] << std::endl
1509 <<
" sigma_[2] = " <<
sec.
sigma_[2] << std::endl
1510 <<
" sigma_[3] = " <<
sec.
sigma_[3] << std::endl
1511 <<
" sigma_[4] = " <<
sec.
sigma_[4] << std::endl
1512 <<
" ck_ = " <<
sec.
ck_ << std::endl
1513 << Xyce::section_divider << std::endl;
1515 #endif // Xyce_DEBUG_TIME
1541 double currentTimeStep;
1547 currentTimeStep = 0.1 * time_to_stop;
1555 #ifdef Xyce_INCOMPLETE_2LEVEL_NORMS
1556 double dnorm_q = 0.0;
1580 if (rh>1.0) currentTimeStep = currentTimeStep/rh;
1605 #ifdef Xyce_VERBOSE_TIME
1608 Xyce::dout() <<
"ERROROPTION=1: DeltaT Grow = 2" <<
"\n" << std::endl
1609 <<
"ERROROPTION=1: DeltaT Cut = 0.125" <<
"\n" << std::endl
1610 <<
"ERROROPTION=1: NL MIN = " <<
tiaParams.
NLmin <<
"\n" << std::endl
1611 <<
"ERROROPTION=1: NL MAX = " <<
tiaParams.
NLmax <<
"\n" << std::endl
1612 <<
"ERROROPTION=1: DELMAX = " <<
sec.
maxTimeStep <<
"\n" << std::endl;
1614 #endif //Xyce_VERBOSE_TIME
1656 #ifdef Xyce_DEBUG_TIME
1659 Xyce::dout() << std::endl
1660 << Xyce::section_divider << std::endl
1661 <<
" N_TIA_Gear12::initialize" << std::endl
1662 <<
"\n xHistory: \n" << std::endl;
1663 (
ds.
xHistory[0])->printPetraObject(Xyce::dout());
1664 Xyce::dout() << std::endl;
1665 (
ds.
xHistory[1])->printPetraObject(Xyce::dout());
1666 Xyce::dout() << std::endl
1667 <<
"\n qHistory: \n" << std::endl;
1668 (
ds.
qHistory[0])->printPetraObject(Xyce::dout());
1669 Xyce::dout() << std::endl;
1670 (
ds.
qHistory[1])->printPetraObject(Xyce::dout());
1671 Xyce::dout() << std::endl
1672 <<
"\n sHistory: \n" << std::endl;
1673 (
ds.
sHistory[0])->printPetraObject(Xyce::dout());
1674 Xyce::dout() << std::endl;
1675 (
ds.
sHistory[1])->printPetraObject(Xyce::dout());
1676 Xyce::dout() << std::endl
1677 <<
"\n" <<
"currentTimeStep = " << currentTimeStep <<
"\n" << std::endl
1678 <<
"\n" <<
"time_to_stop = " << time_to_stop <<
"\n" << std::endl
1679 << Xyce::section_divider << std::endl;
1681 #endif // Xyce_DEBUG_TIME
1697 for (
int ip=0; ip<numParams;++ip)
1699 std::vector<N_LAS_Vector*> & dqdpHistory =
ds.
dqdpHistory[ip];
1700 std::vector<N_LAS_Vector*> & dXdpHistory =
ds.
dXdpHistory[ip];
1708 *(dQdxdXdpHistory[0]) = *(currDQdxDxdpPtr);
1709 *(dQdxdXdpHistory[1]) = *(currDQdxDxdpPtr);
1712 *(dXdpHistory[0]) = *(currDxdpPtr);
1713 *(dXdpHistory[1]) = *(currDxdpPtr);
1716 *(dqdpHistory[0]) = *(currDqdpPtr);
1717 *(dqdpHistory[1]) = *(currDqdpPtr);
1793 #ifdef Xyce_DEBUG_TIME
1796 Xyce::dout() << std::endl
1797 << Xyce::section_divider << std::endl
1798 <<
" N_TIA_Gear12::rejectStep" << std::endl;
1827 std::string msg =
"N_TIA_Gear12::rejectStep: ";
1828 msg +=
" Maximum number of local error test failures. ";
1829 N_ERH_ErrorMgr::report(N_ERH_ErrorMgr::DEV_FATAL_0, msg);
1871 #ifdef Xyce_DEBUG_TIME
1878 <<
" alpha_[0] = " <<
sec.
alpha_[0] << std::endl
1879 <<
" alpha_[1] = " <<
sec.
alpha_[1] << std::endl
1880 <<
" alpha_[2] = " <<
sec.
alpha_[2] << std::endl
1881 <<
" alpha_[3] = " <<
sec.
alpha_[3] << std::endl
1882 <<
" alpha_[4] = " <<
sec.
alpha_[4] << std::endl
1883 <<
" psi_[0] = " <<
sec.
psi_[0] << std::endl
1884 <<
" psi_[1] = " <<
sec.
psi_[1] << std::endl
1885 <<
" psi_[2] = " <<
sec.
psi_[2] << std::endl
1886 <<
" psi_[3] = " <<
sec.
psi_[3] << std::endl
1887 <<
" psi_[4] = " <<
sec.
psi_[4] << std::endl
1888 <<
" sigma_[0] = " <<
sec.
sigma_[0] << std::endl
1889 <<
" sigma_[1] = " <<
sec.
sigma_[1] << std::endl
1890 <<
" sigma_[2] = " <<
sec.
sigma_[2] << std::endl
1891 <<
" sigma_[3] = " <<
sec.
sigma_[3] << std::endl
1892 <<
" sigma_[4] = " <<
sec.
sigma_[4] << std::endl
1893 <<
" rr = " << rr << std::endl
1896 <<
" Est_ = " <<
sec.
Est_ << std::endl
1900 <<
" newTimeStep_ = " << newTimeStep_ << std::endl;
1902 #endif // Xyce_DEBUG_TIME
1907 std::string tmp =
" Gear12:rejectStep: Warning: Local error test failed with constant step-size.\n";
1908 Xyce::dout() << tmp << std::endl;
1931 #ifdef Xyce_DEBUG_TIME
1934 Xyce::dout() <<
" newTimeStep_ = " << newTimeStep_ << std::endl
1937 #endif // Xyce_DEBUG_TIME
1956 #ifdef Xyce_DEBUG_TIME
1959 Xyce::dout() << Xyce::section_divider << std::endl;
1961 #endif // Xyce_DEBUG_TIME
1995 #ifdef Xyce_DEBUG_TIME
1998 Xyce::dout() << std::endl
1999 << Xyce::section_divider << std::endl
2000 <<
" N_TIA_Gear12::completeStep" << std::endl;
2020 #ifdef Xyce_DEBUG_TIME
2024 <<
" rr = " << rr << std::endl
2028 <<
" newTimeStep_ = " << newTimeStep_ << std::endl
2081 #ifdef Xyce_DEBUG_TIME
2085 Xyce::dout() <<
" r_safety = " <<
sec.
r_safety_ << std::endl;
2086 Xyce::dout() <<
" r_fudge_ = " <<
sec.
r_fudge_ << std::endl;
2087 Xyce::dout() <<
" r_hincr_ = " <<
sec.
r_hincr_ << std::endl;
2089 Xyce::dout() <<
" Est = " <<
sec.
Est_ << std::endl;
2090 Xyce::dout() <<
" raw rr = " << rr << std::endl;
2142 #ifdef Xyce_DEBUG_TIME
2145 Xyce::dout() <<
" nextTime = " <<
sec.
nextTime << std::endl;
2146 Xyce::dout() <<
" newTimeStep_ = " << newTimeStep_ << std::endl;
2171 #ifdef Xyce_DEBUG_TIME
2174 Xyce::dout() << Xyce::section_divider << std::endl;
2202 #ifdef Xyce_DEBUG_TIME
2205 Xyce::dout() <<
"\n next state Ptr: \n" << std::endl;
2207 Xyce::dout() << std::endl;
2209 Xyce::dout() <<
"\n sn0: \n" << std::endl;
2210 ds.
sn0Ptr->printPetraObject(Xyce::dout());
2211 Xyce::dout() << std::endl;
2213 Xyce::dout() <<
"\n next State Deriv: \n" << std::endl;
2215 Xyce::dout() << std::endl;
2244 #ifdef Xyce_DEBUG_TIME
2247 Xyce::dout() <<
"\n next store Ptr: \n" << std::endl;
2249 Xyce::dout() << std::endl;
2284 #ifdef Xyce_DEBUG_TIME
2285 Xyce::dout() << tle;