47 #ifndef Xyce_N_TIA_NO_TIME_INTEGRATION_H
48 #define Xyce_N_TIA_NO_TIME_INTEGRATION_H
51 #include <N_UTL_Math.h>
58 #define MATRIX_FAILSAFE 1
59 #define NUM_LIMIT 1.0e-20
107 const std::list< IndexPair > & staGIDList)
115 bool interpolateSolution(
double timepoint, Linear::Vector * tmpSolVectorPtr, std::vector<Linear::Vector*> & historyVec )
124 Linear::Vector * solnVecPtr,
125 const bool doNotInterpolate,
126 const std::vector<double> & outputInterpolationTimes,
127 bool skipPrintLineOutput) ;
130 Parallel::Machine comm,
131 IO::InitialConditionsManager & initial_conditions_manager,
132 const NodeNameMap & node_name_map,
134 Linear::Vector * solnVecPtr,
135 const double saveTime,
136 const bool doNotInterpolate) ;
172 #ifdef MATRIX_FAILSAFE
199 void applyJacobian(
const Linear::Vector& input, Linear::Vector& result) ;
220 #endif // Xyce_N_TIA_NO_TIME_INTEGRATION_H
int getNumberOfSteps() const
bool interpolateSolution(double timepoint, Linear::Vector *tmpSolVectorPtr, std::vector< Linear::Vector * > &historyVec)
void obtainPredictorDeriv()
void initialize(const TIAParams &tia_params)
void applyJacobian(const Linear::Vector &input, Linear::Vector &result)
StepErrorControl & sec
Reference to step-error control object.
bool usePreviousSolAsPredictor()
bool saveOutputSolution(Parallel::Machine comm, IO::InitialConditionsManager &initial_conditions_manager, const NodeNameMap &node_name_map, const TIAParams &tia_params, Linear::Vector *solnVecPtr, const double saveTime, const bool doNotInterpolate)
Pure virtual class to augment a linear system.
double computeExpoStepAdjust(double stepadjust)
void completeStep(const TIAParams &tia_params)
void loadFinalSensitivityDerivatives()
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)
double partialTimeDeriv() const
int getMaxOrder() const
Return max order of method (this should obey user option maxorder)
double getLeadingCoeff() const
void obtainSensitivityResiduals()
void obtainCorrectorDeriv()
const char * getName() const
double alphas
$$ fixed-leading coefficient of this BDF method
NoTimeIntegration(const TIAParams &tiaP, StepErrorControl &secTmp, DataStore &dsTmp)
void setTwoLevelTimeInfo()
double leadingCoeff
Time-integration method leading coefficient value.
double computeErrorEstimate() const
void updateDerivsBlock(const std::list< IndexPair > &solGIDList, const std::list< IndexPair > &staGIDList)
void rejectStep(const TIAParams &tia_params)
DataStore & ds
Reference to the TIA data-store object.
void getTwoLevelError(TwoLevelError &tle) const
void setLeadingCoeff(double &LC)
void getInitialQnorm(TwoLevelError &tle) const
static TimeIntegrationMethod * factory(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)