Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Xyce::Device Namespace Reference

Circuit Device Definitions. More...

Namespaces

namespace  ACC
 
namespace  ADC
 
namespace  ADMSbsimcmg
 
namespace  ADMSHBT_X
 
namespace  ADMSPSP103VA
 
namespace  ADMSvbic
 
namespace  ArtificialParameters
 
namespace  BJT
 
namespace  Bsrc
 
namespace  Capacitor
 
namespace  DAC
 
namespace  Digital
 
namespace  Diode
 
namespace  DiodePDE
 
namespace  ExternDevice
 
namespace  Faddeeva
 
namespace  Inductor
 
namespace  ISRC
 
namespace  JFET
 
namespace  LTRA
 
namespace  MaterialSupport
 
namespace  MESFET
 
namespace  MOSFET1
 
namespace  MOSFET2
 
namespace  MOSFET3
 
namespace  MOSFET6
 
namespace  MOSFET_B3
 
namespace  MOSFET_B3SOI
 
namespace  MOSFET_B4
 
namespace  MutIndLin
 
namespace  MutIndNonLin
 
namespace  MutIndNonLin2
 
namespace  Neuron
 
namespace  Neuron2
 
namespace  Neuron3
 
namespace  Neuron4
 
namespace  Neuron5
 
namespace  Neuron6
 
namespace  Neuron7
 
namespace  Neuron8
 
namespace  Neuron9
 
namespace  NeuronPop1
 
namespace  OpAmp
 
namespace  OutputMode
 
namespace  Resistor
 
namespace  Resistor3
 
namespace  ROM
 
namespace  RxnSet
 
namespace  SW
 
namespace  Synapse
 
namespace  Synapse2
 
namespace  Synapse3
 
namespace  Synapse4
 
namespace  ThermalResistor
 
namespace  TRA
 
namespace  TransLine
 
namespace  TwoDPDE
 
namespace  Units
 
namespace  VCCS
 
namespace  Vcvs
 
namespace  VDMOS
 
namespace  Vsrc
 
namespace  Xygra
 

Classes

struct  DeviceInstanceOutIteratorOp
 Operator to populate a container via an output iterator with device instances. More...
 
struct  DeviceModelOutIteratorOp
 Operator to populate a container via an output iterator with device models. More...
 
struct  DeviceInstanceNameOp
 Operator to populate a container of strings with the names of the device instances. More...
 
struct  MapOp
 operator to populate a map from device instance name to device instance pointer More...
 
class  CompositeParam
 CompositeParam is the base class for classes that wish to only manage the processing of parameter data. More...
 
struct  ModelGroupLeadTraits
 
struct  ModelGroupType_
 
struct  ModelGroupType_< M, ModelGroupLeadTraits >
 
class  DeviceTraits
 The DeviceTraits template describes the configuration of a device. More...
 
struct  FactoryBlock
 The FactoryBlock contains parameters needed by the device, instance and model creation functions. More...
 
class  Configuration
 Class Configuration contains device configuration data. More...
 
struct  ModelGroupTraits_
 
struct  ModelGroupTraits_< T, ModelGroupLeadTraits >
 
class  Config
 Config template derives from the Configuration class and provides the instance and model parameter decriptions. More...
 
struct  DeviceModelOp
 
struct  DeviceInstanceOp
 
class  Device
 The Device class is an interface for device implementations. More...
 
class  ModelBlock
 ModelBlock represents a .MODEL line from the netlist. More...
 
class  InstanceBlock
 InstanceBlock represent a device instance line from the netlist. More...
 
struct  Depend
 
class  DeviceEntity
 
class  DeviceInstance
 
class  DeviceInterface
 
class  DeviceMaster
 DeviceMaster instantiates a device as described by the device traits T. More...
 
class  DeviceMgr
 
class  DeviceModel
 
class  DeviceOptions
 
class  DeviceSensitivities
 
class  DeviceState
 
class  DeviceSupport
 
struct  ExternalSimulationData
 
class  ExternData
 
class  InstanceName
 Devices and models are each named. More...
 
class  interpolator
 
class  akima
 
class  cubicSpline
 
class  linear
 
class  MatrixLoadData
 
class  colData
 
class  valData
 
struct  ParamWarning
 
struct  ParamError
 
struct  UserWarning
 
struct  UserWarning0
 
struct  UserError
 
struct  UserError0
 
struct  UserFatal
 
struct  UserFatal0
 
struct  DevelFatal
 
struct  DevelFatal0
 
struct  NameLevelKey
 
struct  NameLevelLess
 
class  NumericalJacobian
 
class  DeviceMgrGlobalParameterOp
 
class  DeviceEntityParameterOp
 
class  DeviceMgrParameterOp
 
class  Param
 
class  baseSensitivity
 Base sensitivity functor. More...
 
class  ParameterBase
 Base class for all parameters. More...
 
class  ParametricData
 Manages parameter binding for class C. More...
 
class  Entry
 Class Entry<T> defines the parameter member variable access for parameter member variable of type T. More...
 
class  Entry< void >
 Class Entry<void> defines the parameter binding value entry interface. More...
 
class  Descriptor
 Class Descriptor describes the parameters stored in the ParametricData parameter map. More...
 
class  ParametricData< void >
 Class ParametricData<void> manages the configuration information and the parameter binding map. More...
 
class  RateCalculator
 Abstract interface class for "rate calculator" strategy pattern. More...
 
class  SimpleRateCalculator
 Class for trivial, constant rate constant (independent of temperature) More...
 
class  CaptureRateCalculator
 Rate constant calculator for Electron or Hole capture reaction. More...
 
class  EmissionRateCalculator
 Rate constant calculator for Electron or Hole emission reaction. More...
 
class  ComplexRateCalculator
 Rate constant calculator for a irreversible two-species complexing reaction. More...
 
class  DecomplexRateCalculator
 
class  BourgoinCorbettHoleRateCalculator
 
class  Reaction
 
class  ReactionLexer
 
class  ReactionNetwork
 
class  Region
 
class  RegionData
 
struct  Globals
 
class  SolverState
 
class  SourceInstance
 
class  SourceData
 
class  SinData
 
class  ExpData
 
class  ACData
 
class  PulseData
 
class  PWLinData
 
class  SFFMData
 
class  ConstData
 
class  SmoothPulseData
 
class  Specie
 
class  SpecieSource
 
class  TransportHelper
 
struct  DeviceGlobalParameterOpBuilder
 
struct  DeviceEntityOpBuilder
 
struct  DeviceMgrOpBuilder
 
struct  type_compare_less
 
struct  deviceEntityHeader
 
struct  deviceHeader
 
struct  UglyDeviceModelOp
 
class  InductorInstanceData
 
class  XygraCoilData
 
class  MembraneCS
 
class  MembraneHH
 
class  MembraneModel
 
class  MembranePassive
 
class  MembraneUserDefined
 
class  BernouliSupport
 
class  DeviceInterfaceNode
 
class  inverse_fermi_one_half_N
 
class  DevicePDEInstance
 
class  DevicePDEModel
 
class  DopeInfo
 
class  MaterialLayer
 
class  MobInfo
 
class  PDE_2DMesh
 
class  mNode
 
class  mEdge
 
class  mCell
 
class  mLabel
 
class  mEdgeInfo
 
class  mNodeInfo
 
class  NADJ
 
class  MESHHEAD
 
class  XLATCONST
 
class  XLATLABEL
 
class  NODE
 
class  EDGE
 
class  TRI
 
class  EDGEINFO
 
class  NODEINFO
 
class  mInterpAreaHelp
 
class  mInterpEdgeHelp
 
class  PDE_Electrode
 
class  PDE_1DElectrode
 
class  PDE_2DElectrode
 
class  PDEMeshContainer
 
class  ScalingVars
 

Typedefs

typedef std::map< std::string,
std::vector< Param >
, LessNoCase > 
CompositeParamMap
 
typedef type_index EntityTypeId
 
typedef type_index ModelTypeId
 
typedef type_index InstanceTypeId
 
typedef std::string ModelName
 
typedef std::map< std::string,
Descriptor *, LessNoCase > 
ParameterMap
 
typedef std::map< std::string,
CompositeParam * > 
CompositeMap
 
typedef std::vector
< CompositeParam * > 
CompositeVector
 
typedef std::map< std::string,
double, LessNoCase > 
GlobalParameterMap
 
typedef std::map< EntityTypeId,
Device * > 
EntityTypeIdDeviceMap
 
typedef std::map< int, double > OriginalValueMap
 
typedef std::set< int > GivenValueSet
 
typedef std::map< std::string,
std::vector< Param >
, LessNoCase > 
DeviceParamMap
 
typedef std::map< std::string,
std::pair< DeviceModel
*, std::vector< DeviceInstance * > > > 
UglyMap
 
typedef void(* dl_register_t )()
 
typedef double(* FUNC )(double)
 

Enumerations

enum  CalcType {
  NOCALC,
  SIMPLECALC,
  CAPTURECALC,
  EMISSIONCALC,
  COMPLEXCALC,
  DECOMPLEXCALC,
  BCHOLECALC,
  BCELECTRONCALC
}
 
enum  meshType {
  INTERNAL,
  EXTERNAL,
  NUMTYPE
}
 

Functions

template<class D , class Op >
void forEachInstance (const D &d, Op op)
 Call forEachInstance on object d, passing operator op. More...
 
template<class D , class Op >
void forEachModel (const D &d, Op op)
 Call forEachModel on object d, passing operator op. More...
 
template<class C >
const std::string & getName (const C *c)
 Returns the name of the specified object. More...
 
template<class D , class Out >
void getDeviceInstances (const D &d, Out it)
 Calls forEachInstance() on d which iterates through all the instances copies them to the output iterator. More...
 
template<class D , class Out >
void getDeviceModels (const D &d, Out it)
 Calls forEachModel() on d which iterates through all the models copies them to the output iterator. More...
 
template<class D , class Out >
void getDeviceInstanceNames (const D &d, Out it)
 Calls forEachInstance() on d which iterates through all the instance and copies the name to the output iterator. More...
 
template<class D , class X >
void mapDeviceInstances (const D &d, std::map< std::string, X * > &map)
 Calls forEachInstance() on d which iterates through all the instances and inserts the device instance name to pointer mapping. More...
 
void populateParams (const ParameterMap &parameter_map, std::vector< Param > &param_list, CompositeParamMap &composite_param_map)
 
void setParameters (CompositeParam &composite_param, const std::string &pName, const Param &ndParam)
 
void setParameters (DeviceEntity &entity, std::vector< Param >::const_iterator begin, std::vector< Param >::const_iterator end, const DeviceOptions &device_options)
 
void instance_must_reference_model_error (const Device &device, const std::string &model_name, const NetlistLocation &netlist_location)
 reports that the type of instance requires that a model be specified More...
 
void could_not_find_model_error (const Device &device, const std::string &model_name, const std::string &instance_name, const NetlistLocation &netlist_location)
 reports that the model name is note defined More...
 
void duplicate_model_warning (const Device &device, const DeviceModel &model, const NetlistLocation &netlist_location)
 duplicate_model_warning reports that the model name is duplicated. More...
 
void duplicate_instance_warning (const Device &device, const DeviceInstance &instance, const NetlistLocation &netlist_location)
 duplicate_instance_warning reports a duplication of instance names. More...
 
void duplicate_entity_warning (const Device &device, const DeviceEntity &entity, const NetlistLocation &netlist_location)
 duplicate_entity_warning reports a duplication of entity names. More...
 
std::ostream & operator<< (std::ostream &os, const Configuration &configuration)
 
bool operator== (const InstanceName &entity_name, const std::string &name)
 
bool operator< (const InstanceName &entity_name, const std::string &name)
 
bool operator!= (const InstanceName &entity_name, const std::string &name)
 
std::string setupOutputName (const InstanceName &name)
 
std::ostream & operator<< (std::ostream &os, const InstanceName &entity_name)
 
void spiceInternalName (std::string &entity_name)
 
std::string spiceInternalName (const InstanceName &entity_name, const std::string &lead)
 
std::string spiceStoreName (const InstanceName &entity_name, const std::string &lead)
 
std::ostream & laTexDevice (std::ostream &os, const std::string &name, const int level, const int type, const std::string &device_description, const ParametricData< void > &parameters, const OutputMode::Mode format)
 
void device_assertion_error (const DeviceEntity &device_entity, const std::type_info &type, const char *label)
 
template<class T >
void Assert (bool test, const T &device_instance, const char *label)
 
std::ostream & operator<< (std::ostream &os, const Xyce::Device::NameLevelKey &device_level_key)
 
void setParamValue (Param &param, const Param &from_param)
 
void setParam (Param &param, const std::string &tag, const Param &from_param)
 
template<class T >
std::ostream & printEntry (std::ostream &os, const Entry< T > &entry)
 Prints the entry default value to the output stream. More...
 
template<class T >
std::ostream & printEntry (std::ostream &os, const Entry< std::vector< T > > &entry)
 Prints the entry default values of a vectorized parameter. More...
 
template<>
std::ostream & printEntry (std::ostream &os, const Entry< std::string > &entry)
 Prints the entry default string value, within single quotes. More...
 
template<>
std::ostream & printEntry (std::ostream &os, const Entry< bool > &entry)
 Prints the entry default boolean value, printed as true or false. More...
 
std::ostream & printEntry (std::ostream &os, const Entry< CompositeMap > &entry)
 Prints the entry composite value as newline terminated list of colon separated name, value pairs. More...
 
void typeMismatch (const std::type_info &from_type, const std::type_info &to_type)
 Report casting error when attempting to cast from from_type to to_type. More...
 
void nonexistentParameter (const std::string &name, const std::type_info &entity_type)
 Report casting error when attempting to cast from from_type to to_type. More...
 
template<class T >
const Entry< T > & entry_cast (const Entry< void > &entry)
 Casts the entry to type T. More...
 
template<class T >
Entry< T > & entry_cast (Entry< void > &entry)
 Casts the entry to type T. More...
 
template<class T >
std::ostream & printEntry (std::ostream &os, const Entry< std::map< std::string, T > > &entry)
 Prints the entry default values of a map parameter. More...
 
template<class T >
const T & getDefaultValue (const Descriptor &descriptor)
 Gets the default value of the parameter. More...
 
template<class T >
void setDefaultValue (Descriptor &descriptor, const T &t)
 Sets the default value of the parameter. More...
 
template<class T >
const T & value (const ParameterBase &entity, const Descriptor &descriptor)
 Returns the value of the parameter for the entity. More...
 
template<class T >
T & value (ParameterBase &entity, const Descriptor &descriptor)
 Returns the value of the parameter for the entity. More...
 
template<class T , class U >
const T & getValue (const ParameterBase &entity, const Descriptor &descriptor)
 Gets the value of the parameter for the entity. More...
 
template<class T , class U >
void setValue (ParameterBase &entity, const Descriptor &descriptor, const T &value)
 Sets the value of the parameter. More...
 
void checkExprAccess (const std::string &name, ParameterType::ExprAccess &expr_access, const std::type_info &parameter_data_class)
 Report error if both MIN_CAP and MIN_RES have been specified. More...
 
void setDefaultParameters (ParameterBase &parameter_base, ParameterMap::const_iterator begin, ParameterMap::const_iterator end, const DeviceOptions &device_options)
 Set the default values for the parameter. More...
 
double getOriginalValue (ParameterBase &parameter_base, int serial_number)
 Retrieve a parameter's original value. More...
 
void setOriginalValue (ParameterBase &parameter_base, int serial_number, double value)
 Set a parameter's original value. More...
 
bool wasValueGiven (const ParameterBase &parameter_base, int serial_number)
 Return true if a value was provided for the device. More...
 
void setValueGiven (ParameterBase &parameter_base, int serial_number, bool value)
 Set the given value state of a parameter. More...
 
bool isTempParam (const std::string &name)
 Returns true if the name is TNOM or TEMP. More...
 
std::ostream & print (std::ostream &os, const Device &device)
 
std::ostream & printDotOpOutput (std::ostream &os, const Device &device)
 
std::ostream & printParameter (std::ostream &os, const ParameterBase &entity, const std::string &name, const Descriptor &param)
 
std::ostream & printCompositeParameters (std::ostream &os, const CompositeParam &composite)
 
std::ostream & operator<< (std::ostream &os, const ReactionNetwork &rn)
 
void registerDevices ()
 
void registerPlugin (const char *so_path)
 
void sourceFunctionMetadata (DeviceParamMap &map)
 
std::ostream & operator<< (std::ostream &os, const SpecieSource &ds)
 
template<>
const std::string & getName (const DeviceInstance *device_instance)
 
template<>
const std::string & getName (const DeviceModel *device_model)
 
std::ostream & operator<< (std::ostream &os, const ModelBlock &mb)
 
std::ostream & operator<< (std::ostream &os, const InstanceBlock &ib)
 
void setVoltageLimiterFlag (bool flagVal)
 
std::ostream & operator<< (std::ostream &os, const DeviceOptions &devOp)
 
std::ostream & operator<< (std::ostream &os, const DeviceState &ds)
 
std::ostream & printTypeName (std::ostream &os, const std::type_info &type)
 
std::ostream & outputParameterMap (std::ostream &os, const ParameterMap &parameter_map)
 
std::ostream & outputDescriptor (std::ostream &os, const Descriptor &descriptor)
 
std::ostream & operator<< (std::ostream &os, const deviceEntityHeader &x)
 
std::ostream & operator<< (std::ostream &os, const deviceHeader &x)
 
void registerDL (const char *so_path, const char *function_key=0)
 
std::ostream & operator<< (std::ostream &os, const SolverState &ss)
 
void registerOpenDevices ()
 
void registerADMSDevices ()
 
void registerNeuronDevices ()
 
std::ostream & operator<< (std::ostream &os, const DopeInfo &di)
 
double sq (double x)
 
std::ostream & operator<< (std::ostream &os, const PDE_2DElectrode &el)
 
void registerTCADDevices ()
 
template<typename ScalarT >
ScalarT Xycemax (ScalarT f1, ScalarT f2)
 
template<typename ScalarT >
ScalarT Xycemin (ScalarT f1, ScalarT f2)
 
std::ostream & operator<< (std::ostream &os, const MaterialLayer &ml)
 

Variables

std::map< const std::type_info
*, std::string,
type_compare_less
s_typeInfoNameMap
 

Detailed Description

Circuit Device Definitions.

All Open Source devices are defined in the device class. Each device type is defined in its own namespace which holds the device model class, instance class, master class, traits and associated functions. Device Development Overview describes the contents of each device namespace and how to write a new device.

Typedef Documentation

typedef std::map< std::string, CompositeParam * > Xyce::Device::CompositeMap

Definition at line 148 of file N_DEV_fwd.h.

typedef std::map<std::string, std::vector<Param>, LessNoCase> Xyce::Device::CompositeParamMap

Definition at line 68 of file N_DEV_DeviceEntity.h.

Definition at line 149 of file N_DEV_fwd.h.

typedef std::map<std::string, std::vector<Param>, LessNoCase> Xyce::Device::DeviceParamMap

Definition at line 78 of file N_DEV_SourceData.h.

typedef void(* Xyce::Device::dl_register_t)()

Definition at line 106 of file N_DEV_RegisterDevices.C.

typedef type_index Xyce::Device::EntityTypeId

Definition at line 141 of file N_DEV_fwd.h.

Definition at line 152 of file N_DEV_fwd.h.

typedef double(* Xyce::Device::FUNC)(double)

Definition at line 160 of file N_DEV_BernouliSupport.h.

typedef std::set<int> Xyce::Device::GivenValueSet

Definition at line 144 of file N_DEV_Pars.h.

typedef std::map<std::string, double, LessNoCase> Xyce::Device::GlobalParameterMap

Definition at line 150 of file N_DEV_fwd.h.

typedef type_index Xyce::Device::InstanceTypeId

Definition at line 143 of file N_DEV_fwd.h.

typedef std::string Xyce::Device::ModelName

Definition at line 145 of file N_DEV_fwd.h.

typedef type_index Xyce::Device::ModelTypeId

Definition at line 142 of file N_DEV_fwd.h.

typedef std::map<int, double> Xyce::Device::OriginalValueMap

Definition at line 143 of file N_DEV_Pars.h.

typedef std::map< std::string, Descriptor *, LessNoCase > Xyce::Device::ParameterMap

Definition at line 147 of file N_DEV_fwd.h.

typedef std::map<std::string, std::pair<DeviceModel *, std::vector<DeviceInstance *> > > Xyce::Device::UglyMap

Definition at line 111 of file N_DEV_Print.C.

Enumeration Type Documentation

Enumerator
NOCALC 
SIMPLECALC 
CAPTURECALC 
EMISSIONCALC 
COMPLEXCALC 
DECOMPLEXCALC 
BCHOLECALC 
BCELECTRONCALC 

Definition at line 63 of file N_DEV_RateConstantCalculators.h.

Enumerator
INTERNAL 
EXTERNAL 
NUMTYPE 

Definition at line 107 of file N_DEV_PDE_2DMesh.h.

Function Documentation

template<class T >
void Xyce::Device::Assert ( bool  test,
const T &  device_instance,
const char *  label 
)

Definition at line 121 of file N_DEV_Message.h.

void Xyce::Device::checkExprAccess ( const std::string &  name,
ParameterType::ExprAccess expr_access,
const std::type_info &  parameter_data_class 
)

Report error if both MIN_CAP and MIN_RES have been specified.

Parameters
nameParameter name
expr_accessParameter expr access to verify
parameter_data_classTypeinfo to display name of class on error

Definition at line 167 of file N_DEV_Pars.C.

void Xyce::Device::could_not_find_model_error ( const Device &  device,
const std::string &  model_name,
const std::string &  instance_name,
const NetlistLocation &  netlist_location 
)

reports that the model name is note defined

Parameters
deviceconst reference to the device
model_nameconst reference to the model name
instance_nameconst reference to the instance name
netlist_pathconst reference to the netlist path
line_numberline number in the netlist path

Definition at line 97 of file N_DEV_DeviceMaster.C.

void Xyce::Device::device_assertion_error ( const DeviceEntity &  device_entity,
const std::type_info &  type,
const char *  label 
)

Definition at line 230 of file N_DEV_Message.C.

void Xyce::Device::duplicate_entity_warning ( const Device &  device,
const DeviceEntity &  entity,
const NetlistLocation &  netlist_location 
)

duplicate_entity_warning reports a duplication of entity names.

Currently models and devices can share a name and the current implementation of entityMap_ results in lost information.

Parameters
entityconst reference to the entity that is being added

Definition at line 169 of file N_DEV_DeviceMaster.C.

void Xyce::Device::duplicate_instance_warning ( const Device &  device,
const DeviceInstance &  instance,
const NetlistLocation &  netlist_location 
)

duplicate_instance_warning reports a duplication of instance names.

Currently models and devices can share a name and the current implementation of instanceMap_ results in lost information.

Parameters
instanceconst reference to the instance that is being added

Definition at line 144 of file N_DEV_DeviceMaster.C.

void Xyce::Device::duplicate_model_warning ( const Device &  device,
const DeviceModel &  model,
const NetlistLocation &  netlist_location 
)

duplicate_model_warning reports that the model name is duplicated.

Parameters
deviceconst reference to the device
model_nameconst reference to the model name
netlist_pathconst reference to the netlist path
line_numberline number in the netlist path

Definition at line 119 of file N_DEV_DeviceMaster.C.

template<class T >
const Entry<T>& Xyce::Device::entry_cast ( const Entry< void > &  entry)

Casts the entry to type T.

If the entry if not of the specified type, typeMismatch() is called to emit a fatal error.

Template Parameters
Ttype to cast to
Parameters
entryentry to cast
Returns
const reference to Entry<T>
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Jul 25 13:21:09 2013

Definition at line 501 of file N_DEV_Pars.h.

template<class T >
Entry<T>& Xyce::Device::entry_cast ( Entry< void > &  entry)

Casts the entry to type T.

If the entry if not of the specified type, typeMismatch() is called to emit a fatal error.

Template Parameters
Ttype to cast to
Parameters
entryentry to cast
Returns
reference to Entry<T>
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Jul 25 13:21:09 2013

Definition at line 523 of file N_DEV_Pars.h.

template<class D , class Op >
void Xyce::Device::forEachInstance ( const D &  d,
Op  op 
)

Call forEachInstance on object d, passing operator op.

Parameters
dObject to call forEachInstance on
opOperator to call passing in DeviceInstance pointer

Definition at line 79 of file N_DEV_Algorithm.h.

template<class D , class Op >
void Xyce::Device::forEachModel ( const D &  d,
Op  op 
)

Call forEachModel on object d, passing operator op.

Parameters
dObject to call forEachModel on
opOperator to call passing in DeviceModel pointer

Definition at line 99 of file N_DEV_Algorithm.h.

template<class T >
const T& Xyce::Device::getDefaultValue ( const Descriptor &  descriptor)
inline

Gets the default value of the parameter.

Parameters
descriptordescriptor of the parameter
Returns
const reference to the default value of the entry of the descriptor
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:37:33 2013

Definition at line 1194 of file N_DEV_Pars.h.

template<class D , class Out >
void Xyce::Device::getDeviceInstanceNames ( const D &  d,
Out  it 
)

Calls forEachInstance() on d which iterates through all the instance and copies the name to the output iterator.

Parameters
dD to call forEachInstance
itoutput iterator

Definition at line 381 of file N_DEV_Algorithm.h.

template<class D , class Out >
void Xyce::Device::getDeviceInstances ( const D &  d,
Out  it 
)

Calls forEachInstance() on d which iterates through all the instances copies them to the output iterator.

Parameters
dD to call forEachInstance
itoutput iterator

Definition at line 340 of file N_DEV_Algorithm.h.

template<class D , class Out >
void Xyce::Device::getDeviceModels ( const D &  d,
Out  it 
)

Calls forEachModel() on d which iterates through all the models copies them to the output iterator.

Parameters
dD to call forEachModel
itoutput iterator

Definition at line 360 of file N_DEV_Algorithm.h.

template<>
const std::string& Xyce::Device::getName ( const DeviceInstance *  device_instance)
Parameters
device_instancedevice instance to return name of
Returns
name of device instance

Definition at line 77 of file N_DEV_Algorithm.C.

template<>
const std::string& Xyce::Device::getName ( const DeviceModel *  device_model)
Parameters
device_modeldevice model to return name of
Returns
name of device model

Definition at line 98 of file N_DEV_Algorithm.C.

template<class C >
const std::string& Xyce::Device::getName ( const C *  c)

Returns the name of the specified object.

Parameters
cobject to return associated name
Returns
name associated with the object
double Xyce::Device::getOriginalValue ( ParameterBase &  parameter_base,
int  serial_number 
)
inline

Retrieve a parameter's original value.

Parameters
parameter_basedevice entity holding parameter
serial_numberentity's serial number
Returns
original value of the parameter
Date
Tue Aug 6 13:51:16 2013
Author
David G. Baur Raytheon Sandia National Laboratories 1355

Definition at line 1686 of file N_DEV_Pars.h.

template<class T , class U >
const T& Xyce::Device::getValue ( const ParameterBase &  entity,
const Descriptor &  descriptor 
)
inline

Gets the value of the parameter for the entity.

Parameters
entitydevice class or device instance
descriptordescriptor of the parameter
Returns
const reference to the value of the entry of the descriptor
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:39:40 2013

Definition at line 1269 of file N_DEV_Pars.h.

void Xyce::Device::instance_must_reference_model_error ( const Device &  device,
const std::string &  model_name,
const NetlistLocation &  netlist_location 
)

reports that the type of instance requires that a model be specified

Parameters
deviceconst reference to the device
model_nameconst reference to the model name
netlist_pathconst reference to the netlist path
line_numberline number in the netlist path

Definition at line 75 of file N_DEV_DeviceMaster.C.

bool Xyce::Device::isTempParam ( const std::string &  name)
inline

Returns true if the name is TNOM or TEMP.

Parameters
nameparameter name
Returns
true if the name is TNOM or TEMP
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:52:26 2014

Definition at line 1749 of file N_DEV_Pars.h.

std::ostream & Xyce::Device::laTexDevice ( std::ostream &  os,
const std::string &  name,
const int  level,
const int  type,
const std::string &  device_description,
const ParametricData< void > &  parameters,
const OutputMode::Mode  format 
)

Definition at line 308 of file N_DEV_LaTexDoc.C.

template<class D , class X >
void Xyce::Device::mapDeviceInstances ( const D &  d,
std::map< std::string, X * > &  map 
)

Calls forEachInstance() on d which iterates through all the instances and inserts the device instance name to pointer mapping.

Parameters
dD to call forEachInstance
itoutput iterator

Definition at line 402 of file N_DEV_Algorithm.h.

void Xyce::Device::nonexistentParameter ( const std::string &  name,
const std::type_info &  entity_type 
)

Report casting error when attempting to cast from from_type to to_type.

Parameters
nameparameter name
entity_typeentity

Definition at line 128 of file N_DEV_Pars.C.

bool Xyce::Device::operator!= ( const InstanceName &  entity_name,
const std::string &  name 
)
inline

Definition at line 343 of file N_DEV_InstanceName.h.

bool Xyce::Device::operator< ( const InstanceName &  entity_name,
const std::string &  name 
)
inline

Definition at line 339 of file N_DEV_InstanceName.h.

std::ostream & Xyce::Device::operator<< ( std::ostream &  os,
const Configuration &  configuration 
)

Definition at line 128 of file N_DEV_Dump.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const deviceEntityHeader &  x 
)

Definition at line 72 of file N_DEV_Message.C.

std::ostream & Xyce::Device::operator<< ( std::ostream &  os,
const Xyce::Device::NameLevelKey device_level_key 
)

Definition at line 54 of file N_DEV_NameLevelKey.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const SpecieSource &  ds 
)
inline

Definition at line 92 of file N_DEV_SpecieSource.h.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const ModelBlock &  mb 
)

Definition at line 131 of file N_DEV_DeviceBlock.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const DopeInfo &  di 
)
inline

Definition at line 154 of file N_DEV_DopeInfo.h.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const SolverState &  ss 
)

Definition at line 155 of file N_DEV_SolverState.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const DeviceState &  ds 
)

Definition at line 157 of file N_DEV_DeviceState.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const deviceHeader &  x 
)

Definition at line 171 of file N_DEV_Message.C.

std::ostream & Xyce::Device::operator<< ( std::ostream &  os,
const InstanceName &  entity_name 
)

Definition at line 257 of file N_DEV_InstanceName.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const MaterialLayer &  ml 
)

Definition at line 382 of file N_DEV_MaterialLayer.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const InstanceBlock &  ib 
)

Definition at line 477 of file N_DEV_DeviceBlock.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const DeviceOptions &  devOp 
)

Definition at line 494 of file N_DEV_DeviceOptions.C.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const ReactionNetwork &  rn 
)
inline

Definition at line 755 of file N_DEV_ReactionNetwork.h.

std::ostream& Xyce::Device::operator<< ( std::ostream &  os,
const PDE_2DElectrode &  el 
)
inline

Definition at line 881 of file N_DEV_PDE_2DMesh.h.

bool Xyce::Device::operator== ( const InstanceName &  entity_name,
const std::string &  name 
)
inline

Definition at line 335 of file N_DEV_InstanceName.h.

std::ostream& Xyce::Device::outputDescriptor ( std::ostream &  os,
const Descriptor &  descriptor 
)

Definition at line 93 of file N_DEV_Dump.C.

std::ostream & Xyce::Device::outputParameterMap ( std::ostream &  os,
const ParameterMap &  parameter_map 
)

Definition at line 117 of file N_DEV_Dump.C.

void Xyce::Device::populateParams ( const ParameterMap &  parameter_map,
std::vector< Param > &  param_list,
CompositeParamMap &  composite_param_map 
)

Definition at line 1190 of file N_DEV_DeviceEntity.C.

std::ostream & Xyce::Device::print ( std::ostream &  os,
const Device &  device 
)

Definition at line 90 of file N_DEV_Print.C.

std::ostream & Xyce::Device::printCompositeParameters ( std::ostream &  os,
const CompositeParam &  composite 
)

Definition at line 389 of file N_DEV_Print.C.

std::ostream & Xyce::Device::printDotOpOutput ( std::ostream &  os,
const Device &  device 
)

Definition at line 151 of file N_DEV_Print.C.

template<class T >
std::ostream & Xyce::Device::printEntry ( std::ostream &  os,
const Entry< T > &  entry 
)
inline

Prints the entry default value to the output stream.

Parameters
osoutput stream
entryentry to print
Returns
reference to the output stream
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:32:26 2013

Definition at line 1079 of file N_DEV_Pars.h.

template<class T >
std::ostream & Xyce::Device::printEntry ( std::ostream &  os,
const Entry< std::vector< T > > &  entry 
)
inline

Prints the entry default values of a vectorized parameter.

Parameters
osoutput stream
entryentry to print
Returns
reference to the output stream
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:33:24 2013

Definition at line 1098 of file N_DEV_Pars.h.

template<>
std::ostream & Xyce::Device::printEntry ( std::ostream &  os,
const Entry< std::string > &  entry 
)
inline

Prints the entry default string value, within single quotes.

Parameters
osoutput stream
entryentry to print
Returns
reference to the output stream
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:34:18 2013

Definition at line 1138 of file N_DEV_Pars.h.

template<>
std::ostream & Xyce::Device::printEntry ( std::ostream &  os,
const Entry< bool > &  entry 
)
inline

Prints the entry default boolean value, printed as true or false.

Parameters
osoutput stream
entryentry to print
Returns
reference to the output stream
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:34:18 2013

Definition at line 1157 of file N_DEV_Pars.h.

std::ostream & Xyce::Device::printEntry ( std::ostream &  os,
const Entry< CompositeMap > &  entry 
)
inline

Prints the entry composite value as newline terminated list of colon separated name, value pairs.

Parameters
osoutput stream
entryentry to print
Returns
reference to the output stream
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:34:18 2013

Definition at line 1175 of file N_DEV_Pars.h.

template<class T >
std::ostream& Xyce::Device::printEntry ( std::ostream &  os,
const Entry< std::map< std::string, T > > &  entry 
)
inline

Prints the entry default values of a map parameter.

Parameters
osoutput stream
entryentry to print
Returns
reference to the output stream
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:37:16 2014

Definition at line 1118 of file N_DEV_Pars.h.

std::ostream & Xyce::Device::printParameter ( std::ostream &  os,
const ParameterBase &  entity,
const std::string &  name,
const Descriptor &  param 
)

Definition at line 299 of file N_DEV_Print.C.

std::ostream& Xyce::Device::printTypeName ( std::ostream &  os,
const std::type_info &  type 
)

Definition at line 71 of file N_DEV_Dump.C.

void Xyce::Device::registerADMSDevices ( )

Definition at line 59 of file N_DEV_RegisterADMSDevices.C.

void Xyce::Device::registerDevices ( )

Definition at line 75 of file N_DEV_RegisterDevices.C.

void Xyce::Device::registerDL ( const char *  so_path,
const char *  function_key = 0 
)

Definition at line 108 of file N_DEV_RegisterDevices.C.

void Xyce::Device::registerNeuronDevices ( )

Definition at line 69 of file N_DEV_RegisterNeuronDevices.C.

void Xyce::Device::registerOpenDevices ( )

Definition at line 96 of file N_DEV_RegisterOpenDevices.C.

void Xyce::Device::registerPlugin ( const char *  so_path)

Definition at line 101 of file N_DEV_RegisterDevices.C.

void Xyce::Device::registerTCADDevices ( )

Definition at line 57 of file N_DEV_RegisterTCADDevices.C.

void Xyce::Device::setDefaultParameters ( ParameterBase &  parameter_base,
ParameterMap::const_iterator  begin,
ParameterMap::const_iterator  end,
const DeviceOptions &  device_options 
)

Set the default values for the parameter.

Iterates over parameters of parameter_base object, setting parameter_base members variables to the default value provided when the addPar() function created the parameter descrption.

Note that any values provided in the objects constructor that are defined as parameters have their initialized value replaced with the default value given in the addPar() call

Parameters
parameter_base
begin
end
device_options
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Thu Feb 6 16:51:00 2014
Parameters
parameter_baseDeviceEntity or CompositeParam
beginBegin iterator of parameter descriptions
endEnd iterator of parameters descriptions
device_optionsDevice options

Definition at line 75 of file N_DEV_Pars.C.

template<class T >
void Xyce::Device::setDefaultValue ( Descriptor &  descriptor,
const T &  t 
)
inline

Sets the default value of the parameter.

Parameters
descriptordescriptor of the parameter
tdefault value
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:38:49 2013

Definition at line 1211 of file N_DEV_Pars.h.

void Xyce::Device::setOriginalValue ( ParameterBase &  parameter_base,
int  serial_number,
double  value 
)
inline

Set a parameter's original value.

Parameters
parameter_basedevice entity or composite holding parameter
serial_numberentity's serial number
valuevalue to be stored
Date
Tue Aug 6 13:53:29 2013
Author
David G. Baur Raytheon Sandia National Laboratories 1355

Definition at line 1701 of file N_DEV_Pars.h.

void Xyce::Device::setParam ( Param &  param,
const std::string &  tag,
const Param &  from_param 
)
inline

Definition at line 142 of file N_DEV_Param.h.

void Xyce::Device::setParameters ( CompositeParam &  composite_param,
const std::string &  pName,
const Param &  ndParam 
)

Definition at line 1117 of file N_DEV_DeviceEntity.C.

void Xyce::Device::setParameters ( DeviceEntity &  entity,
std::vector< Param >::const_iterator  begin,
std::vector< Param >::const_iterator  end,
const DeviceOptions &  device_options 
)

Definition at line 783 of file N_DEV_DeviceEntity.C.

void Xyce::Device::setParamValue ( Param &  param,
const Param &  from_param 
)
inline

Definition at line 137 of file N_DEV_Param.h.

std::string Xyce::Device::setupOutputName ( const InstanceName &  name)

Definition at line 170 of file N_DEV_InstanceName.C.

template<class T , class U >
void Xyce::Device::setValue ( ParameterBase &  entity,
const Descriptor &  descriptor,
const T &  value 
)
inline

Sets the value of the parameter.

Parameters
entitydevice class or device instance
descriptordescriptor of the parameter
valuevalue
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:42:13 2013

Definition at line 1287 of file N_DEV_Pars.h.

void Xyce::Device::setValueGiven ( ParameterBase &  parameter_base,
int  serial_number,
bool  value 
)
inline

Set the given value state of a parameter.

Parameters
parameter_basedevice entity or composite holding parameter
serial_numberserial number of parameter
valuetrue if the value was given
Date
Tue Aug 6 13:55:34 2013
Author
David G. Baur Raytheon Sandia National Laboratories 1355

Definition at line 1734 of file N_DEV_Pars.h.

void Xyce::Device::setVoltageLimiterFlag ( bool  flagVal)
void Xyce::Device::sourceFunctionMetadata ( DeviceParamMap &  map)

Definition at line 72 of file N_DEV_SourceData.C.

void Xyce::Device::spiceInternalName ( std::string &  entity_name)
std::string Xyce::Device::spiceInternalName ( const InstanceName &  entity_name,
const std::string &  lead 
)

Definition at line 230 of file N_DEV_InstanceName.C.

std::string Xyce::Device::spiceStoreName ( const InstanceName &  entity_name,
const std::string &  lead 
)

Definition at line 244 of file N_DEV_InstanceName.C.

double Xyce::Device::sq ( double  x)
inline

Definition at line 868 of file N_DEV_PDE_2DMesh.h.

void Xyce::Device::typeMismatch ( const std::type_info &  from_type,
const std::type_info &  to_type 
)

Report casting error when attempting to cast from from_type to to_type.

Parameters
from_typeTypeinfo casting from
to_typeTypeinfo casting to

Definition at line 147 of file N_DEV_Pars.C.

template<class T >
const T& Xyce::Device::value ( const ParameterBase &  entity,
const Descriptor &  descriptor 
)
inline

Returns the value of the parameter for the entity.

Parameters
entitydevice class or device instance
descriptordescriptor of the parameter
Returns
const reference to the value of the entry of the descriptor
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:39:40 2013

Definition at line 1230 of file N_DEV_Pars.h.

template<class T >
T& Xyce::Device::value ( ParameterBase &  entity,
const Descriptor &  descriptor 
)
inline

Returns the value of the parameter for the entity.

Parameters
entitydevice class or device instance
descriptordescriptor of the parameter
Returns
reference to the value of the entry of the descriptor
Author
David G. Baur Raytheon Sandia National Laboratories 1355
Date
Fri Aug 9 15:39:40 2013

Definition at line 1249 of file N_DEV_Pars.h.

bool Xyce::Device::wasValueGiven ( const ParameterBase &  parameter_base,
int  serial_number 
)
inline

Return true if a value was provided for the device.

Parameters
parameter_basedevice entity or composite holding parameter
serial_numberserial number of parameter
Returns
true if a value was provided for the device
Date
Tue Aug 6 13:54:25 2013
Author
David G. Baur Raytheon Sandia National Laboratories 1355

Definition at line 1718 of file N_DEV_Pars.h.

template<typename ScalarT >
ScalarT Xyce::Device::Xycemax ( ScalarT  f1,
ScalarT  f2 
)

Definition at line 114 of file N_DEV_MaterialLayer.C.

template<typename ScalarT >
ScalarT Xyce::Device::Xycemin ( ScalarT  f1,
ScalarT  f2 
)

Definition at line 115 of file N_DEV_MaterialLayer.C.

Variable Documentation

std::map<const std::type_info *, std::string, type_compare_less> Xyce::Device::s_typeInfoNameMap

Definition at line 69 of file N_DEV_Dump.C.