Xyce  6.1
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_filename, 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, 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
 
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 95 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_filename,
int  netlist_line 
)

Definition at line 84 of file N_DEV_DeviceEntity.C.

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

No copying.

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

Definition at line 106 of file N_DEV_DeviceEntity.C.

Member Function Documentation

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

Definition at line 185 of file N_DEV_DeviceEntity.h.

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

Definition at line 232 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::analyticSensitivityAvailableDefaultParam ( )

Definition at line 253 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::findParam ( const std::string &  param_name) const

Definition at line 395 of file N_DEV_DeviceEntity.C.

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 273 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::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 
)

Definition at line 303 of file N_DEV_DeviceEntity.C.

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

Definition at line 483 of file N_DEV_DeviceEntity.C.

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

Definition at line 180 of file N_DEV_DeviceEntity.h.

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

Definition at line 190 of file N_DEV_DeviceEntity.h.

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

Definition at line 416 of file N_DEV_DeviceEntity.C.

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

Definition at line 827 of file N_DEV_DeviceEntity.C.

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

Definition at line 205 of file N_DEV_DeviceEntity.h.

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

Definition at line 195 of file N_DEV_DeviceEntity.h.

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

Definition at line 851 of file N_DEV_DeviceEntity.C.

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

Definition at line 200 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::ADMSbsimcmg::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSvbic13_4t::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::BJT::Model, Xyce::Device::MOSFET_B3::Model, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::Neuron2::Model, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::Neuron3::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::MemristorYakopcic::Model, Xyce::Device::TRA::Model, Xyce::Device::MemristorTEAM::Model, Xyce::Device::LTRA::Model, Xyce::Device::Vsrc::Model, Xyce::Device::MutIndLin::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Digital::Model, Xyce::Device::Resistor::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Xygra::Model, Xyce::Device::Inductor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::PowerGrid::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::Resistor3::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Synapse3::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::PowerGridTransformer::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::Neuron7::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::Neuron8::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ACC::Model, Xyce::Device::ISRC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::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::ADMSbsimcmg::Model, Xyce::Device::ADMSPSP103VA::Model, Xyce::Device::ADMSbsimcmg::Instance, Xyce::Device::ADMSPSP103VA::Instance, Xyce::Device::ADMSbsim6::Model, Xyce::Device::ADMSbsim6::Instance, Xyce::Device::ADMSvbic13_4t::Model, Xyce::Device::ADMSvbic13::Model, Xyce::Device::ADMSbjt504va::Model, Xyce::Device::MOSFET_B3SOI::Model, Xyce::Device::ADMSbjt504tva::Model, Xyce::Device::ADMSvbic::Model, Xyce::Device::ADMSHBT_X::Model, Xyce::Device::MOSFET_B4::Model, Xyce::Device::ADMSvbic13_4t::Instance, Xyce::Device::ADMSvbic13::Instance, Xyce::Device::BJT::Model, Xyce::Device::ADMSbjt504va::Instance, Xyce::Device::ADMSvbic::Instance, Xyce::Device::MOSFET_B3::Model, Xyce::Device::ADMSbjt504tva::Instance, Xyce::Device::ADMSHBT_X::Instance, Xyce::Device::VDMOS::Model, Xyce::Device::Neuron4::Model, Xyce::Device::MOSFET1::Model, Xyce::Device::Neuron2::Model, Xyce::Device::BJT::Instance, Xyce::Device::TwoDPDE::Model, Xyce::Device::DiodePDE::Model, Xyce::Device::MOSFET3::Model, Xyce::Device::MOSFET2::Model, Xyce::Device::MOSFET6::Model, Xyce::Device::Diode::Model, Xyce::Device::Neuron3::Model, Xyce::Device::JFET::Model, Xyce::Device::Neuron::Model, Xyce::Device::MESFET::Model, Xyce::Device::Neuron9::Model, Xyce::Device::MOSFET_B4::Instance, Xyce::Device::MOSFET_B3SOI::Instance, Xyce::Device::MemristorYakopcic::Model, Xyce::Device::TRA::Model, Xyce::Device::MemristorTEAM::Model, Xyce::Device::LTRA::Model, Xyce::Device::Diode::Instance, Xyce::Device::MutIndLin::Model, Xyce::Device::Neuron6::Model, Xyce::Device::Digital::Model, Xyce::Device::Vsrc::Model, Xyce::Device::Resistor::Model, Xyce::Device::RxnSet::Model, Xyce::Device::Capacitor::Model, Xyce::Device::Xygra::Model, Xyce::Device::Inductor::Model, Xyce::Device::Neuron5::Model, Xyce::Device::MutIndNonLin::Model, Xyce::Device::PowerGrid::Model, Xyce::Device::MutIndNonLin2::Model, Xyce::Device::Resistor3::Model, Xyce::Device::MOSFET_B3::Instance, Xyce::Device::Synapse3::Model, Xyce::Device::PowerGridBranch::Model, Xyce::Device::ROM::Model, Xyce::Device::SW::Model, Xyce::Device::ThermalResistor::Model, Xyce::Device::Bsrc::Model, Xyce::Device::PowerGridTransformer::Model, Xyce::Device::Neuron7::Model, Xyce::Device::PowerGridBusShunt::Model, Xyce::Device::Neuron8::Model, Xyce::Device::Synapse4::Model, Xyce::Device::TransLine::Model, Xyce::Device::PowerGridGenBus::Model, Xyce::Device::NeuronPop1::Model, Xyce::Device::DAC::Model, Xyce::Device::ISRC::Model, Xyce::Device::Synapse::Model, Xyce::Device::Synapse2::Model, Xyce::Device::ACC::Model, Xyce::Device::ADC::Model, Xyce::Device::Vcvs::Model, Xyce::Device::OpAmp::Model, Xyce::Device::VCCS::Model, Xyce::Device::MutIndLin::Instance, Xyce::Device::MemristorTEAM::Instance, Xyce::Device::MemristorYakopcic::Instance, Xyce::Device::DeviceInstance, Xyce::Device::LTRA::Instance, Xyce::Device::Resistor::Instance, Xyce::Device::TransLine::Instance, Xyce::Device::Digital::Instance, Xyce::Device::Xygra::Instance, Xyce::Device::Capacitor::Instance, Xyce::Device::Inductor::Instance, Xyce::Device::Vsrc::Instance, Xyce::Device::TwoDPDE::Instance, Xyce::Device::VDMOS::Instance, Xyce::Device::Synapse3::Instance, Xyce::Device::Synapse4::Instance, Xyce::Device::ThermalResistor::Instance, Xyce::Device::DeviceModel, Xyce::Device::RxnSet::Instance, Xyce::Device::Synapse2::Instance, Xyce::Device::Synapse::Instance, Xyce::Device::MESFET::Instance, Xyce::Device::DiodePDE::Instance, Xyce::Device::JFET::Instance, Xyce::Device::NeuronPop1::Instance, Xyce::Device::MutIndNonLin2::Instance, Xyce::Device::MutIndNonLin::Instance, Xyce::Device::Neuron9::Instance, Xyce::Device::Resistor3::Instance, Xyce::Device::Bsrc::Instance, Xyce::Device::ISRC::Instance, Xyce::Device::Neuron::Instance, Xyce::Device::Neuron3::Instance, Xyce::Device::Neuron6::Instance, Xyce::Device::DAC::Instance, Xyce::Device::Neuron2::Instance, Xyce::Device::Neuron4::Instance, Xyce::Device::Neuron7::Instance, Xyce::Device::MOSFET2::Instance, Xyce::Device::MOSFET3::Instance, Xyce::Device::Neuron5::Instance, Xyce::Device::Neuron8::Instance, Xyce::Device::MOSFET6::Instance, Xyce::Device::ROM::Instance, Xyce::Device::ADC::Instance, Xyce::Device::MOSFET1::Instance, Xyce::Device::TRA::Instance, Xyce::Device::OpAmp::Instance, and Xyce::Device::SW::Instance.

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

Definition at line 213 of file N_DEV_DeviceEntity.C.

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

Definition at line 126 of file N_DEV_DeviceEntity.C.

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

Definition at line 171 of file N_DEV_DeviceEntity.C.

bool Xyce::Device::DeviceEntity::setDefaultParam ( double  val,
bool  overrideOriginal = false 
)

Definition at line 465 of file N_DEV_DeviceEntity.C.

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

Definition at line 175 of file N_DEV_DeviceEntity.h.

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

Definition at line 160 of file N_DEV_DeviceEntity.h.

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

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

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

Definition at line 564 of file N_DEV_DeviceEntity.C.

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

Definition at line 341 of file N_DEV_DeviceEntity.C.

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

Definition at line 165 of file N_DEV_DeviceEntity.h.

bool Xyce::Device::DeviceEntity::updateDependentParameters ( const Linear::Vector &  vars)

Definition at line 689 of file N_DEV_DeviceEntity.C.

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

Definition at line 797 of file N_DEV_DeviceEntity.C.

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

Definition at line 767 of file N_DEV_DeviceEntity.C.

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

Definition at line 730 of file N_DEV_DeviceEntity.C.

Member Data Documentation

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

Definition at line 215 of file N_DEV_DeviceEntity.h.

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

Definition at line 223 of file N_DEV_DeviceEntity.h.

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

Definition at line 222 of file N_DEV_DeviceEntity.h.

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

Definition at line 230 of file N_DEV_DeviceEntity.h.

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

Definition at line 226 of file N_DEV_DeviceEntity.h.

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

Definition at line 227 of file N_DEV_DeviceEntity.h.

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

Definition at line 228 of file N_DEV_DeviceEntity.h.

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

Definition at line 229 of file N_DEV_DeviceEntity.h.

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

Definition at line 220 of file N_DEV_DeviceEntity.h.

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

Definition at line 217 of file N_DEV_DeviceEntity.h.

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

Definition at line 216 of file N_DEV_DeviceEntity.h.

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

Definition at line 219 of file N_DEV_DeviceEntity.h.


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