Auryn simulator
v0.8.1-206-gb56e451
Plastic Spiking Neural Network Simulator
|
Current based neuron model with absolute refractoriness as used in Vogels and Abbott 2005. More...
#include <CubaIFGroup.h>
Public Member Functions | |
CubaIFGroup (NeuronID size) | |
virtual | ~CubaIFGroup () |
void | set_bg_current (NeuronID i, AurynFloat current) |
void | set_all_bg_currents (AurynFloat current) |
void | set_refractory_period (AurynDouble t) |
AurynFloat | get_bg_current (NeuronID i) |
void | set_tau_mem (AurynFloat taum) |
void | clear () |
void | evolve () |
Public Member Functions inherited from auryn::NeuronGroup | |
NeuronGroup (NeuronID n, NodeDistributionMode mode=AUTO) | |
Default constructor. More... | |
NeuronGroup (NeuronID n, double loadmultiplier, NeuronID total) | |
Old default constructor. More... | |
virtual | ~NeuronGroup () |
void | set_state (std::string name, AurynState val) |
Conveniently sets all values in a state vector identified by name in this group. More... | |
void | set_state (std::string name, NeuronID i, AurynState val) |
Conveniently sets a single value of element i in a state vector identified by name in this group. More... | |
virtual AurynStateVector * | get_default_exc_target () |
Returns default exc target input. More... | |
virtual AurynStateVector * | get_default_inh_target () |
Returns default inh target input. More... | |
void | random_mem (AurynState mean=-60e-3, AurynState sigma=5e-3) |
virtual void | init_state () |
void | safe_tadd (NeuronID id, AurynWeight amount, TransmitterType t=GLUT) |
void | tadd (NeuronID id, AurynWeight amount, TransmitterType t=GLUT) |
void | tadd (AurynStateVector *state, NeuronID id, AurynWeight amount) |
Public Member Functions inherited from auryn::SpikingGroup | |
void | add_state_vector (std::string key, AurynStateVector *state_vector) |
Adds a state vector passed as an argument to the dictinary. More... | |
void | remove_state_vector (std::string key) |
Removes a state vector passed as an argument to the dictinary. More... | |
AurynStateVector * | find_state_vector (std::string key) |
Returns existing state vector by name or NULL if it does not exist. More... | |
AurynStateVector * | get_state_vector (std::string key) |
Creates a new or returns an existing state vector by name. More... | |
AurynStateVector * | get_existing_state_vector (std::string key) |
Returns an existing state with the supplied name. More... | |
AurynStateVector * | create_state_vector (std::string key) |
Creates a new state vector and throws an exception if a vector with the same name exists. More... | |
AurynState * | get_state_variable (std::string key) |
Creates a new group-wide state variable or returns an existing group-wide variable by name then returns a pointer to it. More... | |
void | randomize_state_vector_gauss (std::string state_vector_name, AurynState mean, AurynState sigma, int seed=12239) |
Randomizes the content of a state vector with Gaussian random numbers. Seeding is MPI save. More... | |
SpikingGroup (NeuronID size, NodeDistributionMode mode=AUTO) | |
Default constructor. More... | |
virtual | ~SpikingGroup () |
Default destructor. More... | |
virtual void | evolve_traces () |
Evolves traces. More... | |
void | set_name (std::string s) |
Set connection name. More... | |
std::string | get_name () |
Retrieves the groups name. More... | |
std::string | get_file_name () |
Extracts the class name of the connection from the file name. More... | |
std::string | get_log_name () |
Returns a string which is the combination of file and connection name for logging. More... | |
void | inc_num_spike_attributes (int x) |
Instructs SpikingGroup to increase the number of spike attributes by x. More... | |
int | get_num_spike_attributes () |
void | conditional_evolve () |
Conditional evolve functino which is called by System. More... | |
unsigned int | get_locked_rank () |
Returns locked rank for SpikingGroups which are not distributed across all ranks. More... | |
unsigned int | get_locked_range () |
Returns locked range of ranks for SpikingGroups which are not distributed across all ranks. More... | |
SpikeContainer * | get_spikes () |
Returns pointer to a spike container that contains spikes which arrive in this timestep from all neurons in this group. More... | |
SpikeContainer * | get_spikes_immediate () |
Returns pointer to SpikeContainer of spikes generated during the last evolve() step. More... | |
AttributeContainer * | get_attributes () |
Returns pointer to Attributecontainer for usage in propagating Connection objects. Same as get_spikes_immediate(), however might be overwritten to contain Spikes that have been delayed. More... | |
AttributeContainer * | get_attributes_immediate () |
Returns pointer to Attributecontainer of spikes generated during the last evolve() step. More... | |
NeuronID | get_size () |
Returns the size of the group. More... | |
NeuronID | get_pre_size () |
Returns the size of the group. More... | |
NeuronID | calculate_rank_size (int rank=-1) |
Determines rank size and stores it in local variable. More... | |
NeuronID | get_rank_size () |
Returns the size on this rank. More... | |
NeuronID | get_post_size () |
Returns the size on this rank. More... | |
void | set_clock_ptr (AurynTime *clock) |
bool | evolve_locally () |
Returns true if the calling instance has units which are integrated on the current rank. More... | |
NeuronID | get_uid () |
Get the unique ID of the class. More... | |
Trace * | get_pre_trace (AurynFloat x) |
Returns a pre trace with time constant x. More... | |
void | add_pre_trace (Trace *tr) |
Adds trace to pretrace stack of a connection. More... | |
Trace * | get_post_trace (AurynFloat x) |
Returns a post trace with time constant x. More... | |
void | add_post_trace (Trace *tr) |
Adds trace to posttrace stack of a connection. More... | |
void | push_spike (NeuronID spike) |
Pushes a local NeuronID as spike into the axonal SpikeDelay buffer. More... | |
void | push_attribute (AurynFloat attrib) |
Pushes a spike attribute into the axonal SpikeDelay buffer. More... | |
void | clear_spikes () |
Clears all spikes stored in the delays which is useful to reset a network during runtime. More... | |
Trace * | get_post_state_trace (std::string state_name="mem", AurynFloat tau=10e-3, AurynFloat b=0.0) |
Returns a post trace of a neuronal state variable e.g. the membrane potential with time constant tau. More... | |
Trace * | get_post_state_trace (AurynStateVector *state, AurynFloat tau=10e-3, AurynFloat b=0.0) |
Returns a post trace of a neuronal state variable specified by pointer. More... | |
void | set_delay (int d) |
Sets axonal delay for this SpikingGroup. More... | |
virtual bool | write_to_file (const char *filename) |
Writes current states of SpikingGroup to human-readible textfile if implemented in derived class. More... | |
virtual bool | load_from_file (const char *filename) |
Reads current states of SpikingGroup to human-readible textfile if implemented in derived class. More... | |
NeuronID | ranksize () |
Returns size (num of neurons) on the current rank. More... | |
NeuronID | global2rank (NeuronID i) |
Converts global NeuronID within the SpikingGroup to the local NeuronID on this rank. More... | |
NeuronID | rank2global (NeuronID i) |
Converts local NeuronID from the local rank to a global NeuronID. More... | |
bool | localrank (NeuronID i) |
Checks if the global NeuronID i is integrated on this MPI rank. More... | |
NeuronID | get_vector_size () |
Rank size but rounded up to multiples of 4 (or potentially some other and larger number in future versions) for SSE compatibility. More... | |
Additional Inherited Members | |
Public Attributes inherited from auryn::NeuronGroup | |
AurynStateVector * | mem |
AurynStateVector * | g_ampa |
AurynStateVector * | g_gaba |
AurynStateVector * | g_nmda |
AurynStateVector * | thr |
Public Attributes inherited from auryn::SpikingGroup | |
SpikeDelay * | delay |
bool | active |
Toggles group active. More... | |
std::map< std::string, AurynStateVector * > | state_vectors |
std::map< std::string, AurynState > | state_variables |
Protected Member Functions inherited from auryn::NeuronGroup | |
void | init () |
void | free () |
Protected Member Functions inherited from auryn::SpikingGroup | |
virtual void | virtual_serialize (boost::archive::binary_oarchive &ar, const unsigned int version) |
Implementatinon of serialize function for writing. More... | |
virtual void | virtual_serialize (boost::archive::binary_iarchive &ar, const unsigned int version) |
Implementatinon of serialize function for reading. More... | |
void | free () |
Frees potentially allocated memory. More... | |
Protected Attributes inherited from auryn::NeuronGroup | |
AurynStateVector * | default_exc_target_state |
AurynStateVector * | default_inh_target_state |
Protected Attributes inherited from auryn::SpikingGroup | |
std::vector< Trace * > | pretraces |
Pretraces. More... | |
std::vector< Trace * > | posttraces |
Posttraces. More... | |
std::vector< Trace * > | post_state_traces |
Post state traces. More... | |
std::vector< AurynFloat > | post_state_traces_spike_biases |
std::vector< AurynStateVector * > | post_state_traces_states |
std::string | group_name |
Identifying name for object. More... | |
NeuronID | size |
Stores the size of the group. More... | |
NeuronID | rank_size |
Stores the size of the group on this rank. More... | |
SpikeContainer * | spikes |
SpikeContainers to store spikes produced during one step of evolve. More... | |
AttributeContainer * | attribs |
Static Protected Attributes inherited from auryn::SpikingGroup | |
static AurynTime * | clock_ptr = NULL |
Current based neuron model with absolute refractoriness as used in Vogels and Abbott 2005.
Although state vectors for AMPA, GABA and NMDA are defined in NeuronGroup, this model does not actively integrate these states and thus should be used in cases in which simple Integrate and Fire dynamics with current-based synapses are needed.
CubaIFGroup::CubaIFGroup | ( | NeuronID | size | ) |
The default constructor of this NeuronGroup
|
virtual |
|
virtual |
Resets all neurons to defined and identical initial state.
Implements auryn::NeuronGroup.
|
virtual |
The evolve method internally used by System.
Implements auryn::SpikingGroup.
AurynFloat CubaIFGroup::get_bg_current | ( | NeuronID | i | ) |
Gets the current background current value for neuron i
void CubaIFGroup::set_all_bg_currents | ( | AurynFloat | current | ) |
Sets the constant current for all units to the same value.
void CubaIFGroup::set_bg_current | ( | NeuronID | i, |
AurynFloat | current | ||
) |
Controls the constant current input (per default set so zero) to neuron i
void CubaIFGroup::set_refractory_period | ( | AurynDouble | t | ) |
Setter for refractory time [s]
void CubaIFGroup::set_tau_mem | ( | AurynFloat | taum | ) |