Xyce  6.1
Xyce::Analysis Namespace Reference

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< StepEventStepEventNotifier
 
typedef Util::Notifier< AnalysisEventAnalysisEventNotifier
 
typedef Util::ListenerAutoSubscribe< StepEventStepEventListener
 
typedef Util::ListenerAutoSubscribe< AnalysisEventAnalysisEventListener
 
typedef std::vector< Factory< void > * > Registry
 Registry of factories. More...
 
typedef std::vector< SweepParamSweepVector
 

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_StatelessN_ANP_modelEvaluator_Stateless ()
 
RCP< ModelEvaluator_StatelessN_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)
 

Detailed Description

Circuit Analysis Definitions.

Typedef Documentation

typedef Util::ListenerAutoSubscribe<AnalysisEvent> Xyce::Analysis::AnalysisEventListener

Definition at line 78 of file N_ANP_AnalysisManager.h.

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.

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.

Enumeration Type Documentation

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.

Function Documentation

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.

Parameters
modeAnalysis mode
Returns
name of the mode
Parameters
modeAnalysis mode to get name of
Returns
Name corresponding to the mode

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.

Parameters
modeAnalysis mode
Returns
Nonlinear 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 
)
Invariant
Parameters
os
sp
Returns

Definition at line 138 of file N_ANP_SweepParam.C.

std::ostream& Xyce::Analysis::operator<< ( std::ostream &  os,
const NoiseData nd 
)
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.

Invariant
Parameters
sweep_paramsweep parameters objec t populate
firstbegin iterator of the parameter list
lastend 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.

Invariant
Parameters
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.