48 #include <Xyce_config.h>
52 #include <N_UTL_Misc.h>
62 #include <N_ERH_ErrorMgr.h>
63 #include <N_IO_CmdParse.h>
64 #include <N_IO_OutputMgr.h>
65 #include <N_UTL_Expression.h>
69 #include <Teuchos_RefCountPtr.hpp>
81 twoLevelNewtonFlag_(false),
84 noxFlagTransient_(false),
89 setupSensFlag_(false),
90 nlsSensitivityPtr_(0x0),
94 conductanceExtractorPtr_(0x0),
95 initializeAllFlag_(false),
140 std::string netListFile =
"";
431 for (std::list<N_UTL_Param>::const_iterator it_tpL = OBdcop.getParams().begin();
432 it_tpL != OBdcop.getParams().end(); ++ it_tpL)
434 if (it_tpL->uTag() ==
"NOX")
436 noxFlag_ = it_tpL->getImmutableValue<
int>();
442 std::map<std::string,N_UTL_OptionBlock>::iterator obmIter =
optionBlockMap_.find(
"twolevel") ;
446 N_UTL_OptionBlock OBtwoLevel = obmIter->second;
447 for (std::list<N_UTL_Param>::const_iterator it_tpL = OBtwoLevel.getParams().begin();
448 it_tpL != OBtwoLevel.getParams().end(); ++ it_tpL)
450 if (it_tpL->uTag() ==
"NOX")
459 for (std::list<N_UTL_Param>::const_iterator it_tpL = OBtran.getParams().begin();
460 it_tpL != OBtran.getParams().end(); ++ it_tpL)
462 if (it_tpL->uTag() ==
"NOX")
471 N_UTL_OptionBlock OBhb= obmIter->second;
472 for (std::list<N_UTL_Param>::const_iterator it_tpL = OBhb.getParams().begin();
473 it_tpL != OBhb.getParams().end(); ++ it_tpL)
475 if (it_tpL->uTag() ==
"NOX")
477 noxFlag_ = it_tpL->getImmutableValue<
int>();
492 #ifdef Xyce_DEBUG_NONLINEAR
493 Xyce::dout() <<
"noxFlag is: " << (
noxFlag_ ?
"true" :
"false") << std::endl
494 <<
"noxFlagTransient is: " << (
noxFlagTransient_ ?
"true" :
"false") << std::endl;
516 bool bsuccess =
true;
562 std::map<std::string,N_UTL_OptionBlock>::iterator obmIter =
optionBlockMap_.find(
"dcop") ;
566 const N_UTL_OptionBlock OB = obmIter->second;
568 bsuccess = bsuccess && bs1;
574 const N_UTL_OptionBlock OB = obmIter->second;
576 bsuccess = bsuccess && bs1;
582 const N_UTL_OptionBlock OB = obmIter->second;
584 bsuccess = bsuccess && bs1;
590 const N_UTL_OptionBlock OB = obmIter->second;
592 bsuccess = bsuccess && bs1;
598 const N_UTL_OptionBlock OB = obmIter->second;
600 bsuccess = bsuccess && bs1;
606 const N_UTL_OptionBlock OB = obmIter->second;
608 bsuccess = bsuccess && bs1;
614 const N_UTL_OptionBlock OB = obmIter->second;
616 bsuccess = bsuccess && bs1;
622 const N_UTL_OptionBlock OB = obmIter->second;
624 bsuccess = bsuccess && bs1;
630 const N_UTL_OptionBlock OB = obmIter->second;
632 bsuccess = bsuccess && bs1;
638 const N_UTL_OptionBlock OB = obmIter->second;
640 bsuccess = bsuccess && bs1;
646 const N_UTL_OptionBlock OB = obmIter->second;
648 bsuccess = bsuccess && bs1;
668 bool bsuccess =
true;
700 bool bsuccess =
true;
731 std::map<std::string,N_UTL_OptionBlock>::iterator obmIter =
optionBlockMap_.find(
"transient") ;
735 const N_UTL_OptionBlock OB = obmIter->second;
737 bsuccess = bsuccess && bs1;
891 exprPtr = Teuchos::rcp(
new N_UTL_Expression (std::string(
"0")) );
1052 bool bsuccess =
true;
1070 bool bsuccess =
true;
1088 bool bsuccess =
true;
1093 bsuccess = bsuccess && b1;
1111 std::vector<double> & objectiveVec,
1112 std::vector<double> & dOdpVec,
1113 std::vector<double> & dOdpAdjVec,
1114 std::vector<double> & scaled_dOdpVec,
1115 std::vector<double> & scaled_dOdpAdjVec)
1117 bool bsuccess =
true;
1119 if (!setupSensFlag_)
1121 std::string msg =
"Function N_NLS_Manager::calcSensitivity called,\n";
1122 msg +=
"but N_NLS_Manager::enableSensitivity must be called first.\n";
1123 N_ERH_ErrorMgr::report(N_ERH_ErrorMgr::DEV_FATAL_0, msg);
1126 bsuccess = nlsSensitivityPtr_->solve (objectiveVec,
1127 dOdpVec, dOdpAdjVec,
1128 scaled_dOdpVec, scaled_dOdpAdjVec);
1143 bool bsuccess =
true;
1149 std::map<std::string,N_UTL_OptionBlock>::iterator obmIter =
optionBlockMap_.find(
"sens") ;
1152 const N_UTL_OptionBlock OB = obmIter->second;
1154 bsuccess = bsuccess && bs1;
1160 const N_UTL_OptionBlock OB = obmIter->second;
1162 bsuccess = bsuccess && bs1;
1226 bool bsuccess =
true;
1281 const std::map<std::string,double> & inputMap,
1282 std::vector<double> & outputVector,
1283 std::vector< std::vector<double> > & jacobian
1286 bool bsuccess =
true;
1318 const std::string & isoName,
1319 std::vector< std::vector<double> > & jacobian )
1321 bool bsuccess =
true;