Xyce  6.1
Xyce::Device::Synapse4::Instance Class Reference

#include <N_DEV_Synapse4.h>

Inheritance diagram for Xyce::Device::Synapse4::Instance:
Collaboration diagram for Xyce::Device::Synapse4::Instance:

Public Member Functions

 Instance (const Configuration &configuration, const InstanceBlock &IB, Model &Riter, const FactoryBlock &factory_block)
 
 ~Instance ()
 
void registerLIDs (const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
 
void registerStoreLIDs (const std::vector< int > &stoLIDVecRef)
 
void loadNodeSymbols (Util::SymbolTable &symbol_table) const
 Populates and returns the store name map. More...
 
bool processParams ()
 
bool updateTemperature (const double &temp_tmp)
 
bool updateIntermediateVars ()
 
bool updatePrimaryState ()
 
bool updateSecondaryState ()
 
const std::vector< std::vector< int > > & jacobianStamp () const
 
void registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec)
 
bool loadDAEQVector ()
 
bool loadDAEFVector ()
 
bool loadDAEdQdx ()
 
bool loadDAEdFdx ()
 
bool plotfileFlag ()
 
bool outputPlotFiles ()
 
void setupPointers ()
 
ModelgetModel ()
 
- Public Member Functions inherited from Xyce::Device::DeviceInstance
 DeviceInstance (const InstanceBlock &instance_block, ParametricData< void > &parametric_data, const FactoryBlock &factory_block)
 
virtual ~DeviceInstance ()
 
virtual std::ostream & printName (std::ostream &os) const
 
virtual void enableLeadCurrentCalc ()
 
virtual void registerGIDs (const IndexPairVector &intGIDListRef, const IndexPairVector &extGIDListRef)
 
virtual void registerStateGIDs (const IndexPairVector &staGIDListRef)
 
virtual void registerStoreGIDs (const IndexPairVector &stoGIDListRef)
 
virtual void registerStateLIDs (const LocalIdVector &staLIDVecRef)
 
virtual void registerBranchDataLIDs (const LocalIdVector &branchDataLIDVecRef)
 
virtual const std::vector< std::string > & getDepSolnVars ()
 
virtual void registerDepSolnGIDs (const std::vector< IdVector > &varList)
 
virtual const std::vector< std::string > & getDepStateVars ()
 
virtual void registerDepStateGIDs (const std::vector< IdVector > &varList)
 
virtual const std::vector< std::string > & getDepStoreVars ()
 
virtual void registerDepStoreGIDs (const std::vector< IdVector > &varList)
 
virtual const std::vector< std::string > & getDepLeadCurrentVars ()
 
virtual void registerDepLeadCurrentGIDs (const std::vector< IdVector > &varList)
 
virtual void registerDepSolnLIDs (const std::vector< IdVector > &depSolnLIDVecRef)
 
virtual void registerDepStateLIDs (const std::vector< IdVector > &depStaLIDVecRef)
 
virtual void registerDepStoreLIDs (const std::vector< IdVector > &depStoLIDVecRef)
 
virtual void registerGIDData (const std::vector< int > &counts, const IdVector &GIDs, const JacobianStamp &jacGIDs)
 
virtual const IdVectorgetDepSolnGIDVec ()
 
virtual const IndexPairVector & getIndexPairList ()
 
virtual bool getInstanceBreakPoints (std::vector< Util::BreakPoint > &breakPointTimes)
 
virtual bool updateSource ()
 
virtual bool processInstanceParams ()
 
virtual bool isConverged ()
 
virtual bool testDAEMatrices (const std::vector< const std::string * > &nameVec)
 
virtual bool loadTrivialDAE_FMatrixStamp ()
 
bool trivialStampLoader (Linear::Matrix *matPtr)
 
bool zeroMatrixDiagonal (Linear::Matrix *matPtr)
 
virtual bool setIC ()
 
virtual void loadErrorWeightMask ()
 
virtual void acceptStep ()
 
virtual bool loadDAEBVector ()
 
virtual int getNumNoiseSources () const
 
virtual void setupNoiseSources (Xyce::Analysis::NoiseData &noiseDataVec)
 
virtual void getNoiseSources (Xyce::Analysis::NoiseData &noiseDataVec)
 
const InstanceNamegetName () const
 
int getNumIntVars () const
 
int getNumExtVars () const
 
int getNumStateVars () const
 
int getNumStoreVars () const
 
int getNumBranchDataVars () const
 
void setNumStoreVars (int num_store_vars)
 
void setNumBranchDataVars (int num_branch_data_vars)
 
virtual const std::vector< int > & getDevConMap ()
 
virtual DeviceStategetInternalState ()
 
virtual bool setInternalState (const DeviceState &state)
 
virtual bool loadDFDV (int iElectrode, Linear::Vector *dfdvPtr)
 
virtual bool calcConductance (int iElectrode, const Linear::Vector *dxdvPtr)
 
virtual bool enablePDEContinuation (int &max_PDE_continuation_steps)
 
virtual bool disablePDEContinuation ()
 
virtual void setPDEContinuationAlpha (double alpha)
 
virtual void setPDEContinuationBeta (double beta)
 
virtual bool setInitialGuess ()
 
virtual double getMaxTimeStepSize ()
 
virtual void varTypes (std::vector< char > &varTypeVec)
 
bool getOrigFlag () const
 
void setOrigFlag (bool origFlag_local)
 
const IdVectorgetDevLIDs () const
 
const std::vector< IdVector > & getDevJacLIDs () const
 
const IdVectorgetStaLIDVec () const
 
bool getMergeRowColChecked () const
 
void setMergeRowColChecked (bool mergeRowColChecked_local)
 
const MatrixLoadDatagetMatrixLoadData () const
 
MatrixLoadDatagetMatrixLoadData ()
 
const ExternDatagetExternData () const
 
- Public Member Functions inherited from Xyce::Device::DeviceEntity
 DeviceEntity (ParametricData< void > &parametric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_filename, int netlist_line)
 
virtual ~DeviceEntity ()
 
virtual CompositeParamconstructComposite (const std::string &composite_name, const std::string &param_name)
 
bool setDefaultParam (double val, bool overrideOriginal=false)
 
double getDefaultParam () const
 
bool scaleParam (const std::string &paramName, double val, double val0)
 
bool scaleParam (const std::string &paramName, double val)
 
bool scaleDefaultParam (double val)
 
bool analyticSensitivityAvailable (const std::string &paramName)
 
bool getAnalyticSensitivity (const std::string &paramName, 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 setParam (const std::string &paramName, double val, bool overrideOriginal=false)
 
bool getParam (const std::string &paramName, double &result) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (Linear::Vector &vars)
 
bool updateDependentParameters (double temp_tmp)
 
bool updateGlobalParameters (GlobalParameterMap &)
 
bool updateDependentParameters ()
 
double setDependentParameter (Util::Param &, double *, ParameterType::ExprAccess)
 
double setDependentParameter (Util::Param &, std::vector< double > *, int, ParameterType::ExprAccess)
 
void setDependentParameter (Util::Param &par, Depend &dependentParam, ParameterType::ExprAccess depend)
 
void setDefaultParams ()
 
void setParams (const std::vector< Param > &params)
 
bool given (const std::string &parameter_name) const
 
void setDefaultParamName (const std::string &default_param_name)
 
const std::vector< Depend > & getDependentParams ()
 
void addDependentParameter (const Depend &param)
 
const DeviceOptionsgetDeviceOptions () const
 
const SolverStategetSolverState () const
 
const NetlistLocation & netlistLocation () const
 
const ParameterMapgetParameterMap () const
 
- Public Member Functions inherited from Xyce::Device::ParameterBase
 ParameterBase ()
 
virtual ~ParameterBase ()
 
double getOriginalValue (int serial_number)
 
void setOriginalValue (int serial_number, double value)
 
bool wasValueGiven (int serial_number) const
 
void setValueGiven (int serial_number, bool value)
 

Public Attributes

bool active
 
- Public Attributes inherited from Xyce::Device::DeviceInstance
std::vector< int > & cols
 
std::vector< double > & vals
 
NumericalJacobiannumJacPtr
 
bool psLoaded
 
bool ssLoaded
 
bool rhsLoaded
 
bool origFlag
 
int numIntVars
 
int numExtVars
 
int numStateVars
 
int numStoreVars
 
int numLeadCurrentVars
 
int numLeadCurrentStoreVars
 
bool loadLeadCurrent
 
int numBranchDataVars
 
int numBranchDataVarsIfAllocated
 
std::vector< int > devConMap
 
bool mergeRowColChecked
 

Static Public Attributes

static std::vector< std::vector< int > > jacStamp
 

Private Member Functions

 Instance (const Instance &)
 
Instanceoperator= (const Instance &)
 

Private Attributes

Modelmodel_
 
double gMax
 
bool gMaxGiven
 
int li_Prev
 
int li_Post
 
int li_A0_store
 
int li_B0_store
 
int li_t0_store
 
int li_store_dev_i
 
double ipost
 
double didVpost
 
bool randInitialized
 
bool ready
 
double respondTime
 

Friends

class ParametricData< Instance >
 
class Model
 
class Traits
 

Additional Inherited Members

- Protected Member Functions inherited from Xyce::Device::DeviceInstance
void jacStampMap (const JacobianStamp &stamp_parent, IdVector &map_parent, JacobianStamp &map2_parent, JacobianStamp &stamp, IdVector &map, JacobianStamp &map2, int from, int to, int original_size)
 
void jacStampMap_fixOrder (const JacobianStamp &stamp_parent, JacobianStamp &map2_parent, JacobianStamp &stamp, JacobianStamp &map2)
 
void outputJacStamp (const JacobianStamp &jac)
 
void outputJacMaps (const std::vector< int > &jacMap, const JacobianStamp &jacMap2)
 
- Protected Attributes inherited from Xyce::Device::DeviceInstance
const ExternDataextData
 
IndexPairVector indexPairList
 
IndexPairVector intGIDList
 
IndexPairVector extGIDList
 
IndexPairVector staGIDList
 
IdVector intLIDVec
 
IdVector extLIDVec
 
IdVector staLIDVec
 
IdVector stoLIDVec
 
IdVector devLIDs
 devLIDs is a combined LID vector, containing int, ext, and expVar ID's. More...
 
JacobianStamp devJacLIDs
 
DeviceSupport devSupport
 
- Protected Attributes inherited from Xyce::Device::DeviceEntity
std::vector< int > expVarGIDs
 
std::vector< int > expVarLIDs
 
std::vector< std::string > expVarNames
 
std::vector< double > expVarVals
 
std::vector< double > eVarVals
 

Detailed Description

Definition at line 103 of file N_DEV_Synapse4.h.

Constructor & Destructor Documentation

Xyce::Device::Synapse4::Instance::Instance ( const Configuration configuration,
const InstanceBlock IB,
Model Riter,
const FactoryBlock factory_block 
)

Definition at line 141 of file N_DEV_Synapse4.C.

Xyce::Device::Synapse4::Instance::~Instance ( )

Definition at line 207 of file N_DEV_Synapse4.C.

Xyce::Device::Synapse4::Instance::Instance ( const Instance )
private

Member Function Documentation

Model& Xyce::Device::Synapse4::Instance::getModel ( )
inline

Definition at line 163 of file N_DEV_Synapse4.h.

const std::vector< std::vector< int > > & Xyce::Device::Synapse4::Instance::jacobianStamp ( ) const
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 307 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::loadDAEdFdx ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 558 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::loadDAEdQdx ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 540 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::loadDAEFVector ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 506 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::loadDAEQVector ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 489 of file N_DEV_Synapse4.C.

void Xyce::Device::Synapse4::Instance::loadNodeSymbols ( Util::SymbolTable &  symbol_table) const
virtual

Populates and returns the store name map.

If the DeviceInstance::storeNameMap is empty, populate it.

For the purpose of lead currents, store vector elements must be given names that can be used to locate lead currents at print time. When a netlist attempts to print, say, "I(R1)" the output code looks for an entry in the store vector named R1:DEV_I.

This method does the assignment of names to various vector elements.

Author
David G. Baur
Date
12/18/2014

Implements Xyce::Device::DeviceInstance.

Definition at line 264 of file N_DEV_Synapse4.C.

Instance& Xyce::Device::Synapse4::Instance::operator= ( const Instance )
private
bool Xyce::Device::Synapse4::Instance::outputPlotFiles ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 578 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::plotfileFlag ( )
inlinevirtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 153 of file N_DEV_Synapse4.h.

bool Xyce::Device::Synapse4::Instance::processParams ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 123 of file N_DEV_Synapse4.C.

void Xyce::Device::Synapse4::Instance::registerJacLIDs ( const std::vector< std::vector< int > > &  jacLIDVec)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 320 of file N_DEV_Synapse4.C.

void Xyce::Device::Synapse4::Instance::registerLIDs ( const std::vector< int > &  intLIDVecRef,
const std::vector< int > &  extLIDVecRef 
)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 219 of file N_DEV_Synapse4.C.

void Xyce::Device::Synapse4::Instance::registerStoreLIDs ( const std::vector< int > &  stoLIDVecRef)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 282 of file N_DEV_Synapse4.C.

void Xyce::Device::Synapse4::Instance::setupPointers ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 336 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::updateIntermediateVars ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 354 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::updatePrimaryState ( )
virtual

Implements Xyce::Device::DeviceInstance.

Definition at line 449 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::updateSecondaryState ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 463 of file N_DEV_Synapse4.C.

bool Xyce::Device::Synapse4::Instance::updateTemperature ( const double &  temp_tmp)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 640 of file N_DEV_Synapse4.C.

Friends And Related Function Documentation

friend class Model
friend

Definition at line 106 of file N_DEV_Synapse4.h.

friend class ParametricData< Instance >
friend

Definition at line 105 of file N_DEV_Synapse4.h.

friend class Traits
friend

Definition at line 107 of file N_DEV_Synapse4.h.

Member Data Documentation

bool Xyce::Device::Synapse4::Instance::active

Definition at line 160 of file N_DEV_Synapse4.h.

double Xyce::Device::Synapse4::Instance::didVpost
private

Definition at line 197 of file N_DEV_Synapse4.h.

double Xyce::Device::Synapse4::Instance::gMax
private

Definition at line 173 of file N_DEV_Synapse4.h.

bool Xyce::Device::Synapse4::Instance::gMaxGiven
private

Definition at line 174 of file N_DEV_Synapse4.h.

double Xyce::Device::Synapse4::Instance::ipost
private

Definition at line 196 of file N_DEV_Synapse4.h.

std::vector< std::vector< int > > Xyce::Device::Synapse4::Instance::jacStamp
static

Definition at line 111 of file N_DEV_Synapse4.h.

int Xyce::Device::Synapse4::Instance::li_A0_store
private

Definition at line 182 of file N_DEV_Synapse4.h.

int Xyce::Device::Synapse4::Instance::li_B0_store
private

Definition at line 183 of file N_DEV_Synapse4.h.

int Xyce::Device::Synapse4::Instance::li_Post
private

Definition at line 179 of file N_DEV_Synapse4.h.

int Xyce::Device::Synapse4::Instance::li_Prev
private

Definition at line 177 of file N_DEV_Synapse4.h.

int Xyce::Device::Synapse4::Instance::li_store_dev_i
private

Definition at line 185 of file N_DEV_Synapse4.h.

int Xyce::Device::Synapse4::Instance::li_t0_store
private

Definition at line 184 of file N_DEV_Synapse4.h.

Model& Xyce::Device::Synapse4::Instance::model_
private

Definition at line 170 of file N_DEV_Synapse4.h.

bool Xyce::Device::Synapse4::Instance::randInitialized
private

Definition at line 200 of file N_DEV_Synapse4.h.

bool Xyce::Device::Synapse4::Instance::ready
private

Definition at line 202 of file N_DEV_Synapse4.h.

double Xyce::Device::Synapse4::Instance::respondTime
private

Definition at line 203 of file N_DEV_Synapse4.h.


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