46 #ifndef Xyce_N_DEV_Synapse3_h
47 #define Xyce_N_DEV_Synapse3_h
69 static const char *
name() {
return "Synapse, Clopath";}
124 void registerLIDs(
const std::vector<int> & intLIDVecRef,
125 const std::vector<int> & extLIDVecRef );
138 const std::vector< std::vector<int> > &
jacobianStamp()
const;
139 void registerJacLIDs(
const std::vector< std::vector<int> > & jacLIDVec );
189 #ifdef Xyce_FullSynapseJac
191 int APostEquPostNodeOffset;
194 double *f_PostEquPostNodePtr;
void addInstance(Instance *instance)
std::vector< Instance * > InstanceVector
const std::vector< std::vector< int > > & jacobianStamp() const
static void loadModelParameters(ParametricData< Model > &model_parameters)
bool updateSecondaryState()
double transmissionProbability
Instance(const Configuration &configuration, const InstanceBlock &IB, Model &Riter, const FactoryBlock &factory_block)
Pure virtual class to augment a linear system.
void registerStoreLIDs(const std::vector< int > &storeLIDVecRef)
static const char * deviceTypeName()
static Device * factory(const Configuration &configuration, const FactoryBlock &factory_block)
void registerJacLIDs(const std::vector< std::vector< int > > &jacLIDVec)
The FactoryBlock contains parameters needed by the device, instance and model creation functions...
virtual void forEachInstance(DeviceInstanceOp &op) const
Apply a device instance "op" to all instances associated with this model.
bool updateIntermediateVars()
static const char * name()
std::vector< Instance * > instanceContainer
The Device class is an interface for device implementations.
static bool isLinearDevice()
bool processInstanceParams()
processInstanceParams
bool transmissionProbabilityValueGiven
void loadNodeSymbols(Util::SymbolTable &symbol_table) const
Populates and returns the store name map.
Class Configuration contains device configuration data.
bool updateTemperature(const double &temp_tmp)
static void loadInstanceParameters(ParametricData< Instance > &instance_parameters)
double transmissionProbability
bool updatePrimaryState()
bool processParams()
processParams
static std::vector< std::vector< int > > jacStamp
virtual std::ostream & printOutInstances(std::ostream &os) const
void registerLIDs(const std::vector< int > &intLIDVecRef, const std::vector< int > &extLIDVecRef)
double synapticWeightUpdate
ModelBlock represents a .MODEL line from the netlist.
Instance & operator=(const Instance &)
The DeviceTraits template describes the configuration of a device.
Manages parameter binding for class C.
InstanceBlock represent a device instance line from the netlist.
Model & operator=(const Model &)