47 #ifndef Xyce_N_ANP_AnalysisBase_h
48 #define Xyce_N_ANP_AnalysisBase_h
55 #include <N_UTL_fwd.h>
57 #include <N_UTL_JSON.h>
58 #include <N_UTL_Stats.h>
133 virtual bool doRun() = 0;
134 virtual bool doInit() = 0;
171 virtual bool isAnalysis(
int analysis_type)
const {
return false; }
320 #endif // Xyce_N_ANP_AnalysisBase_h
unsigned int successStepsThisParameter_
unsigned int successfulStepsTaken_
Number of consecutive successful time-integration steps.
bool beginningIntegration
unsigned int tranStepNumber
virtual bool doProcessSuccessfulStep()=0
Pure virtual class to augment a linear system.
unsigned int iterationMatrixFactorizations_
int doubleDCOPStep_
current step in the DCOP loop.
bool resetForStepAnalysis()
unsigned int stepNumber
Time-integration step number counter.
double getTotalLinearSolutionTime() const
double linearSolutionTime_
unsigned int linearSolves_
void gatherStepStatistics(StatCounts &stats, Nonlinear::NonLinearSolver &nonlinear_solver, int newton_convergence_status)
void setTranStepNumber(int step)
Util::JSON & operator<<(Util::JSON &json, const StatCounts &s)
void setBeginningIntegrationFlag(bool bif)
virtual bool doHandlePredictor()=0
virtual int getDoubleDCOPStep() const
virtual const TimeIntg::TIAParams & getTIAParams() const =0
unsigned int failedStepsAttempted_
Total number of failed time-integration steps.
StatCounts & operator+=(const StatCounts &stats)
AnalysisBase & operator=(const AnalysisBase &)
No assignment.
virtual bool isAnalysis(int analysis_type) const
bool setDCOPOption(const Util::Param ¶m)
void setIntegrationMethod(int im)
void setStepNumber(int step)
bool getInputOPFlag() const
int getFirstDCOPStep() const
virtual void printStepHeader(std::ostream &os)
bool processSuccessfulStep()
double getTotalJacobianLoadTime() const
virtual bool twoLevelStep()
virtual bool doProcessFailedStep()=0
virtual bool printLoopInfo(int start, int finish)
StatCounts operator-(const StatCounts &s0, const StatCounts &s1)
unsigned int jacobiansEvaluated_
bool getBeginningIntegrationFlag() const
bool inputOPFlag_
true if starting from an initial condition.
double getTotalResidualLoadTime() const
unsigned int linearIters_
const StatCounts & getStatCounts(int index=-1) const
bool getDoubleDCOPEnabled() const
void setInputOPFlag(bool initial_conditions_loaded)
bool firstDoubleDCOPStep()
int getLastDCOPStep() const
unsigned int failedLinearSolves_
virtual bool doLoopProcess()=0
int getIntegrationMethod() const
bool doubleDCOPFlag_
true if doing a double-DCOP is possible.
unsigned int baseIntegrationMethod_
Current time-integration method flag.
AnalysisBase(AnalysisManager &analysis_manager, const char *name)
virtual bool outputFailureStats(std::ostream &os)
unsigned int nonlinearConvergenceFailures_
unsigned int residualEvaluations_
virtual void printProgress(std::ostream &os)
std::vector< StatCounts > saveStatCountsVector_
virtual bool getDCOPFlag() const =0
const char * getName() const
virtual bool doFinish()=0