Xyce  6.1
Xyce::Device::DeviceMgr Class Reference

#include <N_DEV_DeviceMgr.h>

Inheritance diagram for Xyce::Device::DeviceMgr:
Collaboration diagram for Xyce::Device::DeviceMgr:

Public Types

typedef std::vector< Device * > DeviceVector
 
typedef std::vector< DeviceEntity * > EntityVector
 
typedef std::vector< DeviceInstance * > InstanceVector
 
typedef std::vector< DeviceModel * > ModelVector
 
typedef std::map< ModelTypeId, ModelVectorModelTypeModelVectorMap
 
typedef std::map< ModelTypeId, InstanceVectorModelTypeInstanceVectorMap
 
typedef unordered_map< std::string, DeviceEntity *, HashNoCase, EqualNoCase > DeviceEntityMap
 
typedef unordered_map< std::string, ModelTypeId, HashNoCase, EqualNoCase > ModelTypeNameModelTypeIdMap
 
typedef unordered_map< std::string, ArtificialParameters::ArtificialParameter *, HashNoCase, EqualNoCase > ArtificialParameterMap
 
typedef unordered_map< std::string, SourceInstance *, HashNoCase, EqualNoCase > IndependentSourceMap
 
typedef std::vector< SourceInstance * > IndependentSourceVector
 

Public Member Functions

 DeviceMgr (Parallel::Machine comm, Topo::Topology &topology, const IO::CmdParse &command_line)
 
 ~DeviceMgr ()
 
void notify (const Analysis::StepEvent &event)
 
bool registerAnalysisManager (Analysis::AnalysisManager *analysis_manager)
 
bool registerMeasureMgr (IO::Measure::Manager *measure_manager)
 
bool registerNonlinearSolver (Nonlinear::Manager *tmp_nlsMgrPtr)
 
bool registerICLoads (std::vector< std::pair< int, double > > *icLoads)
 
bool setLeadCurrentRequests (const std::set< std::string > &deviceNames)
 
std::vector< double > getFastSourcePeriod (Parallel::Machine comm, const std::vector< std::string > &sourceNames)
 
std::vector< double > registerFastSources (Parallel::Machine comm, const std::vector< std::string > &sourceNames)
 
void deRegisterFastSources (const std::vector< std::string > &sourceNames)
 
void deactivateSlowSources ()
 
void activateSlowSources ()
 
void setMPDEFlag (bool flagVal)
 
void setBlockAnalysisFlag (bool flagVal)
 
void setFastTime (double timeVal)
 
bool initializeAll (Linear::System &linear_system)
 
bool addDeviceModel (const ModelBlock &MB)
 
std::pair< ModelTypeId, ModelTypeIdgetModelType (const InstanceBlock &instance_block)
 
bool verifyDeviceInstance (const InstanceBlock &IB)
 
DeviceInstanceaddDeviceInstance (const InstanceBlock &IB)
 
bool deleteDeviceInstance (const std::string &name)
 
int getHomotopyBlockSize () const
 
bool output ()
 
bool finishOutput ()
 
void dotOpOutput ()
 
bool setInitialGuess (Linear::Vector *solVectorPtr)
 
bool loadErrorWeightMask (Linear::Vector *deviceMaskPtr)
 
void debugOutput1 ()
 
void debugOutput2 ()
 
void getAnalyticSensitivities (std::string &name, std::vector< double > &dfdpVec, std::vector< double > &dqdpVec, std::vector< double > &dbdpVec, std::vector< int > &FindicesVec, std::vector< int > &QindicesVec, std::vector< int > &BindicesVec)
 
bool analyticSensitivitiesAvailable (const std::string &name)
 
bool setParam (std::string &name, double val, bool overrideOriginal=false)
 
double getParamAndReduce (const std::string &name) const
 
bool getParamAndReduce (const std::string &name, double &val) const
 
double getParamNoReduce (const std::string &name) const
 
bool findParam (const std::string &name) const
 
bool updateTemperature (double val)
 
bool updateSources ()
 
bool resetRHSLoadFlags (int index)
 
bool getLinearSystemFlag ()
 
bool getVoltageLimiterFlag ()
 
bool getPDESystemFlag ()
 
const DeviceOptionsgetDeviceOptions () const
 
bool setICs (Linear::Vector *tmpSolVectorPtr, Linear::Vector *tmpCurrSolVectorPtr, Linear::Vector *tmpLastSolVectorPtr, Linear::Vector *tmpStaVectorPtr, Linear::Vector *tmpCurrStaVectorPtr, Linear::Vector *tmpLasStaVectorPtr, Linear::Vector *tmpStaDerivVectorPtr, Linear::Vector *tmpStoVectorPtr, Linear::Vector *tmpCurrStoVectorPtr, Linear::Vector *tmpLastStoVectorPtr, Linear::Vector *tmpQVectorPtr, Linear::Vector *tmpFVectorPtr, Linear::Vector *tmpBVectorPtr, Linear::Vector *tmpdFdxdVpVectorPtr, Linear::Vector *tmpdQdxdVpVectorPtr)
 
bool getBreakPoints (std::vector< Util::BreakPoint > &breakPointTimes)
 
double getMaxTimeStepSize ()
 
int enablePDEContinuation ()
 
bool disablePDEContinuation ()
 
void getNumInterfaceNodes (std::vector< int > &numInterfaceNodes)
 
bool loadCouplingRHS (int iPDEDevice, int iElectrode, Linear::Vector *dfdvPtr)
 
bool calcCouplingTerms (int iSubProblem, int iElectrode, const Linear::Vector *dxdvPtr)
 
bool calcPDESubProblemInfo ()
 
bool loadDAEMatrices (Linear::Vector *tmpSolVectorPtr, Linear::Vector *tmpStaVectorPtr, Linear::Vector *tmpStaDerivVectorPtr, Linear::Vector *tmpStoVectorPtr, Linear::Matrix *tmpdQdxMatrixPtr, Linear::Matrix *tmpdFdxMatrixPtr)
 
bool loadDAEVectors (Linear::Vector *tmpNextSolVectorPtr, Linear::Vector *tmpCurrSolVectorPtr, Linear::Vector *tmpLastSolVectorPtr, Linear::Vector *tmpNextStaVectorPtr, Linear::Vector *tmpCurrStaVectorPtr, Linear::Vector *tmpLastStaVectorPtr, Linear::Vector *tmpStaDerivVectorPtr, Linear::Vector *tmpNextStoVectorPtr, Linear::Vector *tmpCurrStoVectorPtr, Linear::Vector *tmpLastStoVectorPtr, Linear::Vector *tmpStoLeadCurrQCompVectorPtr, Linear::Vector *tmpLeadFCompVectorPtr, Linear::Vector *tmpLastLeadFCompVectorPtr, Linear::Vector *tmpNextLeadFCompVectorPtr, Linear::Vector *tmpLeadQCompVectorPtr, Linear::Vector *tmpJunctionVCompVectorPtr, Linear::Vector *tmpLastJunctionVCompVectorPtr, Linear::Vector *tmpNextJunctionCompVectorPtr, Linear::Vector *tmpQVectorPtr, Linear::Vector *tmpFVectorPtr, Linear::Vector *tmpBVectorPtr, Linear::Vector *tmpdFdxdVpVectorPtr, Linear::Vector *tmpdQdxdVpVectorPtr)
 
bool updateState (Linear::Vector *nextSolVectorPtr, Linear::Vector *currSolVectorPtr, Linear::Vector *lastSolVectorPtr, Linear::Vector *nextStaVectorPtr, Linear::Vector *currStaVectorPtr, Linear::Vector *lastStaVectorPtr, Linear::Vector *nextStoVectorPtr, Linear::Vector *currStoVectorPtr, Linear::Vector *lastStoVectorPtr)
 
bool loadBVectorsforAC (Linear::Vector *bVecRealPtr, Linear::Vector *bVecImagPtr)
 
bool getBMatrixEntriesforMOR (std::vector< int > &bMatEntriesVec, std::vector< int > &bMatPosEntriesVec)
 
int getNumNoiseDevices ()
 
int getNumNoiseSources ()
 
void setupNoiseSources (std::vector< Xyce::Analysis::NoiseData * > &noiseDataVec)
 
void getNoiseSources (std::vector< Xyce::Analysis::NoiseData * > &noiseDataVec)
 
void unsetVoltageLimiterFlag ()
 
void setVoltageLimiterFlag (bool flagVal)
 
void addGlobalPar (const Util::Param &)
 
const double * findGlobalPar (const std::string &parName) const
 
double getGlobalPar (const std::string &parName) const
 
bool registerOptions (const Util::OptionBlock &option_block)
 
bool registerSensParams (const Util::OptionBlock &option_block)
 
bool setOPAnalysisParams (const Util::OptionBlock &option_block)
 
bool setHBAnalysisParams (const Util::OptionBlock &option_block)
 
bool setACAnalysisParams (const Util::OptionBlock &option_block)
 
bool setNOISEAnalysisParams (const Util::OptionBlock &option_block)
 
bool allDevicesConverged (Parallel::Machine comm) const
 
bool setupExternalDevices (N_PDS_Comm &parallel_comm)
 
const DeviceCountMapgetDeviceCountMap ()
 
void addDeviceToCount (const std::string &device_name, int num_devs=1)
 
void addDevicesToCount (const DeviceCountMap &device_map)
 
DeviceEntitygetDeviceEntity (const std::string &full_param_name) const
 
void acceptStep ()
 
bool getInitialQnorm (std::vector< TimeIntg::TwoLevelError > &tleVec)
 
bool getInnerLoopErrorSums (std::vector< TimeIntg::TwoLevelError > &tleVec)
 
bool updateStateArrays ()
 
bool startTimeStep ()
 
void setExternalSolverState (const SolverState &ss)
 
int restartDataSize (bool pack) const
 
bool dumpRestartData (char *buf, int bsize, int &pos, N_PDS_Comm *comm, bool pack) const
 
bool restoreRestartData (char *buf, int bsize, int &pos, N_PDS_Comm *comm, bool pack)
 
void setGlobalFlags ()
 
DevicegetDevice (EntityTypeId model_type_id)
 
EntityTypeId getModelGroup (const std::string &model_or_device_type_name)
 Return the ModelGroup of the device associated with the model type name or device type name. More...
 
void addArtificialParameter (const std::string &name, ArtificialParameters::ArtificialParameter *artificial_parameter)
 
const InstanceVectorgetExternDevices () const
 

Private Member Functions

 DeviceMgr (const DeviceMgr &)
 No copying. More...
 
DeviceMgroperator= (const DeviceMgr &)
 No assignment. More...
 
bool getParam (const std::string &name, double &value) const
 
DevicegetDeviceByModelType (const EntityTypeId model_type)
 
bool setupRawVectorPointers_ ()
 
bool setupRawMatrixPointers_ ()
 
bool updateIntermediateVars_ ()
 
bool updatePrimaryState_ ()
 
bool updateSecondaryState_ ()
 
bool updateDependentParameters_ ()
 
void updateExternalDevices_ ()
 
ExternDevice::Instance * addExtDeviceInstance_ (const InstanceBlock &IB)
 

Private Attributes

const IO::CmdParse & commandLine_
 Command line. More...
 
Topo::Topology & topology_
 Topology. More...
 
DeviceOptions devOptions_
 user-defined options: More...
 
EntityTypeIdDeviceMap deviceMap_
 
bool sensFlag_
 .SENS present in netlist More...
 
bool linearSystemFlag_
 True if all devices in netlist have isLinearDevice() true. More...
 
bool firstDependent_
 True until updateDependentParameters_ is called. More...
 
bool parameterChanged_
 Only used locally in updateDependentParameters_, don't know if stateful of just a member for fun. More...
 
bool breakPointInstancesInitialized
 
double timeParamsProcessed_
 Time updateDependentParameters was called. More...
 
ExternData externData_
 
MatrixLoadData matrixLoadData_
 temporary jacobian load structures: More...
 
SolverState solState_
 real time solver data: More...
 
Globalsglobals_
 global variables More...
 
SolverState solStateExternal_
 
bool externalStateFlag_
 
Linear::Vector * numJacSolVectorPtr_
 
Linear::Vector * numJacStaVectorPtr_
 
Linear::Vector * numJacStoVectorPtr_
 
Linear::Vector * diagonalVectorPtr_
 
Analysis::AnalysisManageranalysisManager_
 To search for non-device parameters. This needs to be removed. More...
 
IO::Measure::Manager * measureManager_
 To search for non-device parameters. This needs to be removed. More...
 
ArtificialParameterMap artificialParameterMap_
 Specially named parameters. This needs to be removed. More...
 
Parallel::Machine comm_
 Communicator (should be passed in when needed, not a member) More...
 
Nonlinear::ManagernlsMgrPtr_
 To get Nonlinear solver information. This needs to be removed. More...
 
std::vector< std::pair< int, double > > * icLoads_
 
ModelTypeNameModelTypeIdMap modelTypeMap_
 Model type name to model. More...
 
ModelTypeNameModelTypeIdMap modelGroupMap_
 Model type name to model group. More...
 
ModelTypeInstanceVectorMap modelGroupInstanceVector_
 
ModelTypeInstanceVectorMap modelTypeInstanceVector_
 
ModelVector modelVector_
 
ModelTypeModelVectorMap modelGroupModelVector_
 
ModelTypeModelVectorMap modelTypeModelVector_
 
DeviceCountMap localDeviceCountMap_
 
DeviceVector devicePtrVec_
 
DeviceVector pdeDevicePtrVec_
 
InstanceVector instancePtrVec_
 
InstanceVector bpInstancePtrVec_
 instances with breakpoints functions More...
 
InstanceVector pdeInstancePtrVec_
 
InstanceVector nonPdeInstancePtrVec_
 
InstanceVector plotFileInstancePtrVec_
 
IndependentSourceVector independentSourceVector_
 
IndependentSourceMap independentSourceMap_
 
IndependentSourceVector indepSourceInstanceBackupPtrVec_
 
InstanceVector testJacDevicePtrVec_
 Devices under jacobian test. More...
 
EntityVector dependentPtrVec_
 
std::set< std::string > devicesNeedingLeadCurrentLoads_
 
std::map< std::string, int, LessNoCase > passThroughParamsMap_
 
DeviceEntityMap parameterDeviceCache_
 Full parameter name to device entity cache. More...
 
std::vector< int > numInterfaceNodes_
 
bool calledBeforeCSPI
 
DeviceSensitivitiesdevSensPtr_
 
bool dotOpOutputFlag
 

Friends

class ArtificialParameters::ArtificialParameter
 

Detailed Description

Definition at line 91 of file N_DEV_DeviceMgr.h.

Member Typedef Documentation

typedef unordered_map<std::string, ArtificialParameters::ArtificialParameter *, HashNoCase, EqualNoCase> Xyce::Device::DeviceMgr::ArtificialParameterMap

Definition at line 105 of file N_DEV_DeviceMgr.h.

typedef unordered_map<std::string, DeviceEntity *, HashNoCase, EqualNoCase> Xyce::Device::DeviceMgr::DeviceEntityMap

Definition at line 102 of file N_DEV_DeviceMgr.h.

Definition at line 96 of file N_DEV_DeviceMgr.h.

Definition at line 97 of file N_DEV_DeviceMgr.h.

typedef unordered_map<std::string, SourceInstance *, HashNoCase, EqualNoCase> Xyce::Device::DeviceMgr::IndependentSourceMap

Definition at line 107 of file N_DEV_DeviceMgr.h.

Definition at line 108 of file N_DEV_DeviceMgr.h.

Definition at line 98 of file N_DEV_DeviceMgr.h.

typedef unordered_map<std::string, ModelTypeId, HashNoCase, EqualNoCase> Xyce::Device::DeviceMgr::ModelTypeNameModelTypeIdMap

Definition at line 103 of file N_DEV_DeviceMgr.h.

Definition at line 99 of file N_DEV_DeviceMgr.h.

Constructor & Destructor Documentation

Xyce::Device::DeviceMgr::DeviceMgr ( Parallel::Machine  comm,
Topo::Topology &  topology,
const IO::CmdParse &  command_line 
)

Definition at line 256 of file N_DEV_DeviceMgr.C.

Xyce::Device::DeviceMgr::~DeviceMgr ( )

Definition at line 371 of file N_DEV_DeviceMgr.C.

Xyce::Device::DeviceMgr::DeviceMgr ( const DeviceMgr )
private

No copying.

Member Function Documentation

void Xyce::Device::DeviceMgr::acceptStep ( )

Definition at line 3684 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::activateSlowSources ( )

Definition at line 721 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::addArtificialParameter ( const std::string &  name,
ArtificialParameters::ArtificialParameter artificial_parameter 
)
inline

Definition at line 388 of file N_DEV_DeviceMgr.h.

DeviceInstance * Xyce::Device::DeviceMgr::addDeviceInstance ( const InstanceBlock IB)

Definition at line 1190 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::addDeviceModel ( const ModelBlock MB)

Definition at line 1000 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::addDevicesToCount ( const DeviceCountMap device_map)

Definition at line 4051 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::addDeviceToCount ( const std::string &  device_name,
int  num_devs = 1 
)
inline

Definition at line 351 of file N_DEV_DeviceMgr.h.

ExternDevice::Instance * Xyce::Device::DeviceMgr::addExtDeviceInstance_ ( const InstanceBlock IB)
private

Definition at line 3645 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::addGlobalPar ( const Util::Param &  par)

Definition at line 2293 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::allDevicesConverged ( Parallel::Machine  comm) const

Definition at line 3475 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::analyticSensitivitiesAvailable ( const std::string &  name)

Definition at line 1486 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::calcCouplingTerms ( int  iSubProblem,
int  iElectrode,
const Linear::Vector *  dxdvPtr 
)

Definition at line 3356 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::calcPDESubProblemInfo ( )

Definition at line 3294 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::deactivateSlowSources ( )

Definition at line 693 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::debugOutput1 ( )

Definition at line 1354 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::debugOutput2 ( )

Definition at line 1400 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::deleteDeviceInstance ( const std::string &  name)

Definition at line 1303 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::deRegisterFastSources ( const std::vector< std::string > &  sourceNames)

Definition at line 644 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::disablePDEContinuation ( )

Definition at line 3264 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::dotOpOutput ( )

Definition at line 2896 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::dumpRestartData ( char *  buf,
int  bsize,
int &  pos,
N_PDS_Comm *  comm,
bool  pack 
) const

Definition at line 3912 of file N_DEV_DeviceMgr.C.

int Xyce::Device::DeviceMgr::enablePDEContinuation ( )

Definition at line 3224 of file N_DEV_DeviceMgr.C.

const double * Xyce::Device::DeviceMgr::findGlobalPar ( const std::string &  parName) const

Definition at line 2360 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::findParam ( const std::string &  name) const

Definition at line 1739 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::finishOutput ( )

Definition at line 2874 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::getAnalyticSensitivities ( std::string &  name,
std::vector< double > &  dfdpVec,
std::vector< double > &  dqdpVec,
std::vector< double > &  dbdpVec,
std::vector< int > &  FindicesVec,
std::vector< int > &  QindicesVec,
std::vector< int > &  BindicesVec 
)

Definition at line 1513 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getBMatrixEntriesforMOR ( std::vector< int > &  bMatEntriesVec,
std::vector< int > &  bMatPosEntriesVec 
)

Definition at line 2723 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getBreakPoints ( std::vector< Util::BreakPoint > &  breakPointTimes)

Definition at line 2944 of file N_DEV_DeviceMgr.C.

Device* Xyce::Device::DeviceMgr::getDevice ( EntityTypeId  model_type_id)
inline

Definition at line 380 of file N_DEV_DeviceMgr.h.

Device & Xyce::Device::DeviceMgr::getDeviceByModelType ( const EntityTypeId  model_type)
private

Definition at line 937 of file N_DEV_DeviceMgr.C.

const DeviceCountMap& Xyce::Device::DeviceMgr::getDeviceCountMap ( )
inline

Definition at line 347 of file N_DEV_DeviceMgr.h.

DeviceEntity * Xyce::Device::DeviceMgr::getDeviceEntity ( const std::string &  full_param_name) const

Definition at line 4022 of file N_DEV_DeviceMgr.C.

const DeviceOptions& Xyce::Device::DeviceMgr::getDeviceOptions ( ) const
inline

Definition at line 224 of file N_DEV_DeviceMgr.h.

const InstanceVector & Xyce::Device::DeviceMgr::getExternDevices ( ) const

Definition at line 509 of file N_DEV_DeviceMgr.C.

std::vector< double > Xyce::Device::DeviceMgr::getFastSourcePeriod ( Parallel::Machine  comm,
const std::vector< std::string > &  sourceNames 
)

Definition at line 529 of file N_DEV_DeviceMgr.C.

double Xyce::Device::DeviceMgr::getGlobalPar ( const std::string &  parName) const

Definition at line 2336 of file N_DEV_DeviceMgr.C.

int Xyce::Device::DeviceMgr::getHomotopyBlockSize ( ) const

Definition at line 3370 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getInitialQnorm ( std::vector< TimeIntg::TwoLevelError > &  tleVec)

Definition at line 3748 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getInnerLoopErrorSums ( std::vector< TimeIntg::TwoLevelError > &  tleVec)

Definition at line 3779 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getLinearSystemFlag ( )
inline

Definition at line 209 of file N_DEV_DeviceMgr.h.

double Xyce::Device::DeviceMgr::getMaxTimeStepSize ( )

Definition at line 3194 of file N_DEV_DeviceMgr.C.

EntityTypeId Xyce::Device::DeviceMgr::getModelGroup ( const std::string &  model_or_device_type_name)

Return the ModelGroup of the device associated with the model type name or device type name.

Parameters
model_type_namemodel type name or device type name
Returns
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Mon Sep 23 07:53:04 2013

Definition at line 987 of file N_DEV_DeviceMgr.C.

std::pair< ModelTypeId, ModelTypeId > Xyce::Device::DeviceMgr::getModelType ( const InstanceBlock instance_block)

Definition at line 1045 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::getNoiseSources ( std::vector< Xyce::Analysis::NoiseData * > &  noiseDataVec)

Definition at line 2697 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::getNumInterfaceNodes ( std::vector< int > &  numInterfaceNodes)

Definition at line 3317 of file N_DEV_DeviceMgr.C.

int Xyce::Device::DeviceMgr::getNumNoiseDevices ( )

Definition at line 2602 of file N_DEV_DeviceMgr.C.

int Xyce::Device::DeviceMgr::getNumNoiseSources ( )

Definition at line 2630 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getParam ( const std::string &  name,
double &  value 
) const
private

Definition at line 1689 of file N_DEV_DeviceMgr.C.

double Xyce::Device::DeviceMgr::getParamAndReduce ( const std::string &  name) const

Definition at line 1792 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getParamAndReduce ( const std::string &  name,
double &  val 
) const

Definition at line 1769 of file N_DEV_DeviceMgr.C.

double Xyce::Device::DeviceMgr::getParamNoReduce ( const std::string &  name) const

Definition at line 1753 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::getPDESystemFlag ( )
inline

Definition at line 219 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::getVoltageLimiterFlag ( )
inline

Definition at line 214 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::initializeAll ( Linear::System &  linear_system)

Definition at line 784 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadBVectorsforAC ( Linear::Vector *  bVecRealPtr,
Linear::Vector *  bVecImagPtr 
)

Definition at line 2570 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadCouplingRHS ( int  iPDEDevice,
int  iElectrode,
Linear::Vector *  dfdvPtr 
)

Definition at line 3343 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadDAEMatrices ( Linear::Vector *  tmpSolVectorPtr,
Linear::Vector *  tmpStaVectorPtr,
Linear::Vector *  tmpStaDerivVectorPtr,
Linear::Vector *  tmpStoVectorPtr,
Linear::Matrix *  tmpdQdxMatrixPtr,
Linear::Matrix *  tmpdFdxMatrixPtr 
)

Definition at line 1940 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadDAEVectors ( Linear::Vector *  tmpNextSolVectorPtr,
Linear::Vector *  tmpCurrSolVectorPtr,
Linear::Vector *  tmpLastSolVectorPtr,
Linear::Vector *  tmpNextStaVectorPtr,
Linear::Vector *  tmpCurrStaVectorPtr,
Linear::Vector *  tmpLastStaVectorPtr,
Linear::Vector *  tmpStaDerivVectorPtr,
Linear::Vector *  tmpNextStoVectorPtr,
Linear::Vector *  tmpCurrStoVectorPtr,
Linear::Vector *  tmpLastStoVectorPtr,
Linear::Vector *  tmpStoLeadCurrQCompVectorPtr,
Linear::Vector *  tmpLeadFCompVectorPtr,
Linear::Vector *  tmpLastLeadFCompVectorPtr,
Linear::Vector *  tmpNextLeadFCompVectorPtr,
Linear::Vector *  tmpLeadQCompVectorPtr,
Linear::Vector *  tmpJunctionVCompVectorPtr,
Linear::Vector *  tmpLastJunctionVCompVectorPtr,
Linear::Vector *  tmpNextJunctionCompVectorPtr,
Linear::Vector *  tmpQVectorPtr,
Linear::Vector *  tmpFVectorPtr,
Linear::Vector *  tmpBVectorPtr,
Linear::Vector *  tmpdFdxdVpVectorPtr,
Linear::Vector *  tmpdQdxdVpVectorPtr 
)

Definition at line 2096 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadErrorWeightMask ( Linear::Vector *  deviceMaskPtr)

Definition at line 2271 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::notify ( const Analysis::StepEvent event)

Definition at line 906 of file N_DEV_DeviceMgr.C.

DeviceMgr& Xyce::Device::DeviceMgr::operator= ( const DeviceMgr )
private

No assignment.

bool Xyce::Device::DeviceMgr::output ( )

Definition at line 2839 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::registerAnalysisManager ( Analysis::AnalysisManager analysis_manager)

Definition at line 355 of file N_DEV_DeviceMgr.C.

std::vector< double > Xyce::Device::DeviceMgr::registerFastSources ( Parallel::Machine  comm,
const std::vector< std::string > &  sourceNames 
)

Definition at line 574 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::registerICLoads ( std::vector< std::pair< int, double > > *  icLoads)
inline

Definition at line 530 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerMeasureMgr ( IO::Measure::Manager *  measure_manager)
inline

Definition at line 122 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerNonlinearSolver ( Nonlinear::Manager tmp_nlsMgrPtr)
inline

Definition at line 129 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerOptions ( const Util::OptionBlock &  option_block)
inline

Definition at line 323 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerSensParams ( const Util::OptionBlock &  option_block)

Definition at line 405 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::resetRHSLoadFlags ( int  index)
int Xyce::Device::DeviceMgr::restartDataSize ( bool  pack) const

Definition at line 3885 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::restoreRestartData ( char *  buf,
int  bsize,
int &  pos,
N_PDS_Comm *  comm,
bool  pack 
)

Definition at line 3971 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setACAnalysisParams ( const Util::OptionBlock &  option_block)

Definition at line 488 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setBlockAnalysisFlag ( bool  flagVal)

Definition at line 751 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setExternalSolverState ( const SolverState ss)

Definition at line 3870 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setFastTime ( double  timeVal)

Definition at line 770 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setGlobalFlags ( )

Definition at line 2927 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setHBAnalysisParams ( const Util::OptionBlock &  option_block)

Definition at line 474 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setICs ( Linear::Vector *  tmpSolVectorPtr,
Linear::Vector *  tmpCurrSolVectorPtr,
Linear::Vector *  tmpLastSolVectorPtr,
Linear::Vector *  tmpStaVectorPtr,
Linear::Vector *  tmpCurrStaVectorPtr,
Linear::Vector *  tmpLasStaVectorPtr,
Linear::Vector *  tmpStaDerivVectorPtr,
Linear::Vector *  tmpStoVectorPtr,
Linear::Vector *  tmpCurrStoVectorPtr,
Linear::Vector *  tmpLastStoVectorPtr,
Linear::Vector *  tmpQVectorPtr,
Linear::Vector *  tmpFVectorPtr,
Linear::Vector *  tmpBVectorPtr,
Linear::Vector *  tmpdFdxdVpVectorPtr,
Linear::Vector *  tmpdQdxdVpVectorPtr 
)

Definition at line 2776 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setInitialGuess ( Linear::Vector *  solVectorPtr)

Definition at line 1454 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setLeadCurrentRequests ( const std::set< std::string > &  deviceNames)

Definition at line 430 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setMPDEFlag ( bool  flagVal)

Definition at line 738 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setNOISEAnalysisParams ( const Util::OptionBlock &  option_block)

Definition at line 502 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setOPAnalysisParams ( const Util::OptionBlock &  option_block)

Definition at line 460 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setParam ( std::string &  name,
double  val,
bool  overrideOriginal = false 
)

Definition at line 1552 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setupExternalDevices ( N_PDS_Comm &  parallel_comm)

Definition at line 3527 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setupNoiseSources ( std::vector< Xyce::Analysis::NoiseData * > &  noiseDataVec)

Definition at line 2653 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setupRawMatrixPointers_ ( )
private

Definition at line 3178 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setupRawVectorPointers_ ( )
private

Definition at line 3036 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::setVoltageLimiterFlag ( bool  flagVal)
inline

Definition at line 517 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::startTimeStep ( )

Definition at line 3839 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::unsetVoltageLimiterFlag ( )
inline

Definition at line 504 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::updateDependentParameters_ ( )
private

Definition at line 2450 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::updateExternalDevices_ ( )
private

Definition at line 3621 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updateIntermediateVars_ ( )
private

Definition at line 2378 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updatePrimaryState_ ( )
private

Definition at line 2402 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updateSecondaryState_ ( )
private

Definition at line 2426 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updateSources ( )

Definition at line 2754 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updateState ( Linear::Vector *  nextSolVectorPtr,
Linear::Vector *  currSolVectorPtr,
Linear::Vector *  lastSolVectorPtr,
Linear::Vector *  nextStaVectorPtr,
Linear::Vector *  currStaVectorPtr,
Linear::Vector *  lastStaVectorPtr,
Linear::Vector *  nextStoVectorPtr,
Linear::Vector *  currStoVectorPtr,
Linear::Vector *  lastStoVectorPtr 
)

Definition at line 1822 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updateStateArrays ( )

Definition at line 3811 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::updateTemperature ( double  val)

Definition at line 3383 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::verifyDeviceInstance ( const InstanceBlock IB)

Definition at line 1147 of file N_DEV_DeviceMgr.C.

Friends And Related Function Documentation

Definition at line 93 of file N_DEV_DeviceMgr.h.

Member Data Documentation

Analysis::AnalysisManager* Xyce::Device::DeviceMgr::analysisManager_
private

To search for non-device parameters. This needs to be removed.

Definition at line 439 of file N_DEV_DeviceMgr.h.

ArtificialParameterMap Xyce::Device::DeviceMgr::artificialParameterMap_
private

Specially named parameters. This needs to be removed.

Definition at line 441 of file N_DEV_DeviceMgr.h.

InstanceVector Xyce::Device::DeviceMgr::bpInstancePtrVec_
private

instances with breakpoints functions

Definition at line 462 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::breakPointInstancesInitialized
private

Definition at line 424 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::calledBeforeCSPI
private

Definition at line 486 of file N_DEV_DeviceMgr.h.

Parallel::Machine Xyce::Device::DeviceMgr::comm_
private

Communicator (should be passed in when needed, not a member)

Definition at line 443 of file N_DEV_DeviceMgr.h.

const IO::CmdParse& Xyce::Device::DeviceMgr::commandLine_
private

Command line.

Definition at line 415 of file N_DEV_DeviceMgr.h.

EntityVector Xyce::Device::DeviceMgr::dependentPtrVec_
private

Definition at line 476 of file N_DEV_DeviceMgr.h.

EntityTypeIdDeviceMap Xyce::Device::DeviceMgr::deviceMap_
private

Definition at line 418 of file N_DEV_DeviceMgr.h.

DeviceVector Xyce::Device::DeviceMgr::devicePtrVec_
private

Definition at line 458 of file N_DEV_DeviceMgr.h.

std::set<std::string> Xyce::Device::DeviceMgr::devicesNeedingLeadCurrentLoads_
private

Definition at line 478 of file N_DEV_DeviceMgr.h.

DeviceOptions Xyce::Device::DeviceMgr::devOptions_
private

user-defined options:

Definition at line 417 of file N_DEV_DeviceMgr.h.

DeviceSensitivities* Xyce::Device::DeviceMgr::devSensPtr_
private

Definition at line 489 of file N_DEV_DeviceMgr.h.

Linear::Vector* Xyce::Device::DeviceMgr::diagonalVectorPtr_
private

Definition at line 437 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::dotOpOutputFlag
private

Definition at line 492 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::externalStateFlag_
private

Definition at line 432 of file N_DEV_DeviceMgr.h.

ExternData Xyce::Device::DeviceMgr::externData_
private

Definition at line 427 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::firstDependent_
private

True until updateDependentParameters_ is called.

Definition at line 422 of file N_DEV_DeviceMgr.h.

Globals& Xyce::Device::DeviceMgr::globals_
private

global variables

Definition at line 430 of file N_DEV_DeviceMgr.h.

std::vector<std::pair<int, double> >* Xyce::Device::DeviceMgr::icLoads_
private

Definition at line 445 of file N_DEV_DeviceMgr.h.

IndependentSourceMap Xyce::Device::DeviceMgr::independentSourceMap_
private

Definition at line 468 of file N_DEV_DeviceMgr.h.

IndependentSourceVector Xyce::Device::DeviceMgr::independentSourceVector_
private

Definition at line 467 of file N_DEV_DeviceMgr.h.

IndependentSourceVector Xyce::Device::DeviceMgr::indepSourceInstanceBackupPtrVec_
private

Definition at line 473 of file N_DEV_DeviceMgr.h.

InstanceVector Xyce::Device::DeviceMgr::instancePtrVec_
private

Definition at line 461 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::linearSystemFlag_
private

True if all devices in netlist have isLinearDevice() true.

Definition at line 421 of file N_DEV_DeviceMgr.h.

DeviceCountMap Xyce::Device::DeviceMgr::localDeviceCountMap_
private

Definition at line 456 of file N_DEV_DeviceMgr.h.

MatrixLoadData Xyce::Device::DeviceMgr::matrixLoadData_
private

temporary jacobian load structures:

Definition at line 428 of file N_DEV_DeviceMgr.h.

IO::Measure::Manager* Xyce::Device::DeviceMgr::measureManager_
private

To search for non-device parameters. This needs to be removed.

Definition at line 440 of file N_DEV_DeviceMgr.h.

ModelTypeInstanceVectorMap Xyce::Device::DeviceMgr::modelGroupInstanceVector_
private

Definition at line 449 of file N_DEV_DeviceMgr.h.

ModelTypeNameModelTypeIdMap Xyce::Device::DeviceMgr::modelGroupMap_
private

Model type name to model group.

Definition at line 448 of file N_DEV_DeviceMgr.h.

ModelTypeModelVectorMap Xyce::Device::DeviceMgr::modelGroupModelVector_
private

Definition at line 453 of file N_DEV_DeviceMgr.h.

ModelTypeInstanceVectorMap Xyce::Device::DeviceMgr::modelTypeInstanceVector_
private

Definition at line 450 of file N_DEV_DeviceMgr.h.

ModelTypeNameModelTypeIdMap Xyce::Device::DeviceMgr::modelTypeMap_
private

Model type name to model.

Definition at line 447 of file N_DEV_DeviceMgr.h.

ModelTypeModelVectorMap Xyce::Device::DeviceMgr::modelTypeModelVector_
private

Definition at line 454 of file N_DEV_DeviceMgr.h.

ModelVector Xyce::Device::DeviceMgr::modelVector_
private

Definition at line 452 of file N_DEV_DeviceMgr.h.

Nonlinear::Manager* Xyce::Device::DeviceMgr::nlsMgrPtr_
private

To get Nonlinear solver information. This needs to be removed.

Definition at line 444 of file N_DEV_DeviceMgr.h.

InstanceVector Xyce::Device::DeviceMgr::nonPdeInstancePtrVec_
private

Definition at line 464 of file N_DEV_DeviceMgr.h.

std::vector<int> Xyce::Device::DeviceMgr::numInterfaceNodes_
private

Definition at line 485 of file N_DEV_DeviceMgr.h.

Linear::Vector* Xyce::Device::DeviceMgr::numJacSolVectorPtr_
private

Definition at line 434 of file N_DEV_DeviceMgr.h.

Linear::Vector* Xyce::Device::DeviceMgr::numJacStaVectorPtr_
private

Definition at line 435 of file N_DEV_DeviceMgr.h.

Linear::Vector* Xyce::Device::DeviceMgr::numJacStoVectorPtr_
private

Definition at line 436 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::parameterChanged_
private

Only used locally in updateDependentParameters_, don't know if stateful of just a member for fun.

Definition at line 423 of file N_DEV_DeviceMgr.h.

DeviceEntityMap Xyce::Device::DeviceMgr::parameterDeviceCache_
mutableprivate

Full parameter name to device entity cache.

Definition at line 482 of file N_DEV_DeviceMgr.h.

std::map<std::string, int, LessNoCase> Xyce::Device::DeviceMgr::passThroughParamsMap_
private

Definition at line 480 of file N_DEV_DeviceMgr.h.

DeviceVector Xyce::Device::DeviceMgr::pdeDevicePtrVec_
private

Definition at line 459 of file N_DEV_DeviceMgr.h.

InstanceVector Xyce::Device::DeviceMgr::pdeInstancePtrVec_
private

Definition at line 463 of file N_DEV_DeviceMgr.h.

InstanceVector Xyce::Device::DeviceMgr::plotFileInstancePtrVec_
private

Definition at line 465 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::sensFlag_
private

.SENS present in netlist

Definition at line 420 of file N_DEV_DeviceMgr.h.

SolverState Xyce::Device::DeviceMgr::solState_
private

real time solver data:

Definition at line 429 of file N_DEV_DeviceMgr.h.

SolverState Xyce::Device::DeviceMgr::solStateExternal_
private

Definition at line 431 of file N_DEV_DeviceMgr.h.

InstanceVector Xyce::Device::DeviceMgr::testJacDevicePtrVec_
private

Devices under jacobian test.

Definition at line 475 of file N_DEV_DeviceMgr.h.

double Xyce::Device::DeviceMgr::timeParamsProcessed_
private

Time updateDependentParameters was called.

Definition at line 425 of file N_DEV_DeviceMgr.h.

Topo::Topology& Xyce::Device::DeviceMgr::topology_
private

Topology.

Definition at line 416 of file N_DEV_DeviceMgr.h.


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