46 #ifndef Xyce_N_NLS_TwoLevelNewton_h
47 #define Xyce_N_NLS_TwoLevelNewton_h
53 #include <N_UTL_fwd.h>
55 #include <N_LAS_fwd.h>
59 #include <N_UTL_MachDepParams.h>
90 const IO::CmdParse & cp);
109 bool setOptions (
const Util::OptionBlock & OB);
336 return Util::MachineDependentParams::DoubleMax();
356 return Util::MachineDependentParams::IntMax();
virtual int getNumFailedLinearSolves()
double getDebugMaxTime() const
Util::OptionBlock innerLocaOptions_
void zeroInnerLoopStatistics_()
bool outerLoopActiveFlag_
std::vector< std::string > paramNameList
virtual double getTotalLinearSolveTime()
std::vector< int > numInterfaceNodes_
bool setTwoLevelTranOptions(const Util::OptionBlock &OB)
void setAnalysisMode(AnalysisMode mode)
void calcInnerLoopStatistics_()
bool doFullNewtonFinalEnforcement_
bool registerLinearSystem(Linear::System *ptr)
double totalResidualLoadTime_
Linear::Vector * jdxpVectorPtr_
bool calcCouplingTerms_()
Pure virtual class to augment a linear system.
bool setTranOptions(const Util::OptionBlock &OB)
virtual int getNumJacobianLoads()
virtual double getTotalResidualLoadTime()
NonLinearSolver * nlsOuterPtr_
bool totalSolveFailFatal_
bool setTwoLevelLocaOptions(const Util::OptionBlock &OB)
bool setTwoLevelOptions(const Util::OptionBlock &OB)
Analysis::AnalysisManager * analysisManager_
double increaseContScalar_
std::vector< double > paramCurrentVal
bool setLocaOptions(const Util::OptionBlock &OB)
unsigned int totalNumLinearIters_
bool isFirstContinuationParam() const
bool registerAnalysisManager(Analysis::AnalysisManager *analysis_manager)
Util::OptionBlock innerSolverOptions_
bool setHBOptions(const Util::OptionBlock &OB)
TwoLevelNewtonMode getCouplingMode()
int solve(NonLinearSolver *nlsTmpPtr=NULL)
int twoLevelAlgorithmTran_
double totalJacobianLoadTime_
void calcOuterLoopStatistics_()
bool registerLoader(Loader::NonlinearEquationLoader *ptr)
int getMaxNormFindex() const
bool setOptions(const Util::OptionBlock &OB)
int numFailedLinearSolves_
int getDebugLevel() const
virtual int getNumResidualLoads()
virtual unsigned int getTotalNumLinearIters()
double getDebugMinTime() const
double getMaxNormF() const
bool numInterfaceNodesSetup_
int getNumIterations() const
bool continuationCalledBefore_
int getParameterNumber() const
Linear::Vector * savedNextSolPtr_
Util::OptionBlock outerLocaOptions_
int getContinuationStep() const
virtual int getNumLinearSolves()
int getDebugMaxTimeStep() const
double decreaseContScalar_
NonLinearSolver * nlsPassingPtr_
AnalysisMode externalAnalysisMode
Linear::Vector * savedRHSPtr_
int numJacobianFactorizations_
bool getScreenOutputFlag() const
double totalLinearSolveTime_
bool isFirstSolveComplete() const
NonLinearSolver * nlsInnerPtr_
bool setPetraOptions(const Util::OptionBlock &OB)
virtual int getNumJacobianFactorizations()
TwoLevelNewtonMode twoLevelCouplingMode_
bool registerOutputMgr(IO::OutputMgr *ptr)
void printStepInfo_(int step, int success, TwoLevelNewtonMode solveType)
bool setupOuterLoopParamsFlag_
virtual double getTotalJacobianLoadTime()
std::vector< double > paramFinalVal
bool setupTranParamsFlag_
int getDebugMinTimeStep() const