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 (const char *const entity_type, const std::string &device_name, 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 ()
 
bool scaleParam (const std::string &paramName, double val, double val0)
 
bool scaleParam (const std::string &paramName, double val)
 
bool scaleDefaultParam (double val)
 
bool setParam (const std::string &paramName, double val)
 
bool getParam (const std::string &paramName, double &result)
 
bool getParamBreakpoints (std::vector< Util::BreakPoint > &)
 
bool updateDependentParameters (N_LAS_Vector &vars)
 
bool updateDependentParameters (double temp_tmp)
 
bool updateGlobalParameters (std::map< std::string, double > &)
 
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
 
const char * getEntityType () const
 
const std::string & getName () const
 
void setDefaultParamName (const std::string &default_param_name)
 
const std::vector< Depend > & getDependentParams ()
 
const DeviceOptionsgetDeviceOptions () const
 
const SolverStategetSolverState () const
 
const NetlistLocation & netlistLocation () const
 
const ParameterMapgetParameterMap () const
 
- Public Member Functions inherited from Xyce::Device::ParameterBase
 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< DependdependentParams
 
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 &)
 
DeviceEntityoperator= (const DeviceEntity &)
 
void escape (std::string &) const
 
void checkDepend (ParameterType::ExprAccess &)
 

Private Attributes

const char *const entityType_
 
std::string name_
 
std::string defaultParamName_
 
ParametricData< void > & parametricData_
 
NetlistLocation netlistLocation_
 
const SolverStatesolState_
 
const DeviceOptionsdevOptions_
 

Detailed Description

Definition at line 97 of file N_DEV_DeviceEntity.h.

Constructor & Destructor Documentation

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

Definition at line 75 of file N_DEV_DeviceEntity.C.

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

Definition at line 100 of file N_DEV_DeviceEntity.C.

Member Function Documentation

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
double Xyce::Device::DeviceEntity::getDefaultParam ( )

Definition at line 348 of file N_DEV_DeviceEntity.C.

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

Definition at line 173 of file N_DEV_DeviceEntity.h.

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

Definition at line 178 of file N_DEV_DeviceEntity.h.

const char* Xyce::Device::DeviceEntity::getEntityType ( ) const
inline

Definition at line 158 of file N_DEV_DeviceEntity.h.

const std::string& Xyce::Device::DeviceEntity::getName ( ) const
inline

Definition at line 163 of file N_DEV_DeviceEntity.h.

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

Definition at line 283 of file N_DEV_DeviceEntity.C.

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

Definition at line 692 of file N_DEV_DeviceEntity.C.

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

Definition at line 193 of file N_DEV_DeviceEntity.h.

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

Definition at line 183 of file N_DEV_DeviceEntity.h.

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

Definition at line 716 of file N_DEV_DeviceEntity.C.

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

Definition at line 188 of file N_DEV_DeviceEntity.h.

DeviceEntity& Xyce::Device::DeviceEntity::operator= ( const DeviceEntity )
private
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::BJT::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::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::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Diode::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Vsrc::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Digital::Model, Xyce::Device::Inductor::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::Vcvs::Model, Xyce::Device::ADC::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::BJT::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::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::Neuron6::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Xygra::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Neuron5::Model, Xyce::Device::Diode::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::MOSFET_B3::Instance, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Resistor3::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Digital::Model, Xyce::Device::Inductor::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::LTRA::Instance, Xyce::Device::Resistor::Instance, Xyce::Device::TransLine::Instance, Xyce::Device::Xygra::Instance, Xyce::Device::DeviceInstance, Xyce::Device::TwoDPDE::Instance, Xyce::Device::BJT::Instance, Xyce::Device::VDMOS::Instance, Xyce::Device::Synapse4::Instance, Xyce::Device::ADMSvbic::Instance, 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::Diode::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::DeviceModel, 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::Capacitor::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::Inductor::Instance, Xyce::Device::ROM::Instance, Xyce::Device::MOSFET1::Instance, Xyce::Device::ADC::Instance, Xyce::Device::SW::Instance, Xyce::Device::TRA::Instance, Xyce::Device::Vsrc::Instance, and Xyce::Device::OpAmp::Instance.

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

Definition at line 209 of file N_DEV_DeviceEntity.C.

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

Definition at line 122 of file N_DEV_DeviceEntity.C.

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

Definition at line 167 of file N_DEV_DeviceEntity.C.

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

Definition at line 330 of file N_DEV_DeviceEntity.C.

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

Definition at line 168 of file N_DEV_DeviceEntity.h.

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

Definition at line 145 of file N_DEV_DeviceEntity.h.

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

Definition at line 371 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 400 of file N_DEV_DeviceEntity.C.

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

Definition at line 429 of file N_DEV_DeviceEntity.C.

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

Definition at line 239 of file N_DEV_DeviceEntity.C.

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

Definition at line 150 of file N_DEV_DeviceEntity.h.

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

Definition at line 553 of file N_DEV_DeviceEntity.C.

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

Definition at line 662 of file N_DEV_DeviceEntity.C.

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

Definition at line 632 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::updateGlobalParameters ( std::map< std::string, double > &  global_map)

Definition at line 595 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
protected

Definition at line 213 of file N_DEV_DeviceEntity.h.

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

Definition at line 210 of file N_DEV_DeviceEntity.h.

const char* const Xyce::Device::DeviceEntity::entityType_
private

Definition at line 203 of file N_DEV_DeviceEntity.h.

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

Definition at line 218 of file N_DEV_DeviceEntity.h.

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

Definition at line 214 of file N_DEV_DeviceEntity.h.

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

Definition at line 215 of file N_DEV_DeviceEntity.h.

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

Definition at line 216 of file N_DEV_DeviceEntity.h.

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

Definition at line 217 of file N_DEV_DeviceEntity.h.

std::string Xyce::Device::DeviceEntity::name_
private

Definition at line 204 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: