Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device::DeviceEntity Class Referenceabstract

#include <N_DEV_DeviceEntity.h>

Inheritance diagram for Xyce::Device::DeviceEntity:
Collaboration diagram for Xyce::Device::DeviceEntity:

Public Member Functions

 DeviceEntity (ParametricData< void > &parametric_data, const SolverState &solver_state, const DeviceOptions &device_options, const std::string &netlist_path, int netlist_line)
 
virtual ~DeviceEntity ()
 
virtual bool processParams ()=0
 
virtual bool processInstanceParams ()=0
 
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
 
virtual std::ostream & printName (std::ostream &os) const =0
 
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)
 

Protected Attributes

std::vector< int > expVarGIDs
 
std::vector< int > expVarLIDs
 
std::vector< std::string > expVarNames
 
std::vector< double > expVarVals
 
std::vector< double > eVarVals
 

Private Member Functions

 DeviceEntity (const DeviceEntity &)
 No copying. More...
 
DeviceEntityoperator= (const DeviceEntity &)
 No assignment. More...
 
void escape (std::string &) const
 
void checkDepend (ParameterType::ExprAccess &)
 

Private Attributes

std::string defaultParamName_
 
ParametricData< void > & parametricData_
 
NetlistLocation netlistLocation_
 
const SolverStatesolState_
 
Globalsglobals_
 
const DeviceOptionsdevOptions_
 
std::vector< DependdependentParams_
 

Detailed Description

Definition at line 96 of file N_DEV_DeviceEntity.h.

Constructor & Destructor Documentation

Xyce::Device::DeviceEntity::DeviceEntity ( ParametricData< void > &  parametric_data,
const SolverState solver_state,
const DeviceOptions device_options,
const std::string &  netlist_path,
int  netlist_line 
)

Definition at line 76 of file N_DEV_DeviceEntity.C.

Xyce::Device::DeviceEntity::DeviceEntity ( const DeviceEntity )
private

No copying.

Xyce::Device::DeviceEntity::~DeviceEntity ( )
virtual

Definition at line 98 of file N_DEV_DeviceEntity.C.

Member Function Documentation

void Xyce::Device::DeviceEntity::addDependentParameter ( const Depend param)
inline

Definition at line 176 of file N_DEV_DeviceEntity.h.

bool Xyce::Device::DeviceEntity::analyticSensitivityAvailable ( const std::string &  paramName)

Definition at line 224 of file N_DEV_DeviceEntity.C.

void Xyce::Device::DeviceEntity::checkDepend ( ParameterType::ExprAccess )
private
virtual CompositeParam* Xyce::Device::DeviceEntity::constructComposite ( const std::string &  composite_name,
const std::string &  param_name 
)
inlinevirtual
void Xyce::Device::DeviceEntity::escape ( std::string &  ) const
private
bool Xyce::Device::DeviceEntity::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 
)

Definition at line 245 of file N_DEV_DeviceEntity.C.

double Xyce::Device::DeviceEntity::getDefaultParam ( ) const

Definition at line 397 of file N_DEV_DeviceEntity.C.

const std::vector<Depend>& Xyce::Device::DeviceEntity::getDependentParams ( )
inline

Definition at line 171 of file N_DEV_DeviceEntity.h.

const DeviceOptions& Xyce::Device::DeviceEntity::getDeviceOptions ( ) const
inline

Definition at line 180 of file N_DEV_DeviceEntity.h.

bool Xyce::Device::DeviceEntity::getParam ( const std::string &  paramName,
double &  result 
) const

Definition at line 330 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::getParamBreakpoints ( std::vector< Util::BreakPoint > &  breakPointTimes)

Definition at line 741 of file N_DEV_DeviceEntity.C.

const ParameterMap& Xyce::Device::DeviceEntity::getParameterMap ( ) const
inline

Definition at line 195 of file N_DEV_DeviceEntity.h.

const SolverState& Xyce::Device::DeviceEntity::getSolverState ( ) const
inline

Definition at line 185 of file N_DEV_DeviceEntity.h.

bool Xyce::Device::DeviceEntity::given ( const std::string &  parameter_name) const

Definition at line 765 of file N_DEV_DeviceEntity.C.

const NetlistLocation& Xyce::Device::DeviceEntity::netlistLocation ( ) const
inline

Definition at line 190 of file N_DEV_DeviceEntity.h.

DeviceEntity& Xyce::Device::DeviceEntity::operator= ( const DeviceEntity )
private

No assignment.

virtual std::ostream& Xyce::Device::DeviceEntity::printName ( std::ostream &  os) const
pure virtual
virtual bool Xyce::Device::DeviceEntity::processInstanceParams ( )
pure virtual

Implemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::Neuron2::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::Neuron3::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::Neuron::Model, Xyce::Device::JFET::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Resistor::Model, Xyce::Device::TRA::Model, Xyce::Device::LTRA::Model, Xyce::Device::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Inductor::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Resistor3::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Digital::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Neuron7::Model, Xyce::Device::Neuron8::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ACC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ISRC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, Xyce::Device::VCCS::Model, Xyce::Device::DeviceInstance, and Xyce::Device::DeviceModel.

virtual bool Xyce::Device::DeviceEntity::processParams ( )
pure virtual

Implemented in Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::Neuron2::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::Neuron3::Model, Xyce::Device::ADMSbsimcmg::Model, Xyce::Device::Neuron::Model, Xyce::Device::JFET::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::Resistor::Model, Xyce::Device::MOSFET_B3SOI::Instance, Xyce::Device::MOSFET_B4::Instance, Xyce::Device::TRA::Model, Xyce::Device::LTRA::Model, Xyce::Device::Diode::Instance, Xyce::Device::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Inductor::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::MOSFET_B3::Instance, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Digital::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Synapse3::Model, Xyce::Device::Neuron7::Model, Xyce::Device::Neuron8::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ACC::Model, Xyce::Device::ISRC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, Xyce::Device::VCCS::Model, Xyce::Device::MutIndLin::Instance, Xyce::Device::Resistor::Instance, Xyce::Device::LTRA::Instance, Xyce::Device::TransLine::Instance, Xyce::Device::Xygra::Instance, Xyce::Device::DeviceInstance, Xyce::Device::Capacitor::Instance, Xyce::Device::Inductor::Instance, Xyce::Device::TwoDPDE::Instance, Xyce::Device::Vsrc::Instance, Xyce::Device::BJT::Instance, Xyce::Device::VDMOS::Instance, Xyce::Device::Synapse4::Instance, Xyce::Device::ADMSvbic::Instance, Xyce::Device::DeviceModel, Xyce::Device::ADMSbsimcmg::Instance, Xyce::Device::ADMSHBT_X::Instance, Xyce::Device::ADMSPSP103VA::Instance, Xyce::Device::Synapse3::Instance, Xyce::Device::ThermalResistor::Instance, Xyce::Device::Synapse2::Instance, Xyce::Device::RxnSet::Instance, Xyce::Device::MESFET::Instance, Xyce::Device::Synapse::Instance, Xyce::Device::Digital::Instance, Xyce::Device::JFET::Instance, Xyce::Device::Neuron9::Instance, Xyce::Device::NeuronPop1::Instance, Xyce::Device::DiodePDE::Instance, Xyce::Device::Neuron::Instance, Xyce::Device::Neuron3::Instance, Xyce::Device::MutIndNonLin::Instance, Xyce::Device::Neuron2::Instance, Xyce::Device::Neuron4::Instance, Xyce::Device::Neuron7::Instance, Xyce::Device::Neuron5::Instance, Xyce::Device::Neuron8::Instance, Xyce::Device::Bsrc::Instance, Xyce::Device::MutIndNonLin2::Instance, Xyce::Device::Neuron6::Instance, Xyce::Device::DAC::Instance, Xyce::Device::ISRC::Instance, Xyce::Device::MOSFET2::Instance, Xyce::Device::MOSFET3::Instance, Xyce::Device::MOSFET6::Instance, Xyce::Device::Resistor3::Instance, Xyce::Device::ROM::Instance, Xyce::Device::ADC::Instance, Xyce::Device::MOSFET1::Instance, Xyce::Device::SW::Instance, Xyce::Device::TRA::Instance, and Xyce::Device::OpAmp::Instance.

bool Xyce::Device::DeviceEntity::scaleDefaultParam ( double  val)

Definition at line 205 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::scaleParam ( const std::string &  paramName,
double  val,
double  val0 
)

Definition at line 118 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::scaleParam ( const std::string &  paramName,
double  val 
)

Definition at line 163 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::setDefaultParam ( double  val)

Definition at line 379 of file N_DEV_DeviceEntity.C.

void Xyce::Device::DeviceEntity::setDefaultParamName ( const std::string &  default_param_name)
inline

Definition at line 166 of file N_DEV_DeviceEntity.h.

void Xyce::Device::DeviceEntity::setDefaultParams ( )
inline

Definition at line 151 of file N_DEV_DeviceEntity.h.

double Xyce::Device::DeviceEntity::setDependentParameter ( Util::Param &  par,
double *  res,
ParameterType::ExprAccess  depend 
)

Definition at line 420 of file N_DEV_DeviceEntity.C.

double Xyce::Device::DeviceEntity::setDependentParameter ( Util::Param &  par,
std::vector< double > *  res,
int  ind,
ParameterType::ExprAccess  depend 
)

Definition at line 449 of file N_DEV_DeviceEntity.C.

void Xyce::Device::DeviceEntity::setDependentParameter ( Util::Param &  par,
Depend dependentParam,
ParameterType::ExprAccess  depend 
)

Definition at line 478 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::setParam ( const std::string &  paramName,
double  val 
)

Definition at line 285 of file N_DEV_DeviceEntity.C.

void Xyce::Device::DeviceEntity::setParams ( const std::vector< Param > &  params)
inline

Definition at line 156 of file N_DEV_DeviceEntity.h.

bool Xyce::Device::DeviceEntity::updateDependentParameters ( N_LAS_Vector &  vars)

Definition at line 603 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::updateDependentParameters ( double  temp_tmp)

Definition at line 711 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::updateDependentParameters ( )

Definition at line 681 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::updateGlobalParameters ( GlobalParameterMap global_map)

Definition at line 644 of file N_DEV_DeviceEntity.C.

Member Data Documentation

std::string Xyce::Device::DeviceEntity::defaultParamName_
private

Definition at line 205 of file N_DEV_DeviceEntity.h.

std::vector<Depend> Xyce::Device::DeviceEntity::dependentParams_
private

Definition at line 213 of file N_DEV_DeviceEntity.h.

const DeviceOptions& Xyce::Device::DeviceEntity::devOptions_
private

Definition at line 212 of file N_DEV_DeviceEntity.h.

std::vector<double> Xyce::Device::DeviceEntity::eVarVals
protected

Definition at line 220 of file N_DEV_DeviceEntity.h.

std::vector<int> Xyce::Device::DeviceEntity::expVarGIDs
protected

Definition at line 216 of file N_DEV_DeviceEntity.h.

std::vector<int> Xyce::Device::DeviceEntity::expVarLIDs
protected

Definition at line 217 of file N_DEV_DeviceEntity.h.

std::vector<std::string> Xyce::Device::DeviceEntity::expVarNames
protected

Definition at line 218 of file N_DEV_DeviceEntity.h.

std::vector<double> Xyce::Device::DeviceEntity::expVarVals
protected

Definition at line 219 of file N_DEV_DeviceEntity.h.

Globals& Xyce::Device::DeviceEntity::globals_
private

Definition at line 210 of file N_DEV_DeviceEntity.h.

NetlistLocation Xyce::Device::DeviceEntity::netlistLocation_
private

Definition at line 207 of file N_DEV_DeviceEntity.h.

ParametricData<void>& Xyce::Device::DeviceEntity::parametricData_
private

Definition at line 206 of file N_DEV_DeviceEntity.h.

const SolverState& Xyce::Device::DeviceEntity::solState_
private

Definition at line 209 of file N_DEV_DeviceEntity.h.


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