Xyce  6.1
Xyce::Device::Bsrc::Instance Class Reference

#include <N_DEV_Bsrc.h>

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

Public Member Functions

 Instance (const Configuration &configuration, const InstanceBlock &IB, Model &BMiter, const FactoryBlock &factory_block)
 
 ~Instance ()
 
void registerLIDs (const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
 
void registerStateLIDs (const std::vector< int > &staLIDVecRef)
 
void registerStoreLIDs (const std::vector< int > &stoLIDVecRef)
 
void registerBranchDataLIDs (const std::vector< int > &branchLIDVecRef)
 Register the local store IDs. More...
 
void loadNodeSymbols (Util::SymbolTable &symbol_table) const
 Populates and returns the store name map. More...
 
const std::vector< std::string > & getDepSolnVars ()
 
const std::vector< std::vector< int > > & jacobianStamp () const
 
void registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec)
 
bool processParams ()
 
bool updateTemperature (const double &temp)
 
bool updateIntermediateVars ()
 
bool updatePrimaryState ()
 
bool updateSecondaryState ()
 
bool loadDAEQVector ()
 
bool loadDAEFVector ()
 
bool loadDAEdQdx ()
 
bool loadDAEdFdx ()
 
void setupPointers ()
 
void varTypes (std::vector< char > &varTypeVec)
 
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 bool isLinearDevice () const
 
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 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 bool plotfileFlag ()
 
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 outputPlotFiles (bool force_final_output)
 
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 ()
 
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 analyticSensitivityAvailableDefaultParam ()
 
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 getAnalyticSensitivityDefaultParam (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 findParam (const std::string &param_name) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (const 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)
 

Private Member Functions

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

Private Attributes

Modelmodel_
 
Util::Expression * Exp_ptr
 
int expNumVars
 
int expBaseVar
 
int expNumDdt
 
std::list< std::string > evnList
 
std::vector< double > expVarDerivs
 
std::vector< double > myVarVals
 
std::vector< double > ddtVals
 
double expVal
 
InstanceBlock IB
 
bool isVSRC
 
double V
 
double I
 
double temp
 
double scale
 
int nlstep
 
std::vector< int > li_ddt
 
int li_Pos
 
int li_Neg
 
int li_Bra
 
int li_store_branch
 
int li_branch_data
 Index for lead current and junction voltage (for power calculations) More...
 
int ABraEquPosNodeOffset
 
int ABraEquNegNodeOffset
 
int APosEquBraVarOffset
 
int ANegEquBraVarOffset
 
std::vector< int > APosEquExpVarOffsets
 
std::vector< int > ANegEquExpVarOffsets
 
std::vector< int > ABraEquExpVarOffsets
 
double * fBraEquPosNodePtr
 
double * fBraEquNegNodePtr
 
double * fPosEquBraVarPtr
 
double * fNegEquBraVarPtr
 
std::vector< double * > fPosEquExpVarPtrs
 
std::vector< double * > fNegEquExpVarPtrs
 
std::vector< double * > fBraEquExpVarPtrs
 
std::vector< std::vector< int > > jacStamp
 

Friends

class ParametricData< Instance >
 
class Model
 
class Traits
 
class Master
 

Additional Inherited Members

- 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
 
- 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 86 of file N_DEV_Bsrc.h.

Constructor & Destructor Documentation

Xyce::Device::Bsrc::Instance::Instance ( const Configuration configuration,
const InstanceBlock IB,
Model BMiter,
const FactoryBlock factory_block 
)

Definition at line 108 of file N_DEV_Bsrc.C.

Xyce::Device::Bsrc::Instance::~Instance ( )

Definition at line 287 of file N_DEV_Bsrc.C.

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

Member Function Documentation

const std::vector< std::string > & Xyce::Device::Bsrc::Instance::getDepSolnVars ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 450 of file N_DEV_Bsrc.C.

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

Definition at line 142 of file N_DEV_Bsrc.h.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 464 of file N_DEV_Bsrc.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 726 of file N_DEV_Bsrc.C.

bool Xyce::Device::Bsrc::Instance::loadDAEdQdx ( )
inlinevirtual

Implements Xyce::Device::DeviceInstance.

Definition at line 132 of file N_DEV_Bsrc.h.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 663 of file N_DEV_Bsrc.C.

bool Xyce::Device::Bsrc::Instance::loadDAEQVector ( )
inlinevirtual

Implements Xyce::Device::DeviceInstance.

Definition at line 128 of file N_DEV_Bsrc.h.

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

Populates and returns the store name map.

Implements Xyce::Device::DeviceInstance.

Definition at line 388 of file N_DEV_Bsrc.C.

Instance& Xyce::Device::Bsrc::Instance::operator= ( const Instance )
private
bool Xyce::Device::Bsrc::Instance::processParams ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 245 of file N_DEV_Bsrc.C.

void Xyce::Device::Bsrc::Instance::registerBranchDataLIDs ( const std::vector< int > &  branchLIDVecRef)
virtual

Register the local store IDs.

In addition to state vector, Xyce maintains a separate datastructure called a "branch data" vector. As with other such vectors, the device declares at construction time how many branch vector entries it needs, and later Topology assigns locations for devices, returning LIDs.

These LIDs are stored in this method for later use.

The Resistor device uses exactly one "branch data vector" element, where

Parameters
stoLIDVecRefStore variable local IDs
Author
Richard Schiek, Electrical Systems Modeling
Date
12/18/2012

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 370 of file N_DEV_Bsrc.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 477 of file N_DEV_Bsrc.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 300 of file N_DEV_Bsrc.C.

void Xyce::Device::Bsrc::Instance::registerStateLIDs ( const std::vector< int > &  staLIDVecRef)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 429 of file N_DEV_Bsrc.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 411 of file N_DEV_Bsrc.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 515 of file N_DEV_Bsrc.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 560 of file N_DEV_Bsrc.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 585 of file N_DEV_Bsrc.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 613 of file N_DEV_Bsrc.C.

bool Xyce::Device::Bsrc::Instance::updateTemperature ( const double &  temp)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 260 of file N_DEV_Bsrc.C.

void Xyce::Device::Bsrc::Instance::varTypes ( std::vector< char > &  varTypeVec)
virtual

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 772 of file N_DEV_Bsrc.C.

Friends And Related Function Documentation

friend class Master
friend

Definition at line 90 of file N_DEV_Bsrc.h.

friend class Model
friend

Definition at line 89 of file N_DEV_Bsrc.h.

friend class ParametricData< Instance >
friend

Definition at line 88 of file N_DEV_Bsrc.h.

friend class Traits
friend

Definition at line 90 of file N_DEV_Bsrc.h.

Member Data Documentation

std::vector<int> Xyce::Device::Bsrc::Instance::ABraEquExpVarOffsets
private

Definition at line 198 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::ABraEquNegNodeOffset
private

Definition at line 192 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::ABraEquPosNodeOffset
private

Definition at line 191 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::ANegEquBraVarOffset
private

Definition at line 194 of file N_DEV_Bsrc.h.

std::vector<int> Xyce::Device::Bsrc::Instance::ANegEquExpVarOffsets
private

Definition at line 197 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::APosEquBraVarOffset
private

Definition at line 193 of file N_DEV_Bsrc.h.

std::vector<int> Xyce::Device::Bsrc::Instance::APosEquExpVarOffsets
private

Definition at line 196 of file N_DEV_Bsrc.h.

std::vector<double> Xyce::Device::Bsrc::Instance::ddtVals
private

Definition at line 160 of file N_DEV_Bsrc.h.

std::list<std::string> Xyce::Device::Bsrc::Instance::evnList
private

Definition at line 156 of file N_DEV_Bsrc.h.

Util::Expression* Xyce::Device::Bsrc::Instance::Exp_ptr
private

Definition at line 151 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::expBaseVar
private

Definition at line 154 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::expNumDdt
private

Definition at line 155 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::expNumVars
private

Definition at line 153 of file N_DEV_Bsrc.h.

double Xyce::Device::Bsrc::Instance::expVal
private

Definition at line 161 of file N_DEV_Bsrc.h.

std::vector<double> Xyce::Device::Bsrc::Instance::expVarDerivs
private

Definition at line 158 of file N_DEV_Bsrc.h.

std::vector<double *> Xyce::Device::Bsrc::Instance::fBraEquExpVarPtrs
private

Definition at line 208 of file N_DEV_Bsrc.h.

double* Xyce::Device::Bsrc::Instance::fBraEquNegNodePtr
private

Definition at line 202 of file N_DEV_Bsrc.h.

double* Xyce::Device::Bsrc::Instance::fBraEquPosNodePtr
private

Definition at line 201 of file N_DEV_Bsrc.h.

double* Xyce::Device::Bsrc::Instance::fNegEquBraVarPtr
private

Definition at line 204 of file N_DEV_Bsrc.h.

std::vector<double *> Xyce::Device::Bsrc::Instance::fNegEquExpVarPtrs
private

Definition at line 207 of file N_DEV_Bsrc.h.

double* Xyce::Device::Bsrc::Instance::fPosEquBraVarPtr
private

Definition at line 203 of file N_DEV_Bsrc.h.

std::vector<double *> Xyce::Device::Bsrc::Instance::fPosEquExpVarPtrs
private

Definition at line 206 of file N_DEV_Bsrc.h.

double Xyce::Device::Bsrc::Instance::I
private

Definition at line 170 of file N_DEV_Bsrc.h.

InstanceBlock Xyce::Device::Bsrc::Instance::IB
private

Definition at line 163 of file N_DEV_Bsrc.h.

bool Xyce::Device::Bsrc::Instance::isVSRC
private

Definition at line 166 of file N_DEV_Bsrc.h.

std::vector< std::vector<int> > Xyce::Device::Bsrc::Instance::jacStamp
private

Definition at line 210 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::li_Bra
private

Definition at line 185 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::li_branch_data
private

Index for lead current and junction voltage (for power calculations)

Definition at line 187 of file N_DEV_Bsrc.h.

std::vector<int> Xyce::Device::Bsrc::Instance::li_ddt
private

Definition at line 179 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::li_Neg
private

Definition at line 184 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::li_Pos
private

Definition at line 183 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::li_store_branch
private

Definition at line 186 of file N_DEV_Bsrc.h.

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

Definition at line 149 of file N_DEV_Bsrc.h.

std::vector<double> Xyce::Device::Bsrc::Instance::myVarVals
private

Definition at line 159 of file N_DEV_Bsrc.h.

int Xyce::Device::Bsrc::Instance::nlstep
private

Definition at line 176 of file N_DEV_Bsrc.h.

double Xyce::Device::Bsrc::Instance::scale
private

Definition at line 175 of file N_DEV_Bsrc.h.

double Xyce::Device::Bsrc::Instance::temp
private

Definition at line 172 of file N_DEV_Bsrc.h.

double Xyce::Device::Bsrc::Instance::V
private

Definition at line 169 of file N_DEV_Bsrc.h.


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