Xyce  6.1
Xyce::TimeIntg::StepErrorControl Class Reference

#include <N_TIA_StepErrorControl.h>

Collaboration diagram for Xyce::TimeIntg::StepErrorControl:

Public Types

typedef std::set< Util::BreakPoint, Util::BreakPointLess > BreakPointSet
 

Public Member Functions

 StepErrorControl (const std::string &netlist_filename, Analysis::AnalysisManager &analysis_manager, WorkingIntegrationMethod &working_integration_method, const TIAParams &tia_params)
 
virtual ~StepErrorControl ()
 
const Util::BreakPointLess & getBreakPointLess () const
 
void updateStopTime (Parallel::Machine comm, bool breakpoints_enabled, double initial_time, bool min_time_steps_breakpoint_given, double min_time_steps_breakpoint)
 
double findNextStopTimeDeprecated (Parallel::Machine comm, bool breakpoints_enabled)
 
bool updateMaxTimeStep (Parallel::Machine comm, const TIAParams &tia_params, double suggestedMaxTimeStep=0.0)
 
void updateTwoLevelTimeInfo (Parallel::Machine comm, const TimeIntInfo &tiInfo, bool breakpoints_enabled, double initial_time, bool min_time_steps_breakpoint_given, double min_time_steps_breakpoint)
 
void outputTimeInfo (std::ostream &os)
 
int getNumberOfSteps () const
 
bool updateBreakPoints (double initial_time)
 
void setBreakPoint (const Util::BreakPoint &breakpoint, double initial_time)
 
void setBreakPoint (double bp)
 
void simulationPaused (double initial_time)
 
bool isPauseTime ()
 
bool updateMinTimeStep ()
 
bool isFinished ()
 
void evaluateStepError (const TIAParams &tia_params)
 
int getRestartDataSize (bool pack)
 
bool dumpRestartData (char *buf, int bsize, int &pos, N_PDS_Comm *comm, bool pack)
 
bool restoreRestartData (char *buf, int bsize, int &pos, N_PDS_Comm *comm, bool pack, double &initial_time)
 
bool resetAll (const TIAParams &tia_params)
 
bool setFromTIAParams (const TIAParams &tia_params)
 
void printBreakPoints (std::ostream &os) const
 
double getEstOverTol () const
 
void setTimeStep (double newTimeStep)
 

Public Attributes

double startingTimeStep
 
double currentTimeStep
 
double lastAttemptedTimeStep
 
double lastTimeStep
 
double minTimeStep
 
double maxTimeStep
 
double maxTimeStepUser
 
double maxTimeStepBP
 
double savedTimeStep
 
double lastTime
 
double currentTime
 
double nextTime
 
double stopTime
 
double initialTime
 
double finalTime
 
double currentTimeStepRatio
 
double currentTimeStepSum
 
double lastTimeStepRatio
 
double lastTimeStepSum
 
int newtonConvergenceStatus
 
int nIterations
 Number of newton iterations. More...
 
int numberSuccessiveFailures
 
bool stepAttemptStatus
 
bool previousCallStepSuccessful
 
double estOverTol_
 
bool TimeStepLimitedbyBP
 
double pauseTime
 Time step value at which to "pause" the simulation. More...
 
bool pauseSetAtZero
 Flag used to indicate that a pause was specifically set at time zero and thus should not be ignored. More...
 

Private Member Functions

 StepErrorControl (const StepErrorControl &)
 
StepErrorControloperator= (const StepErrorControl &)
 
bool initializeBreakPoints (double start_time, double initial_time, double final_time)
 
void updatePauseTime (Util::BreakPoint breakpoint, double initial_time)
 
void integrationStepReport (std::ostream &os, bool step_attempt_status, bool sAStatus, bool testedError, const TIAParams &tia_params)
 
void terseIntegrationStepReport (std::ostream &os, bool step_attempt_status, bool sAStatus, bool testedError, const TIAParams &tia_params)
 

Private Attributes

Analysis::AnalysisManageranalysisManager_
 
WorkingIntegrationMethodwimPtr_
 Analysis manager. More...
 
const std::string netlistFilename_
 Working integration method. More...
 
double minStepPrecisionFac_
 
double newtonStepReduction_
 
double restartTimeStepScale_
 
double tolAimFac_
 
Util::BreakPointLess breakPointLess_
 
BreakPointSet breakPoints_
 
BreakPointSet::iterator currentPauseBP
 
int currentOrder_
 
int oldOrder_
 
int minOrder_
 
int maxOrder_
 
int usedOrder_
 
double alphas_
 
std::vector< double > alpha_
 
double alpha0_
 
double cj_
 
double ck_
 
std::vector< double > sigma_
 
std::vector< double > gamma_
 
std::vector< double > beta_
 
std::vector< double > psi_
 
int numberOfSteps_
 
int nef_
 
double usedStep_
 
int nscsco_
 
double Ek_
 
double Ekm1_
 
double Ekm2_
 
double Ekp1_
 
double Est_
 
double Tk_
 
double Tkm1_
 
double Tkm2_
 
double Tkp1_
 
int newOrder_
 
bool initialPhase_
 
double h0_safety_
 
double h0_max_factor_
 
double h_phase0_incr_
 
double h_max_inv_
 
double Tkm1_Tk_safety_
 
double Tkp1_Tk_safety_
 
double r_factor_
 
double r_safety_
 
double r_fudge_
 
double r_min_
 
double r_max_
 
double r_hincr_test_
 
double r_hincr_
 
int max_LET_fail_
 

Friends

class BackwardDifferentiation15
 
class Gear12
 
class OneStep
 

Detailed Description

Definition at line 91 of file N_TIA_StepErrorControl.h.

Member Typedef Documentation

typedef std::set<Util::BreakPoint, Util::BreakPointLess> Xyce::TimeIntg::StepErrorControl::BreakPointSet

Definition at line 98 of file N_TIA_StepErrorControl.h.

Constructor & Destructor Documentation

Xyce::TimeIntg::StepErrorControl::StepErrorControl ( const std::string &  netlist_filename,
Analysis::AnalysisManager analysis_manager,
WorkingIntegrationMethod working_integration_method,
const TIAParams tia_params 
)

Definition at line 83 of file N_TIA_StepErrorControl.C.

Xyce::TimeIntg::StepErrorControl::~StepErrorControl ( )
virtual

Definition at line 195 of file N_TIA_StepErrorControl.C.

Xyce::TimeIntg::StepErrorControl::StepErrorControl ( const StepErrorControl )
private

Member Function Documentation

bool Xyce::TimeIntg::StepErrorControl::dumpRestartData ( char *  buf,
int  bsize,
int &  pos,
N_PDS_Comm *  comm,
bool  pack 
)

Definition at line 1287 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::evaluateStepError ( const TIAParams tia_params)

Definition at line 491 of file N_TIA_StepErrorControl.C.

double Xyce::TimeIntg::StepErrorControl::findNextStopTimeDeprecated ( Parallel::Machine  comm,
bool  breakpoints_enabled 
)

Definition at line 456 of file N_TIA_StepErrorControl.C.

const Util::BreakPointLess& Xyce::TimeIntg::StepErrorControl::getBreakPointLess ( ) const
inline

Definition at line 113 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::getEstOverTol ( ) const

Definition at line 327 of file N_TIA_StepErrorControl.C.

int Xyce::TimeIntg::StepErrorControl::getNumberOfSteps ( ) const
inline

Definition at line 142 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::getRestartDataSize ( bool  pack)

Definition at line 1235 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::initializeBreakPoints ( double  start_time,
double  initial_time,
double  final_time 
)
private

Definition at line 735 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::integrationStepReport ( std::ostream &  os,
bool  step_attempt_status,
bool  sAStatus,
bool  testedError,
const TIAParams tia_params 
)
private

Definition at line 634 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::isFinished ( )
inline

Definition at line 311 of file N_TIA_StepErrorControl.h.

bool Xyce::TimeIntg::StepErrorControl::isPauseTime ( )

Definition at line 2136 of file N_TIA_StepErrorControl.C.

StepErrorControl& Xyce::TimeIntg::StepErrorControl::operator= ( const StepErrorControl )
private
void Xyce::TimeIntg::StepErrorControl::outputTimeInfo ( std::ostream &  os)

Definition at line 2111 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::printBreakPoints ( std::ostream &  os) const

Definition at line 1193 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::resetAll ( const TIAParams tia_params)

Definition at line 254 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::restoreRestartData ( char *  buf,
int  bsize,
int &  pos,
N_PDS_Comm *  comm,
bool  pack,
double &  initial_time 
)

Definition at line 1667 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::setBreakPoint ( const Util::BreakPoint &  breakpoint,
double  initial_time 
)

Definition at line 1072 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::setBreakPoint ( double  bp)

Definition at line 1107 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::setFromTIAParams ( const TIAParams tia_params)

Definition at line 208 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::setTimeStep ( double  newTimeStep)

Definition at line 340 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::simulationPaused ( double  initial_time)

Definition at line 1177 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::terseIntegrationStepReport ( std::ostream &  os,
bool  step_attempt_status,
bool  sAStatus,
bool  testedError,
const TIAParams tia_params 
)
private

Definition at line 613 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::updateBreakPoints ( double  initial_time)

Definition at line 777 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::updateMaxTimeStep ( Parallel::Machine  comm,
const TIAParams tia_params,
double  suggestedMaxTimeStep = 0.0 
)

Definition at line 970 of file N_TIA_StepErrorControl.C.

bool Xyce::TimeIntg::StepErrorControl::updateMinTimeStep ( )

Definition at line 1055 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::updatePauseTime ( Util::BreakPoint  breakpoint,
double  initial_time 
)
private

Definition at line 1122 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::updateStopTime ( Parallel::Machine  comm,
bool  breakpoints_enabled,
double  initial_time,
bool  min_time_steps_breakpoint_given,
double  min_time_steps_breakpoint 
)

Definition at line 372 of file N_TIA_StepErrorControl.C.

void Xyce::TimeIntg::StepErrorControl::updateTwoLevelTimeInfo ( Parallel::Machine  comm,
const TimeIntInfo tiInfo,
bool  breakpoints_enabled,
double  initial_time,
bool  min_time_steps_breakpoint_given,
double  min_time_steps_breakpoint 
)

Definition at line 2073 of file N_TIA_StepErrorControl.C.

Friends And Related Function Documentation

friend class BackwardDifferentiation15
friend

Definition at line 93 of file N_TIA_StepErrorControl.h.

friend class Gear12
friend

Definition at line 94 of file N_TIA_StepErrorControl.h.

friend class OneStep
friend

Definition at line 95 of file N_TIA_StepErrorControl.h.

Member Data Documentation

double Xyce::TimeIntg::StepErrorControl::alpha0_
private

Definition at line 266 of file N_TIA_StepErrorControl.h.

std::vector<double> Xyce::TimeIntg::StepErrorControl::alpha_
private

Definition at line 264 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::alphas_
private

Definition at line 263 of file N_TIA_StepErrorControl.h.

Analysis::AnalysisManager& Xyce::TimeIntg::StepErrorControl::analysisManager_
private

Definition at line 200 of file N_TIA_StepErrorControl.h.

std::vector<double> Xyce::TimeIntg::StepErrorControl::beta_
private

Definition at line 272 of file N_TIA_StepErrorControl.h.

Util::BreakPointLess Xyce::TimeIntg::StepErrorControl::breakPointLess_
private

Definition at line 251 of file N_TIA_StepErrorControl.h.

BreakPointSet Xyce::TimeIntg::StepErrorControl::breakPoints_
private

Definition at line 253 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::cj_
private

Definition at line 267 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::ck_
private

Definition at line 268 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::currentOrder_
private

Definition at line 258 of file N_TIA_StepErrorControl.h.

BreakPointSet::iterator Xyce::TimeIntg::StepErrorControl::currentPauseBP
private

Definition at line 254 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::currentTime

Definition at line 218 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::currentTimeStep

Definition at line 207 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::currentTimeStepRatio

Definition at line 224 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::currentTimeStepSum

Definition at line 225 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Ek_
private

Definition at line 279 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Ekm1_
private

Definition at line 279 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Ekm2_
private

Definition at line 279 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Ekp1_
private

Definition at line 279 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Est_
private

Definition at line 280 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::estOverTol_

Definition at line 239 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::finalTime

Definition at line 222 of file N_TIA_StepErrorControl.h.

std::vector<double> Xyce::TimeIntg::StepErrorControl::gamma_
private

Definition at line 270 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::h0_max_factor_
private

Definition at line 286 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::h0_safety_
private

Definition at line 285 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::h_max_inv_
private

Definition at line 288 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::h_phase0_incr_
private

Definition at line 287 of file N_TIA_StepErrorControl.h.

bool Xyce::TimeIntg::StepErrorControl::initialPhase_
private

Definition at line 283 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::initialTime

Definition at line 221 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::lastAttemptedTimeStep

Definition at line 208 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::lastTime

Definition at line 217 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::lastTimeStep

Definition at line 209 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::lastTimeStepRatio

Definition at line 227 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::lastTimeStepSum

Definition at line 228 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::max_LET_fail_
private

Definition at line 298 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::maxOrder_
private

Definition at line 261 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::maxTimeStep

Definition at line 211 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::maxTimeStepBP

Definition at line 213 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::maxTimeStepUser

Definition at line 212 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::minOrder_
private

Definition at line 260 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::minStepPrecisionFac_
private

Definition at line 246 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::minTimeStep

Definition at line 210 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::nef_
private

Definition at line 276 of file N_TIA_StepErrorControl.h.

const std::string Xyce::TimeIntg::StepErrorControl::netlistFilename_
private

Working integration method.

Definition at line 202 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::newOrder_
private

Definition at line 282 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::newtonConvergenceStatus

Definition at line 230 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::newtonStepReduction_
private

Definition at line 247 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::nextTime

Definition at line 219 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::nIterations

Number of newton iterations.

Definition at line 232 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::nscsco_
private

Definition at line 278 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::numberOfSteps_
private

Definition at line 275 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::numberSuccessiveFailures

Definition at line 234 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::oldOrder_
private

Definition at line 259 of file N_TIA_StepErrorControl.h.

bool Xyce::TimeIntg::StepErrorControl::pauseSetAtZero

Flag used to indicate that a pause was specifically set at time zero and thus should not be ignored.

Definition at line 243 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::pauseTime

Time step value at which to "pause" the simulation.

Definition at line 242 of file N_TIA_StepErrorControl.h.

bool Xyce::TimeIntg::StepErrorControl::previousCallStepSuccessful

Definition at line 238 of file N_TIA_StepErrorControl.h.

std::vector<double> Xyce::TimeIntg::StepErrorControl::psi_
private

Definition at line 273 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_factor_
private

Definition at line 291 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_fudge_
private

Definition at line 293 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_hincr_
private

Definition at line 297 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_hincr_test_
private

Definition at line 296 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_max_
private

Definition at line 295 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_min_
private

Definition at line 294 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::r_safety_
private

Definition at line 292 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::restartTimeStepScale_
private

Definition at line 248 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::savedTimeStep

Definition at line 215 of file N_TIA_StepErrorControl.h.

std::vector<double> Xyce::TimeIntg::StepErrorControl::sigma_
private

Definition at line 269 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::startingTimeStep

Definition at line 206 of file N_TIA_StepErrorControl.h.

bool Xyce::TimeIntg::StepErrorControl::stepAttemptStatus

Definition at line 235 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::stopTime

Definition at line 220 of file N_TIA_StepErrorControl.h.

bool Xyce::TimeIntg::StepErrorControl::TimeStepLimitedbyBP

Definition at line 240 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Tk_
private

Definition at line 281 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Tkm1_
private

Definition at line 281 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Tkm1_Tk_safety_
private

Definition at line 289 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Tkm2_
private

Definition at line 281 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Tkp1_
private

Definition at line 281 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::Tkp1_Tk_safety_
private

Definition at line 290 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::tolAimFac_
private

Definition at line 249 of file N_TIA_StepErrorControl.h.

int Xyce::TimeIntg::StepErrorControl::usedOrder_
private

Definition at line 262 of file N_TIA_StepErrorControl.h.

double Xyce::TimeIntg::StepErrorControl::usedStep_
private

Definition at line 277 of file N_TIA_StepErrorControl.h.

WorkingIntegrationMethod& Xyce::TimeIntg::StepErrorControl::wimPtr_
private

Analysis manager.

Definition at line 201 of file N_TIA_StepErrorControl.h.


The documentation for this class was generated from the following files: