Xyce  6.1
Xyce::Device::Diode::Model Class Reference

#include <N_DEV_Diode.h>

Inheritance diagram for Xyce::Device::Diode::Model:
Collaboration diagram for Xyce::Device::Diode::Model:

Public Member Functions

 Model (const Configuration &configuration, const ModelBlock &MB, const FactoryBlock &factory_block)
 
 ~Model ()
 
virtual void forEachInstance (DeviceInstanceOp &op) const
 Apply a device instance "op" to all instances associated with this model. More...
 
virtual std::ostream & printOutInstances (std::ostream &os) const
 
bool processParams ()
 processParams More...
 
bool processInstanceParams ()
 processInstanceParams More...
 
void addInstance (Instance *instance)
 
- Public Member Functions inherited from Xyce::Device::DeviceModel
 DeviceModel (const ModelBlock &model_block, ParametricData< void > &parametric_data, const FactoryBlock &factory_block)
 
virtual ~DeviceModel ()
 
const std::string & getName () const
 
void setModParams (const std::vector< Param > &params)
 
virtual std::ostream & printName (std::ostream &os) const
 
virtual bool clearTemperatureData ()
 
void saveParams ()
 
bool interpolateTNOM (double)
 
bool interpolateDOSE (double)
 
void restoreParams ()
 
virtual bool getBinPrefixFlag ()
 
int getLevel () const
 
void setLevel (int level)
 
const std::string & getType () 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 Types

typedef std::vector< Instance * > InstanceVector
 

Private Member Functions

 Model ()
 
 Model (const Model &)
 
Modeloperator= (const Model &)
 

Private Attributes

std::vector< Instance * > instanceContainer
 
double IS
 
double RS
 
double COND
 
double N
 
double ISR
 
double NR
 
double IKF
 
double TT
 
double CJO
 
double VJ
 
double M
 
double EG
 
double XTI
 
double TIKF
 
double TBV1
 
double TBV2
 
double TRS1
 
double TRS2
 
double FC
 
double BV
 
double IBV
 
double IRF
 
double NBV
 
double IBVL
 
double NBVL
 
double F2
 
double F3
 
double TNOM
 
double KF
 
double AF
 
bool BVGiven
 

Friends

class ParametricData< Model >
 
class Instance
 
class Traits
 
class Master
 
class diodeSensitivity
 

Additional Inherited Members

- Static Public Member Functions inherited from Xyce::Device::DeviceModel
template<class T >
static void initThermalModel (ParametricData< T > &parametric_data)
 Add the parameter "TEMPMODEL" to the parametric_data. More...
 
template<class T >
static void initDoseModel (ParametricData< T > &parametric_data)
 Add the parameter "DOSEMODEL" to the parametric_data. More...
 
- 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 453 of file N_DEV_Diode.h.

Member Typedef Documentation

typedef std::vector<Instance *> Xyce::Device::Diode::Model::InstanceVector
private

Definition at line 455 of file N_DEV_Diode.h.

Constructor & Destructor Documentation

Xyce::Device::Diode::Model::Model ( const Configuration configuration,
const ModelBlock MB,
const FactoryBlock factory_block 
)

Definition at line 1901 of file N_DEV_Diode.C.

Xyce::Device::Diode::Model::~Model ( )

Definition at line 1999 of file N_DEV_Diode.C.

Xyce::Device::Diode::Model::Model ( )
private
Xyce::Device::Diode::Model::Model ( const Model )
private

Member Function Documentation

void Xyce::Device::Diode::Model::addInstance ( Instance instance)
inline

Definition at line 483 of file N_DEV_Diode.h.

void Xyce::Device::Diode::Model::forEachInstance ( DeviceInstanceOp op) const
virtual

Apply a device instance "op" to all instances associated with this model.

Parameters
[in]opOperator to apply to all instances.

Implements Xyce::Device::DeviceModel.

Definition at line 2063 of file N_DEV_Diode.C.

Model& Xyce::Device::Diode::Model::operator= ( const Model )
private
std::ostream & Xyce::Device::Diode::Model::printOutInstances ( std::ostream &  os) const
virtual

Implements Xyce::Device::DeviceModel.

Definition at line 2021 of file N_DEV_Diode.C.

bool Xyce::Device::Diode::Model::processInstanceParams ( )
virtual

processInstanceParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 1878 of file N_DEV_Diode.C.

bool Xyce::Device::Diode::Model::processParams ( )
virtual

processParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 1847 of file N_DEV_Diode.C.

Friends And Related Function Documentation

friend class diodeSensitivity
friend

Definition at line 460 of file N_DEV_Diode.h.

friend class Instance
friend

Definition at line 458 of file N_DEV_Diode.h.

friend class Master
friend

Definition at line 459 of file N_DEV_Diode.h.

friend class ParametricData< Model >
friend

Definition at line 457 of file N_DEV_Diode.h.

friend class Traits
friend

Definition at line 459 of file N_DEV_Diode.h.

Member Data Documentation

double Xyce::Device::Diode::Model::AF
private

Definition at line 526 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::BV
private

Definition at line 516 of file N_DEV_Diode.h.

bool Xyce::Device::Diode::Model::BVGiven
private

Definition at line 528 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::CJO
private

Definition at line 501 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::COND
private

Definition at line 495 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::EG
private

Definition at line 504 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::F2
private

Definition at line 522 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::F3
private

Definition at line 523 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::FC
private

Definition at line 514 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::IBV
private

Definition at line 517 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::IBVL
private

Definition at line 520 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::IKF
private

Definition at line 499 of file N_DEV_Diode.h.

std::vector<Instance*> Xyce::Device::Diode::Model::instanceContainer
private

Definition at line 489 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::IRF
private

Definition at line 518 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::IS
private

Definition at line 493 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::ISR
private

Definition at line 497 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::KF
private

Definition at line 525 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::M
private

Definition at line 503 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::N
private

Definition at line 496 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::NBV
private

Definition at line 519 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::NBVL
private

Definition at line 521 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::NR
private

Definition at line 498 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::RS
private

Definition at line 494 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TBV1
private

Definition at line 510 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TBV2
private

Definition at line 511 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TIKF
private

Definition at line 509 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TNOM
private

Definition at line 524 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TRS1
private

Definition at line 512 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TRS2
private

Definition at line 513 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::TT
private

Definition at line 500 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::VJ
private

Definition at line 502 of file N_DEV_Diode.h.

double Xyce::Device::Diode::Model::XTI
private

Definition at line 508 of file N_DEV_Diode.h.


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