Xyce
6.1
|
#include <N_DEV_Diode.h>
Public Member Functions | |
Instance (const Configuration &configuration, const InstanceBlock &instance_block, Model &model, 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) |
In addition to state vector, Xyce maintains a separate datastructure called a "branch data" vector. More... | |
void | loadNodeSymbols (Util::SymbolTable &symbol_table) const |
Populates and returns the store name map. More... | |
const std::vector< std::vector< int > > & | jacobianStamp () const |
void | registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec) |
bool | processParams () |
bool | updateTemperature (const double &temp=-999.0) |
bool | lambertWCurrent (double Isat, double Vte, double RS) |
bool | lambertWBreakdownCurrent (double Isat, double Vte, double RS) |
bool | lambertWLinearReverseBias (double Isat, double Vte, double RS) |
bool | updateIntermediateVars () |
bool | updatePrimaryState () |
int | getNumNoiseSources () const |
void | setupNoiseSources (Xyce::Analysis::NoiseData &noiseData) |
void | getNoiseSources (Xyce::Analysis::NoiseData &noiseData) |
bool | loadDAEQVector () |
bool | loadDAEFVector () |
bool | loadDAEdQdx () |
bool | loadDAEdFdx () |
void | setupPointers () |
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 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 IdVector & | getDepSolnGIDVec () |
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 | updateSecondaryState () |
virtual bool | setIC () |
virtual bool | plotfileFlag () |
virtual void | loadErrorWeightMask () |
virtual void | acceptStep () |
virtual bool | loadDAEBVector () |
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 () |
virtual void | varTypes (std::vector< char > &varTypeVec) |
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 &) |
Static Private Attributes | |
static std::vector< std::vector< int > > | jacStamp_RS |
static std::vector< std::vector< int > > | jacStamp |
static std::vector< int > | jacMap_RS |
static std::vector< int > | jacMap |
static std::vector< std::vector< int > > | jacMap2_RS |
static std::vector< std::vector< int > > | jacMap2 |
Friends | |
class | ParametricData< Instance > |
class | Model |
class | Traits |
class | Master |
class | diodeSensitivity |
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 279 of file N_DEV_Diode.h.
Xyce::Device::Diode::Instance::Instance | ( | const Configuration & | configuration, |
const InstanceBlock & | instance_block, | ||
Model & | model, | ||
const FactoryBlock & | factory_block | ||
) |
Definition at line 338 of file N_DEV_Diode.C.
Xyce::Device::Diode::Instance::~Instance | ( | ) |
Definition at line 467 of file N_DEV_Diode.C.
|
private |
|
inline |
Definition at line 336 of file N_DEV_Diode.h.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 960 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 914 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 640 of file N_DEV_Diode.C.
bool Xyce::Device::Diode::Instance::lambertWBreakdownCurrent | ( | double | Isat, |
double | Vte, | ||
double | RS | ||
) |
Definition at line 1772 of file N_DEV_Diode.C.
bool Xyce::Device::Diode::Instance::lambertWCurrent | ( | double | Isat, |
double | Vte, | ||
double | RS | ||
) |
Definition at line 1643 of file N_DEV_Diode.C.
bool Xyce::Device::Diode::Instance::lambertWLinearReverseBias | ( | double | Isat, |
double | Vte, | ||
double | RS | ||
) |
Definition at line 1719 of file N_DEV_Diode.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 867 of file N_DEV_Diode.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 836 of file N_DEV_Diode.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 779 of file N_DEV_Diode.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 732 of file N_DEV_Diode.C.
|
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 547 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 324 of file N_DEV_Diode.C.
|
virtual |
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.
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 621 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 656 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 480 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 569 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 585 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 927 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 693 of file N_DEV_Diode.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 985 of file N_DEV_Diode.C.
|
virtual |
Implements Xyce::Device::DeviceInstance.
Definition at line 897 of file N_DEV_Diode.C.
|
virtual |
Reimplemented from Xyce::Device::DeviceInstance.
Definition at line 1417 of file N_DEV_Diode.C.
|
friend |
Definition at line 284 of file N_DEV_Diode.h.
|
friend |
Definition at line 283 of file N_DEV_Diode.h.
|
friend |
Definition at line 282 of file N_DEV_Diode.h.
|
friend |
Definition at line 281 of file N_DEV_Diode.h.
|
friend |
Definition at line 283 of file N_DEV_Diode.h.
|
private |
Definition at line 415 of file N_DEV_Diode.h.
|
private |
Definition at line 416 of file N_DEV_Diode.h.
|
private |
Definition at line 413 of file N_DEV_Diode.h.
|
private |
Definition at line 414 of file N_DEV_Diode.h.
|
private |
Definition at line 418 of file N_DEV_Diode.h.
|
private |
Definition at line 417 of file N_DEV_Diode.h.
|
private |
Definition at line 419 of file N_DEV_Diode.h.
|
private |
Definition at line 355 of file N_DEV_Diode.h.
|
private |
Definition at line 443 of file N_DEV_Diode.h.
|
private |
Definition at line 376 of file N_DEV_Diode.h.
|
private |
Definition at line 425 of file N_DEV_Diode.h.
|
private |
Definition at line 426 of file N_DEV_Diode.h.
|
private |
Definition at line 423 of file N_DEV_Diode.h.
|
private |
Definition at line 424 of file N_DEV_Diode.h.
|
private |
Definition at line 428 of file N_DEV_Diode.h.
|
private |
Definition at line 427 of file N_DEV_Diode.h.
|
private |
Definition at line 429 of file N_DEV_Diode.h.
|
private |
Definition at line 377 of file N_DEV_Diode.h.
|
private |
Definition at line 375 of file N_DEV_Diode.h.
|
private |
Definition at line 380 of file N_DEV_Diode.h.
|
private |
Definition at line 396 of file N_DEV_Diode.h.
|
private |
Definition at line 379 of file N_DEV_Diode.h.
|
private |
Definition at line 374 of file N_DEV_Diode.h.
|
private |
Definition at line 356 of file N_DEV_Diode.h.
|
private |
Definition at line 359 of file N_DEV_Diode.h.
|
staticprivate |
Definition at line 346 of file N_DEV_Diode.h.
|
staticprivate |
Definition at line 349 of file N_DEV_Diode.h.
|
staticprivate |
Definition at line 348 of file N_DEV_Diode.h.
|
staticprivate |
Definition at line 345 of file N_DEV_Diode.h.
|
staticprivate |
Definition at line 343 of file N_DEV_Diode.h.
|
staticprivate |
Definition at line 342 of file N_DEV_Diode.h.
|
private |
Definition at line 358 of file N_DEV_Diode.h.
|
private |
Index for Lead Current and junction voltage (for power calculations)
Definition at line 406 of file N_DEV_Diode.h.
|
private |
Definition at line 409 of file N_DEV_Diode.h.
|
private |
Definition at line 408 of file N_DEV_Diode.h.
|
private |
Definition at line 410 of file N_DEV_Diode.h.
|
private |
Definition at line 405 of file N_DEV_Diode.h.
|
private |
Definition at line 402 of file N_DEV_Diode.h.
|
private |
Definition at line 352 of file N_DEV_Diode.h.
|
private |
Definition at line 354 of file N_DEV_Diode.h.
|
private |
Definition at line 395 of file N_DEV_Diode.h.
|
private |
Definition at line 378 of file N_DEV_Diode.h.
|
private |
Definition at line 433 of file N_DEV_Diode.h.
|
private |
Definition at line 434 of file N_DEV_Diode.h.
|
private |
Definition at line 431 of file N_DEV_Diode.h.
|
private |
Definition at line 432 of file N_DEV_Diode.h.
|
private |
Definition at line 436 of file N_DEV_Diode.h.
|
private |
Definition at line 435 of file N_DEV_Diode.h.
|
private |
Definition at line 437 of file N_DEV_Diode.h.
|
private |
Definition at line 367 of file N_DEV_Diode.h.
|
private |
Definition at line 371 of file N_DEV_Diode.h.
|
private |
Definition at line 363 of file N_DEV_Diode.h.
|
private |
Definition at line 357 of file N_DEV_Diode.h.
|
private |
Definition at line 442 of file N_DEV_Diode.h.
|
private |
Definition at line 366 of file N_DEV_Diode.h.
|
private |
Definition at line 369 of file N_DEV_Diode.h.
|
private |
Definition at line 372 of file N_DEV_Diode.h.
|
private |
Definition at line 362 of file N_DEV_Diode.h.
|
private |
Definition at line 361 of file N_DEV_Diode.h.
|
private |
Definition at line 370 of file N_DEV_Diode.h.
|
private |
Definition at line 364 of file N_DEV_Diode.h.
|
private |
Definition at line 368 of file N_DEV_Diode.h.
|
private |
Definition at line 365 of file N_DEV_Diode.h.
|
private |
Definition at line 386 of file N_DEV_Diode.h.
|
private |
Definition at line 388 of file N_DEV_Diode.h.
|
private |
Definition at line 389 of file N_DEV_Diode.h.
|
private |
Definition at line 390 of file N_DEV_Diode.h.
|
private |
Definition at line 385 of file N_DEV_Diode.h.
|
private |
Definition at line 384 of file N_DEV_Diode.h.
|
private |
Definition at line 383 of file N_DEV_Diode.h.