48 #include <Xyce_config.h>
52 #include <N_ERH_ErrorMgr.h>
53 #include <N_IO_CmdParse.h>
54 #include <N_IO_OutputMgr.h>
55 #include <N_IO_PkgOptionsMgr.h>
64 #include <N_UTL_Expression.h>
65 #include <N_UTL_FeatureTest.h>
99 const IO::CmdParse & command_line)
100 : commandLine_(command_line),
102 conductanceExtractorPtr_(0),
103 nlsSensitivityPtr_(0),
105 matrixFreeFlag_(false),
107 noxFlagInner_(false),
108 noxFlagTransient_(false),
110 initializeAllFlag_(false),
285 const Util::Param & param)
287 if (param.uTag() ==
"NLNEARCONV" )
294 else if (param.uTag() ==
"NLSMALLUPDATE" )
298 codes.
smallUpdate = param.getImmutableValue<
int>() ? 4 : -4;
327 for (Util::ParamList::const_iterator it = option_blockdcop.begin(); it != option_blockdcop.end(); ++ it)
329 if ((*it).uTag() ==
"NOX")
331 noxFlag_ = (*it).getImmutableValue<
int>();
340 const Util::OptionBlock &option_blocktwoLevel = obmIter->second;
341 for (Util::ParamList::const_iterator it = option_blocktwoLevel.begin(); it != option_blocktwoLevel.end(); ++ it)
343 if ((*it).uTag() ==
"NOX")
352 for (Util::ParamList::const_iterator it = option_blocktran.begin(); it != option_blocktran.end(); ++ it)
354 if ((*it).uTag() ==
"NOX")
363 const Util::OptionBlock &option_blockhb = obmIter->second;
364 for (Util::ParamList::const_iterator it = option_blockhb.begin(); it != option_blockhb.end(); ++ it)
366 if ((*it).uTag() ==
"NOX")
368 noxFlag_ = (*it).getImmutableValue<
int>();
384 Xyce::dout() <<
"noxFlag is: " << (
noxFlag_ ?
"true" :
"false") << std::endl
385 <<
"noxFlagTransient is: " << (
noxFlagTransient_ ?
"true" :
"false") << std::endl;
407 Linear::System & linear_system,
409 Parallel::Manager & parallel_manager,
410 IO::InitialConditionsManager & initial_conditions_manager,
411 IO::OutputMgr & output_manager)
413 bool bsuccess =
true;
455 const Util::OptionBlock &option_block = (*it).second;
457 bsuccess = bsuccess && bs1;
463 const Util::OptionBlock &option_block = (*it).second;
465 bsuccess = bsuccess && bs1;
471 const Util::OptionBlock &option_block = (*it).second;
473 bsuccess = bsuccess && bs1;
479 const Util::OptionBlock &option_block = (*it).second;
481 bsuccess = bsuccess && bs1;
487 const Util::OptionBlock &option_block = (*it).second;
489 bsuccess = bsuccess && bs1;
495 const Util::OptionBlock &option_block = (*it).second;
497 bsuccess = bsuccess && bs1;
503 const Util::OptionBlock &option_block = (*it).second;
505 bsuccess = bsuccess && bs1;
511 const Util::OptionBlock &option_block = (*it).second;
513 bsuccess = bsuccess && bs1;
519 const Util::OptionBlock &option_block = (*it).second;
521 bsuccess = bsuccess && bs1;
527 const Util::OptionBlock &option_block = (*it).second;
529 bsuccess = bsuccess && bs1;
535 const Util::OptionBlock &option_block = (*it).second;
537 bsuccess = bsuccess && bs1;
543 const Util::OptionBlock &option_block = (*it).second;
545 bsuccess = bsuccess && bs1;
567 Linear::System & linear_system,
569 Parallel::Manager & parallel_manager,
570 IO::InitialConditionsManager & initial_conditions_manager,
571 IO::OutputMgr & output_manager,
572 Topo::Topology & topology)
574 bool bsuccess =
true;
578 bs1 =
allocateSolver(analysis_manager, nonlinear_equation_loader, linear_system, data_store, parallel_manager, initial_conditions_manager, output_manager);
579 bsuccess = bsuccess && bs1;
612 Linear::System & linear_system,
614 Parallel::Manager & parallel_manager,
615 IO::OutputMgr & output_manager,
616 Topo::Topology & topology)
618 bool bsuccess =
true;
639 const Util::OptionBlock &option_block = (*it).second;
641 bsuccess = bsuccess && bs1;
647 const Util::OptionBlock &option_block = (*it).second;
649 bsuccess = bsuccess && bs1;
712 exprPtr_ =
new Util::Expression(std::string(
"0"));
786 Parallel::Manager & parallel_manager,
787 Topo::Topology & topology)
789 bool bsuccess =
true;
793 Stats::StatTop _sensitivityStat(
"Setup");
796 bsuccess = bsuccess && b1;
810 std::vector<double> & objectiveVec,
811 std::vector<double> & dOdpVec,
812 std::vector<double> & dOdpAdjVec,
813 std::vector<double> & scaled_dOdpVec,
814 std::vector<double> & scaled_dOdpAdjVec)
818 Report::DevelFatal0().in(
"Manager::isSensitivity") <<
"Manager::enableSensitivity must be called first";
838 std::vector<double> & objectiveVec,
839 std::vector<double> & dOdpVec,
840 std::vector<double> & dOdpAdjVec,
841 std::vector<double> & scaled_dOdpVec,
842 std::vector<double> & scaled_dOdpAdjVec)
844 bool bsuccess =
true;
846 if (!nlsSensitivityPtr_)
848 Report::DevelFatal0().in(
"Manager::calcSensitivity") <<
"Manager::enableSensitivity must be called first";
852 bsuccess = nlsSensitivityPtr_->solve(objectiveVec, dOdpVec, dOdpAdjVec, scaled_dOdpVec, scaled_dOdpAdjVec);
868 Parallel::Manager & parallel_manager,
869 Topo::Topology & topology)
873 Report::DevelFatal0().in(
"Manager::setupSensitivity") <<
"Manager::enableSensitivity may only be called once";
877 bool bsuccess =
true;
887 const Util::OptionBlock &option_block = it->second;
889 bsuccess = bsuccess && bs1;
895 const Util::OptionBlock &option_block = it->second;
897 bsuccess = bsuccess && bs1;
981 IO::PkgOptionsMgr & options_manager)
984 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"NONLIN-NLP");
986 parameters.insert(Util::ParamMap::value_type(
"NLSTRATEGY", Util::Param(
"NLSTRATEGY", 0)));
987 parameters.insert(Util::ParamMap::value_type(
"SEARCHMETHOD", Util::Param(
"SEARCHMETHOD", 0)));
988 parameters.insert(Util::ParamMap::value_type(
"NOX", Util::Param(
"NOX", 1)));
989 parameters.insert(Util::ParamMap::value_type(
"ABSTOL", Util::Param(
"ABSTOL", 1.0E-12)));
990 parameters.insert(Util::ParamMap::value_type(
"RELTOL", Util::Param(
"RELTOL", 1.0E-3)));
991 parameters.insert(Util::ParamMap::value_type(
"DELTAXTOL", Util::Param(
"DELTAXTOL", 1.0)));
992 parameters.insert(Util::ParamMap::value_type(
"SMALLUPDATETOL", Util::Param(
"SMALLUPDATETOL", 1.0e-6)));
993 parameters.insert(Util::ParamMap::value_type(
"RHSTOL", Util::Param(
"RHSTOL", 1.0E-6)));
994 parameters.insert(Util::ParamMap::value_type(
"MAXSTEP", Util::Param(
"MAXSTEP", 200)));
995 parameters.insert(Util::ParamMap::value_type(
"MAXSEARCHSTEP", Util::Param(
"MAXSEARCHSTEP", 0)));
996 parameters.insert(Util::ParamMap::value_type(
"NORMLVL", Util::Param(
"NORMLVL", 2)));
997 parameters.insert(Util::ParamMap::value_type(
"LINOPT", Util::Param(
"LINOPT", 0)));
998 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTBT", Util::Param(
"CONSTRAINTBT", 0)));
999 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMAX", Util::Param(
"CONSTRAINTMAX", Util::MachineDependentParams::DoubleMax())));
1000 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMIN", Util::Param(
"CONSTRAINTMIN", -Util::MachineDependentParams::DoubleMax())));
1001 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTCHANGE", Util::Param(
"CONSTRAINTCHANGE", 0.0)));
1002 parameters.insert(Util::ParamMap::value_type(
"IN_FORCING", Util::Param(
"IN_FORCING", 0)));
1003 parameters.insert(Util::ParamMap::value_type(
"AZ_TOL", Util::Param(
"AZ_TOL", 1.0E-12)));
1004 parameters.insert(Util::ParamMap::value_type(
"DLSDEBUG", Util::Param(
"DLSDEBUG", 0)));
1005 parameters.insert(Util::ParamMap::value_type(
"MATRIXMARKET", Util::Param(
"MATRIXMARKET", 0)));
1006 parameters.insert(Util::ParamMap::value_type(
"DEBUGLEVEL", Util::Param(
"DEBUGLEVEL", 1)));
1007 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIMESTEP", Util::Param(
"DEBUGMINTIMESTEP", 0)));
1008 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIMESTEP", Util::Param(
"DEBUGMAXTIMESTEP", 99999999)));
1009 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIME", Util::Param(
"DEBUGMINTIME", 0.0)));
1010 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIME", Util::Param(
"DEBUGMAXTIME", 1.0E99)));
1011 parameters.insert(Util::ParamMap::value_type(
"SCREENOUTPUT", Util::Param(
"SCREENOUTPUT", 0)));
1012 parameters.insert(Util::ParamMap::value_type(
"USEMASKING", Util::Param(
"USEMASKING", 0)));
1013 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEPTYPE", Util::Param(
"RECOVERYSTEPTYPE", 0)));
1014 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEP", Util::Param(
"RECOVERYSTEP", 1.0)));
1015 parameters.insert(Util::ParamMap::value_type(
"MEMORY", Util::Param(
"MEMORY", 400)));
1016 parameters.insert(Util::ParamMap::value_type(
"CONTINUATION", Util::Param(
"CONTINUATION", 0)));
1017 parameters.insert(Util::ParamMap::value_type(
"ENFORCEDEVICECONV", Util::Param(
"ENFORCEDEVICECONV", 1)));
1021 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"NONLIN-TRAN");
1023 parameters.insert(Util::ParamMap::value_type(
"NLSTRATEGY", Util::Param(
"NLSTRATEGY", 0)));
1024 parameters.insert(Util::ParamMap::value_type(
"SEARCHMETHOD", Util::Param(
"SEARCHMETHOD", 0)));
1025 parameters.insert(Util::ParamMap::value_type(
"NOX", Util::Param(
"NOX", 1)));
1026 parameters.insert(Util::ParamMap::value_type(
"ABSTOL", Util::Param(
"ABSTOL", 1.0E-6)));
1027 parameters.insert(Util::ParamMap::value_type(
"RELTOL", Util::Param(
"RELTOL", 1.0E-2)));
1028 parameters.insert(Util::ParamMap::value_type(
"DELTAXTOL", Util::Param(
"DELTAXTOL", 0.33)));
1029 parameters.insert(Util::ParamMap::value_type(
"SMALLUPDATETOL", Util::Param(
"SMALLUPDATETOL", 1.0e-6)));
1030 parameters.insert(Util::ParamMap::value_type(
"RHSTOL", Util::Param(
"RHSTOL", 1.0E-2)));
1031 parameters.insert(Util::ParamMap::value_type(
"MAXSTEP", Util::Param(
"MAXSTEP", 20)));
1032 parameters.insert(Util::ParamMap::value_type(
"MAXSEARCHSTEP", Util::Param(
"MAXSEARCHSTEP", 2)));
1033 parameters.insert(Util::ParamMap::value_type(
"NORMLVL", Util::Param(
"NORMLVL", 2)));
1034 parameters.insert(Util::ParamMap::value_type(
"LINOPT", Util::Param(
"LINOPT", 0)));
1035 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTBT", Util::Param(
"CONSTRAINTBT", 0)));
1036 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMAX", Util::Param(
"CONSTRAINTMAX", Util::MachineDependentParams::DoubleMax())));
1037 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMIN", Util::Param(
"CONSTRAINTMIN", -Util::MachineDependentParams::DoubleMax())));
1038 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTCHANGE", Util::Param(
"CONSTRAINTCHANGE", 0.0)));
1039 parameters.insert(Util::ParamMap::value_type(
"IN_FORCING", Util::Param(
"IN_FORCING", 0)));
1040 parameters.insert(Util::ParamMap::value_type(
"AZ_TOL", Util::Param(
"AZ_TOL", 1.0E-12)));
1041 parameters.insert(Util::ParamMap::value_type(
"DLSDEBUG", Util::Param(
"DLSDEBUG", 0)));
1042 parameters.insert(Util::ParamMap::value_type(
"MATRIXMARKET", Util::Param(
"MATRIXMARKET", 0)));
1043 parameters.insert(Util::ParamMap::value_type(
"DEBUGLEVEL", Util::Param(
"DEBUGLEVEL", 1)));
1044 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIMESTEP", Util::Param(
"DEBUGMINTIMESTEP", 0)));
1045 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIMESTEP", Util::Param(
"DEBUGMAXTIMESTEP", 99999999)));
1046 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIME", Util::Param(
"DEBUGMINTIME", 0.0)));
1047 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIME", Util::Param(
"DEBUGMAXTIME", 1.0E99)));
1048 parameters.insert(Util::ParamMap::value_type(
"SCREENOUTPUT", Util::Param(
"SCREENOUTPUT", 0)));
1049 parameters.insert(Util::ParamMap::value_type(
"USEMASKING", Util::Param(
"USEMASKING", 0)));
1050 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEPTYPE", Util::Param(
"RECOVERYSTEPTYPE", 0)));
1051 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEP", Util::Param(
"RECOVERYSTEP", 1.0)));
1052 parameters.insert(Util::ParamMap::value_type(
"MEMORY", Util::Param(
"MEMORY", 400)));
1053 parameters.insert(Util::ParamMap::value_type(
"CONTINUATION", Util::Param(
"CONTINUATION", 0)));
1054 parameters.insert(Util::ParamMap::value_type(
"ENFORCEDEVICECONV", Util::Param(
"ENFORCEDEVICECONV", 0)));
1058 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"NONLIN-HB");
1060 parameters.insert(Util::ParamMap::value_type(
"NLSTRATEGY", Util::Param(
"NLSTRATEGY", 0)));
1061 parameters.insert(Util::ParamMap::value_type(
"SEARCHMETHOD", Util::Param(
"SEARCHMETHOD", 0)));
1062 parameters.insert(Util::ParamMap::value_type(
"NOX", Util::Param(
"NOX", 0)));
1063 parameters.insert(Util::ParamMap::value_type(
"ABSTOL", Util::Param(
"ABSTOL", 1.0E-9)));
1064 parameters.insert(Util::ParamMap::value_type(
"RELTOL", Util::Param(
"RELTOL", 1.0E-2)));
1065 parameters.insert(Util::ParamMap::value_type(
"DELTAXTOL", Util::Param(
"DELTAXTOL", 0.33)));
1066 parameters.insert(Util::ParamMap::value_type(
"SMALLUPDATETOL", Util::Param(
"SMALLUPDATETOL", 1.0e-6)));
1067 parameters.insert(Util::ParamMap::value_type(
"RHSTOL", Util::Param(
"RHSTOL", 1.0E-6)));
1068 parameters.insert(Util::ParamMap::value_type(
"MAXSTEP", Util::Param(
"MAXSTEP", 200)));
1069 parameters.insert(Util::ParamMap::value_type(
"MAXSEARCHSTEP", Util::Param(
"MAXSEARCHSTEP", 2)));
1070 parameters.insert(Util::ParamMap::value_type(
"NORMLVL", Util::Param(
"NORMLVL", 2)));
1071 parameters.insert(Util::ParamMap::value_type(
"LINOPT", Util::Param(
"LINOPT", 0)));
1072 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTBT", Util::Param(
"CONSTRAINTBT", 0)));
1073 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMAX", Util::Param(
"CONSTRAINTMAX", Util::MachineDependentParams::DoubleMax())));
1074 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMIN", Util::Param(
"CONSTRAINTMIN", -Util::MachineDependentParams::DoubleMax())));
1075 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTCHANGE", Util::Param(
"CONSTRAINTCHANGE", 0.0)));
1076 parameters.insert(Util::ParamMap::value_type(
"IN_FORCING", Util::Param(
"IN_FORCING", 0)));
1077 parameters.insert(Util::ParamMap::value_type(
"AZ_TOL", Util::Param(
"AZ_TOL", 1.0E-12)));
1078 parameters.insert(Util::ParamMap::value_type(
"DLSDEBUG", Util::Param(
"DLSDEBUG", 0)));
1079 parameters.insert(Util::ParamMap::value_type(
"MATRIXMARKET", Util::Param(
"MATRIXMARKET", 0)));
1080 parameters.insert(Util::ParamMap::value_type(
"DEBUGLEVEL", Util::Param(
"DEBUGLEVEL", 1)));
1081 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIMESTEP", Util::Param(
"DEBUGMINTIMESTEP", 0)));
1082 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIMESTEP", Util::Param(
"DEBUGMAXTIMESTEP", 99999999)));
1083 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIME", Util::Param(
"DEBUGMINTIME", 0.0)));
1084 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIME", Util::Param(
"DEBUGMAXTIME", 1.0E99)));
1085 parameters.insert(Util::ParamMap::value_type(
"SCREENOUTPUT", Util::Param(
"SCREENOUTPUT", 0)));
1086 parameters.insert(Util::ParamMap::value_type(
"USEMASKING", Util::Param(
"USEMASKING", 0)));
1087 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEPTYPE", Util::Param(
"RECOVERYSTEPTYPE", 0)));
1088 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEP", Util::Param(
"RECOVERYSTEP", 1.0)));
1089 parameters.insert(Util::ParamMap::value_type(
"MEMORY", Util::Param(
"MEMORY", 400)));
1090 parameters.insert(Util::ParamMap::value_type(
"CONTINUATION", Util::Param(
"CONTINUATION", 0)));
1091 parameters.insert(Util::ParamMap::value_type(
"ENFORCEDEVICECONV", Util::Param(
"ENFORCEDEVICECONV", 0)));
1095 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"NONLIN-TWOLEVEL");
1097 parameters.insert(Util::ParamMap::value_type(
"NLSTRATEGY", Util::Param(
"NLSTRATEGY", 0)));
1098 parameters.insert(Util::ParamMap::value_type(
"SEARCHMETHOD", Util::Param(
"SEARCHMETHOD", 0)));
1099 parameters.insert(Util::ParamMap::value_type(
"NOX", Util::Param(
"NOX", 1)));
1100 parameters.insert(Util::ParamMap::value_type(
"ABSTOL", Util::Param(
"ABSTOL", 1.0E-12)));
1101 parameters.insert(Util::ParamMap::value_type(
"RELTOL", Util::Param(
"RELTOL", 1.0E-3)));
1102 parameters.insert(Util::ParamMap::value_type(
"DELTAXTOL", Util::Param(
"DELTAXTOL", 1.0)));
1103 parameters.insert(Util::ParamMap::value_type(
"SMALLUPDATETOL", Util::Param(
"SMALLUPDATETOL", 1.0e-6)));
1104 parameters.insert(Util::ParamMap::value_type(
"RHSTOL", Util::Param(
"RHSTOL", 1.0E-6)));
1105 parameters.insert(Util::ParamMap::value_type(
"MAXSTEP", Util::Param(
"MAXSTEP", 200)));
1106 parameters.insert(Util::ParamMap::value_type(
"MAXSEARCHSTEP", Util::Param(
"MAXSEARCHSTEP", 0)));
1107 parameters.insert(Util::ParamMap::value_type(
"NORMLVL", Util::Param(
"NORMLVL", 2)));
1108 parameters.insert(Util::ParamMap::value_type(
"LINOPT", Util::Param(
"LINOPT", 0)));
1109 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTBT", Util::Param(
"CONSTRAINTBT", 0)));
1110 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMAX", Util::Param(
"CONSTRAINTMAX", Util::MachineDependentParams::DoubleMax())));
1111 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMIN", Util::Param(
"CONSTRAINTMIN", -Util::MachineDependentParams::DoubleMax())));
1112 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTCHANGE", Util::Param(
"CONSTRAINTCHANGE", 0.0)));
1113 parameters.insert(Util::ParamMap::value_type(
"IN_FORCING", Util::Param(
"IN_FORCING", 0)));
1114 parameters.insert(Util::ParamMap::value_type(
"AZ_TOL", Util::Param(
"AZ_TOL", 1.0E-12)));
1115 parameters.insert(Util::ParamMap::value_type(
"DLSDEBUG", Util::Param(
"DLSDEBUG", 0)));
1116 parameters.insert(Util::ParamMap::value_type(
"MATRIXMARKET", Util::Param(
"MATRIXMARKET", 0)));
1117 parameters.insert(Util::ParamMap::value_type(
"DEBUGLEVEL", Util::Param(
"DEBUGLEVEL", 1)));
1118 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIMESTEP", Util::Param(
"DEBUGMINTIMESTEP", 0)));
1119 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIMESTEP", Util::Param(
"DEBUGMAXTIMESTEP", 99999999)));
1120 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIME", Util::Param(
"DEBUGMINTIME", 0.0)));
1121 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIME", Util::Param(
"DEBUGMAXTIME", 1.0E99)));
1122 parameters.insert(Util::ParamMap::value_type(
"SCREENOUTPUT", Util::Param(
"SCREENOUTPUT", 0)));
1123 parameters.insert(Util::ParamMap::value_type(
"USEMASKING", Util::Param(
"USEMASKING", 0)));
1124 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEPTYPE", Util::Param(
"RECOVERYSTEPTYPE", 0)));
1125 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEP", Util::Param(
"RECOVERYSTEP", 1.0)));
1126 parameters.insert(Util::ParamMap::value_type(
"MEMORY", Util::Param(
"MEMORY", 400)));
1127 parameters.insert(Util::ParamMap::value_type(
"CONTINUATION", Util::Param(
"CONTINUATION", 0)));
1128 parameters.insert(Util::ParamMap::value_type(
"ENFORCEDEVICECONV", Util::Param(
"ENFORCEDEVICECONV", 0)));
1129 parameters.insert(Util::ParamMap::value_type(
"ALGORITHM", Util::Param(
"ALGORITHM", 0)));
1130 parameters.insert(Util::ParamMap::value_type(
"MAXCONTSTEPS", Util::Param(
"MAXCONTSTEPS", 0)));
1131 parameters.insert(Util::ParamMap::value_type(
"CONTINUATIONFLAG", Util::Param(
"CONTINUATIONFLAG", 1)));
1132 parameters.insert(Util::ParamMap::value_type(
"INNERFAIL", Util::Param(
"INNERFAIL", 1)));
1133 parameters.insert(Util::ParamMap::value_type(
"EXITWITHFAILURE", Util::Param(
"EXITWITHFAILURE", 1)));
1134 parameters.insert(Util::ParamMap::value_type(
"FULLNEWTONENFORCE", Util::Param(
"FULLNEWTONENFORCE", 1)));
1135 parameters.insert(Util::ParamMap::value_type(
"CONPARAM", Util::Param(
"CONPARAM",
"VA:V0")));
1136 parameters.insert(Util::ParamMap::value_type(
"VOLTLIMTOL", Util::Param(
"VOLTLIMTOL", 1.0e-6)));
1140 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"NONLIN-TWOLEVEL-TRAN");
1142 parameters.insert(Util::ParamMap::value_type(
"NLSTRATEGY", Util::Param(
"NLSTRATEGY", 0)));
1143 parameters.insert(Util::ParamMap::value_type(
"SEARCHMETHOD", Util::Param(
"SEARCHMETHOD", 0)));
1144 parameters.insert(Util::ParamMap::value_type(
"NOX", Util::Param(
"NOX", 1)));
1145 parameters.insert(Util::ParamMap::value_type(
"ABSTOL", Util::Param(
"ABSTOL", 1.0E-6)));
1146 parameters.insert(Util::ParamMap::value_type(
"RELTOL", Util::Param(
"RELTOL", 1.0E-2)));
1147 parameters.insert(Util::ParamMap::value_type(
"DELTAXTOL", Util::Param(
"DELTAXTOL", 0.33)));
1148 parameters.insert(Util::ParamMap::value_type(
"SMALLUPDATETOL", Util::Param(
"SMALLUPDATETOL", 1.0e-6)));
1149 parameters.insert(Util::ParamMap::value_type(
"RHSTOL", Util::Param(
"RHSTOL", 1.0E-2)));
1150 parameters.insert(Util::ParamMap::value_type(
"MAXSTEP", Util::Param(
"MAXSTEP", 20)));
1151 parameters.insert(Util::ParamMap::value_type(
"MAXSEARCHSTEP", Util::Param(
"MAXSEARCHSTEP", 2)));
1152 parameters.insert(Util::ParamMap::value_type(
"NORMLVL", Util::Param(
"NORMLVL", 2)));
1153 parameters.insert(Util::ParamMap::value_type(
"LINOPT", Util::Param(
"LINOPT", 0)));
1154 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTBT", Util::Param(
"CONSTRAINTBT", 0)));
1155 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMAX", Util::Param(
"CONSTRAINTMAX", Util::MachineDependentParams::DoubleMax())));
1156 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTMIN", Util::Param(
"CONSTRAINTMIN", -Util::MachineDependentParams::DoubleMax())));
1157 parameters.insert(Util::ParamMap::value_type(
"CONSTRAINTCHANGE", Util::Param(
"CONSTRAINTCHANGE", 0.0)));
1158 parameters.insert(Util::ParamMap::value_type(
"IN_FORCING", Util::Param(
"IN_FORCING", 0)));
1159 parameters.insert(Util::ParamMap::value_type(
"AZ_TOL", Util::Param(
"AZ_TOL", 1.0E-12)));
1160 parameters.insert(Util::ParamMap::value_type(
"DLSDEBUG", Util::Param(
"DLSDEBUG", 0)));
1161 parameters.insert(Util::ParamMap::value_type(
"MATRIXMARKET", Util::Param(
"MATRIXMARKET", 0)));
1162 parameters.insert(Util::ParamMap::value_type(
"DEBUGLEVEL", Util::Param(
"DEBUGLEVEL", 1)));
1163 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIMESTEP", Util::Param(
"DEBUGMINTIMESTEP", 0)));
1164 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIMESTEP", Util::Param(
"DEBUGMAXTIMESTEP", 99999999)));
1165 parameters.insert(Util::ParamMap::value_type(
"DEBUGMINTIME", Util::Param(
"DEBUGMINTIME", 0.0)));
1166 parameters.insert(Util::ParamMap::value_type(
"DEBUGMAXTIME", Util::Param(
"DEBUGMAXTIME", 1.0E99)));
1167 parameters.insert(Util::ParamMap::value_type(
"SCREENOUTPUT", Util::Param(
"SCREENOUTPUT", 0)));
1168 parameters.insert(Util::ParamMap::value_type(
"USEMASKING", Util::Param(
"USEMASKING", 0)));
1169 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEPTYPE", Util::Param(
"RECOVERYSTEPTYPE", 0)));
1170 parameters.insert(Util::ParamMap::value_type(
"RECOVERYSTEP", Util::Param(
"RECOVERYSTEP", 1.0)));
1171 parameters.insert(Util::ParamMap::value_type(
"MEMORY", Util::Param(
"MEMORY", 400)));
1172 parameters.insert(Util::ParamMap::value_type(
"CONTINUATION", Util::Param(
"CONTINUATION", 0)));
1173 parameters.insert(Util::ParamMap::value_type(
"ENFORCEDEVICECONV", Util::Param(
"ENFORCEDEVICECONV", 0)));
1174 parameters.insert(Util::ParamMap::value_type(
"ALGORITHM", Util::Param(
"ALGORITHM", 0)));
1175 parameters.insert(Util::ParamMap::value_type(
"MAXCONTSTEPS", Util::Param(
"MAXCONTSTEPS", 0)));
1176 parameters.insert(Util::ParamMap::value_type(
"CONTINUATIONFLAG", Util::Param(
"CONTINUATIONFLAG", 1)));
1177 parameters.insert(Util::ParamMap::value_type(
"INNERFAIL", Util::Param(
"INNERFAIL", 1)));
1178 parameters.insert(Util::ParamMap::value_type(
"EXITWITHFAILURE", Util::Param(
"EXITWITHFAILURE", 1)));
1179 parameters.insert(Util::ParamMap::value_type(
"FULLNEWTONENFORCE", Util::Param(
"FULLNEWTONENFORCE", 1)));
1180 parameters.insert(Util::ParamMap::value_type(
"CONPARAM", Util::Param(
"CONPARAM",
"VA:V0")));
1181 parameters.insert(Util::ParamMap::value_type(
"VOLTLIMTOL", Util::Param(
"VOLTLIMTOL", 1.0e-6)));
1185 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"LOCA");
1187 parameters.insert(Util::ParamMap::value_type(
"STEPPER", Util::Param(
"STEPPER",
"NATURAL")));
1188 parameters.insert(Util::ParamMap::value_type(
"PREDICTOR", Util::Param(
"PREDICTOR",
"CONSTANT")));
1189 parameters.insert(Util::ParamMap::value_type(
"STEPCONTROL", Util::Param(
"STEPCONTROL",
"CONSTANT")));
1191 parameters.insert(Util::ParamMap::value_type(
"CONPARAM", Util::Param(
"CONPARAM",
"VECTOR")));
1192 parameters.insert(Util::ParamMap::value_type(
"INITIALVALUE", Util::Param(
"INITIALVALUE",
"VECTOR")));
1193 parameters.insert(Util::ParamMap::value_type(
"MAXVALUE", Util::Param(
"MAXVALUE",
"VECTOR")));
1194 parameters.insert(Util::ParamMap::value_type(
"MINVALUE", Util::Param(
"MINVALUE",
"VECTOR")));
1195 parameters.insert(Util::ParamMap::value_type(
"INITIALSTEPSIZE", Util::Param(
"INITIALSTEPSIZE",
"VECTOR")));
1196 parameters.insert(Util::ParamMap::value_type(
"MAXSTEPSIZE", Util::Param(
"MAXSTEPSIZE",
"VECTOR")));
1197 parameters.insert(Util::ParamMap::value_type(
"MINSTEPSIZE", Util::Param(
"MINSTEPSIZE",
"VECTOR")));
1198 parameters.insert(Util::ParamMap::value_type(
"AGGRESSIVENESS", Util::Param(
"AGGRESSIVENESS",
"VECTOR")));
1199 parameters.insert(Util::ParamMap::value_type(
"BIFPARAM", Util::Param(
"BIFPARAM",
"VA:V0")));
1200 parameters.insert(Util::ParamMap::value_type(
"MAXSTEPS", Util::Param(
"MAXSTEPS", 20)));
1201 parameters.insert(Util::ParamMap::value_type(
"MAXNLITERS", Util::Param(
"MAXNLITERS", 20)));
1202 parameters.insert(Util::ParamMap::value_type(
"PARAMLIST", Util::Param(
"PARAMLIST",
"VECTOR")));
1203 parameters.insert(Util::ParamMap::value_type(
"VOLTAGELIST", Util::Param(
"VOLTAGELIST",
"DOFS")));
1204 parameters.insert(Util::ParamMap::value_type(
"VOLTAGESCALEFACTOR", Util::Param(
"VOLTAGESCALEFACTOR", 1.0)));
1205 parameters.insert(Util::ParamMap::value_type(
"RESIDUALCONDUCTANCE", Util::Param(
"RESIDUALCONDUCTANCE", 0.0)));
1209 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"TWOLEVEL-LOCA");
1211 parameters.insert(Util::ParamMap::value_type(
"STEPPER", Util::Param(
"STEPPER",
"NATURAL")));
1212 parameters.insert(Util::ParamMap::value_type(
"PREDICTOR", Util::Param(
"PREDICTOR",
"CONSTANT")));
1213 parameters.insert(Util::ParamMap::value_type(
"STEPCONTROL", Util::Param(
"STEPCONTROL",
"CONSTANT")));
1214 parameters.insert(Util::ParamMap::value_type(
"CONPARAM", Util::Param(
"CONPARAM",
"VECTOR")));
1215 parameters.insert(Util::ParamMap::value_type(
"INITIALVALUE", Util::Param(
"INITIALVALUE",
"VECTOR")));
1216 parameters.insert(Util::ParamMap::value_type(
"MAXVALUE", Util::Param(
"MAXVALUE",
"VECTOR")));
1217 parameters.insert(Util::ParamMap::value_type(
"MINVALUE", Util::Param(
"MINVALUE",
"VECTOR")));
1218 parameters.insert(Util::ParamMap::value_type(
"INITIALSTEPSIZE", Util::Param(
"INITIALSTEPSIZE",
"VECTOR")));
1219 parameters.insert(Util::ParamMap::value_type(
"MAXSTEPSIZE", Util::Param(
"MAXSTEPSIZE",
"VECTOR")));
1220 parameters.insert(Util::ParamMap::value_type(
"MINSTEPSIZE", Util::Param(
"MINSTEPSIZE",
"VECTOR")));
1221 parameters.insert(Util::ParamMap::value_type(
"AGGRESSIVENESS", Util::Param(
"AGGRESSIVENESS",
"VECTOR")));
1222 parameters.insert(Util::ParamMap::value_type(
"BIFPARAM", Util::Param(
"BIFPARAM",
"VA:V0")));
1223 parameters.insert(Util::ParamMap::value_type(
"MAXSTEPS", Util::Param(
"MAXSTEPS", 20)));
1224 parameters.insert(Util::ParamMap::value_type(
"MAXNLITERS", Util::Param(
"MAXNLITERS", 20)));
1225 parameters.insert(Util::ParamMap::value_type(
"PARAMLIST", Util::Param(
"PARAMLIST",
"VECTOR")));
1226 parameters.insert(Util::ParamMap::value_type(
"VOLTAGELIST", Util::Param(
"VOLTAGELIST",
"DOFS")));
1227 parameters.insert(Util::ParamMap::value_type(
"VOLTAGESCALEFACTOR", Util::Param(
"VOLTAGESCALEFACTOR", 1.0)));
1228 parameters.insert(Util::ParamMap::value_type(
"RESIDUALCONDUCTANCE", Util::Param(
"RESIDUALCONDUCTANCE", 0.0)));
1232 Util::ParamMap ¶meters = options_manager.addOptionsMetadataMap(
"LINSOL");
1234 parameters.insert(Util::ParamMap::value_type(
"AZ_max_iter", Util::Param(
"AZ_max_iter", 500)));
1235 parameters.insert(Util::ParamMap::value_type(
"AZ_precond", Util::Param(
"AZ_precond", 14)));
1236 parameters.insert(Util::ParamMap::value_type(
"AZ_solver", Util::Param(
"AZ_solver", 1)));
1237 parameters.insert(Util::ParamMap::value_type(
"AZ_conv", Util::Param(
"AZ_conv", 0)));
1238 parameters.insert(Util::ParamMap::value_type(
"AZ_pre_calc", Util::Param(
"AZ_pre_calc", 1)));
1239 parameters.insert(Util::ParamMap::value_type(
"AZ_keep_info", Util::Param(
"AZ_keep_info", 1)));
1240 parameters.insert(Util::ParamMap::value_type(
"AZ_orthog", Util::Param(
"AZ_orthog", 1)));
1241 parameters.insert(Util::ParamMap::value_type(
"AZ_subdomain_solve", Util::Param(
"AZ_subdomain_solve", 9)));
1242 parameters.insert(Util::ParamMap::value_type(
"AZ_ilut_fill", Util::Param(
"AZ_ilut_fill", 3.0)));
1243 parameters.insert(Util::ParamMap::value_type(
"AZ_drop", Util::Param(
"AZ_drop", 1.0E-3)));
1244 parameters.insert(Util::ParamMap::value_type(
"AZ_reorder", Util::Param(
"AZ_reorder", 0)));
1245 parameters.insert(Util::ParamMap::value_type(
"AZ_scaling", Util::Param(
"AZ_scaling", 0)));
1246 parameters.insert(Util::ParamMap::value_type(
"AZ_kspace", Util::Param(
"AZ_kspace", 500)));
1247 parameters.insert(Util::ParamMap::value_type(
"AZ_tol", Util::Param(
"AZ_tol", 1.0E-12)));
1248 parameters.insert(Util::ParamMap::value_type(
"AZ_output", Util::Param(
"AZ_output", 0)));
1249 parameters.insert(Util::ParamMap::value_type(
"AZ_diagnostics", Util::Param(
"AZ_diagnostics", 0)));
1250 parameters.insert(Util::ParamMap::value_type(
"AZ_overlap", Util::Param(
"AZ_overlap", 0)));
1251 parameters.insert(Util::ParamMap::value_type(
"AZ_rthresh", Util::Param(
"AZ_rthresh", 1.0001)));
1252 parameters.insert(Util::ParamMap::value_type(
"AZ_athresh", Util::Param(
"AZ_athresh", 1.0E-4)));
1253 parameters.insert(Util::ParamMap::value_type(
"AZ_filter", Util::Param(
"AZ_filter", 0.0)));
1254 parameters.insert(Util::ParamMap::value_type(
"TR_filter", Util::Param(
"TR_filter", 0.0)));
1255 parameters.insert(Util::ParamMap::value_type(
"TR_partition", Util::Param(
"TR_partition", 1)));
1257 parameters.insert(Util::ParamMap::value_type(
"ShyLU_rthresh", Util::Param(
"ShyLU_rthresh", 1.0E-3)));
1259 #ifdef Xyce_USE_ISORROPIA
1260 parameters.insert(Util::ParamMap::value_type(
"TR_partition_type", Util::Param(
"TR_partition_type",
"GRAPH")));
1262 parameters.insert(Util::ParamMap::value_type(
"TR_reindex", Util::Param(
"TR_reindex", 1)));
1263 parameters.insert(Util::ParamMap::value_type(
"TR_solvermap", Util::Param(
"TR_solvermap", 1)));
1264 parameters.insert(Util::ParamMap::value_type(
"TR_amd", Util::Param(
"TR_amd", 1)));
1265 parameters.insert(Util::ParamMap::value_type(
"TR_btf", Util::Param(
"TR_btf", 0)));
1266 parameters.insert(Util::ParamMap::value_type(
"TR_global_btf", Util::Param(
"TR_global_btf", 0)));
1267 parameters.insert(Util::ParamMap::value_type(
"TR_global_btf_droptol", Util::Param(
"TR_global_btf_droptol", 1.0E-16)));
1268 parameters.insert(Util::ParamMap::value_type(
"TR_global_btf_verbose", Util::Param(
"TR_global_btf_verbose", 0)));
1269 #ifdef Xyce_TRILINOS_DEV
1270 parameters.insert(Util::ParamMap::value_type(
"TR_global_amd", Util::Param(
"TR_global_amd", 0)));
1271 parameters.insert(Util::ParamMap::value_type(
"TR_global_amd_verbose", Util::Param(
"TR_global_amd_verbose", 0)));
1273 parameters.insert(Util::ParamMap::value_type(
"TR_singleton_filter", Util::Param(
"TR_singleton_filter", 0)));
1274 parameters.insert(Util::ParamMap::value_type(
"SLU_EQUILIBRATE", Util::Param(
"SLU_EQUILIBRATE", 1)));
1275 parameters.insert(Util::ParamMap::value_type(
"SLU_REFACTOR", Util::Param(
"SLU_REFACTOR", 1)));
1276 parameters.insert(Util::ParamMap::value_type(
"SLU_PERMUTE", Util::Param(
"SLU_PERMUTE", 2)));
1277 parameters.insert(Util::ParamMap::value_type(
"SLU_PIVOT_THRESH", Util::Param(
"SLU_PIVOT_THRESH", -1.0)));
1278 parameters.insert(Util::ParamMap::value_type(
"SLU_FILL_FAC", Util::Param(
"SLU_FILL_FAC", -1)));
1279 parameters.insert(Util::ParamMap::value_type(
"BTF", Util::Param(
"BTF", 0)));
1280 parameters.insert(Util::ParamMap::value_type(
"BTF_VERBOSE", Util::Param(
"BTF_VERBOSE", 0)));
1281 parameters.insert(Util::ParamMap::value_type(
"BTF_ATHRESH", Util::Param(
"BTF_ATHRESH", 0.0)));
1282 parameters.insert(Util::ParamMap::value_type(
"BTF_RTHRESH", Util::Param(
"BTF_RTHRESH", 0.0)));
1283 parameters.insert(Util::ParamMap::value_type(
"BTF_RTHRESH_INIT", Util::Param(
"BTF_RTHRESH_INIT", 0.0)));
1284 parameters.insert(Util::ParamMap::value_type(
"BTF_INIT", Util::Param(
"BTF_INIT", 0)));
1285 parameters.insert(Util::ParamMap::value_type(
"BTF_THRESHOLDING", Util::Param(
"BTF_THRESHOLDING", 0)));
1286 parameters.insert(Util::ParamMap::value_type(
"BTF_RNTHRESHFAC", Util::Param(
"BTF_RNTHRESHFAC", 1.0e-3)));
1287 parameters.insert(Util::ParamMap::value_type(
"adaptive_solve", Util::Param(
"adaptive_solve", 0)));
1288 parameters.insert(Util::ParamMap::value_type(
"use_aztec_precond", Util::Param(
"use_aztec_precond", 1)));
1289 parameters.insert(Util::ParamMap::value_type(
"use_ifpack_factory", Util::Param(
"use_ifpack_factory", 0)));
1290 parameters.insert(Util::ParamMap::value_type(
"ifpack_type", Util::Param(
"ifpack_type",
"Amesos")));
1291 parameters.insert(Util::ParamMap::value_type(
"diag_perturb", Util::Param(
"diag_perturb", 0.0)));
1293 parameters.insert(Util::ParamMap::value_type(
"ML_max_level", Util::Param(
"ML_max_level", 5)));
1295 parameters.insert(Util::ParamMap::value_type(
"TR_rcm", Util::Param(
"TR_rcm", 0)));
1296 parameters.insert(Util::ParamMap::value_type(
"TR_scale", Util::Param(
"TR_scale", 0)));
1297 parameters.insert(Util::ParamMap::value_type(
"TR_scale_left", Util::Param(
"TR_scale_left", 0)));
1298 parameters.insert(Util::ParamMap::value_type(
"TR_scale_right", Util::Param(
"TR_scale_right", 0)));
1299 parameters.insert(Util::ParamMap::value_type(
"TR_scale_exp", Util::Param(
"TR_scale_exp", 1.0)));
1300 parameters.insert(Util::ParamMap::value_type(
"TR_scale_iter", Util::Param(
"TR_scale_iter", 0)));
1301 parameters.insert(Util::ParamMap::value_type(
"TYPE", Util::Param(
"TYPE",
"DEFAULT")));
1302 parameters.insert(Util::ParamMap::value_type(
"PREC_TYPE", Util::Param(
"PREC_TYPE",
"DEFAULT")));
1304 parameters.insert(Util::ParamMap::value_type(
"BELOS_SOLVER_TYPE", Util::Param(
"BELOS_SOLVER_TYPE",
"Block GMRES")));
1306 parameters.insert(Util::ParamMap::value_type(
"KLU_REPIVOT", Util::Param(
"KLU_REPIVOT", 1)));
1307 parameters.insert(Util::ParamMap::value_type(
"KLU_REINDEX", Util::Param(
"KLU_REINDEX", 0)));
1308 parameters.insert(Util::ParamMap::value_type(
"OUTPUT_LS", Util::Param(
"OUTPUT_LS", 1)));
1309 parameters.insert(Util::ParamMap::value_type(
"OUTPUT_BASE_LS", Util::Param(
"OUTPUT_BASE_LS", 1)));
1310 parameters.insert(Util::ParamMap::value_type(
"OUTPUT_FAILED_LS", Util::Param(
"OUTPUT_FAILED_LS", 1)));
1326 populateMetadata(options_manager);
1330 options_manager.addCommandProcessor(
"SENS", IO::createRegistrationOptions(manager, &
Manager::setSensOptions));
1331 options_manager.addCommandProcessor(
"IC", IO::createRegistrationOptions(manager, &
Manager::setICOptions));
1334 options_manager.addOptionsProcessor(
"NONLIN", IO::createRegistrationOptions(manager, &
Manager::setOptions));
1335 options_manager.addOptionsProcessor(
"NONLIN-TRAN", IO::createRegistrationOptions(manager, &
Manager::setTranOptions));
1336 options_manager.addOptionsProcessor(
"NONLIN-NLP", IO::createRegistrationOptions(manager, &
Manager::setNLPOptions));
1337 options_manager.addOptionsProcessor(
"NONLIN-HB", IO::createRegistrationOptions(manager, &
Manager::setHBOptions));
1339 options_manager.addOptionsProcessor(
"LOCA", IO::createRegistrationOptions(manager, &
Manager::setLocaOptions));
bool setTranOptions(const Util::OptionBlock &option_block)
bool enableSensitivity(TimeIntg::DataStore &data_store, Parallel::Manager ¶llel_manager, Topo::Topology &topology)
static void populateMetadata(IO::PkgOptionsMgr &options_manager)
virtual bool isFirstContinuationParam() const =0
bool noxFlagTransient_
For 2-level newton, option for inner loop to use nox.
virtual bool getLocaFlag()
void setMatrixFreeFlag(bool matrixFreeFlag)
NonLinInfo getNonLinInfo() const
bool icSensitivity(std::vector< double > &objectiveVec, std::vector< double > &dOdpVec, std::vector< double > &dOdpAdjVec, std::vector< double > &scaled_dOdpVec, std::vector< double > &scaled_dOdpAdjVec)
virtual bool setTwoLevelLocaOptions(const Util::OptionBlock &OB)
virtual int getContinuationStep() const =0
bool setSensOptions(const Util::OptionBlock &option_block)
virtual int solve(NonLinearSolver *nlsTmpPtr=NULL)=0
bool setTwoLevelTranOptions(const Util::OptionBlock &option_block)
virtual bool setTranOptions(const Util::OptionBlock &OB)=0
virtual bool setTwoLevelOptions(const Util::OptionBlock &OB)
virtual bool setNodeSetOptions(const Util::OptionBlock &OB)
bool calcSensitivity(std::vector< double > &objectiveVec, std::vector< double > &dOdpVec, std::vector< double > &dOdpAdjVec, std::vector< double > &scaled_dOdpVec, std::vector< double > &scaled_dOdpAdjVec)
Pure virtual class to augment a linear system.
OptionBlockMap optionBlockMap_
Use nox in transient phase of calculation.
static void populateMetadata(IO::PkgOptionsMgr &options_manager)
virtual bool setNLPOptions(const Util::OptionBlock &OB)=0
bool registerPkgOptionsMgr(Manager &manager, IO::PkgOptionsMgr &options_manager)
virtual void setReturnCodes(const ReturnCodes &retCodesTmp)
virtual bool setICOptions(const Util::OptionBlock &OB)
bool setTwoLevelLocaOptions(const Util::OptionBlock &option_block)
bool setLocaOptions(const Util::OptionBlock &option_block)
virtual void resetAll(AnalysisMode mode)
void setAnalysisMode(AnalysisMode mode)
bool firstContinuationParam
ConductanceExtractor * conductanceExtractorPtr_
virtual bool initializeAll()
bool allocateSolver(Analysis::AnalysisManager &analysis_manager, Loader::NonlinearEquationLoader &nonlinear_equation_loader, Linear::System &linear_system, TimeIntg::DataStore &data_store, Parallel::Manager ¶llel_manager, IO::InitialConditionsManager &initial_conditions_manager, IO::OutputMgr &output_manager)
Manager(const IO::CmdParse &command_line)
bool setNodeSetOptions(const Util::OptionBlock &option_block)
bool setLinSolOptions(const Util::OptionBlock &option_block)
void resetAll(AnalysisMode mode)
bool setSensitivityOptions(const Util::OptionBlock &option_block)
virtual bool isFirstSolveComplete() const =0
const ReturnCodes & getReturnCodes() const
bool registerInitialConditionsManager(IO::InitialConditionsManager *outPtr)
void setReturnCodes(const ReturnCodes &retCodeTmp)
virtual TwoLevelNewtonMode getCouplingMode()
bool registerPrecondFactory(const Linear::PrecondFactory *ptr)
bool icSensitivity(std::vector< double > &objectiveVec, std::vector< double > &dOdpVec, std::vector< double > &dOdpAdjVec, std::vector< double > &scaled_dOdpVec, std::vector< double > &scaled_dOdpAdjVec)
bool noxFlagInner_
Flag to determine if NOX is the solver in use.
bool setOptions(const Util::OptionBlock &OB)
TwoLevelNewtonMode twoLevelNewtonCouplingMode
bool initializeAll(Analysis::AnalysisManager &analysis_manager, Loader::NonlinearEquationLoader &nonlinear_equation_loader, Linear::System &linear_system, TimeIntg::DataStore &data_store, Parallel::Manager ¶llel_manager, IO::InitialConditionsManager &initial_conditions_manager, IO::OutputMgr &output_manager, Topo::Topology &topology)
bool setSensitivityOptions(const Util::OptionBlock &OB)
bool noxFlag_
Flag to determine if we are doing 2-level newton or not.
Util::OptionBlock & getHBOptions()
const IO::CmdParse & commandLine_
bool setICOptions(const Util::OptionBlock &option_block)
bool setHBOptions(const Util::OptionBlock &option_block)
virtual bool registerTIADataStore(TimeIntg::DataStore *ptr)
bool setOptions(const Util::OptionBlock &option_block)
bool setupSensitivity(TimeIntg::DataStore &data_store, Parallel::Manager ¶llel_manager, Topo::Topology &topology)
virtual bool registerLinearSystem(Linear::System *ptr)
virtual bool setLinsolOptions(const Util::OptionBlock &OB)
NonLinearSolver * nonlinearSolver_
bool setTwoLevelOptions(const Util::OptionBlock &option_block)
const Linear::PrecondFactory * lasPrecPtr_
Util::Expression * exprPtr_
Return Codes.
virtual bool registerParallelMgr(N_PDS_Manager *ptr)
bool setNLPOptions(const Util::OptionBlock &option_block)
virtual bool registerAnalysisManager(Analysis::AnalysisManager *tmp_anaIntPtr)
void allocateTranSolver(Analysis::AnalysisManager &analysis_manager, Loader::NonlinearEquationLoader &nonlinear_equation_loader, Linear::System &linear_system, TimeIntg::DataStore &data_store, Parallel::Manager ¶llel_manager, IO::OutputMgr &output_manager, Topo::Topology &topology)
virtual void setAnalysisMode(AnalysisMode mode)=0
virtual bool setHBOptions(const Util::OptionBlock &OB)=0
Sensitivity * nlsSensitivityPtr_
bool initializeAllFlag_
netlist option blocks until we know which
bool registerOutputMgr(IO::OutputMgr *outPtr)
virtual bool setDCOPRestartOptions(const Util::OptionBlock &OB)
virtual bool setOptions(const Util::OptionBlock &OB)=0
virtual int getNumIterations() const =0
virtual bool registerNonlinearEquationLoader(Loader::NonlinearEquationLoader *ptr)
virtual bool setTwoLevelTranOptions(const Util::OptionBlock &OB)
bool setDCOPRestartOptions(const Util::OptionBlock &option_block)
bool setReturnCodeOption(const Util::Param ¶m)
virtual bool setLocaOptions(const Util::OptionBlock &OB)