47 #ifndef Xyce_N_TIA_BackwardDifferentiation15_h
48 #define Xyce_N_TIA_BackwardDifferentiation15_h
54 #include <N_PDS_ParMap.h>
59 #include <N_UTL_Math.h>
60 #include <N_UTL_IndexPair.h>
95 return "Backward Differentiation 15";
111 const std::list< IndexPair > & solGIDList,
112 const std::list< IndexPair > & staGIDList)
124 Linear::Vector * tmpSolVectorPtr, std::vector<Linear::Vector*> & historyVec) ;
131 Linear::Vector * solnVecPtr,
132 const bool doNotInterpolate,
133 const std::vector<double> & outputInterpolationTimes,
134 bool skipPrintLineOutput) ;
140 Linear::Vector * solnVecPtr,
141 const std::vector<double> & fastTimes ) ;
147 Linear::Vector * solnVecPtr,
148 const std::vector<double> & fastTimes,
155 Linear::Vector * solnVecPtr,
156 const double saveTime,
157 const bool doNotInterpolate) ;
265 std::vector<double>& timepoint,
266 Linear::Vector * tmpSolVectorPtr);
280 #endif // Xyce_N_TIA_BackwardDifferentiation15_h
int getNumberOfSteps() const
BackwardDifferentiation15(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)
void completeStep(const TIAParams &tia_params)
void setTwoLevelTimeInfo(const TimeIntInfo &tiInfo)
void loadFinalSensitivityDerivatives()
Pure virtual class to augment a linear system.
void obtainCorrectorDeriv()
void updateLeadCurrentVec()
StepErrorControl & sec
Reference to step-error control object.
void getInitialQnorm(TwoLevelError &tle) const
double computeErrorEstimate() const
bool interpolateSolution(double timepoint, Linear::Vector *tmpSolVectorPtr, std::vector< Linear::Vector * > &historyVec)
double computeExpoStepAdjust(double stepadjust)
void obtainSensitivityResiduals()
const char * getName() const
bool printWaMPDEOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const double time, Linear::Vector *solnVecPtr, const std::vector< double > &fastTimes, const int phiGID)
void getTwoLevelError(TwoLevelError &tle) const
void initialize(const TIAParams &tia_params)
double leadingCoeff
Time-integration method leading coefficient value.
bool saveOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const TIAParams &tia_params, Linear::Vector *solnVecPtr, const double saveTime, const bool doNotInterpolate)
double getLeadingCoeff() const
void setLeadingCoeff(double &LC)
static TimeIntegrationMethod * factory(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)
bool printMPDEOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const double time, Linear::Vector *solnVecPtr, const std::vector< double > &fastTimes)
void obtainPredictorDeriv()
int getMaxOrder() const
Return max order of method (this should obey user option maxorder)
bool interpolateMPDESolution(std::vector< double > &timepoint, Linear::Vector *tmpSolVectorPtr)
void rejectStep(const TIAParams &tia_params)
double timept_
Keep track of last interpolation point in printMPDEOutputSolution.
double partialTimeDeriv() const
void updateDerivsBlock(const std::list< IndexPair > &solGIDList, const std::list< IndexPair > &staGIDList)
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)
~BackwardDifferentiation15()
void rejectStepForHabanero()
DataStore & ds
Reference to the TIA data-store object.