46 #ifndef Xyce_N_DEV_RxnSet_h
47 #define Xyce_N_DEV_RxnSet_h
53 #include <N_UTL_fwd.h>
74 static const char *
name() {
return "Rxn Effects Device";}
119 void registerLIDs(
const std::vector<int> & intLIDVecRef,
120 const std::vector<int> & extLIDVecRef );
127 const std::vector< std::vector<int> > &
jacobianStamp()
const;
128 void registerJacLIDs(
const std::vector< std::vector<int> > & jacLIDVec );
std::vector< double > xVec
void loadErrorWeightMask()
bool updateSecondaryState()
std::vector< MaterialLayer * > materialVec
std::vector< std::vector< double * > > APosEqu_ConstPtr
std::vector< std::vector< int > > jacStamp
bool loadQMatrix(Linear::Matrix &dQdxMat)
std::vector< std::vector< double * > > APosEqu_SpeciesPtr
static Device * factory(const Configuration &configuration, const FactoryBlock &factory_block)
bool outputCarrierDensities()
void loadNodeSymbols(Util::SymbolTable &symbol_table) const
Populates and returns the store name map.
Pure virtual class to augment a linear system.
void registerLIDs(const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
bool processInstanceParams()
processInstanceParams
void registerJacLIDs(const std::vector< std::vector< int > > &jacLIDVec)
std::vector< int > regFirstReactantIndexVec
bool layerCompositeSpecified
void addInstance(Instance *instance)
virtual std::ostream & printOutInstances(std::ostream &os) const
bool updateIntermediateVars()
std::map< std::string, SpecieSource * > defectSourceMap
std::vector< std::vector< double * > > ANegEqu_ConstPtr
const std::vector< std::string > & getDepSolnVars()
bool useScaledVariablesFlag
std::vector< RegionData * > regionDataVec
std::vector< int > xhiStencilVec
CompositeParam * constructComposite(const std::string &cName, const std::string &pName)
const std::vector< std::vector< int > > & jacobianStamp() const
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
bool loadFMatrix(Linear::Matrix &dFdxMat)
std::map< std::string, CompositeParam * > regionDataMap
bool updatePrimaryState()
std::vector< std::vector< int > > ANegEqu_SpeciesOffset
std::vector< std::vector< int > > jacMap2
std::vector< std::vector< double * > > ANegEqu_SpeciesPtr
bool excludeNoSourceRegionsFlagGiven
std::vector< Instance * > instanceContainer
std::vector< int > xloStencilVec
std::vector< std::vector< int > > APosEqu_SpeciesOffset
static bool isLinearDevice()
std::vector< int > jacMap
static void loadModelParameters(ParametricData< Model > &model_parameters)
bool excludeNoSourceRegionsFlag
bool processParams()
processParams
The Device class is an interface for device implementations.
void resolveMaterialModel()
bool columnReorderingFlag
Class Configuration contains device configuration data.
Instance(const Configuration &configuration, const InstanceBlock &IB, Model &it_MB, const FactoryBlock &factory_block)
std::vector< Instance * > InstanceVector
virtual void forEachInstance(DeviceInstanceOp &op) const
void initializeChemistry()
static const char * name()
std::vector< double > dxVec
static void loadInstanceParameters(ParametricData< Instance > &instance_parameters)
bool reactionFileCopyFlag
void registerStateLIDs(const std::vector< int > &stateLIDVecRef)
static const char * deviceTypeName()
std::vector< TransportHelper > thVec
std::vector< int > regLastIndexVec
std::vector< Region * > regVec
bool getInstanceBreakPoints(std::vector< Util::BreakPoint > &breakPointTimes)
Model & operator=(const Model &)
ModelBlock represents a .MODEL line from the netlist.
The DeviceTraits template describes the configuration of a device.
Manages parameter binding for class C.
InstanceBlock represent a device instance line from the netlist.
std::vector< int > regNumSpecieVec
static bool modelRequired()
CompositeParam is the base class for classes that wish to only manage the processing of parameter dat...
bool updateTemperature(const double &temp=-999.0)