Xyce  6.1
Xyce::Analysis::MOR Class Reference

#include <N_ANP_MOR.h>

Inheritance diagram for Xyce::Analysis::MOR:
Collaboration diagram for Xyce::Analysis::MOR:

Public Member Functions

 MOR (AnalysisManager &analysis_manager, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology)
 
 ~MOR ()
 
const TimeIntg::TIAParamsgetTIAParams () const
 
TimeIntg::TIAParamsgetTIAParams ()
 
bool setMOROptions (const Util::OptionBlock &OB)
 
bool setAnalysisParams (const Util::OptionBlock &paramsBlock)
 
bool doRun ()
 
bool doInit ()
 
bool reduceSystem ()
 
bool evalOrigTransferFunction ()
 
bool evalRedTransferFunction ()
 
bool processSuccessfulStep (bool origSys)
 
virtual bool doProcessSuccessfulStep ()
 
virtual bool doLoopProcess ()
 
virtual bool doProcessFailedStep ()
 
virtual bool doFinish ()
 
virtual bool doHandlePredictor ()
 
bool getDCOPFlag () 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 isAnalysis (int analysis_type) const
 
virtual int getDoubleDCOPStep () const
 
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

int setupSweepParam_ ()
 
bool updateCurrentFreq_ (int stepNumber)
 
bool createOrigLinearSystem_ ()
 
bool createRedLinearSystem_ ()
 
bool updateOrigLinearSystemFreq_ ()
 
bool updateRedLinearSystemFreq_ ()
 
bool solveOrigLinearSystem_ ()
 
bool solveRedLinearSystem_ ()
 
bool sparsifyRedSystem_ ()
 

Private Attributes

Parallel::Machine comm_
 
AnalysisManageranalysisManager_
 
Loader::Loaderloader_
 
Nonlinear::ManagernonlinearManager_
 
Topo::Topology & topology_
 
OutputMgrAdapteroutputManagerAdapter_
 
TimeIntg::TIAParams tiaParams_
 
int ROMsize_
 
std::string morMethod_
 
bool morSaveRedSys_
 
bool morCompOrigTF_
 
bool morCompRedTF_
 
std::string morCompType_
 
int morCompNP_
 
double morCompFStart_
 
bool morAutoSize_
 
int morMaxSize_
 
double morMaxFreq_
 
double morCompFStop_
 
double morExpPoint_
 
double morScaleFactor_
 
int morScaleType_
 
double morScaleFactor1_
 
int morSparsificationType_
 
bool isROMSparse_
 
std::vector< std::string > subcircuitNames_
 
bool isPaused
 
int morEvalSize_
 
int numPorts_
 
std::list< int > morEvalFailures_
 
bool isSingleFreq_
 
std::vector< std::string > portList_
 
double stepMult_
 
double fStep_
 
double currentFreq_
 
double s0_
 
RCP< Linear::Matrix > CPtr_
 
RCP< Linear::Matrix > GPtr_
 
RCP< Linear::Matrix > sCpG_MatrixPtr_
 
RCP< Linear::MultiVector > RPtr_
 
RCP< Linear::MultiVector > BPtr_
 
RCP< Linear::MultiVector > VPtr_
 
std::vector< int > bMatEntriesVec_
 
std::vector< int > bMatPosEntriesVec_
 
RCP< Linear::BlockMatrix > sCpG_REFMatrixPtr_
 
RCP< Linear::BlockVector > REFBPtr_
 
RCP< Linear::BlockVector > REFXPtr_
 
Teuchos::SerialDenseMatrix< int, double > redC_
 
Teuchos::SerialDenseMatrix< int, double > redG_
 
Teuchos::SerialDenseMatrix< int, double > redB_
 
Teuchos::SerialDenseMatrix< int, double > redL_
 
RCP< Linear::Matrix > redCPtr_
 
RCP< Linear::Matrix > redGPtr_
 
RCP< Epetra_Map > redMapPtr_
 
Teuchos::SerialDenseMatrix< int, double > sCpG_redMatrix_
 
Teuchos::SerialDenseMatrix< int, double > sCpG_tmpMatrix_
 
Teuchos::SerialDenseMatrix< int, double > ref_redB_
 
RCP< Linear::BlockMatrix > sCpG_ref_redMatrixPtr_
 
RCP< Linear::BlockVector > ref_redBPtr_
 
RCP< Linear::BlockVector > ref_redXPtr_
 
Teuchos::SerialDenseMatrix< int, std::complex< double > > origH_
 
Teuchos::SerialDenseMatrix< int, std::complex< double > > redH_
 
RCP< Amesos_BaseSolver > blockSolver_
 
RCP< Amesos_BaseSolver > origSolver_
 
RCP< Epetra_LinearProblem > blockProblem_
 
RCP< Epetra_LinearProblem > origProblem_
 
RCP< Amesos_BaseSolver > blockRedSolver_
 
RCP< Epetra_LinearProblem > blockRedProblem_
 

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 79 of file N_ANP_MOR.h.

Constructor & Destructor Documentation

Xyce::Analysis::MOR::MOR ( AnalysisManager analysis_manager,
Nonlinear::Manager nonlinear_manager,
Topo::Topology &  topology 
)

Definition at line 128 of file N_ANP_MOR.C.

Xyce::Analysis::MOR::~MOR ( )

Definition at line 174 of file N_ANP_MOR.C.

Member Function Documentation

bool Xyce::Analysis::MOR::createOrigLinearSystem_ ( )
private

Definition at line 1193 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::createRedLinearSystem_ ( )
private

Definition at line 1265 of file N_ANP_MOR.C.

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

Implements Xyce::Analysis::AnalysisBase.

Definition at line 1956 of file N_ANP_MOR.C.

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

Implements Xyce::Analysis::AnalysisBase.

Definition at line 1980 of file N_ANP_MOR.C.

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

Xyce::dout() << "Branch nodes: " << std::endl; for (unsigned int i=0; i < bMatEntriesVec_.size(); ++i) { Xyce::dout() << "Node " << i << " : " << bMatEntriesVec_[i] << std::endl; }

Xyce::dout() << "Printing GPtr: " << std::endl; GPtr_->printPetraObject(); Xyce::dout() << "Printing CPtr: " << std::endl; CPtr_->printPetraObject();

Xyce::dout() << "Printing GPtr (after scaling): " << std::endl; GPtr_->printPetraObject();

Implements Xyce::Analysis::AnalysisBase.

Definition at line 359 of file N_ANP_MOR.C.

virtual bool Xyce::Analysis::MOR::doLoopProcess ( )
inlinevirtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 112 of file N_ANP_MOR.h.

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

Implements Xyce::Analysis::AnalysisBase.

Definition at line 1936 of file N_ANP_MOR.C.

virtual bool Xyce::Analysis::MOR::doProcessSuccessfulStep ( )
inlinevirtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 110 of file N_ANP_MOR.h.

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

Implements Xyce::Analysis::AnalysisBase.

Definition at line 326 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::evalOrigTransferFunction ( )

Definition at line 1098 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::evalRedTransferFunction ( )

Definition at line 1146 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::getDCOPFlag ( ) const
inlinevirtual

Implements Xyce::Analysis::AnalysisBase.

Definition at line 118 of file N_ANP_MOR.h.

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

Implements Xyce::Analysis::AnalysisBase.

Definition at line 89 of file N_ANP_MOR.h.

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

Implements Xyce::Analysis::AnalysisBase.

Definition at line 93 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::processSuccessfulStep ( bool  origSys)

Definition at line 1900 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::reduceSystem ( )

Xyce::dout() << "Printing out BPtr" << std::endl; BPtr_->epetraObj().Print(Xyce::dout());

Xyce::dout() << "Printing out sCpG" << std::endl; (sCpG_MatrixPtr_->epetraObj()).Print(Xyce::dout());

Xyce::dout() << "Printing out R" << std::endl; (RPtr_->epetraObj()).Print(Xyce::dout());

Definition at line 586 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::setAnalysisParams ( const Util::OptionBlock &  paramsBlock)

Definition at line 185 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::setMOROptions ( const Util::OptionBlock &  OB)

Definition at line 214 of file N_ANP_MOR.C.

int Xyce::Analysis::MOR::setupSweepParam_ ( )
private

Definition at line 2029 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::solveOrigLinearSystem_ ( )
private

Definition at line 1431 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::solveRedLinearSystem_ ( )
private

Definition at line 1480 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::sparsifyRedSystem_ ( )
private

Definition at line 1585 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::updateCurrentFreq_ ( int  stepNumber)
private

Definition at line 2001 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::updateOrigLinearSystemFreq_ ( )
private

Definition at line 1364 of file N_ANP_MOR.C.

bool Xyce::Analysis::MOR::updateRedLinearSystemFreq_ ( )
private

Definition at line 1388 of file N_ANP_MOR.C.

Member Data Documentation

AnalysisManager& Xyce::Analysis::MOR::analysisManager_
private

Definition at line 126 of file N_ANP_MOR.h.

RCP<Epetra_LinearProblem> Xyce::Analysis::MOR::blockProblem_
private

Definition at line 221 of file N_ANP_MOR.h.

RCP<Epetra_LinearProblem> Xyce::Analysis::MOR::blockRedProblem_
private

Definition at line 225 of file N_ANP_MOR.h.

RCP<Amesos_BaseSolver> Xyce::Analysis::MOR::blockRedSolver_
private

Definition at line 224 of file N_ANP_MOR.h.

RCP<Amesos_BaseSolver> Xyce::Analysis::MOR::blockSolver_
private

Definition at line 220 of file N_ANP_MOR.h.

std::vector<int> Xyce::Analysis::MOR::bMatEntriesVec_
private

Definition at line 189 of file N_ANP_MOR.h.

std::vector<int> Xyce::Analysis::MOR::bMatPosEntriesVec_
private

Definition at line 189 of file N_ANP_MOR.h.

RCP<Linear::MultiVector> Xyce::Analysis::MOR::BPtr_
private

Definition at line 188 of file N_ANP_MOR.h.

Parallel::Machine Xyce::Analysis::MOR::comm_
private

Definition at line 124 of file N_ANP_MOR.h.

RCP<Linear::Matrix> Xyce::Analysis::MOR::CPtr_
private

Definition at line 185 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::currentFreq_
private

Definition at line 166 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::fStep_
private

Definition at line 165 of file N_ANP_MOR.h.

RCP<Linear::Matrix> Xyce::Analysis::MOR::GPtr_
private

Definition at line 186 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::isPaused
private

Definition at line 155 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::isROMSparse_
private

Definition at line 152 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::isSingleFreq_
private

Definition at line 161 of file N_ANP_MOR.h.

Loader::Loader& Xyce::Analysis::MOR::loader_
private

Definition at line 127 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::morAutoSize_
private

Definition at line 142 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::morCompFStart_
private

Definition at line 141 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::morCompFStop_
private

Definition at line 146 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::morCompNP_
private

Definition at line 140 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::morCompOrigTF_
private

Definition at line 137 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::morCompRedTF_
private

Definition at line 138 of file N_ANP_MOR.h.

std::string Xyce::Analysis::MOR::morCompType_
private

Definition at line 139 of file N_ANP_MOR.h.

std::list< int > Xyce::Analysis::MOR::morEvalFailures_
private

Definition at line 159 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::morEvalSize_
private

Definition at line 156 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::morExpPoint_
private

Definition at line 147 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::morMaxFreq_
private

Definition at line 144 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::morMaxSize_
private

Definition at line 143 of file N_ANP_MOR.h.

std::string Xyce::Analysis::MOR::morMethod_
private

Definition at line 135 of file N_ANP_MOR.h.

bool Xyce::Analysis::MOR::morSaveRedSys_
private

Definition at line 136 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::morScaleFactor1_
private

Definition at line 150 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::morScaleFactor_
private

Definition at line 148 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::morScaleType_
private

Definition at line 149 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::morSparsificationType_
private

Definition at line 151 of file N_ANP_MOR.h.

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

Definition at line 128 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::numPorts_
private

Definition at line 157 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, std::complex<double> > Xyce::Analysis::MOR::origH_
private

Definition at line 216 of file N_ANP_MOR.h.

RCP<Epetra_LinearProblem> Xyce::Analysis::MOR::origProblem_
private

Definition at line 221 of file N_ANP_MOR.h.

RCP<Amesos_BaseSolver> Xyce::Analysis::MOR::origSolver_
private

Definition at line 220 of file N_ANP_MOR.h.

OutputMgrAdapter& Xyce::Analysis::MOR::outputManagerAdapter_
private

Definition at line 130 of file N_ANP_MOR.h.

std::vector<std::string> Xyce::Analysis::MOR::portList_
private

Definition at line 162 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::redB_
private

Definition at line 199 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::redC_
private

Definition at line 197 of file N_ANP_MOR.h.

RCP<Linear::Matrix> Xyce::Analysis::MOR::redCPtr_
private

Definition at line 203 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::redG_
private

Definition at line 198 of file N_ANP_MOR.h.

RCP<Linear::Matrix> Xyce::Analysis::MOR::redGPtr_
private

Definition at line 203 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, std::complex<double> > Xyce::Analysis::MOR::redH_
private

Definition at line 217 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::redL_
private

Definition at line 200 of file N_ANP_MOR.h.

RCP<Epetra_Map> Xyce::Analysis::MOR::redMapPtr_
private

Definition at line 204 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::ref_redB_
private

Definition at line 208 of file N_ANP_MOR.h.

RCP<Linear::BlockVector> Xyce::Analysis::MOR::ref_redBPtr_
private

Definition at line 212 of file N_ANP_MOR.h.

RCP<Linear::BlockVector> Xyce::Analysis::MOR::ref_redXPtr_
private

Definition at line 213 of file N_ANP_MOR.h.

RCP<Linear::BlockVector> Xyce::Analysis::MOR::REFBPtr_
private

Definition at line 193 of file N_ANP_MOR.h.

RCP<Linear::BlockVector> Xyce::Analysis::MOR::REFXPtr_
private

Definition at line 194 of file N_ANP_MOR.h.

int Xyce::Analysis::MOR::ROMsize_
private

Definition at line 134 of file N_ANP_MOR.h.

RCP<Linear::MultiVector> Xyce::Analysis::MOR::RPtr_
private

Definition at line 188 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::s0_
private

Definition at line 167 of file N_ANP_MOR.h.

RCP<Linear::Matrix> Xyce::Analysis::MOR::sCpG_MatrixPtr_
private

Definition at line 187 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::sCpG_redMatrix_
private

Definition at line 207 of file N_ANP_MOR.h.

RCP<Linear::BlockMatrix> Xyce::Analysis::MOR::sCpG_ref_redMatrixPtr_
private

Definition at line 211 of file N_ANP_MOR.h.

RCP<Linear::BlockMatrix> Xyce::Analysis::MOR::sCpG_REFMatrixPtr_
private

Definition at line 192 of file N_ANP_MOR.h.

Teuchos::SerialDenseMatrix<int, double> Xyce::Analysis::MOR::sCpG_tmpMatrix_
private

Definition at line 207 of file N_ANP_MOR.h.

double Xyce::Analysis::MOR::stepMult_
private

Definition at line 164 of file N_ANP_MOR.h.

std::vector<std::string> Xyce::Analysis::MOR::subcircuitNames_
private

Definition at line 153 of file N_ANP_MOR.h.

TimeIntg::TIAParams Xyce::Analysis::MOR::tiaParams_
private

Definition at line 132 of file N_ANP_MOR.h.

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

Definition at line 129 of file N_ANP_MOR.h.

RCP<Linear::MultiVector> Xyce::Analysis::MOR::VPtr_
private

Definition at line 188 of file N_ANP_MOR.h.


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