47 #ifndef Xyce_N_TIA_GEAR12_H
48 #define Xyce_N_TIA_GEAR12_H
56 #include <N_PDS_ParMap.h>
57 #include <N_UTL_Math.h>
58 #include <N_UTL_IndexPair.h>
103 void updateDerivsBlock(
const std::list< IndexPair > & solGIDList,
const std::list< IndexPair > & staGIDList)
113 bool interpolateSolution(
double timepoint, Linear::Vector * tmpSolVectorPtr, std::vector<Linear::Vector*> & historyVec) ;
120 Linear::Vector * solnVecPtr,
121 const bool doNotInterpolate,
122 const std::vector<double> & outputInterpolationTimes,
123 bool skipPrintLineOutput) ;
129 Linear::Vector * solnVecPtr,
130 const std::vector<double> & fastTimes );
136 Linear::Vector * solnVecPtr,
137 const std::vector<double> & fastTimes,
144 Linear::Vector * solnVecPtr,
145 const double saveTime,
146 const bool doNotInterpolate) ;
262 #endif //Xyce_N_TIA_GEAR12_H
const char * getName() const
bool interpolateMPDESolution(std::vector< double > &timepoint, Linear::Vector *tmpSolVectorPtr)
void rejectStep(const TIAParams &tia_params)
Gear12(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)
Pure virtual class to augment a linear system.
void getInitialQnorm(TwoLevelError &tle) const
bool interpolateSolution(double timepoint, Linear::Vector *tmpSolVectorPtr, std::vector< Linear::Vector * > &historyVec)
void updateDerivsBlock(const std::list< IndexPair > &solGIDList, const std::list< IndexPair > &staGIDList)
void completeStep(const TIAParams &tia_params)
bool printOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const TIAParams &tia_params, const double time, Linear::Vector *solnVecPtr, const bool doNotInterpolate, const std::vector< double > &outputInterpolationTimes, bool skipPrintLineOutput)
void updateLeadCurrentVec()
void setLeadingCoeff(double &LC)
static TimeIntegrationMethod * factory(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)
void initialize(const TIAParams &tia_params)
double leadingCoeff
Time-integration method leading coefficient value.
void obtainPredictorDeriv()
void obtainCorrectorDeriv()
void loadFinalSensitivityDerivatives()
DataStore & ds
Reference to the TIA data-store object.
double computeExpoStepAdjust(double stepadjust)
bool printWaMPDEOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const double time, Linear::Vector *solnVecPtr, const std::vector< double > &fastTimes, const int phiGID)
void getTwoLevelError(TwoLevelError &tle) const
bool printMPDEOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const double time, Linear::Vector *solnVecPtr, const std::vector< double > &fastTimes)
bool saveOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const TIAParams &tia_params, Linear::Vector *solnVecPtr, const double saveTime, const bool doNotInterpolate)
void updateSensitivityHistory()
int getNumberOfSteps() const
int getMaxOrder() const
Return max order of method (this should obey user option maxorder)
double getLeadingCoeff() const
double partialTimeDeriv() const
void rejectStepForHabanero()
void initializeSensitivities()
StepErrorControl & sec
Reference to step-error control object.
void obtainSensitivityPredictors()
void obtainSensitivityResiduals()
double computeErrorEstimate() const
void setTwoLevelTimeInfo(const TimeIntInfo &tiInfo)
double timept_
Keep track of last interpolation point in printMPDEOutputSolution.