Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device::SW::Instance Class Reference

#include <N_DEV_SW.h>

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

Public Member Functions

 Instance (const Configuration &configuration, const InstanceBlock &IB, Model &SWiter, 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)
 
std::map< int, std::string > & getStoreNameMap ()
 
bool processParams ()
 
const std::vector< std::string > & getDepSolnVars ()
 
const std::vector< std::vector
< int > > & 
jacobianStamp () const
 
void registerJacLIDs (const std::vector< std::vector< int > > &jacLIDVec)
 
bool updateIntermediateVars ()
 
bool updatePrimaryState ()
 
bool updateSecondaryState ()
 
bool loadDAEQVector ()
 
bool loadDAEFVector ()
 
bool loadDAEdQdx ()
 
bool loadDAEdFdx ()
 
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 std::list< index_pair > &intGIDListRef, const std::list< index_pair > &extGIDListRef)
 
virtual void registerStateGIDs (const std::list< index_pair > &staGIDListRef)
 
virtual void registerStoreGIDs (const std::list< index_pair > &stoGIDListRef)
 
virtual void registerDepSolnGIDs (const std::vector< std::vector< int > > &varList)
 
virtual const std::vector
< std::string > & 
getDepStateVars ()
 
virtual void registerDepStateGIDs (const std::vector< std::vector< int > > &varList)
 
virtual const std::vector
< std::string > & 
getDepStoreVars ()
 
virtual void registerDepStoreGIDs (const std::vector< std::vector< int > > &varList)
 
virtual void registerDepSolnLIDs (const std::vector< std::vector< int > > &depSolnLIDVecRef)
 
virtual void registerDepStateLIDs (const std::vector< std::vector< int > > &depStaLIDVecRef)
 
virtual void registerDepStoreLIDs (const std::vector< std::vector< int > > &depStoLIDVecRef)
 
virtual void registerGIDData (const std::vector< int > &counts, const std::vector< int > &GIDs, const std::vector< std::vector< int > > &jacGIDs)
 
virtual void getDepSolnGIDVec (std::vector< int > &depGIDVec)
 
virtual bool getIndexPairList (std::list< index_pair > &iplRef)
 
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 (std::vector< std::string > &nameVec)
 
virtual bool loadTrivialDAE_FMatrixStamp ()
 
bool trivialStampLoader (N_LAS_Matrix *matPtr)
 
bool zeroMatrixDiagonal (N_LAS_Matrix *matPtr)
 
virtual bool setIC ()
 
virtual bool plotfileFlag ()
 
virtual bool loadDeviceMask ()
 
virtual void acceptStep ()
 
virtual bool loadDAEBVector ()
 
const InstanceNamegetName () const
 
int getNumIntVars () const
 
int getNumExtVars () const
 
int getNumStateVars () const
 
int getNumStoreVars () const
 
void setNumStoreVars (int num_store_vars)
 
virtual void getDevConMap (std::vector< int > &)
 
virtual DeviceStategetInternalState ()
 
virtual bool setInternalState (const DeviceState &state)
 
virtual bool loadDFDV (int iElectrode, N_LAS_Vector *dfdvPtr)
 
virtual bool calcConductance (int iElectrode, const N_LAS_Vector *dxdvPtr)
 
virtual std::map< int,
std::string > & 
getIntNameMap ()
 
virtual std::map< int,
std::string > & 
getStateNameMap ()
 
virtual bool outputPlotFiles ()
 
virtual bool enablePDEContinuation ()
 
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 std::vector< int > & getDevLIDs () const
 
const std::vector< std::vector
< int > > & 
getDevJacLIDs () const
 
const std::vector< int > & getStaLIDVec () 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_path, int netlist_line)
 
virtual ~DeviceEntity ()
 
virtual CompositeParamconstructComposite (const std::string &composite_name, const std::string &param_name)
 
bool setDefaultParam (double val)
 
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 getParam (const std::string &paramName, double &result) const
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (N_LAS_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
 
double R
 
double CONTROL
 
bool ON
 
bool OFF
 
double G
 
double dGdI
 
double dGdV
 
double v_pos
 
double v_neg
 
double LeadCurrent
 
double SW_STATE
 
double switch_state
 
std::vector< int > li_ddt
 
int li_switch_state
 
int li_Pos
 
int li_Neg
 
int li_store_dev_i
 
int APosEquPosNodeOffset
 
int APosEquNegNodeOffset
 
int ANegEquPosNodeOffset
 
int ANegEquNegNodeOffset
 
std::vector< int > APosEquControlNodeOffset
 
std::vector< int > ANegEquControlNodeOffset
 
double * fPosEquPosNodePtr
 
double * fPosEquNegNodePtr
 
double * fNegEquPosNodePtr
 
double * fNegEquNegNodePtr
 
std::vector< double * > fPosEquControlNodePtr
 
std::vector< double * > fNegEquControlNodePtr
 
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 numLeadCurrentStoreVars
 
bool loadLeadCurrent
 
std::vector< int > devConMap
 
bool mergeRowColChecked
 
- Protected Member Functions inherited from Xyce::Device::DeviceInstance
void jacStampMap (std::vector< std::vector< int > > &stamp_parent, std::vector< int > &map_parent, std::vector< std::vector< int > > &map2_parent, std::vector< std::vector< int > > &stamp, std::vector< int > &map, std::vector< std::vector< int > > &map2, int from, int to, int original_size)
 
void jacStampMap_fixOrder (std::vector< std::vector< int > > &stamp_parent, std::vector< std::vector< int > > &map2_parent, std::vector< std::vector< int > > &stamp, std::vector< std::vector< int > > &map2)
 
void outputJacStamp (const std::vector< std::vector< int > > &jac)
 
void outputJacMaps (const std::vector< int > &jacMap, const std::vector< std::vector< int > > &jacMap2)
 
- Protected Attributes inherited from Xyce::Device::DeviceInstance
const ExternDataextData
 
std::list< index_pair > intGIDList
 
std::list< index_pair > extGIDList
 
std::list< index_pair > indexPairList
 
std::list< index_pair > staGIDList
 
std::vector< int > intLIDVec
 
std::vector< int > extLIDVec
 
std::vector< int > staLIDVec
 
std::vector< int > stoLIDVec
 
std::vector< int > devLIDs
 
std::vector< std::vector< int > > devJacLIDs
 
std::map< int, std::string > intNameMap
 
std::map< int, std::string > stateNameMap
 
std::map< int, std::string > storeNameMap
 
DeviceSupport devSupport
 

Detailed Description

Definition at line 84 of file N_DEV_SW.h.

Constructor & Destructor Documentation

Xyce::Device::SW::Instance::Instance ( const Configuration configuration,
const InstanceBlock IB,
Model SWiter,
const FactoryBlock factory_block 
)

Definition at line 154 of file N_DEV_SW.C.

Xyce::Device::SW::Instance::~Instance ( )

Definition at line 257 of file N_DEV_SW.C.

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

Member Function Documentation

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 356 of file N_DEV_SW.C.

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

Definition at line 137 of file N_DEV_SW.h.

std::map<int,std::string>& Xyce::Device::SW::Instance::getStoreNameMap ( )
virtual

Reimplemented from Xyce::Device::DeviceInstance.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 370 of file N_DEV_SW.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 601 of file N_DEV_SW.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 129 of file N_DEV_SW.h.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 571 of file N_DEV_SW.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 125 of file N_DEV_SW.h.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 141 of file N_DEV_SW.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 383 of file N_DEV_SW.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 269 of file N_DEV_SW.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 296 of file N_DEV_SW.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 409 of file N_DEV_SW.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 541 of file N_DEV_SW.C.

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

Implements Xyce::Device::DeviceInstance.

Definition at line 438 of file N_DEV_SW.C.

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

Reimplemented from Xyce::Device::DeviceInstance.

Definition at line 459 of file N_DEV_SW.C.

Friends And Related Function Documentation

friend class Master
friend

Definition at line 88 of file N_DEV_SW.h.

friend class Model
friend

Definition at line 87 of file N_DEV_SW.h.

friend class ParametricData< Instance >
friend

Definition at line 86 of file N_DEV_SW.h.

friend class Traits
friend

Definition at line 88 of file N_DEV_SW.h.

Member Data Documentation

std::vector<int> Xyce::Device::SW::Instance::ANegEquControlNodeOffset
private

Definition at line 198 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::ANegEquNegNodeOffset
private

Definition at line 194 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::ANegEquPosNodeOffset
private

Definition at line 193 of file N_DEV_SW.h.

std::vector<int> Xyce::Device::SW::Instance::APosEquControlNodeOffset
private

Definition at line 197 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::APosEquNegNodeOffset
private

Definition at line 192 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::APosEquPosNodeOffset
private

Definition at line 191 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::CONTROL
private

Definition at line 160 of file N_DEV_SW.h.

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

Definition at line 154 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::dGdI
private

Definition at line 165 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::dGdV
private

Definition at line 165 of file N_DEV_SW.h.

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

Definition at line 150 of file N_DEV_SW.h.

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

Definition at line 146 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::expBaseVar
private

Definition at line 148 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::expNumDdt
private

Definition at line 149 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::expNumVars
private

Definition at line 147 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::expVal
private

Definition at line 155 of file N_DEV_SW.h.

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

Definition at line 152 of file N_DEV_SW.h.

std::vector<double *> Xyce::Device::SW::Instance::fNegEquControlNodePtr
private

Definition at line 208 of file N_DEV_SW.h.

double* Xyce::Device::SW::Instance::fNegEquNegNodePtr
private

Definition at line 204 of file N_DEV_SW.h.

double* Xyce::Device::SW::Instance::fNegEquPosNodePtr
private

Definition at line 203 of file N_DEV_SW.h.

std::vector<double *> Xyce::Device::SW::Instance::fPosEquControlNodePtr
private

Definition at line 207 of file N_DEV_SW.h.

double* Xyce::Device::SW::Instance::fPosEquNegNodePtr
private

Definition at line 202 of file N_DEV_SW.h.

double* Xyce::Device::SW::Instance::fPosEquPosNodePtr
private

Definition at line 201 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::G
private

Definition at line 164 of file N_DEV_SW.h.

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

Definition at line 210 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::LeadCurrent
private

Definition at line 171 of file N_DEV_SW.h.

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

Definition at line 179 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::li_Neg
private

Definition at line 185 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::li_Pos
private

Definition at line 184 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::li_store_dev_i
private

Definition at line 188 of file N_DEV_SW.h.

int Xyce::Device::SW::Instance::li_switch_state
private

Definition at line 181 of file N_DEV_SW.h.

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

Definition at line 144 of file N_DEV_SW.h.

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

Definition at line 153 of file N_DEV_SW.h.

bool Xyce::Device::SW::Instance::OFF
private

Definition at line 161 of file N_DEV_SW.h.

bool Xyce::Device::SW::Instance::ON
private

Definition at line 161 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::R
private

Definition at line 159 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::SW_STATE
private

Definition at line 174 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::switch_state
private

Definition at line 177 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::v_neg
private

Definition at line 169 of file N_DEV_SW.h.

double Xyce::Device::SW::Instance::v_pos
private

Definition at line 168 of file N_DEV_SW.h.


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