Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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,
ModelVector
ModelTypeModelVectorMap
 
typedef std::map< ModelTypeId,
InstanceVector
ModelTypeInstanceVectorMap
 
typedef std::map< std::string,
DeviceEntity *, LessNoCase > 
DeviceEntityMap
 
typedef std::map< std::string,
ModelTypeId, LessNoCase > 
ModelTypeNameModelTypeIdMap
 
typedef std::map< std::string,
ArtificialParameters::ArtificialParameter
*, LessNoCase > 
ArtificialParameterMap
 

Public Member Functions

 ~DeviceMgr ()
 
void notify (const Analysis::StepEvent &event)
 
bool registerLinearSystem (N_LAS_System *tmp_system_ptr)
 
bool registerAnalysisManager (N_ANP_AnalysisManager *tmp_anaIntPtr)
 
bool registerOutputMgr (IO::OutputMgr *output_manager)
 
bool registerMeasureMgr (IO::Measure::Manager *measure_manager)
 
bool registerParallelMgr (N_PDS_Manager *tmp_pdsMgrPtr)
 
bool registerNonlinearSolver (Nonlinear::Manager *tmp_nlsMgrPtr)
 
bool registerICLoads (std::vector< std::pair< int, double > > *icLoads)
 
bool registerPkgOptionsMgr (IO::PkgOptionsMgr *pkgOptPtr)
 
bool setLeadCurrentRequests (const std::set< std::string > &deviceNames)
 
std::vector< double > getFastSourcePeriod (std::vector< std::string > &sourceNames)
 
std::vector< double > registerFastSources (std::vector< std::string > &sourceNames)
 
void deRegisterFastSources (std::vector< std::string > &sourceNames)
 
void deactivateSlowSources ()
 
void activateSlowSources ()
 
void setMPDEFlag (bool flagVal)
 
void setBlockAnalysisFlag (bool flagVal)
 
void setFastTime (double timeVal)
 
bool initializeAll ()
 
bool addDeviceModel (const ModelBlock &MB)
 
std::pair< ModelTypeId,
ModelTypeId
getModelType (const InstanceBlock &instance_block)
 
bool verifyDeviceInstance (InstanceBlock &IB)
 
DeviceInstanceaddDeviceInstance (InstanceBlock &IB)
 
bool deleteDeviceInstance (const std::string &name)
 
int getHomotopyBlockSize () const
 
bool output ()
 
bool finishOutput ()
 
void dotOpOutput ()
 
bool setInitialGuess (N_LAS_Vector *solVectorPtr)
 
bool loadDeviceMask ()
 
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 (std::string &name)
 
bool setParam (std::string &name, double val)
 
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)
 
const Nonlinear::ManagergetNlsMgrPtr () const
 
bool getLinearSystemFlag ()
 
bool getVoltageLimiterFlag ()
 
bool getPDESystemFlag ()
 
bool setICs (N_LAS_Vector *tmpSolVectorPtr, N_LAS_Vector *tmpCurrSolVectorPtr, N_LAS_Vector *tmpLastSolVectorPtr, N_LAS_Vector *tmpStaVectorPtr, N_LAS_Vector *tmpCurrStaVectorPtr, N_LAS_Vector *tmpLasStaVectorPtr, N_LAS_Vector *tmpStaDerivVectorPtr, N_LAS_Vector *tmpStoVectorPtr, N_LAS_Vector *tmpCurrStoVectorPtr, N_LAS_Vector *tmpLastStoVectorPtr, N_LAS_Vector *tmpQVectorPtr, N_LAS_Vector *tmpFVectorPtr, N_LAS_Vector *tmpBVectorPtr, N_LAS_Vector *tmpdFdxdVpVectorPtr, N_LAS_Vector *tmpdQdxdVpVectorPtr)
 
bool getBreakPoints (std::vector< Util::BreakPoint > &breakPointTimes)
 
double getMaxTimeStepSize ()
 
void declareCurrentStepAsBreakpoint ()
 
int enablePDEContinuation ()
 
bool disablePDEContinuation ()
 
void getNumInterfaceNodes (std::vector< int > &numInterfaceNodes)
 
bool loadCouplingRHS (int iPDEDevice, int iElectrode, N_LAS_Vector *dfdvPtr)
 
bool calcCouplingTerms (int iSubProblem, int iElectrode, const N_LAS_Vector *dxdvPtr)
 
bool raiseDebugLevel (int increment)
 
bool calcPDESubProblemInfo ()
 
bool loadDAEMatrices (N_LAS_Vector *tmpSolVectorPtr, N_LAS_Vector *tmpStaVectorPtr, N_LAS_Vector *tmpStaDerivVectorPtr, N_LAS_Vector *tmpStoVectorPtr, N_LAS_Matrix *tmpdQdxMatrixPtr, N_LAS_Matrix *tmpdFdxMatrixPtr)
 
bool loadDAEVectors (N_LAS_Vector *tmpNextSolVectorPtr, N_LAS_Vector *tmpCurrSolVectorPtr, N_LAS_Vector *tmpLastSolVectorPtr, N_LAS_Vector *tmpNextStaVectorPtr, N_LAS_Vector *tmpCurrStaVectorPtr, N_LAS_Vector *tmpLastStaVectorPtr, N_LAS_Vector *tmpStaDerivVectorPtr, N_LAS_Vector *tmpNextStoVectorPtr, N_LAS_Vector *tmpCurrStoVectorPtr, N_LAS_Vector *tmpLastStoVectorPtr, N_LAS_Vector *tmpStoLeadCurrQCompVectorPtr, N_LAS_Vector *tmpQVectorPtr, N_LAS_Vector *tmpFVectorPtr, N_LAS_Vector *tmpBVectorPtr, N_LAS_Vector *tmpdFdxdVpVectorPtr, N_LAS_Vector *tmpdQdxdVpVectorPtr)
 
bool updateState (N_LAS_Vector *nextSolVectorPtr, N_LAS_Vector *currSolVectorPtr, N_LAS_Vector *lastSolVectorPtr, N_LAS_Vector *nextStaVectorPtr, N_LAS_Vector *currStaVectorPtr, N_LAS_Vector *lastStaVectorPtr, N_LAS_Vector *nextStoVectorPtr, N_LAS_Vector *currStoVectorPtr, N_LAS_Vector *lastStoVectorPtr)
 
bool loadBVectorsforAC (N_LAS_Vector *bVecRealPtr, N_LAS_Vector *bVecImagPtr)
 
bool getBMatrixEntriesforMOR (std::vector< int > &bMatEntriesVec, std::vector< int > &bMatPosEntriesVec)
 
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 &OB)
 
bool registerSensParams (const Util::OptionBlock &OB)
 
bool registerTimeOptions (const Util::OptionBlock &OB)
 
bool setTranAnalysisParams (const Util::OptionBlock &OB)
 
bool setDCAnalysisParams (const Util::OptionBlock &OB)
 
bool setOPAnalysisParams (const Util::OptionBlock &OB)
 
bool setSTEPAnalysisParams (const Util::OptionBlock &OB)
 
bool setMPDEAnalysisParams (const Util::OptionBlock &OB)
 
bool setHBAnalysisParams (const Util::OptionBlock &OB)
 
bool setACAnalysisParams (const Util::OptionBlock &OB)
 
bool setMORAnalysisParams (const Util::OptionBlock &OB)
 
bool allDevsConverged ()
 
bool innerDevsConverged ()
 
bool setupExternalDevices ()
 
const std::map< std::string,
int > & 
getDeviceCountMap ()
 
void addDeviceToCount (const std::string &device_name, int num_devs=1)
 
void addDevicesToCount (const std::map< std::string, int > &device_map)
 
DeviceEntitygetDeviceEntity (const std::string &full_param_name) const
 
void homotopyStepSuccess (const std::vector< std::string > &paramNames, const std::vector< double > &paramVals)
 
void homotopyStepFailure ()
 
void stepSuccess (Analysis::CurrentMode analysis)
 
void stepFailure (Analysis::CurrentMode analysis)
 
void acceptStep ()
 
bool getInitialQnorm (std::vector< N_TIA_TwoLevelError > &tleVec)
 
bool getInnerLoopErrorSums (std::vector< N_TIA_TwoLevelError > &tleVec)
 
bool updateStateArrays ()
 
bool startTimeStep ()
 
void setExternalSolverState (const SolverState &ss)
 
int restartDataSize (bool pack)
 
bool dumpRestartData (char *buf, int bsize, int &pos, N_PDS_Comm *comm, bool pack)
 
bool restoreRestartData (char *buf, int bsize, int &pos, N_PDS_Comm *comm, bool pack)
 
void setGlobalFlags ()
 
bool setupSolverInfo ()
 
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)
 

Static Public Member Functions

static DeviceMgrfactory (IO::CmdParse &cp)
 

Private Member Functions

 DeviceMgr (IO::CmdParse &cp)
 Only the factory can create a device manager. More...
 
 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 setupSolverInfo_ ()
 
bool setupRawVectorPointers_ ()
 
bool setupRawMatrixPointers_ ()
 
bool updateIntermediateVars_ ()
 
bool updatePrimaryState_ ()
 
bool updateSecondaryState_ ()
 
bool updateDependentParameters_ ()
 
void updateExternalDevices_ ()
 
ExternDevice::Instance * addExtDeviceInstance_ (const InstanceBlock &IB)
 

Private Attributes

IO::CmdParse & commandLine_
 Command line. 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_
 
N_LAS_Vector * numJacSolVectorPtr_
 
N_LAS_Vector * numJacStaVectorPtr_
 
N_LAS_Vector * numJacStoVectorPtr_
 
N_LAS_Vector * diagonalVectorPtr_
 
N_LAS_System * lasSysPtr_
 
N_ANP_AnalysisManageranaIntPtr_
 
IO::OutputMgr * outputMgrPtr_
 
IO::Measure::Manager * measureManager_
 
N_PDS_Manager * pdsMgrPtr_
 
Nonlinear::ManagernlsMgrPtr_
 
IO::PkgOptionsMgr * pkgOptMgrPtr_
 
std::vector< std::pair< int,
double > > * 
icLoads_
 
ModelTypeNameModelTypeIdMap modelTypeMap_
 Model type name to model. More...
 
ModelTypeNameModelTypeIdMap modelGroupMap_
 Model type name to model group. More...
 
std::map< std::string, int > localDeviceCountMap_
 
std::multimap< int,
DeviceInstance * > 
solDevInstMap_
 
DeviceVector devicePtrVec_
 
DeviceVector pdeDevicePtrVec_
 
InstanceVector instancePtrVec_
 
InstanceVector bpInstancePtrVec_
 instances with breakpoints functions More...
 
InstanceVector pdeInstancePtrVec_
 
InstanceVector nonPdeInstancePtrVec_
 
InstanceVector plotFileInstancePtrVec_
 
ModelTypeInstanceVectorMap modelGroupInstanceVector_
 
ModelTypeInstanceVectorMap modelTypeInstanceVector_
 
std::vector< SourceInstance * > indepSourceInstancePtrVec_
 
std::map< std::string,
SourceInstance *, LessNoCase > 
indepSourcePtrMap_
 
std::vector< SourceInstance * > indepSourceInstanceBackupPtrVec_
 
std::set< std::string > devicesNeedingLeadCurrentLoads_
 
std::map< std::string, int,
LessNoCase > 
passThroughParamsMap_
 
DeviceEntityMap parameterDeviceCache_
 Full parameter name to device entity cache. More...
 
InstanceVector testJacDevicePtrVec_
 
ModelVector modelVector_
 
ModelTypeModelVectorMap modelGroupModelVector_
 
ModelTypeModelVectorMap modelTypeModelVector_
 
EntityVector dependentPtrVec_
 
std::vector< int > numInterfaceNodes_
 
bool calledBeforeCSPI
 
DeviceSensitivitiesdevSensPtr_
 
std::vector< std::string > fastSourceNames_
 
bool nonTrivialDeviceMaskFlag
 
bool dotOpOutputFlag
 
std::vector< std::string > nameVec_
 
ArtificialParameterMap artificialParameterMap_
 

Friends

class ArtificialParameters::ArtificialParameter
 

Detailed Description

Definition at line 84 of file N_DEV_DeviceMgr.h.

Member Typedef Documentation

Definition at line 97 of file N_DEV_DeviceMgr.h.

typedef std::map<std::string, DeviceEntity *, LessNoCase> Xyce::Device::DeviceMgr::DeviceEntityMap

Definition at line 95 of file N_DEV_DeviceMgr.h.

Definition at line 89 of file N_DEV_DeviceMgr.h.

Definition at line 90 of file N_DEV_DeviceMgr.h.

Definition at line 91 of file N_DEV_DeviceMgr.h.

typedef std::map<std::string, ModelTypeId, LessNoCase> Xyce::Device::DeviceMgr::ModelTypeNameModelTypeIdMap

Definition at line 96 of file N_DEV_DeviceMgr.h.

Definition at line 92 of file N_DEV_DeviceMgr.h.

Constructor & Destructor Documentation

Xyce::Device::DeviceMgr::DeviceMgr ( IO::CmdParse &  cp)
private

Only the factory can create a device manager.

Definition at line 486 of file N_DEV_DeviceMgr.C.

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

No copying.

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

Definition at line 547 of file N_DEV_DeviceMgr.C.

Member Function Documentation

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

Definition at line 4152 of file N_DEV_DeviceMgr.C.

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

Definition at line 1007 of file N_DEV_DeviceMgr.C.

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

Definition at line 385 of file N_DEV_DeviceMgr.h.

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

Definition at line 1446 of file N_DEV_DeviceMgr.C.

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

Definition at line 1269 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::addDevicesToCount ( const std::map< std::string, int > &  device_map)

Definition at line 4519 of file N_DEV_DeviceMgr.C.

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

Definition at line 337 of file N_DEV_DeviceMgr.h.

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

Definition at line 4024 of file N_DEV_DeviceMgr.C.

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

Definition at line 2550 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::allDevsConverged ( )

Definition at line 3832 of file N_DEV_DeviceMgr.C.

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

Definition at line 1733 of file N_DEV_DeviceMgr.C.

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

Definition at line 3694 of file N_DEV_DeviceMgr.C.

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

Definition at line 3632 of file N_DEV_DeviceMgr.C.

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

Definition at line 975 of file N_DEV_DeviceMgr.C.

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

Definition at line 1600 of file N_DEV_DeviceMgr.C.

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

Definition at line 1646 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::declareCurrentStepAsBreakpoint ( )

Definition at line 3533 of file N_DEV_DeviceMgr.C.

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

Definition at line 1551 of file N_DEV_DeviceMgr.C.

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

Definition at line 923 of file N_DEV_DeviceMgr.C.

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

Definition at line 3599 of file N_DEV_DeviceMgr.C.

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

Definition at line 3039 of file N_DEV_DeviceMgr.C.

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

Definition at line 4374 of file N_DEV_DeviceMgr.C.

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

Definition at line 3552 of file N_DEV_DeviceMgr.C.

DeviceMgr * Xyce::Device::DeviceMgr::factory ( IO::CmdParse &  cp)
static

Definition at line 473 of file N_DEV_DeviceMgr.C.

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

Definition at line 2617 of file N_DEV_DeviceMgr.C.

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

Definition at line 1972 of file N_DEV_DeviceMgr.C.

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

Definition at line 3017 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 1760 of file N_DEV_DeviceMgr.C.

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

Definition at line 2861 of file N_DEV_DeviceMgr.C.

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

Definition at line 3087 of file N_DEV_DeviceMgr.C.

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

Definition at line 377 of file N_DEV_DeviceMgr.h.

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

Definition at line 1206 of file N_DEV_DeviceMgr.C.

const std::map<std::string,int>& Xyce::Device::DeviceMgr::getDeviceCountMap ( )
inline

Definition at line 333 of file N_DEV_DeviceMgr.h.

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

Definition at line 4490 of file N_DEV_DeviceMgr.C.

std::vector< double > Xyce::Device::DeviceMgr::getFastSourcePeriod ( std::vector< std::string > &  sourceNames)

Definition at line 809 of file N_DEV_DeviceMgr.C.

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

Definition at line 2593 of file N_DEV_DeviceMgr.C.

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

Definition at line 3724 of file N_DEV_DeviceMgr.C.

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

Definition at line 4216 of file N_DEV_DeviceMgr.C.

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

Definition at line 4246 of file N_DEV_DeviceMgr.C.

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

Definition at line 198 of file N_DEV_DeviceMgr.h.

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

Definition at line 3504 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 1256 of file N_DEV_DeviceMgr.C.

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

Definition at line 1307 of file N_DEV_DeviceMgr.C.

const Nonlinear::Manager& Xyce::Device::DeviceMgr::getNlsMgrPtr ( ) const
inline

Definition at line 193 of file N_DEV_DeviceMgr.h.

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

Definition at line 3655 of file N_DEV_DeviceMgr.C.

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

Definition at line 1924 of file N_DEV_DeviceMgr.C.

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

Definition at line 2024 of file N_DEV_DeviceMgr.C.

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

Definition at line 2002 of file N_DEV_DeviceMgr.C.

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

Definition at line 1986 of file N_DEV_DeviceMgr.C.

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

Definition at line 208 of file N_DEV_DeviceMgr.h.

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

Definition at line 203 of file N_DEV_DeviceMgr.h.

void Xyce::Device::DeviceMgr::homotopyStepFailure ( )

Definition at line 4089 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::homotopyStepSuccess ( const std::vector< std::string > &  paramNames,
const std::vector< double > &  paramVals 
)

Definition at line 4067 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::initializeAll ( )

Definition at line 1064 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::innerDevsConverged ( )

Definition at line 3883 of file N_DEV_DeviceMgr.C.

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

Definition at line 2827 of file N_DEV_DeviceMgr.C.

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

Definition at line 3681 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadDAEMatrices ( N_LAS_Vector *  tmpSolVectorPtr,
N_LAS_Vector *  tmpStaVectorPtr,
N_LAS_Vector *  tmpStaDerivVectorPtr,
N_LAS_Vector *  tmpStoVectorPtr,
N_LAS_Matrix *  tmpdQdxMatrixPtr,
N_LAS_Matrix *  tmpdFdxMatrixPtr 
)

Definition at line 2181 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadDAEVectors ( N_LAS_Vector *  tmpNextSolVectorPtr,
N_LAS_Vector *  tmpCurrSolVectorPtr,
N_LAS_Vector *  tmpLastSolVectorPtr,
N_LAS_Vector *  tmpNextStaVectorPtr,
N_LAS_Vector *  tmpCurrStaVectorPtr,
N_LAS_Vector *  tmpLastStaVectorPtr,
N_LAS_Vector *  tmpStaDerivVectorPtr,
N_LAS_Vector *  tmpNextStoVectorPtr,
N_LAS_Vector *  tmpCurrStoVectorPtr,
N_LAS_Vector *  tmpLastStoVectorPtr,
N_LAS_Vector *  tmpStoLeadCurrQCompVectorPtr,
N_LAS_Vector *  tmpQVectorPtr,
N_LAS_Vector *  tmpFVectorPtr,
N_LAS_Vector *  tmpBVectorPtr,
N_LAS_Vector *  tmpdFdxdVpVectorPtr,
N_LAS_Vector *  tmpdQdxdVpVectorPtr 
)

Definition at line 2359 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::loadDeviceMask ( )

Definition at line 2516 of file N_DEV_DeviceMgr.C.

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

Definition at line 1175 of file N_DEV_DeviceMgr.C.

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

No assignment.

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

Definition at line 2982 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::raiseDebugLevel ( int  increment)

Definition at line 3707 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::registerAnalysisManager ( N_ANP_AnalysisManager tmp_anaIntPtr)

Definition at line 456 of file N_DEV_DeviceMgr.C.

std::vector< double > Xyce::Device::DeviceMgr::registerFastSources ( std::vector< std::string > &  sourceNames)

Definition at line 857 of file N_DEV_DeviceMgr.C.

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

Definition at line 597 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerLinearSystem ( N_LAS_System *  tmp_system_ptr)
inline

Definition at line 511 of file N_DEV_DeviceMgr.h.

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

Definition at line 441 of file N_DEV_DeviceMgr.C.

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

Definition at line 542 of file N_DEV_DeviceMgr.h.

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

Definition at line 300 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerOutputMgr ( IO::OutputMgr *  output_manager)

Definition at line 423 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::registerParallelMgr ( N_PDS_Manager *  tmp_pdsMgrPtr)
inline

Definition at line 527 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::registerPkgOptionsMgr ( IO::PkgOptionsMgr *  pkgOptPtr)

Definition at line 581 of file N_DEV_DeviceMgr.C.

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

Definition at line 641 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::registerTimeOptions ( const Util::OptionBlock &  OB)
inline

Definition at line 306 of file N_DEV_DeviceMgr.h.

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

Definition at line 4346 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 4436 of file N_DEV_DeviceMgr.C.

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

Definition at line 780 of file N_DEV_DeviceMgr.C.

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

Definition at line 1036 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setDCAnalysisParams ( const Util::OptionBlock &  OB)

Definition at line 710 of file N_DEV_DeviceMgr.C.

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

Definition at line 4332 of file N_DEV_DeviceMgr.C.

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

Definition at line 1050 of file N_DEV_DeviceMgr.C.

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

Definition at line 3070 of file N_DEV_DeviceMgr.C.

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

Definition at line 766 of file N_DEV_DeviceMgr.C.

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

Definition at line 2919 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setInitialGuess ( N_LAS_Vector *  solVectorPtr)

Definition at line 1700 of file N_DEV_DeviceMgr.C.

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

Definition at line 666 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setMORAnalysisParams ( const Util::OptionBlock &  OB)

Definition at line 794 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setMPDEAnalysisParams ( const Util::OptionBlock &  OB)

Definition at line 752 of file N_DEV_DeviceMgr.C.

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

Definition at line 1023 of file N_DEV_DeviceMgr.C.

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

Definition at line 724 of file N_DEV_DeviceMgr.C.

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

Definition at line 1804 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setSTEPAnalysisParams ( const Util::OptionBlock &  OB)

Definition at line 738 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setTranAnalysisParams ( const Util::OptionBlock &  OB)

Definition at line 696 of file N_DEV_DeviceMgr.C.

bool Xyce::Device::DeviceMgr::setupExternalDevices ( )

Definition at line 3912 of file N_DEV_DeviceMgr.C.

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

Definition at line 3482 of file N_DEV_DeviceMgr.C.

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

Definition at line 3389 of file N_DEV_DeviceMgr.C.

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

Definition at line 372 of file N_DEV_DeviceMgr.h.

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

Definition at line 3218 of file N_DEV_DeviceMgr.C.

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

Definition at line 584 of file N_DEV_DeviceMgr.h.

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

Definition at line 4304 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::stepFailure ( Analysis::CurrentMode  analysis)

Definition at line 4131 of file N_DEV_DeviceMgr.C.

void Xyce::Device::DeviceMgr::stepSuccess ( Analysis::CurrentMode  analysis)

Definition at line 4110 of file N_DEV_DeviceMgr.C.

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

Definition at line 571 of file N_DEV_DeviceMgr.h.

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

Definition at line 2707 of file N_DEV_DeviceMgr.C.

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

Definition at line 4001 of file N_DEV_DeviceMgr.C.

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

Definition at line 2635 of file N_DEV_DeviceMgr.C.

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

Definition at line 2659 of file N_DEV_DeviceMgr.C.

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

Definition at line 2683 of file N_DEV_DeviceMgr.C.

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

Definition at line 2894 of file N_DEV_DeviceMgr.C.

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

Definition at line 2053 of file N_DEV_DeviceMgr.C.

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

Definition at line 4277 of file N_DEV_DeviceMgr.C.

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

Definition at line 3737 of file N_DEV_DeviceMgr.C.

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

Definition at line 1410 of file N_DEV_DeviceMgr.C.

Friends And Related Function Documentation

Definition at line 86 of file N_DEV_DeviceMgr.h.

Member Data Documentation

N_ANP_AnalysisManager* Xyce::Device::DeviceMgr::anaIntPtr_
private

Definition at line 434 of file N_DEV_DeviceMgr.h.

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

Definition at line 500 of file N_DEV_DeviceMgr.h.

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

instances with breakpoints functions

Definition at line 452 of file N_DEV_DeviceMgr.h.

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

Definition at line 419 of file N_DEV_DeviceMgr.h.

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

Definition at line 483 of file N_DEV_DeviceMgr.h.

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

Command line.

Definition at line 411 of file N_DEV_DeviceMgr.h.

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

Definition at line 480 of file N_DEV_DeviceMgr.h.

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

Definition at line 413 of file N_DEV_DeviceMgr.h.

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

Definition at line 448 of file N_DEV_DeviceMgr.h.

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

Definition at line 467 of file N_DEV_DeviceMgr.h.

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

user-defined options:

Definition at line 412 of file N_DEV_DeviceMgr.h.

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

Definition at line 486 of file N_DEV_DeviceMgr.h.

N_LAS_Vector* Xyce::Device::DeviceMgr::diagonalVectorPtr_
private

Definition at line 432 of file N_DEV_DeviceMgr.h.

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

Definition at line 495 of file N_DEV_DeviceMgr.h.

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

Definition at line 427 of file N_DEV_DeviceMgr.h.

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

Definition at line 422 of file N_DEV_DeviceMgr.h.

std::vector<std::string> Xyce::Device::DeviceMgr::fastSourceNames_
private

Definition at line 489 of file N_DEV_DeviceMgr.h.

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

True until updateDependentParameters_ is called.

Definition at line 417 of file N_DEV_DeviceMgr.h.

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

global variables

Definition at line 425 of file N_DEV_DeviceMgr.h.

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

Definition at line 440 of file N_DEV_DeviceMgr.h.

std::vector<SourceInstance *> Xyce::Device::DeviceMgr::indepSourceInstanceBackupPtrVec_
private

Definition at line 465 of file N_DEV_DeviceMgr.h.

std::vector<SourceInstance *> Xyce::Device::DeviceMgr::indepSourceInstancePtrVec_
private

Definition at line 460 of file N_DEV_DeviceMgr.h.

std::map<std::string, SourceInstance *, LessNoCase> Xyce::Device::DeviceMgr::indepSourcePtrMap_
private

Definition at line 461 of file N_DEV_DeviceMgr.h.

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

Definition at line 451 of file N_DEV_DeviceMgr.h.

N_LAS_System* Xyce::Device::DeviceMgr::lasSysPtr_
private

Definition at line 433 of file N_DEV_DeviceMgr.h.

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

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

Definition at line 416 of file N_DEV_DeviceMgr.h.

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

Definition at line 445 of file N_DEV_DeviceMgr.h.

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

temporary jacobian load structures:

Definition at line 423 of file N_DEV_DeviceMgr.h.

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

Definition at line 436 of file N_DEV_DeviceMgr.h.

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

Definition at line 457 of file N_DEV_DeviceMgr.h.

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

Model type name to model group.

Definition at line 443 of file N_DEV_DeviceMgr.h.

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

Definition at line 477 of file N_DEV_DeviceMgr.h.

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

Definition at line 458 of file N_DEV_DeviceMgr.h.

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

Model type name to model.

Definition at line 442 of file N_DEV_DeviceMgr.h.

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

Definition at line 478 of file N_DEV_DeviceMgr.h.

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

Definition at line 476 of file N_DEV_DeviceMgr.h.

std::vector<std::string> Xyce::Device::DeviceMgr::nameVec_
private

Definition at line 498 of file N_DEV_DeviceMgr.h.

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

Definition at line 438 of file N_DEV_DeviceMgr.h.

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

Definition at line 454 of file N_DEV_DeviceMgr.h.

bool Xyce::Device::DeviceMgr::nonTrivialDeviceMaskFlag
private

Definition at line 492 of file N_DEV_DeviceMgr.h.

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

Definition at line 482 of file N_DEV_DeviceMgr.h.

N_LAS_Vector* Xyce::Device::DeviceMgr::numJacSolVectorPtr_
private

Definition at line 429 of file N_DEV_DeviceMgr.h.

N_LAS_Vector* Xyce::Device::DeviceMgr::numJacStaVectorPtr_
private

Definition at line 430 of file N_DEV_DeviceMgr.h.

N_LAS_Vector* Xyce::Device::DeviceMgr::numJacStoVectorPtr_
private

Definition at line 431 of file N_DEV_DeviceMgr.h.

IO::OutputMgr* Xyce::Device::DeviceMgr::outputMgrPtr_
private

Definition at line 435 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 418 of file N_DEV_DeviceMgr.h.

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

Full parameter name to device entity cache.

Definition at line 471 of file N_DEV_DeviceMgr.h.

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

Definition at line 469 of file N_DEV_DeviceMgr.h.

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

Definition at line 449 of file N_DEV_DeviceMgr.h.

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

Definition at line 453 of file N_DEV_DeviceMgr.h.

N_PDS_Manager* Xyce::Device::DeviceMgr::pdsMgrPtr_
private

Definition at line 437 of file N_DEV_DeviceMgr.h.

IO::PkgOptionsMgr* Xyce::Device::DeviceMgr::pkgOptMgrPtr_
private

Definition at line 439 of file N_DEV_DeviceMgr.h.

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

Definition at line 455 of file N_DEV_DeviceMgr.h.

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

.SENS present in netlist

Definition at line 415 of file N_DEV_DeviceMgr.h.

std::multimap<int, DeviceInstance *> Xyce::Device::DeviceMgr::solDevInstMap_
private

Definition at line 446 of file N_DEV_DeviceMgr.h.

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

real time solver data:

Definition at line 424 of file N_DEV_DeviceMgr.h.

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

Definition at line 426 of file N_DEV_DeviceMgr.h.

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

Definition at line 474 of file N_DEV_DeviceMgr.h.

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

Time updateDependentParameters was called.

Definition at line 420 of file N_DEV_DeviceMgr.h.


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