Auryn simulator  v0.8.1-206-gb56e451
Plastic Spiking Neural Network Simulator
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
auryn::AIFGroup Class Reference

A simple extension of IFGroup with spike triggered adaptation. More...

#include <AIFGroup.h>

Inheritance diagram for auryn::AIFGroup:
Inheritance graph
[legend]
Collaboration diagram for auryn::AIFGroup:
Collaboration graph
[legend]

Public Member Functions

 AIFGroup (NeuronID size, NodeDistributionMode distmode=AUTO)
 
virtual ~AIFGroup ()
 
void set_tau_mem (AurynFloat taum)
 
AurynFloat get_tau_mem ()
 
void set_tau_ampa (AurynFloat tau)
 
void set_tau_gaba (AurynFloat tau)
 
void set_tau_nmda (AurynFloat tau)
 
void set_tau_adapt (AurynFloat tau)
 
AurynFloat get_tau_ampa ()
 
AurynFloat get_tau_gaba ()
 
AurynFloat get_tau_nmda ()
 
AurynFloat get_tau_adapt ()
 
void random_adapt (AurynState mean, AurynState sigma)
 
void set_ampa_nmda_ratio (AurynFloat ratio)
 
void calculate_scale_constants ()
 
void clear ()
 
void evolve ()
 Virtual pure evolve function which needs to be implemented by derived classes. More...
 
- 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 AurynStateVectorget_default_exc_target ()
 Returns default exc target input. More...
 
virtual AurynStateVectorget_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...
 
AurynStateVectorfind_state_vector (std::string key)
 Returns existing state vector by name or NULL if it does not exist. More...
 
AurynStateVectorget_state_vector (std::string key)
 Creates a new or returns an existing state vector by name. More...
 
AurynStateVectorget_existing_state_vector (std::string key)
 Returns an existing state with the supplied name. More...
 
AurynStateVectorcreate_state_vector (std::string key)
 Creates a new state vector and throws an exception if a vector with the same name exists. More...
 
AurynStateget_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...
 
SpikeContainerget_spikes ()
 Returns pointer to a spike container that contains spikes which arrive in this timestep from all neurons in this group. More...
 
SpikeContainerget_spikes_immediate ()
 Returns pointer to SpikeContainer of spikes generated during the last evolve() step. More...
 
AttributeContainerget_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...
 
AttributeContainerget_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...
 
Traceget_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...
 
Traceget_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...
 
Traceget_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...
 
Traceget_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...
 

Public Attributes

AurynFloat dg_adapt1
 
- Public Attributes inherited from auryn::NeuronGroup
AurynStateVectormem
 
AurynStateVectorg_ampa
 
AurynStateVectorg_gaba
 
AurynStateVectorg_nmda
 
AurynStateVectorthr
 
- Public Attributes inherited from auryn::SpikingGroup
SpikeDelaydelay
 
bool active
 Toggles group active. More...
 
std::map< std::string, AurynStateVector * > state_vectors
 
std::map< std::string, AurynStatestate_variables
 

Protected Member Functions

void init ()
 
void vector_scale (float mul, auryn_vector_float *v)
 
void integrate_linear_nmda_synapses ()
 
void integrate_membrane ()
 Integrate the internal state. More...
 
void check_thresholds ()
 
- Protected Member Functions inherited from auryn::NeuronGroup
void init ()
 
void free ()
 
- Protected Member Functions inherited from auryn::SpikingGroup
virtual void load_input_line (NeuronID i, const char *buf)
 
virtual std::string get_output_line (NeuronID i)
 
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

AurynStateVectordmem
 
AurynStateVectort_leak
 
AurynStateVectort_exc
 
AurynStateVectort_inh
 
AurynStateVectorg_adapt1
 
AurynFloat scale_ampa
 
AurynFloat scale_gaba
 
AurynFloat scale_thr
 
AurynFloat scale_adapt1
 
AurynFloat tau_adapt1
 
AurynFloat e_rest
 
AurynFloat e_rev
 
AurynFloat thr_rest
 
AurynFloat tau_mem
 
AurynFloat tau_thr
 
AurynFloat dthr
 
AurynFloat tau_ampa
 
AurynFloat tau_gaba
 
AurynFloat tau_nmda
 
AurynFloat A_ampa
 
AurynFloat A_nmda
 
- Protected Attributes inherited from auryn::NeuronGroup
AurynStateVectordefault_exc_target_state
 
AurynStateVectordefault_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< AurynFloatpost_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...
 
SpikeContainerspikes
 SpikeContainers to store spikes produced during one step of evolve. More...
 
AttributeContainerattribs
 

Additional Inherited Members

- Static Protected Attributes inherited from auryn::SpikingGroup
static AurynTimeclock_ptr = NULL
 

Detailed Description

A simple extension of IFGroup with spike triggered adaptation.

Constructor & Destructor Documentation

◆ AIFGroup()

AIFGroup::AIFGroup ( NeuronID  size,
NodeDistributionMode  distmode = AUTO 
)
31  : NeuronGroup(size,distmode)
32 {
34  if ( evolve_locally() ) init();
35 }
void init()
Definition: AIFGroup.cpp:45
NeuronGroup(NeuronID n, NodeDistributionMode mode=AUTO)
Default constructor.
Definition: NeuronGroup.cpp:36
bool evolve_locally()
Returns true if the calling instance has units which are integrated on the current rank...
Definition: SpikingGroup.cpp:323
System * sys
Global pointer to instance of System which needs to be initialized in every simulation main program...
Definition: auryn_global.cpp:37
void register_spiking_group(SpikingGroup *spiking_group)
Registers an instance of SpikingGroup to the spiking_groups vector.
Definition: System.cpp:261
NeuronID size
Stores the size of the group.
Definition: SpikingGroup.h:119
Here is the call graph for this function:

◆ ~AIFGroup()

AIFGroup::~AIFGroup ( )
virtual
106 {
107  if ( evolve_locally() ) free();
108 }
bool evolve_locally()
Returns true if the calling instance has units which are integrated on the current rank...
Definition: SpikingGroup.cpp:323
Here is the call graph for this function:

Member Function Documentation

◆ calculate_scale_constants()

void AIFGroup::calculate_scale_constants ( )
38 {
43 }
AurynFloat scale_thr
Definition: AIFGroup.h:49
AurynFloat tau_ampa
Definition: AIFGroup.h:55
AurynFloat scale_ampa
Definition: AIFGroup.h:49
AurynFloat scale_gaba
Definition: AIFGroup.h:49
AurynFloat tau_gaba
Definition: AIFGroup.h:55
AurynFloat tau_thr
Definition: AIFGroup.h:54
double auryn_timestep
Simulation timestep in seconds.
Definition: auryn_definitions.cpp:31
AurynFloat scale_adapt1
Definition: AIFGroup.h:50
AurynFloat tau_adapt1
Definition: AIFGroup.h:51

◆ check_thresholds()

void AIFGroup::check_thresholds ( )
protected
155 {
156  mem->clip( e_rev, 0.0 );
157 
158  AurynState * thr_ptr = thr->data;
159  for ( AurynState * i = mem->data ; i != mem->data+get_rank_size() ; ++i ) { // it's important to use rank_size here otherwise there might be spikes from units that do not exist
160  if ( *i > ( thr_rest + *thr_ptr ) ) {
161  NeuronID unit = i-mem->data;
162  push_spike(unit);
163  mem->set( unit, e_rest); // reset
164  thr->set( unit, dthr); //refractory
166  }
167  thr_ptr++;
168  }
169 
170 }
NeuronID get_rank_size()
Returns the size on this rank.
Definition: SpikingGroup.h:450
AurynFloat dg_adapt1
Definition: AIFGroup.h:64
T * data
Pointer to the array housing the data.
Definition: AurynVector.h:154
void set(IndexType i, T value)
Sets element i in vector to value.
Definition: AurynVector.h:224
AurynStateVector * g_adapt1
Definition: AIFGroup.h:47
void clip(const float min, const float max)
Definition: AurynVector.cpp:123
AurynFloat AurynState
Type for Auryn state variables (default single precision since it needs to be compatible with auryn_v...
Definition: auryn_definitions.h:160
AurynFloat e_rev
Definition: AIFGroup.h:54
void push_spike(NeuronID spike)
Pushes a local NeuronID as spike into the axonal SpikeDelay buffer.
Definition: SpikingGroup.cpp:270
AurynFloat e_rest
Definition: AIFGroup.h:54
AurynFloat thr_rest
Definition: AIFGroup.h:54
void add_specific(const IndexType i, const T c)
Adds the value c to specific vector element i.
Definition: AurynVector.h:263
AurynStateVector * mem
Definition: NeuronGroup.h:64
AurynStateVector * thr
Definition: NeuronGroup.h:75
unsigned int NeuronID
NeuronID is an unsigned integeger type used to index neurons in Auryn.
Definition: auryn_definitions.h:151
AurynFloat dthr
Definition: AIFGroup.h:54
Here is the call graph for this function:

◆ clear()

void AIFGroup::clear ( )
virtual

Implements auryn::NeuronGroup.

73 {
74  clear_spikes();
75  mem->set_all(e_rest);
76  thr->set_all(0.);
77  g_ampa->set_all(0.);
78  g_gaba->set_all(0.);
79  g_nmda->set_all(0.);
80  g_adapt1->set_all(0.);
81 
82 }
void set_all(const T v)
Set all elements to value v.
Definition: AurynVector.h:232
AurynStateVector * g_ampa
Definition: NeuronGroup.h:66
AurynStateVector * g_adapt1
Definition: AIFGroup.h:47
AurynFloat e_rest
Definition: AIFGroup.h:54
void clear_spikes()
Clears all spikes stored in the delays which is useful to reset a network during runtime.
Definition: SpikingGroup.cpp:339
AurynStateVector * g_nmda
Definition: NeuronGroup.h:70
AurynStateVector * g_gaba
Definition: NeuronGroup.h:68
AurynStateVector * mem
Definition: NeuronGroup.h:64
AurynStateVector * thr
Definition: NeuronGroup.h:75
Here is the call graph for this function:

◆ evolve()

void AIFGroup::evolve ( )
virtual

Virtual pure evolve function which needs to be implemented by derived classes.

The evolve function is called during simulations in every timestep by the System class. It updates the internal state of the spiking group and pushes spikes which are generated in this timestep to the axonal output delay (SpikeDelay).

Implements auryn::SpikingGroup.

173 {
177 }
void check_thresholds()
Definition: AIFGroup.cpp:154
void integrate_linear_nmda_synapses()
Definition: AIFGroup.cpp:110
void integrate_membrane()
Integrate the internal state.
Definition: AIFGroup.cpp:139
Here is the call graph for this function:

◆ get_tau_adapt()

AurynFloat AIFGroup::get_tau_adapt ( )
227 {
228  return tau_adapt1;
229 }
AurynFloat tau_adapt1
Definition: AIFGroup.h:51

◆ get_tau_ampa()

AurynFloat AIFGroup::get_tau_ampa ( )
194 {
195  return tau_ampa;
196 }
AurynFloat tau_ampa
Definition: AIFGroup.h:55

◆ get_tau_gaba()

AurynFloat AIFGroup::get_tau_gaba ( )
205 {
206  return tau_gaba;
207 }
AurynFloat tau_gaba
Definition: AIFGroup.h:55

◆ get_tau_mem()

AurynFloat auryn::AIFGroup::get_tau_mem ( )

◆ get_tau_nmda()

AurynFloat AIFGroup::get_tau_nmda ( )
216 {
217  return tau_nmda;
218 }
AurynFloat tau_nmda
Definition: AIFGroup.h:55

◆ init()

void AIFGroup::init ( )
protected
46 {
47  e_rest = -70e-3;
48  e_rev = -80e-3;
49  thr_rest = -50e-3;
50  dthr = 100e-3;
51  tau_thr = 5e-3;
52  tau_mem = 20e-3;
53  tau_ampa = 5e-3;
54  tau_gaba = 10e-3;
55  tau_nmda = 100e-3;
56 
58 
59  tau_adapt1 = 0.1;
60  dg_adapt1 = 0.1;
61 
63 
64  t_leak = get_state_vector("t_leak");
65  t_exc = get_state_vector("t_exc");
66  t_inh = get_state_vector("t_inh");
67  g_adapt1 = get_state_vector("g_adapt1");
68 
69  clear();
70 }
AurynFloat tau_ampa
Definition: AIFGroup.h:55
void calculate_scale_constants()
Definition: AIFGroup.cpp:37
AurynFloat dg_adapt1
Definition: AIFGroup.h:64
AurynFloat tau_mem
Definition: AIFGroup.h:54
AurynStateVector * t_exc
Definition: AIFGroup.h:45
void clear()
Definition: AIFGroup.cpp:72
AurynStateVector * get_state_vector(std::string key)
Creates a new or returns an existing state vector by name.
Definition: SpikingGroup.cpp:781
AurynFloat tau_gaba
Definition: AIFGroup.h:55
AurynFloat tau_thr
Definition: AIFGroup.h:54
AurynStateVector * g_adapt1
Definition: AIFGroup.h:47
void set_ampa_nmda_ratio(AurynFloat ratio)
Definition: AIFGroup.cpp:232
AurynFloat e_rev
Definition: AIFGroup.h:54
AurynFloat tau_nmda
Definition: AIFGroup.h:55
AurynFloat e_rest
Definition: AIFGroup.h:54
AurynStateVector * t_inh
Definition: AIFGroup.h:46
AurynFloat thr_rest
Definition: AIFGroup.h:54
AurynFloat tau_adapt1
Definition: AIFGroup.h:51
AurynFloat dthr
Definition: AIFGroup.h:54
AurynStateVector * t_leak
Definition: AIFGroup.h:44
Here is the call graph for this function:

◆ integrate_linear_nmda_synapses()

void AIFGroup::integrate_linear_nmda_synapses ( )
protected
111 {
112  // decay of ampa and gaba channel, i.e. multiply by exp(-auryn_timestep/tau)
116 
117  // compute dg_nmda = (g_ampa-g_nmda)*auryn_timestep/tau_nmda and add to g_nmda
118  const AurynFloat mul_nmda = auryn_timestep/tau_nmda;
119  g_nmda->saxpy(mul_nmda, g_ampa);
120  g_nmda->saxpy(-mul_nmda, g_nmda);
121 
122  // excitatory
123  t_exc->copy(g_ampa);
124  t_exc->scale(-A_ampa);
126  t_exc->mul(mem);
127 
128  // inhibitory
129  t_leak->copy(g_gaba); // using t_leak as temp here
130  t_leak->saxpy(1.0, g_adapt1);
131  t_inh->diff(mem,e_rev);
132  t_inh->mul(t_leak);
133 }
AurynStateVector * t_exc
Definition: AIFGroup.h:45
void diff(AurynVectorFloat *a, AurynVectorFloat *b)
Definition: AurynVector.cpp:262
AurynFloat scale_ampa
Definition: AIFGroup.h:49
void mul(const float a)
Definition: AurynVector.h:819
AurynFloat scale_gaba
Definition: AIFGroup.h:49
AurynFloat A_ampa
Definition: AIFGroup.h:56
AurynStateVector * g_ampa
Definition: NeuronGroup.h:66
AurynStateVector * g_adapt1
Definition: AIFGroup.h:47
void scale(const float a)
Definition: AurynVector.cpp:74
AurynFloat e_rev
Definition: AIFGroup.h:54
double auryn_timestep
Simulation timestep in seconds.
Definition: auryn_definitions.cpp:31
float AurynFloat
Low precision floating point datatype.
Definition: auryn_definitions.h:157
AurynFloat A_nmda
Definition: AIFGroup.h:56
void copy(AurynVector *v)
Copies vector v.
Definition: AurynVector.h:200
AurynFloat tau_nmda
Definition: AIFGroup.h:55
AurynStateVector * t_inh
Definition: AIFGroup.h:46
AurynFloat scale_adapt1
Definition: AIFGroup.h:50
AurynStateVector * g_nmda
Definition: NeuronGroup.h:70
void saxpy(const float a, AurynVectorFloat *x)
Definition: AurynVector.cpp:96
AurynStateVector * g_gaba
Definition: NeuronGroup.h:68
AurynStateVector * mem
Definition: NeuronGroup.h:64
AurynStateVector * t_leak
Definition: AIFGroup.h:44
Here is the call graph for this function:

◆ integrate_membrane()

void AIFGroup::integrate_membrane ( )
protected

Integrate the internal state.

This method applies the Euler integration step to the membrane dynamics.

140 {
141  // moving threshold
142  thr->scale(scale_thr);
143 
144  // leak
145  t_leak->diff(mem,e_rest);
146 
147  // membrane dynamics
148  const AurynFloat mul_tau_mem = auryn_timestep/tau_mem;
149  mem->saxpy(mul_tau_mem,t_exc);
150  mem->saxpy(-mul_tau_mem,t_inh);
151  mem->saxpy(-mul_tau_mem,t_leak);
152 }
AurynFloat scale_thr
Definition: AIFGroup.h:49
AurynFloat tau_mem
Definition: AIFGroup.h:54
AurynStateVector * t_exc
Definition: AIFGroup.h:45
void diff(AurynVectorFloat *a, AurynVectorFloat *b)
Definition: AurynVector.cpp:262
void scale(const float a)
Definition: AurynVector.cpp:74
double auryn_timestep
Simulation timestep in seconds.
Definition: auryn_definitions.cpp:31
float AurynFloat
Low precision floating point datatype.
Definition: auryn_definitions.h:157
AurynFloat e_rest
Definition: AIFGroup.h:54
AurynStateVector * t_inh
Definition: AIFGroup.h:46
void saxpy(const float a, AurynVectorFloat *x)
Definition: AurynVector.cpp:96
AurynStateVector * mem
Definition: NeuronGroup.h:64
AurynStateVector * thr
Definition: NeuronGroup.h:75
AurynStateVector * t_leak
Definition: AIFGroup.h:44
Here is the call graph for this function:

◆ random_adapt()

void AIFGroup::random_adapt ( AurynState  mean,
AurynState  sigma 
)
86 {
87  boost::mt19937 ng_gen(42); // produces same series every time
88  boost::normal_distribution<> dist((double)mean, (double)sigma);
89  boost::variate_generator<boost::mt19937&, boost::normal_distribution<> > die(ng_gen, dist);
90  AurynState rv;
91 
92  for ( AurynLong i = 0 ; i<get_rank_size() ; ++i ) {
93  rv = die();
94  if ( rv>0 )
95  g_adapt1->set( i, rv );
96  }
97 
98  init_state();
99 }
NeuronID get_rank_size()
Returns the size on this rank.
Definition: SpikingGroup.h:450
void set(IndexType i, T value)
Sets element i in vector to value.
Definition: AurynVector.h:224
AurynStateVector * g_adapt1
Definition: AIFGroup.h:47
unsigned long AurynLong
An unsigned long type used to count synapses or similar.
Definition: auryn_definitions.h:154
AurynFloat AurynState
Type for Auryn state variables (default single precision since it needs to be compatible with auryn_v...
Definition: auryn_definitions.h:160
virtual void init_state()
Definition: NeuronGroup.cpp:93
Here is the call graph for this function:

◆ set_ampa_nmda_ratio()

void AIFGroup::set_ampa_nmda_ratio ( AurynFloat  ratio)
233 {
234  A_ampa = ratio/(ratio+1.0);
235  A_nmda = 1./(ratio+1.0);
236 }
AurynFloat A_ampa
Definition: AIFGroup.h:56
AurynFloat A_nmda
Definition: AIFGroup.h:56

◆ set_tau_adapt()

void AIFGroup::set_tau_adapt ( AurynFloat  tau)
221 {
222  tau_adapt1 = taua;
224 }
void calculate_scale_constants()
Definition: AIFGroup.cpp:37
AurynFloat tau_adapt1
Definition: AIFGroup.h:51
Here is the call graph for this function:

◆ set_tau_ampa()

void AIFGroup::set_tau_ampa ( AurynFloat  tau)
188 {
189  tau_ampa = taum;
191 }
AurynFloat tau_ampa
Definition: AIFGroup.h:55
void calculate_scale_constants()
Definition: AIFGroup.cpp:37
Here is the call graph for this function:

◆ set_tau_gaba()

void AIFGroup::set_tau_gaba ( AurynFloat  tau)
199 {
200  tau_gaba = taum;
202 }
void calculate_scale_constants()
Definition: AIFGroup.cpp:37
AurynFloat tau_gaba
Definition: AIFGroup.h:55
Here is the call graph for this function:

◆ set_tau_mem()

void AIFGroup::set_tau_mem ( AurynFloat  taum)
181 {
182  tau_mem = taum;
184 }
void calculate_scale_constants()
Definition: AIFGroup.cpp:37
AurynFloat tau_mem
Definition: AIFGroup.h:54
Here is the call graph for this function:

◆ set_tau_nmda()

void AIFGroup::set_tau_nmda ( AurynFloat  tau)
210 {
211  tau_nmda = taum;
213 }
void calculate_scale_constants()
Definition: AIFGroup.cpp:37
AurynFloat tau_nmda
Definition: AIFGroup.h:55
Here is the call graph for this function:

◆ vector_scale()

void auryn::AIFGroup::vector_scale ( float  mul,
auryn_vector_float v 
)
protected

Member Data Documentation

◆ A_ampa

AurynFloat auryn::AIFGroup::A_ampa
protected

◆ A_nmda

AurynFloat auryn::AIFGroup::A_nmda
protected

◆ dg_adapt1

AurynFloat auryn::AIFGroup::dg_adapt1

◆ dmem

AurynStateVector* auryn::AIFGroup::dmem
protected

◆ dthr

AurynFloat auryn::AIFGroup::dthr
protected

◆ e_rest

AurynFloat auryn::AIFGroup::e_rest
protected

◆ e_rev

AurynFloat auryn::AIFGroup::e_rev
protected

◆ g_adapt1

AurynStateVector* auryn::AIFGroup::g_adapt1
protected

◆ scale_adapt1

AurynFloat auryn::AIFGroup::scale_adapt1
protected

◆ scale_ampa

AurynFloat auryn::AIFGroup::scale_ampa
protected

◆ scale_gaba

AurynFloat auryn::AIFGroup::scale_gaba
protected

◆ scale_thr

AurynFloat auryn::AIFGroup::scale_thr
protected

◆ t_exc

AurynStateVector* auryn::AIFGroup::t_exc
protected

◆ t_inh

AurynStateVector* auryn::AIFGroup::t_inh
protected

◆ t_leak

AurynStateVector* auryn::AIFGroup::t_leak
protected

◆ tau_adapt1

AurynFloat auryn::AIFGroup::tau_adapt1
protected

◆ tau_ampa

AurynFloat auryn::AIFGroup::tau_ampa
protected

◆ tau_gaba

AurynFloat auryn::AIFGroup::tau_gaba
protected

◆ tau_mem

AurynFloat auryn::AIFGroup::tau_mem
protected

◆ tau_nmda

AurynFloat auryn::AIFGroup::tau_nmda
protected

◆ tau_thr

AurynFloat auryn::AIFGroup::tau_thr
protected

◆ thr_rest

AurynFloat auryn::AIFGroup::thr_rest
protected

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