Xyce  6.1
Xyce::Device::JFET::Model Class Reference

#include <N_DEV_JFET.h>

Inheritance diagram for Xyce::Device::JFET::Model:
Collaboration diagram for Xyce::Device::JFET::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 AF
 
double B
 
double BETA
 
double CGS
 
double CGD
 
double FC
 
double IS
 
double KF
 
double LAMBDA
 
double PB
 
double RD
 
double RS
 
double TNOM
 
double VTO
 
double DELTA
 
double THETA
 
double fNcoef
 
double fNexp
 
int dtype
 

Friends

class ParametricData< Model >
 
class Instance
 
class Traits
 
class Master
 

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 392 of file N_DEV_JFET.h.

Member Typedef Documentation

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

Definition at line 394 of file N_DEV_JFET.h.

Constructor & Destructor Documentation

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

Definition at line 194 of file N_DEV_JFET.C.

Xyce::Device::JFET::Model::~Model ( )

Definition at line 258 of file N_DEV_JFET.C.

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

Member Function Documentation

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

Definition at line 421 of file N_DEV_JFET.h.

void Xyce::Device::JFET::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 318 of file N_DEV_JFET.C.

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

Implements Xyce::Device::DeviceModel.

Definition at line 280 of file N_DEV_JFET.C.

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

processInstanceParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 347 of file N_DEV_JFET.C.

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

processParams

Returns
true if parameter processing was successful

Implements Xyce::Device::DeviceModel.

Definition at line 333 of file N_DEV_JFET.C.

Friends And Related Function Documentation

friend class Instance
friend

Definition at line 397 of file N_DEV_JFET.h.

friend class Master
friend

Definition at line 398 of file N_DEV_JFET.h.

friend class ParametricData< Model >
friend

Definition at line 396 of file N_DEV_JFET.h.

friend class Traits
friend

Definition at line 398 of file N_DEV_JFET.h.

Member Data Documentation

double Xyce::Device::JFET::Model::AF
private

Definition at line 432 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::B
private

Definition at line 433 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::BETA
private

Definition at line 434 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::CGD
private

Definition at line 436 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::CGS
private

Definition at line 435 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::DELTA
private

Definition at line 446 of file N_DEV_JFET.h.

int Xyce::Device::JFET::Model::dtype
private

Definition at line 452 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::FC
private

Definition at line 437 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::fNcoef
private

Definition at line 448 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::fNexp
private

Definition at line 449 of file N_DEV_JFET.h.

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

Definition at line 427 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::IS
private

Definition at line 438 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::KF
private

Definition at line 439 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::LAMBDA
private

Definition at line 440 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::PB
private

Definition at line 441 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::RD
private

Definition at line 442 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::RS
private

Definition at line 443 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::THETA
private

Definition at line 447 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::TNOM
private

Definition at line 444 of file N_DEV_JFET.h.

double Xyce::Device::JFET::Model::VTO
private

Definition at line 445 of file N_DEV_JFET.h.


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