Xyce  6.1
Xyce::Analysis::HB Class Reference

#include <N_ANP_HB.h>

Inheritance diagram for Xyce::Analysis::HB:
Collaboration diagram for Xyce::Analysis::HB:

Public Member Functions

 HB (AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Device::DeviceMgr &device_manager, Linear::Builder &builder, Topo::Topology &topology)
 
virtual ~HB ()
 
void notify (const StepEvent &event)
 
const TimeIntg::TIAParamsgetTIAParams () const
 
TimeIntg::TIAParamsgetTIAParams ()
 
bool setAnalysisParams (const Util::OptionBlock &option_block)
 
bool setHBIntParams (const Util::OptionBlock &option_block)
 
bool setHBLinSol (const Util::OptionBlock &option_block, Linear::Builder &builder)
 
bool setLinSol (const Util::OptionBlock &option_block)
 
int getDoubleDCOPStep () const
 
bool getDCOPFlag () const
 
bool doRun ()
 
bool doInit ()
 
bool doLoopProcess ()
 
bool processSuccessfulDCOP ()
 
bool processFailedDCOP ()
 
bool doProcessSuccessfulStep ()
 
bool doProcessFailedStep ()
 
bool doFinish ()
 
bool doHandlePredictor ()
 
bool finalVerboseOutput ()
 
bool isAnalysis (int analysis_type) const
 
void prepareHBOutput (Linear::Vector &solnVecPtr, std::vector< double > &timePoints, std::vector< double > &freqPoints, Teuchos::RCP< Linear::BlockVector > &timeDomainSolnVec, Teuchos::RCP< Linear::BlockVector > &freqDomainSolnVecReal, Teuchos::RCP< Linear::BlockVector > &freqDomainSolnVecImaginary, Teuchos::RCP< Linear::BlockVector > &timeDomainStoreVec, Teuchos::RCP< Linear::BlockVector > &freqDomainStoreVecReal, Teuchos::RCP< Linear::BlockVector > &freqDomainStoreVecImaginary, Teuchos::RCP< Linear::BlockVector > &timeDomainLeadCurrentVec, Teuchos::RCP< Linear::BlockVector > &freqDomainLeadCurrentVecReal, Teuchos::RCP< Linear::BlockVector > &freqDomainLeadCurrentVecImaginary, Teuchos::RCP< Linear::BlockVector > &timeDomainJunctionVoltageVec, Teuchos::RCP< Linear::BlockVector > &freqDomainJunctionVoltageVecReal, Teuchos::RCP< Linear::BlockVector > &freqDomainJunctionVoltageVecImaginary) const
 
- Public Member Functions inherited from Xyce::Analysis::AnalysisBase
 AnalysisBase (AnalysisManager &analysis_manager, const char *name)
 
virtual ~AnalysisBase ()
 
void setTranStepNumber (int step)
 
int getTranStepNumber ()
 
int getStepNumber ()
 
void setStepNumber (int step)
 
virtual bool outputFailureStats (std::ostream &os)
 
bool run ()
 
bool init ()
 
bool loopProcess ()
 
bool processSuccessfulStep ()
 
bool processFailedStep ()
 
bool finish ()
 
bool handlePredictor ()
 
virtual void printStepHeader (std::ostream &os)
 
virtual void printProgress (std::ostream &os)
 
virtual bool twoLevelStep ()
 
virtual bool printLoopInfo (int start, int finish)
 
void setBeginningIntegrationFlag (bool bif)
 
bool getBeginningIntegrationFlag () const
 
void setIntegrationMethod (int im)
 
int getIntegrationMethod () const
 
void setInputOPFlag (bool initial_conditions_loaded)
 
bool getInputOPFlag () const
 
bool resetForStepAnalysis ()
 
void resetAll ()
 
int saveLoopInfo ()
 
double getTotalLinearSolutionTime () const
 
double getTotalResidualLoadTime () const
 
double getTotalJacobianLoadTime () const
 
bool getDoubleDCOPEnabled () const
 
bool firstDoubleDCOPStep ()
 
const StatCountsgetStatCounts (int index=-1) const
 
bool setDCOPOption (const Util::Param &param)
 
int getLastDCOPStep () const
 
int getFirstDCOPStep () const
 
bool getNOOP () const
 
void setNOOP (bool noop)
 
const char * getName () const
 

Private Member Functions

void accumulateStatistics_ (AnalysisBase &analysis)
 
bool runTol (TimeIntg::TIAParams &tia_params)
 
bool runStartupPeriods (const TimeIntg::TIAParams &tia_params)
 
bool runTransientIC (const TimeIntg::TIAParams &tia_params)
 
bool interpolateIC (double initial_time)
 
bool setFreqPoints_ ()
 
bool setInitialGuess ()
 
bool setTimePoints_ ()
 
bool createFT_ ()
 

Private Attributes

AnalysisManageranalysisManager_
 
Loader::Loaderloader_
 
Linear::System & linearSystem_
 
Nonlinear::ManagernonlinearManager_
 
Device::DeviceMgrdeviceManager_
 
Linear::Builder & builder_
 
Topo::Topology & topology_
 
N_PDS_Manager * pdsMgrPtr_
 
AnalysisBasecurrentAnalysisObject_
 
Loader::HBLoaderhbLoaderPtr_
 
Teuchos::RCP< Linear::HBBuilder > hbBuilderPtr_
 HB loader, builder, system, and DFT. More...
 
Linear::System * hbLinearSystem_
 
bool isPaused
 Flag to indicate of the simulation is paused. More...
 
double startDCOPtime
 
double endTRANtime
 Timing/loop count info. More...
 
bool isTransient_
 Current analysis state flags. More...
 
bool test_
 Testing Flag. More...
 
int size_
 
std::vector< double > freqs_
 Problem Size. More...
 
bool freqsGiven_
 
std::vector< int > numPosFreqs
 
std::vector< int > numFreqs_
 
double period_
 
int startUpPeriods_
 Periodicity Information. More...
 
bool startUpPeriodsGiven_
 
bool saveIcData_
 
int taHB_
 
bool voltLimFlag_
 
int intmodMax_
 
std::string method_
 
bool intmodMaxGiven_
 
Teuchos::RCP< N_UTL_FFTInterface< std::vector< double > > > ftInterface_
 
std::vector< double > ftInData_
 
std::vector< double > ftOutData_
 
std::vector< double > iftInData_
 
std::vector< double > iftOutData_
 
N_MPDE_Discretization::Type fastTimeDisc_
 
int fastTimeDiscOrder_
 
std::vector< double > fastTimes_
 
std::vector< double > timeSteps_
 
std::vector< double > freqPoints_
 
Teuchos::RCP< N_MPDE_Discretization > mpdeDiscPtr_
 
Teuchos::RCP< N_UTL_DFTInterfaceDecl< std::vector< double > > > dftInterface_
 
Teuchos::SerialDenseMatrix< int, double > idftMatrix_
 
Teuchos::SerialDenseMatrix< int, double > dftMatrix_
 
Util::OptionBlock saved_lsHBOB_
 
Util::OptionBlock saved_lsOB_
 
Linear::HBPrecondFactory * precFactory_
 
Teuchos::RCP< Linear::Vector > dcOpSolVecPtr_
 
Teuchos::RCP< Linear::Vector > dcOpStateVecPtr_
 
Teuchos::RCP< Linear::Vector > dcOpQVecPtr_
 
Teuchos::RCP< Linear::Vector > dcOpStoreVecPtr_
 
std::vector< double > goodTimePoints_
 
std::vector< Teuchos::RCP< Linear::Vector > > goodSolutionVec_
 
std::vector< Teuchos::RCP< Linear::Vector > > goodStateVec_
 
std::vector< Teuchos::RCP< Linear::Vector > > goodQVec_
 
std::vector< Teuchos::RCP< Linear::Vector > > goodStoreVec_
 
Teuchos::RCP< Linear::BlockVector > HBICVectorPtr_
 
Teuchos::RCP< Linear::BlockVector > HBICVectorFreqPtr_
 
Teuchos::RCP< Linear::BlockVector > HBICStateVectorPtr_
 HB initial state condition. More...
 
Teuchos::RCP< Linear::BlockVector > HBICQVectorPtr_
 HB initial Q condition. More...
 
Teuchos::RCP< Linear::BlockVector > HBICStoreVectorPtr_
 HB initial store condition. More...
 
StatCounts hbStatCounts_
 
bool resetForStepCalledBefore_
 

Additional Inherited Members

- Public Attributes inherited from Xyce::Analysis::AnalysisBase
StatCounts stats_
 
- Protected Attributes inherited from Xyce::Analysis::AnalysisBase
bool beginningIntegration
 
unsigned int baseIntegrationMethod_
 Current time-integration method flag. More...
 
unsigned int stepNumber
 Time-integration step number counter. More...
 
unsigned int tranStepNumber
 
bool NOOP_
 
bool doubleDCOPFlag_
 true if doing a double-DCOP is possible. More...
 
int doubleDCOPStep_
 current step in the DCOP loop. More...
 
int firstDCOPStep_
 
int lastDCOPStep_
 
std::vector< StatCountssaveStatCountsVector_
 

Detailed Description

Definition at line 75 of file N_ANP_HB.h.

Constructor & Destructor Documentation

Xyce::Analysis::HB::HB ( AnalysisManager analysis_manager,
Linear::System &  linear_system,
Nonlinear::Manager nonlinear_manager,
Device::DeviceMgr device_manager,
Linear::Builder &  builder,
Topo::Topology &  topology 
)

Definition at line 98 of file N_ANP_HB.C.

Xyce::Analysis::HB::~HB ( )
virtual

Definition at line 150 of file N_ANP_HB.C.

Member Function Documentation

void Xyce::Analysis::HB::accumulateStatistics_ ( AnalysisBase analysis)
private

Definition at line 1023 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::createFT_ ( )
private

Definition at line 1400 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doFinish ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 604 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doHandlePredictor ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 611 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doInit ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 273 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doLoopProcess ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 499 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doProcessFailedStep ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 578 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doProcessSuccessfulStep ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 565 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::doRun ( )
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 260 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::finalVerboseOutput ( )

Definition at line 624 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::getDCOPFlag ( ) const
virtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 238 of file N_ANP_HB.C.

int Xyce::Analysis::HB::getDoubleDCOPStep ( ) const
virtual

Reimplemented from Xyce::Analysis::AnalysisBase.

Definition at line 222 of file N_ANP_HB.C.

const TimeIntg::TIAParams& Xyce::Analysis::HB::getTIAParams ( ) const
inlinevirtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 90 of file N_ANP_HB.h.

TimeIntg::TIAParams& Xyce::Analysis::HB::getTIAParams ( )
inlinevirtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 96 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::interpolateIC ( double  initial_time)
private

Definition at line 1766 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::isAnalysis ( int  analysis_type) const
virtual

Reimplemented from Xyce::Analysis::AnalysisBase.

Definition at line 803 of file N_ANP_HB.C.

void Xyce::Analysis::HB::notify ( const StepEvent event)

Definition at line 165 of file N_ANP_HB.C.

void Xyce::Analysis::HB::prepareHBOutput ( Linear::Vector &  solnVecPtr,
std::vector< double > &  timePoints,
std::vector< double > &  freqPoints,
Teuchos::RCP< Linear::BlockVector > &  timeDomainSolnVec,
Teuchos::RCP< Linear::BlockVector > &  freqDomainSolnVecReal,
Teuchos::RCP< Linear::BlockVector > &  freqDomainSolnVecImaginary,
Teuchos::RCP< Linear::BlockVector > &  timeDomainStoreVec,
Teuchos::RCP< Linear::BlockVector > &  freqDomainStoreVecReal,
Teuchos::RCP< Linear::BlockVector > &  freqDomainStoreVecImaginary,
Teuchos::RCP< Linear::BlockVector > &  timeDomainLeadCurrentVec,
Teuchos::RCP< Linear::BlockVector > &  freqDomainLeadCurrentVecReal,
Teuchos::RCP< Linear::BlockVector > &  freqDomainLeadCurrentVecImaginary,
Teuchos::RCP< Linear::BlockVector > &  timeDomainJunctionVoltageVec,
Teuchos::RCP< Linear::BlockVector > &  freqDomainJunctionVoltageVecReal,
Teuchos::RCP< Linear::BlockVector > &  freqDomainJunctionVoltageVecImaginary 
) const

Definition at line 816 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::processFailedDCOP ( )

Definition at line 591 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::processSuccessfulDCOP ( )

Definition at line 552 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::runStartupPeriods ( const TimeIntg::TIAParams tia_params)
private

Definition at line 1607 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::runTol ( TimeIntg::TIAParams tia_params)
private

Definition at line 1507 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::runTransientIC ( const TimeIntg::TIAParams tia_params)
private

Definition at line 1688 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setAnalysisParams ( const Util::OptionBlock &  option_block)

Definition at line 638 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setFreqPoints_ ( )
private

Definition at line 1036 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setHBIntParams ( const Util::OptionBlock &  option_block)

Definition at line 678 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setHBLinSol ( const Util::OptionBlock &  option_block,
Linear::Builder &  builder 
)

Definition at line 782 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setInitialGuess ( )
private

Definition at line 1440 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setLinSol ( const Util::OptionBlock &  option_block)

Definition at line 766 of file N_ANP_HB.C.

bool Xyce::Analysis::HB::setTimePoints_ ( )
private

Definition at line 1281 of file N_ANP_HB.C.

Member Data Documentation

AnalysisManager& Xyce::Analysis::HB::analysisManager_
private

Definition at line 169 of file N_ANP_HB.h.

Linear::Builder& Xyce::Analysis::HB::builder_
private

Definition at line 174 of file N_ANP_HB.h.

AnalysisBase* Xyce::Analysis::HB::currentAnalysisObject_
private

Definition at line 177 of file N_ANP_HB.h.

Teuchos::RCP<Linear::Vector> Xyce::Analysis::HB::dcOpQVecPtr_
private

Definition at line 245 of file N_ANP_HB.h.

Teuchos::RCP<Linear::Vector> Xyce::Analysis::HB::dcOpSolVecPtr_
private

Definition at line 243 of file N_ANP_HB.h.

Teuchos::RCP<Linear::Vector> Xyce::Analysis::HB::dcOpStateVecPtr_
private

Definition at line 244 of file N_ANP_HB.h.

Teuchos::RCP<Linear::Vector> Xyce::Analysis::HB::dcOpStoreVecPtr_
private

Definition at line 246 of file N_ANP_HB.h.

Device::DeviceMgr& Xyce::Analysis::HB::deviceManager_
private

Definition at line 173 of file N_ANP_HB.h.

Teuchos::RCP<N_UTL_DFTInterfaceDecl<std::vector<double> > > Xyce::Analysis::HB::dftInterface_
private

Definition at line 231 of file N_ANP_HB.h.

Teuchos::SerialDenseMatrix<int,double> Xyce::Analysis::HB::dftMatrix_
private

Definition at line 232 of file N_ANP_HB.h.

double Xyce::Analysis::HB::endTRANtime
private

Timing/loop count info.

Definition at line 186 of file N_ANP_HB.h.

N_MPDE_Discretization::Type Xyce::Analysis::HB::fastTimeDisc_
private

Definition at line 222 of file N_ANP_HB.h.

int Xyce::Analysis::HB::fastTimeDiscOrder_
private

Definition at line 223 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::fastTimes_
private

Definition at line 224 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::freqPoints_
private

Definition at line 226 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::freqs_
private

Problem Size.

Definition at line 194 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::freqsGiven_
private

Definition at line 195 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::ftInData_
private

Definition at line 220 of file N_ANP_HB.h.

Teuchos::RCP<N_UTL_FFTInterface<std::vector<double> > > Xyce::Analysis::HB::ftInterface_
private

Definition at line 219 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::ftOutData_
private

Definition at line 220 of file N_ANP_HB.h.

std::vector<Teuchos::RCP<Linear::Vector> > Xyce::Analysis::HB::goodQVec_
private

Definition at line 251 of file N_ANP_HB.h.

std::vector<Teuchos::RCP<Linear::Vector> > Xyce::Analysis::HB::goodSolutionVec_
private

Definition at line 249 of file N_ANP_HB.h.

std::vector<Teuchos::RCP<Linear::Vector> > Xyce::Analysis::HB::goodStateVec_
private

Definition at line 250 of file N_ANP_HB.h.

std::vector<Teuchos::RCP<Linear::Vector> > Xyce::Analysis::HB::goodStoreVec_
private

Definition at line 252 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::goodTimePoints_
private

Definition at line 248 of file N_ANP_HB.h.

Teuchos::RCP<Linear::HBBuilder> Xyce::Analysis::HB::hbBuilderPtr_
private

HB loader, builder, system, and DFT.

Definition at line 179 of file N_ANP_HB.h.

Teuchos::RCP<Linear::BlockVector> Xyce::Analysis::HB::HBICQVectorPtr_
private

HB initial Q condition.

Definition at line 258 of file N_ANP_HB.h.

Teuchos::RCP<Linear::BlockVector> Xyce::Analysis::HB::HBICStateVectorPtr_
private

HB initial state condition.

Definition at line 257 of file N_ANP_HB.h.

Teuchos::RCP<Linear::BlockVector> Xyce::Analysis::HB::HBICStoreVectorPtr_
private

HB initial store condition.

Definition at line 259 of file N_ANP_HB.h.

Teuchos::RCP<Linear::BlockVector> Xyce::Analysis::HB::HBICVectorFreqPtr_
private

Definition at line 256 of file N_ANP_HB.h.

Teuchos::RCP<Linear::BlockVector> Xyce::Analysis::HB::HBICVectorPtr_
private

Definition at line 255 of file N_ANP_HB.h.

Linear::System* Xyce::Analysis::HB::hbLinearSystem_
private

Definition at line 181 of file N_ANP_HB.h.

Loader::HBLoader* Xyce::Analysis::HB::hbLoaderPtr_
private

Definition at line 178 of file N_ANP_HB.h.

StatCounts Xyce::Analysis::HB::hbStatCounts_
private

Definition at line 262 of file N_ANP_HB.h.

Teuchos::SerialDenseMatrix<int,double> Xyce::Analysis::HB::idftMatrix_
private

Definition at line 232 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::iftInData_
private

Definition at line 220 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::iftOutData_
private

Definition at line 220 of file N_ANP_HB.h.

int Xyce::Analysis::HB::intmodMax_
private

Definition at line 213 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::intmodMaxGiven_
private

Definition at line 217 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::isPaused
private

Flag to indicate of the simulation is paused.

Definition at line 183 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::isTransient_
private

Current analysis state flags.

Definition at line 188 of file N_ANP_HB.h.

Linear::System& Xyce::Analysis::HB::linearSystem_
private

Definition at line 171 of file N_ANP_HB.h.

Loader::Loader& Xyce::Analysis::HB::loader_
private

Definition at line 170 of file N_ANP_HB.h.

std::string Xyce::Analysis::HB::method_
private

Definition at line 215 of file N_ANP_HB.h.

Teuchos::RCP<N_MPDE_Discretization> Xyce::Analysis::HB::mpdeDiscPtr_
private

Definition at line 227 of file N_ANP_HB.h.

Nonlinear::Manager& Xyce::Analysis::HB::nonlinearManager_
private

Definition at line 172 of file N_ANP_HB.h.

std::vector<int> Xyce::Analysis::HB::numFreqs_
private

Definition at line 198 of file N_ANP_HB.h.

std::vector<int> Xyce::Analysis::HB::numPosFreqs
private

Definition at line 197 of file N_ANP_HB.h.

N_PDS_Manager* Xyce::Analysis::HB::pdsMgrPtr_
private

Definition at line 176 of file N_ANP_HB.h.

double Xyce::Analysis::HB::period_
private

Definition at line 200 of file N_ANP_HB.h.

Linear::HBPrecondFactory* Xyce::Analysis::HB::precFactory_
private

Definition at line 240 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::resetForStepCalledBefore_
private

Definition at line 264 of file N_ANP_HB.h.

Util::OptionBlock Xyce::Analysis::HB::saved_lsHBOB_
private

Definition at line 235 of file N_ANP_HB.h.

Util::OptionBlock Xyce::Analysis::HB::saved_lsOB_
private

Definition at line 236 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::saveIcData_
private

Definition at line 207 of file N_ANP_HB.h.

int Xyce::Analysis::HB::size_
private

Definition at line 192 of file N_ANP_HB.h.

double Xyce::Analysis::HB::startDCOPtime
private

Definition at line 185 of file N_ANP_HB.h.

int Xyce::Analysis::HB::startUpPeriods_
private

Periodicity Information.

Definition at line 204 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::startUpPeriodsGiven_
private

Definition at line 205 of file N_ANP_HB.h.

int Xyce::Analysis::HB::taHB_
private

Definition at line 210 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::test_
private

Testing Flag.

Definition at line 190 of file N_ANP_HB.h.

std::vector<double> Xyce::Analysis::HB::timeSteps_
private

Definition at line 225 of file N_ANP_HB.h.

Topo::Topology& Xyce::Analysis::HB::topology_
private

Definition at line 175 of file N_ANP_HB.h.

bool Xyce::Analysis::HB::voltLimFlag_
private

Definition at line 212 of file N_ANP_HB.h.


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