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

#include <N_DEV_Resistor.h>

Inheritance diagram for Xyce::Device::Resistor::Traits:
Collaboration diagram for Xyce::Device::Resistor::Traits:

Static Public Member Functions

static const char * name ()
 
static const char * deviceTypeName ()
 
static int numNodes ()
 
static const char * primaryParameter ()
 
static const char * instanceDefaultParameter ()
 
static bool isLinearDevice ()
 
static Devicefactory (const Configuration &configuration, const FactoryBlock &factory_block)
 Create a new instance of the Resistor device. More...
 
static void loadModelParameters (ParametricData< Model > &p)
 Loads the parameter definition into the model parameter map. More...
 
static void loadInstanceParameters (ParametricData< Instance > &p)
 Loads the parameter definition into the instance parameter map. More...
 
- Static Public Member Functions inherited from Xyce::Device::DeviceTraits< Model, Instance >
static const InstanceTypeId instanceType ()
 Returns the instance type identifier. More...
 
static const ModelTypeId modelType ()
 Returns the model type identifier. More...
 
static const ModelTypeId modelGroup ()
 Returns the model group identifier. More...
 
static Devicefactory (const Configuration &configuration, const FactoryBlock &factory_block)
 Creates a device via the device template. More...
 
static int numNodes ()
 Number of nodes must be provided in the deriving class. More...
 
static int numOptionalNodes ()
 Default number of optional nodes. More...
 
static int numFillNodes ()
 Default number of fill nodes. More...
 
static bool modelRequired ()
 By default, model is not required. More...
 
static const char * primaryParameter ()
 By default, there is no primary parameter. More...
 
static const char * instanceDefaultParameter ()
 By default, there is no instance default parameter. More...
 
static bool isLinearDevice ()
 Linear device flag must be provided in the deriving class. More...
 
static bool isPDEDevice ()
 By default, device is not a PDE device. More...
 

Additional Inherited Members

- Public Types inherited from Xyce::Device::DeviceTraits< Model, Instance >
typedef Instance InstanceType
 Make instance template parameter available. More...
 
typedef Model ModelType
 Make model template parameter available. More...
 
typedef G ModelGroupTraits
 Make model group traits template parameter available. More...
 
typedef ModelGroupType_< Model,
G >::GroupType_ 
ModelGroupType
 Make model group template parameter available. More...
 

Detailed Description

Definition at line 85 of file N_DEV_Resistor.h.

Member Function Documentation

static const char* Xyce::Device::Resistor::Traits::deviceTypeName ( )
inlinestatic

Definition at line 88 of file N_DEV_Resistor.h.

Device * Xyce::Device::Resistor::Traits::factory ( const Configuration configuration,
const FactoryBlock factory_block 
)
static

Create a new instance of the Resistor device.

Parameters
configuration
factory_block

Definition at line 1198 of file N_DEV_Resistor.C.

static const char* Xyce::Device::Resistor::Traits::instanceDefaultParameter ( )
inlinestatic

Definition at line 91 of file N_DEV_Resistor.h.

static bool Xyce::Device::Resistor::Traits::isLinearDevice ( )
inlinestatic

Definition at line 92 of file N_DEV_Resistor.h.

void Xyce::Device::Resistor::Traits::loadInstanceParameters ( ParametricData< Instance > &  p)
static

Loads the parameter definition into the instance parameter map.

Parameters
pinstance parameter map

Each parameter supported by the resistor device instance is defined via the addPar call. The minimum information required is the name of the parameter, the default value, and a member pointer to a variable in the instance class to which the value will be assigned.

Additional information such as documentation for the parameter, units (used only in output of tables for documentation), whether a special boolean should be set if the parameter is given, etc. may be specified using the various set* calls of the Xyce::Device::Descriptor class.

It is important to note that since parameters defined by addPar are defined as metadata separate from any instance, it is not possible to establish interrelationships between parameter defaults here. Parameter defaults specified in addPar are always constants. If a device requires that parameter defaults depend on values of other parameters, this has to be done in the instance constructor. Examples of such parameters in this device arethe "DTEMP" and "W" parameters, which are set to special defaults at device instantiation time. Defaults for those parameters in the addPar calls (and hence in the LaTeX tables in the reference guide produced from this data) are misleading.

Definition at line 171 of file N_DEV_Resistor.C.

void Xyce::Device::Resistor::Traits::loadModelParameters ( ParametricData< Model > &  p)
static

Loads the parameter definition into the model parameter map.

Parameters
pmodel parameter map
See Also
Xyce::Device::Resistor::Traits::loadInstanceParameters

Resistors may optionally be given a model name to enable a semiconductor resistor model with a sheet resistance. The resistance of an instance is then determined by the length and width given on the instance line. This loadModelParameters method defines the parameters that may be specified on model cards associated with semiconductor resistors.

Definition at line 229 of file N_DEV_Resistor.C.

static const char* Xyce::Device::Resistor::Traits::name ( )
inlinestatic

Definition at line 87 of file N_DEV_Resistor.h.

static int Xyce::Device::Resistor::Traits::numNodes ( )
inlinestatic

Definition at line 89 of file N_DEV_Resistor.h.

static const char* Xyce::Device::Resistor::Traits::primaryParameter ( )
inlinestatic

Definition at line 90 of file N_DEV_Resistor.h.


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