Xyce
6.1
|
Circuit Analysis Definitions. More...
Classes | |
class | AC |
class | AnalysisBase |
struct | AnalysisEvent |
class | AnalysisFinalTimeOp |
struct | AnalysisFinalTimeOpBuilder |
class | AnalysisInitialTimeOp |
struct | AnalysisInitialTimeOpBuilder |
class | AnalysisManager |
class | Dakota |
class | DCSweep |
struct | DevelFatal |
struct | DevelFatal0 |
class | Factory |
The analysis factory template defines an interface for analysis type testing and analysis creation. More... | |
class | Factory< void > |
The analysis factory template defines an interface for analysis type testing and analysis creation. More... | |
class | HB |
class | messageHeader |
class | MixedSignalManager |
class | ModelEvaluator |
class | ModelEvaluator_Stateless |
class | MOR |
class | MPDE |
class | MPDEOutputAdapter |
class | NOISE |
class | NoiseData |
class | OutputAdapter |
class | OutputMgrAdapter |
class | SecondLevelManager |
struct | StatCounts |
class | Step |
struct | StepEvent |
class | SweepParam |
class | Transient |
struct | UserFatal |
struct | UserFatal0 |
struct | UserWarning |
struct | UserWarning0 |
Typedefs | |
typedef std::vector< Factory< void > * > | CreatorVector |
typedef Util::Notifier< StepEvent > | StepEventNotifier |
typedef Util::Notifier< AnalysisEvent > | AnalysisEventNotifier |
typedef Util::ListenerAutoSubscribe< StepEvent > | StepEventListener |
typedef Util::ListenerAutoSubscribe< AnalysisEvent > | AnalysisEventListener |
typedef std::vector< Factory< void > * > | Registry |
Registry of factories. More... | |
typedef std::vector< SweepParam > | SweepVector |
Enumerations | |
enum | Mode { ANP_MODE_INVALID, ANP_MODE_DC_OP, ANP_MODE_DC_SWEEP, ANP_MODE_TRANSIENT, ANP_MODE_MPDE, ANP_MODE_HB, ANP_MODE_AC, ANP_MODE_NOISE, ANP_MODE_MOR } |
enum | TwoLevelMode { TWO_LEVEL_MODE_TRANSIENT_DCOP = 0, TWO_LEVEL_MODE_TRANSIENT = 1, TWO_LEVEL_MODE_DC_SWEEP = 2 } |
Functions | |
bool | registerACFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology) |
Util::JSON & | operator<< (Util::JSON &json, const StatCounts &s) |
StatCounts | operator- (const StatCounts &s0, const StatCounts &s1) |
void | gatherStepStatistics (StatCounts &stats, Nonlinear::NonLinearSolver &nonlinear_solver, int newton_convergence_status) |
std::ostream & | operator<< (std::ostream &os, const AnalysisEvent::State &state) |
std::ostream & | operator<< (std::ostream &os, const AnalysisEvent::OutputType &type) |
Nonlinear::AnalysisMode | nonlinearAnalysisMode (Mode mode) |
Returns the nonlinear analysis mode given the analysis mode. More... | |
const char * | analysisModeName (Mode mode) |
Returns the name of the analysis mode given by mode. More... | |
bool | registerPkgOptionsMgr (AnalysisManager &analysis_manager, const std::string &netList_file, IO::PkgOptionsMgr &options_manager) |
void | registerAnalysisFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Device::DeviceMgr &device_manager, Linear::Builder &builder, Topo::Topology &topology) |
Registers the analysis factories. More... | |
void | getTimeIntInfo (const AnalysisManager &analysis_manager, TimeIntg::TimeIntInfo &tiInfo) |
bool | evalTransientModel (Loader::Loader &loader, double t, Linear::Vector *SolVectorPtr, Linear::Vector *CurrSolVectorPtr, Linear::Vector *LasSolVectorPtr, Linear::Vector *StaVectorPtr, Linear::Vector *CurrStaVectorPtr, Linear::Vector *LasStaVectorPtr, Linear::Vector *StaDerivVectorPtr, Linear::Vector *StoVectorPtr, Linear::Vector *CurrStoVectorPtr, Linear::Vector *LasStoVectorPtr, Linear::Vector *stoLeadCurrQVectorPtr, Linear::Vector *NextLeadFVectorPtr, Linear::Vector *CurrLeadFVectorPtr, Linear::Vector *LastLeadFVectorPtr, Linear::Vector *LeadQVectorPtr, Linear::Vector *NextJunctionVVectorPtr, Linear::Vector *CurrentJunctionVVectorPtr, Linear::Vector *LastJunctionVVectorPtr, Linear::Vector *QVectorPtr, Linear::Vector *FVectorPtr, Linear::Vector *BVectorPtr, Linear::Vector *dFdxdVpVectorPtr, Linear::Vector *dQdxdVpVectorPtr, Linear::Matrix *dQdxMatrixPtr, Linear::Matrix *dFdxMatrixPtr) |
bool | evalTransientModelState (TimeIntg::StepErrorControl &step_error_control, Loader::Loader &loader, double t, Linear::Vector *SolVectorPtr, Linear::Vector *StaVectorPtr, Linear::Vector *StoVectorPtr) |
void | writeConductanceFile (const std::vector< std::string > &device_names, Nonlinear::ConductanceExtractor &conductance_extractor, const std::string &filename) |
bool | registerDCSweepFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology) |
bool | registerHBFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Device::DeviceMgr &device_manager, Linear::Builder &builder, Topo::Topology &topology) |
RCP< Linear::BlockVector > | convertEpetraToNLASBlockVectorView (const RCP< const Epetra_Vector > &vec, const RCP< Epetra_Map > &map) |
RCP< Linear::Vector > | convertEpetraToNLASVectorView (const RCP< const Epetra_Vector > &vec) |
RCP< ModelEvaluator_Stateless > | N_ANP_modelEvaluator_Stateless () |
RCP< ModelEvaluator_Stateless > | N_ANP_modelEvaluator_Stateless (const RCP< ModelEvaluator > &xyceME) |
bool | registerMORFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology) |
bool | registerMPDEFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Device::DeviceMgr &device_manager, Linear::Builder &builder, Topo::Topology &topology) |
bool | registerNOISEFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology) |
std::ostream & | operator<< (std::ostream &os, const NoiseData &nd) |
void | registerOpBuilders (Util::Op::BuilderManager &builder_manager, Parallel::Machine comm, AnalysisManager &analysis_manager) |
bool | registerStepFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager) |
std::ostream & | operator<< (std::ostream &os, const SweepParam &sp) |
SweepParam | parseSweepParams (Util::ParamList::const_iterator first, Util::ParamList::const_iterator last) |
Populate the sweep params from the parameter list. More... | |
bool | updateSweepParams (Loader::Loader &loader, int step_count, std::vector< SweepParam >::iterator begin, std::vector< SweepParam >::iterator end, bool overrideOriginal=false) |
int | setupSweepLoop (Loader::Loader &loader, std::vector< SweepParam >::iterator begin, std::vector< SweepParam >::iterator end) |
std::vector< double > | computeOutputInterpolationTimes (double current_time, double next_output_time, double final_output_time, double initial_output_interval, const IO::IntervalVector &output_intervals) |
double | updateOutputTime (double current_time, double next_output_time, double final_output_time, double initial_output_interval, const IO::IntervalVector &output_intervals) |
bool | testOutputTime (double current_time, double next_output_time, double start_time) |
bool | registerTransientFactory (const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology) |
int | setupSweepLoop (Loader::Loader &loader, int debug_level, std::vector< SweepParam >::iterator begin, std::vector< SweepParam >::iterator end) |
bool | updateSweepParams (Loader::Loader &loader, AnalysisManager &analysis_manager, int step_count, std::vector< SweepParam >::iterator begin, std::vector< SweepParam >::iterator end) |
RCP< Linear::BlockVector > | convertEpetraToNLASBlockVectorView (const RCP< const Epetra_Vector > &vec, const RCP< N_PDS_ParMap > &map) |
Circuit Analysis Definitions.
typedef Util::ListenerAutoSubscribe<AnalysisEvent> Xyce::Analysis::AnalysisEventListener |
Definition at line 78 of file N_ANP_AnalysisManager.h.
typedef Util::Notifier<AnalysisEvent> Xyce::Analysis::AnalysisEventNotifier |
Definition at line 76 of file N_ANP_AnalysisManager.h.
typedef std::vector<Factory<void> *> Xyce::Analysis::CreatorVector |
Definition at line 74 of file N_ANP_AnalysisManager.h.
typedef std::vector<Factory<void> *> Xyce::Analysis::Registry |
Registry of factories.
Definition at line 235 of file N_ANP_Factory.h.
typedef Util::ListenerAutoSubscribe< StepEvent > Xyce::Analysis::StepEventListener |
Definition at line 77 of file N_ANP_AnalysisManager.h.
typedef Util::Notifier<StepEvent> Xyce::Analysis::StepEventNotifier |
Definition at line 75 of file N_ANP_AnalysisManager.h.
typedef std::vector< SweepParam > Xyce::Analysis::SweepVector |
Definition at line 85 of file N_ANP_fwd.h.
enum Xyce::Analysis::Mode |
Enumerator | |
---|---|
ANP_MODE_INVALID | |
ANP_MODE_DC_OP | |
ANP_MODE_DC_SWEEP | |
ANP_MODE_TRANSIENT | |
ANP_MODE_MPDE | |
ANP_MODE_HB | |
ANP_MODE_AC | |
ANP_MODE_NOISE | |
ANP_MODE_MOR |
Definition at line 53 of file N_ANP_fwd.h.
Enumerator | |
---|---|
TWO_LEVEL_MODE_TRANSIENT_DCOP | |
TWO_LEVEL_MODE_TRANSIENT | |
TWO_LEVEL_MODE_DC_SWEEP |
Definition at line 66 of file N_ANP_fwd.h.
const char * Xyce::Analysis::analysisModeName | ( | Mode | mode | ) |
Returns the name of the analysis mode given by mode.
Returns a const char pointer to a name representing the mode.
mode | Analysis mode |
mode | Analysis mode to get name of |
Definition at line 112 of file N_ANP_AnalysisManager.C.
std::vector< double > Xyce::Analysis::computeOutputInterpolationTimes | ( | double | current_time, |
double | next_output_time, | ||
double | final_output_time, | ||
double | initial_output_interval, | ||
const IO::IntervalVector & | output_intervals | ||
) |
Definition at line 2362 of file N_ANP_Transient.C.
RCP<Linear::BlockVector> Xyce::Analysis::convertEpetraToNLASBlockVectorView | ( | const RCP< const Epetra_Vector > & | vec, |
const RCP< N_PDS_ParMap > & | map | ||
) |
Definition at line 62 of file N_ANP_ModelEvaluator.C.
RCP<Linear::BlockVector> Xyce::Analysis::convertEpetraToNLASBlockVectorView | ( | const RCP< const Epetra_Vector > & | vec, |
const RCP< Epetra_Map > & | map | ||
) |
RCP< Linear::Vector > Xyce::Analysis::convertEpetraToNLASVectorView | ( | const RCP< const Epetra_Vector > & | vec | ) |
Definition at line 79 of file N_ANP_ModelEvaluator.C.
bool Xyce::Analysis::evalTransientModel | ( | Loader::Loader & | loader, |
double | t, | ||
Linear::Vector * | SolVectorPtr, | ||
Linear::Vector * | CurrSolVectorPtr, | ||
Linear::Vector * | LasSolVectorPtr, | ||
Linear::Vector * | StaVectorPtr, | ||
Linear::Vector * | CurrStaVectorPtr, | ||
Linear::Vector * | LasStaVectorPtr, | ||
Linear::Vector * | StaDerivVectorPtr, | ||
Linear::Vector * | StoVectorPtr, | ||
Linear::Vector * | CurrStoVectorPtr, | ||
Linear::Vector * | LasStoVectorPtr, | ||
Linear::Vector * | stoLeadCurrQVectorPtr, | ||
Linear::Vector * | NextLeadFVectorPtr, | ||
Linear::Vector * | CurrLeadFVectorPtr, | ||
Linear::Vector * | LastLeadFVectorPtr, | ||
Linear::Vector * | LeadQVectorPtr, | ||
Linear::Vector * | NextJunctionVVectorPtr, | ||
Linear::Vector * | CurrentJunctionVVectorPtr, | ||
Linear::Vector * | LastJunctionVVectorPtr, | ||
Linear::Vector * | QVectorPtr, | ||
Linear::Vector * | FVectorPtr, | ||
Linear::Vector * | BVectorPtr, | ||
Linear::Vector * | dFdxdVpVectorPtr, | ||
Linear::Vector * | dQdxdVpVectorPtr, | ||
Linear::Matrix * | dQdxMatrixPtr, | ||
Linear::Matrix * | dFdxMatrixPtr | ||
) |
Definition at line 963 of file N_ANP_AnalysisManager.C.
bool Xyce::Analysis::evalTransientModelState | ( | TimeIntg::StepErrorControl & | step_error_control, |
Loader::Loader & | loader, | ||
double | t, | ||
Linear::Vector * | SolVectorPtr, | ||
Linear::Vector * | StaVectorPtr, | ||
Linear::Vector * | StoVectorPtr | ||
) |
Definition at line 1039 of file N_ANP_AnalysisManager.C.
void Xyce::Analysis::gatherStepStatistics | ( | StatCounts & | stats, |
Nonlinear::NonLinearSolver & | nonlinear_solver, | ||
int | newton_convergence_status | ||
) |
Definition at line 527 of file N_ANP_AnalysisBase.C.
void Xyce::Analysis::getTimeIntInfo | ( | const AnalysisManager & | analysis_manager, |
TimeIntg::TimeIntInfo & | tiInfo | ||
) |
Definition at line 1705 of file N_ANP_AnalysisManager.C.
RCP< ModelEvaluator_Stateless > Xyce::Analysis::N_ANP_modelEvaluator_Stateless | ( | ) |
Definition at line 57 of file N_ANP_ModelEvaluator_Stateless.C.
RCP< ModelEvaluator_Stateless > Xyce::Analysis::N_ANP_modelEvaluator_Stateless | ( | const RCP< ModelEvaluator > & | xyceME | ) |
Definition at line 63 of file N_ANP_ModelEvaluator_Stateless.C.
Nonlinear::AnalysisMode Xyce::Analysis::nonlinearAnalysisMode | ( | Mode | mode | ) |
Returns the nonlinear analysis mode given the analysis mode.
mode | Analysis mode |
Definition at line 141 of file N_ANP_AnalysisManager.C.
StatCounts Xyce::Analysis::operator- | ( | const StatCounts & | s0, |
const StatCounts & | s1 | ||
) |
Definition at line 257 of file N_ANP_AnalysisBase.C.
std::ostream & Xyce::Analysis::operator<< | ( | std::ostream & | os, |
const AnalysisEvent::State & | state | ||
) |
Definition at line 48 of file N_ANP_AnalysisEvent.C.
std::ostream & Xyce::Analysis::operator<< | ( | std::ostream & | os, |
const AnalysisEvent::OutputType & | type | ||
) |
Definition at line 75 of file N_ANP_AnalysisEvent.C.
Util::JSON & Xyce::Analysis::operator<< | ( | Util::JSON & | json, |
const StatCounts & | s | ||
) |
Definition at line 96 of file N_ANP_AnalysisBase.C.
std::ostream & Xyce::Analysis::operator<< | ( | std::ostream & | os, |
const SweepParam & | sp | ||
) |
|
inline |
Definition at line 173 of file N_ANP_NoiseData.h.
SweepParam Xyce::Analysis::parseSweepParams | ( | Util::ParamList::const_iterator | first, |
Util::ParamList::const_iterator | last | ||
) |
Populate the sweep params from the parameter list.
sweep_param | sweep parameters objec t populate |
first | begin iterator of the parameter list |
last | end iterator of the parameter list |
Definition at line 156 of file N_ANP_SweepParam.C.
bool Xyce::Analysis::registerACFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Topo::Topology & | topology | ||
) |
Definition at line 1017 of file N_ANP_AC.C.
void Xyce::Analysis::registerAnalysisFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Device::DeviceMgr & | device_manager, | ||
Linear::Builder & | builder, | ||
Topo::Topology & | topology | ||
) |
Registers the analysis factories.
In the future this is intended to become a pluggable factory allowing new analysis type to be added with no invasion into the rest of the analysis code. Whether anyone will actually create an analysis outside the system is academic and creating this interface will result in defining the roles and interactions between the various analyses.
netlist_filename | |
options_manager | |
analysis_manager | |
linear_system | |
nonlinear_manager | |
device_manager | |
builder | |
topology |
Definition at line 1953 of file N_ANP_AnalysisManager.C.
bool Xyce::Analysis::registerDCSweepFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Topo::Topology & | topology | ||
) |
Definition at line 812 of file N_ANP_DCSweep.C.
bool Xyce::Analysis::registerHBFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Device::DeviceMgr & | device_manager, | ||
Linear::Builder & | builder, | ||
Topo::Topology & | topology | ||
) |
Definition at line 2159 of file N_ANP_HB.C.
bool Xyce::Analysis::registerMORFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Topo::Topology & | topology | ||
) |
Definition at line 2260 of file N_ANP_MOR.C.
bool Xyce::Analysis::registerMPDEFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Device::DeviceMgr & | device_manager, | ||
Linear::Builder & | builder, | ||
Topo::Topology & | topology | ||
) |
Definition at line 476 of file N_ANP_MPDE.C.
bool Xyce::Analysis::registerNOISEFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Topo::Topology & | topology | ||
) |
Definition at line 1781 of file N_ANP_NOISE.C.
void Xyce::Analysis::registerOpBuilders | ( | Util::Op::BuilderManager & | builder_manager, |
Parallel::Machine | comm, | ||
AnalysisManager & | analysis_manager | ||
) |
Definition at line 135 of file N_ANP_OpBuilders.C.
bool Xyce::Analysis::registerPkgOptionsMgr | ( | AnalysisManager & | analysis_manager, |
const std::string & | netList_file, | ||
IO::PkgOptionsMgr & | options_manager | ||
) |
Definition at line 1905 of file N_ANP_AnalysisManager.C.
bool Xyce::Analysis::registerStepFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager | ||
) |
Definition at line 376 of file N_ANP_Step.C.
bool Xyce::Analysis::registerTransientFactory | ( | const std::string & | netlist_filename, |
IO::PkgOptionsMgr & | options_manager, | ||
AnalysisManager & | analysis_manager, | ||
Linear::System & | linear_system, | ||
Nonlinear::Manager & | nonlinear_manager, | ||
Topo::Topology & | topology | ||
) |
Definition at line 2593 of file N_ANP_Transient.C.
int Xyce::Analysis::setupSweepLoop | ( | Loader::Loader & | loader, |
std::vector< SweepParam >::iterator | begin, | ||
std::vector< SweepParam >::iterator | end | ||
) |
Definition at line 232 of file N_ANP_SweepParam.C.
int Xyce::Analysis::setupSweepLoop | ( | Loader::Loader & | loader, |
int | debug_level, | ||
std::vector< SweepParam >::iterator | begin, | ||
std::vector< SweepParam >::iterator | end | ||
) |
Definition at line 354 of file N_ANP_AnalysisBase.C.
bool Xyce::Analysis::testOutputTime | ( | double | current_time, |
double | next_output_time, | ||
double | start_time | ||
) |
Definition at line 2272 of file N_ANP_Transient.C.
double Xyce::Analysis::updateOutputTime | ( | double | current_time, |
double | next_output_time, | ||
double | final_output_time, | ||
double | initial_output_interval, | ||
const IO::IntervalVector & | output_intervals | ||
) |
Definition at line 2300 of file N_ANP_Transient.C.
bool Xyce::Analysis::updateSweepParams | ( | Loader::Loader & | loader, |
int | step_count, | ||
std::vector< SweepParam >::iterator | begin, | ||
std::vector< SweepParam >::iterator | end, | ||
bool | overrideOriginal = false |
||
) |
Definition at line 353 of file N_ANP_SweepParam.C.
bool Xyce::Analysis::updateSweepParams | ( | Loader::Loader & | loader, |
AnalysisManager & | analysis_manager, | ||
int | step_count, | ||
std::vector< SweepParam >::iterator | begin, | ||
std::vector< SweepParam >::iterator | end | ||
) |
Definition at line 505 of file N_ANP_AnalysisBase.C.
void Xyce::Analysis::writeConductanceFile | ( | const std::vector< std::string > & | device_names, |
Nonlinear::ConductanceExtractor & | conductance_extractor, | ||
const std::string & | filename | ||
) |
Definition at line 1747 of file N_ANP_AnalysisManager.C.