47 #ifndef Xyce_N_TIA_ONE_STEP_H
48 #define Xyce_N_TIA_ONE_STEP_H
56 #include <N_PDS_ParMap.h>
57 #include <N_UTL_IndexPair.h>
58 #include <N_UTL_Math.h>
88 return "Onestep: Trapezoidal";
102 const std::list< IndexPair > & staGIDList) {
return;}
109 Linear::Vector * tmpSolVectorPtr, std::vector<Linear::Vector*> & historyVec) ;
113 Linear::Vector * tmpSolVectorPtr) ;
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) ;
151 return pow(stepadjust, 1.0 / 3.0);
272 #endif //Xyce_N_TIA_ONE_STEP_H
void setLeadingCoeff(double &LC)
int getNumberOfSteps() const
void obtainCorrectorDeriv()
double timeStepForHistory2_
void obtainSensitivityPredictors()
bool interpolateSolution(double timepoint, Linear::Vector *tmpSolVectorPtr, std::vector< Linear::Vector * > &historyVec)
void updateSensitivityHistory()
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 initializeSensitivities()
double computeExpoStepAdjust(double stepadjust)
Pure virtual class to augment a linear system.
double computeErrorEstimate() const
void initialize(const TIAParams &tia_params)
void obtainSensitivityResiduals()
void rejectStep(const TIAParams &tia_params)
void updateLeadCurrentVec()
bool printMPDEOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const double time, Linear::Vector *solnVecPtr, const std::vector< double > &fastTimes)
const char * getName() const
void completeStep(const TIAParams &tia_params)
double getLeadingCoeff() const
DataStore & ds
Reference to the TIA data-store object.
StepErrorControl & sec
Reference to step-error control object.
bool saveOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const TIAParams &tia_params, Linear::Vector *solnVecPtr, const double saveTime, const bool doNotInterpolate)
double leadingCoeff
Time-integration method leading coefficient value.
void getInitialQnorm(TwoLevelError &tle) const
bool printWaMPDEOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const double time, Linear::Vector *solnVecPtr, const std::vector< double > &fastTimes, const int phiGID)
static TimeIntegrationMethod * factory(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)
void obtainPredictorDeriv()
bool interpolateMPDESolution(std::vector< double > &timepoint, Linear::Vector *tmpSolVectorPtr)
OneStep(const TIAParams &tiaP, StepErrorControl &secTmp, DataStore &dsTmp)
void updateDerivsBlock(const std::list< IndexPair > &solGIDList, const std::list< IndexPair > &staGIDList)
void rejectStepForHabanero()
void loadFinalSensitivityDerivatives()
double timept_
Keep track of last interpolation point in printMPDEOutputSolution.
int getMaxOrder() const
Return max order of method (this should obey user option maxorder)
void setTwoLevelTimeInfo(const TimeIntInfo &tiInfo)
double partialTimeDeriv() const
void getTwoLevelError(TwoLevelError &tle) const