Xyce
6.1
|
#include <N_DEV_Bsrc.h>
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 | updateIntermediateVars () |
bool | updatePrimaryState () |
bool | updateSecondaryState () |
bool | loadDAEQVector () |
bool | loadDAEFVector () |
bool | loadDAEdQdx () |
bool | loadDAEdFdx () |
void | setupPointers () |
void | varTypes (std::vector< char > &varTypeVec) |
Model & | getModel () |
![]() | |
DeviceInstance (const InstanceBlock &instance_block, ParametricData< void > ¶metric_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 | 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 IdVector & | getDepSolnGIDVec () |
virtual const IndexPairVector & | getIndexPairList () |
virtual bool | getInstanceBreakPoints (std::vector< Util::BreakPoint > &breakPointTimes) |
virtual bool | updateSource () |
virtual bool | processInstanceParams () |
virtual bool | updateTemperature (const double &temp_tmp) |
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 InstanceName & | getName () 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 DeviceState * | getInternalState () |
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 () |
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 IdVector & | getDevLIDs () const |
const std::vector< IdVector > & | getDevJacLIDs () const |
const IdVector & | getStaLIDVec () const |
bool | getMergeRowColChecked () const |
void | setMergeRowColChecked (bool mergeRowColChecked_local) |
const MatrixLoadData & | getMatrixLoadData () const |
MatrixLoadData & | getMatrixLoadData () |
const ExternData & | getExternData () const |
![]() | |
DeviceEntity (ParametricData< void > ¶metric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_filename, int netlist_line) | |
virtual | ~DeviceEntity () |
virtual CompositeParam * | constructComposite (const std::string &composite_name, const std::string ¶m_name) |
bool | setDefaultParam (double val, bool overrideOriginal=false) |
double | getDefaultParam () const |
bool | scaleParam (const std::string ¶mName, double val, double val0) |
bool | scaleParam (const std::string ¶mName, double val) |
bool | scaleDefaultParam (double val) |
bool | analyticSensitivityAvailable (const std::string ¶mName) |
bool | getAnalyticSensitivity (const std::string ¶mName, 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 ¶mName, double val, bool overrideOriginal=false) |
bool | getParam (const std::string ¶mName, 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 > ¶ms) |
bool | given (const std::string ¶meter_name) const |
void | setDefaultParamName (const std::string &default_param_name) |
const std::vector< Depend > & | getDependentParams () |
void | addDependentParameter (const Depend ¶m) |
const DeviceOptions & | getDeviceOptions () const |
const SolverState & | getSolverState () const |
const NetlistLocation & | netlistLocation () const |
const ParameterMap & | getParameterMap () const |
![]() | |
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 &) | |
Instance & | operator= (const Instance &) |
Private Attributes | |
Model & | model_ |
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 | 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 | |
![]() | |
std::vector< int > & | cols |
std::vector< double > & | vals |
NumericalJacobian * | numJacPtr |
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 |
![]() | |
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) |
![]() | |
const ExternData & | extData |
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 |
![]() | |
std::vector< int > | expVarGIDs |
std::vector< int > | expVarLIDs |
std::vector< std::string > | expVarNames |
std::vector< double > | expVarVals |
std::vector< double > | eVarVals |
Definition at line 86 of file N_DEV_Bsrc.h.
Xyce::Device::Bsrc::Instance::Instance | ( | const Configuration & | configuration, |
const InstanceBlock & | IB, | ||
Model & | BMiter, | ||
const FactoryBlock & | factory_block | ||
) |
Definition at line 103 of file N_DEV_Bsrc.C.
Xyce::Device::Bsrc::Instance::~Instance | ( | ) |
Definition at line 253 of file N_DEV_Bsrc.C.
|
private |
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 416 of file N_DEV_Bsrc.C.
|
inline |
Definition at line 141 of file N_DEV_Bsrc.h.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 430 of file N_DEV_Bsrc.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 692 of file N_DEV_Bsrc.C.
|
inlinevirtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 131 of file N_DEV_Bsrc.h.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 629 of file N_DEV_Bsrc.C.
|
inlinevirtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 127 of file N_DEV_Bsrc.h.
|
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.
Implements Xyce::Device::DeviceInstance.
Definition at line 354 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 240 of file N_DEV_Bsrc.C.
|
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
stoLIDVecRef | Store variable local IDs |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 336 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 443 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 266 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 395 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 377 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 481 of file N_DEV_Bsrc.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 526 of file N_DEV_Bsrc.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 551 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 579 of file N_DEV_Bsrc.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 738 of file N_DEV_Bsrc.C.
|
friend |
Definition at line 90 of file N_DEV_Bsrc.h.
|
friend |
Definition at line 89 of file N_DEV_Bsrc.h.
|
friend |
Definition at line 88 of file N_DEV_Bsrc.h.
|
friend |
Definition at line 90 of file N_DEV_Bsrc.h.
|
private |
Definition at line 195 of file N_DEV_Bsrc.h.
|
private |
Definition at line 189 of file N_DEV_Bsrc.h.
|
private |
Definition at line 188 of file N_DEV_Bsrc.h.
|
private |
Definition at line 191 of file N_DEV_Bsrc.h.
|
private |
Definition at line 194 of file N_DEV_Bsrc.h.
|
private |
Definition at line 190 of file N_DEV_Bsrc.h.
|
private |
Definition at line 193 of file N_DEV_Bsrc.h.
|
private |
Definition at line 159 of file N_DEV_Bsrc.h.
|
private |
Definition at line 155 of file N_DEV_Bsrc.h.
|
private |
Definition at line 150 of file N_DEV_Bsrc.h.
|
private |
Definition at line 153 of file N_DEV_Bsrc.h.
|
private |
Definition at line 154 of file N_DEV_Bsrc.h.
|
private |
Definition at line 152 of file N_DEV_Bsrc.h.
|
private |
Definition at line 160 of file N_DEV_Bsrc.h.
|
private |
Definition at line 157 of file N_DEV_Bsrc.h.
|
private |
Definition at line 205 of file N_DEV_Bsrc.h.
|
private |
Definition at line 199 of file N_DEV_Bsrc.h.
|
private |
Definition at line 198 of file N_DEV_Bsrc.h.
|
private |
Definition at line 201 of file N_DEV_Bsrc.h.
|
private |
Definition at line 204 of file N_DEV_Bsrc.h.
|
private |
Definition at line 200 of file N_DEV_Bsrc.h.
|
private |
Definition at line 203 of file N_DEV_Bsrc.h.
|
private |
Definition at line 169 of file N_DEV_Bsrc.h.
|
private |
Definition at line 162 of file N_DEV_Bsrc.h.
|
private |
Definition at line 165 of file N_DEV_Bsrc.h.
|
private |
Definition at line 207 of file N_DEV_Bsrc.h.
|
private |
Definition at line 182 of file N_DEV_Bsrc.h.
|
private |
Index for lead current and junction voltage (for power calculations)
Definition at line 184 of file N_DEV_Bsrc.h.
|
private |
Definition at line 176 of file N_DEV_Bsrc.h.
|
private |
Definition at line 181 of file N_DEV_Bsrc.h.
|
private |
Definition at line 180 of file N_DEV_Bsrc.h.
|
private |
Definition at line 183 of file N_DEV_Bsrc.h.
|
private |
Definition at line 148 of file N_DEV_Bsrc.h.
|
private |
Definition at line 158 of file N_DEV_Bsrc.h.
|
private |
Definition at line 173 of file N_DEV_Bsrc.h.
|
private |
Definition at line 172 of file N_DEV_Bsrc.h.
|
private |
Definition at line 168 of file N_DEV_Bsrc.h.