We build a network of neurons that can form synapses over time. When a single neuron is excited, through the connections formed, all the other neurons are excited as well. See the file demo.ipynb in the examples folder for a sample simulation.
The master branch of this repository implements the simulation in serial for running on your personal computer.
For a serial code that can be run on Bluewaters see, the branch title BW. Note all simulations relevant to Bluewaters are implemented only as vectorized simulations only. Essentially the Agent-based modeling portion of this repository is for demo purposes only.
For parallel code for running on Bluewaters, see the code BW_MPI.
Note all parallel simulations are implemented only as vectorized simulations only. Essentially the Agent-based modeling portion of this repository is for demo purposes only.
In the initial phase of the development, we started out with Agent-based modeling. This is a good first start as it allows for flexibility and ease of use in specifying model parameters. But it is computationally expensive, and hence, not suitable for large simulations. The code is maintained in ./NeuroNet
Neurons are self excited (due to noise). For some network configurations, we have synchronization, see HERE. When the network is too weak, no synchronization happens, see HERE.
Simulating the system using Agent-based modeling approach is computationally expensive. So for large networks we use a vectorized form of the simulation. The code is maintained in ./NeuronModel. Please see some example notebooks therein.
Some preliminary results:
This is a network that is fully developed. The neurons are self-activated due to noise. We can see that almost immediately the neurons synchronize.
The two axes represent neurons. The neurons are sorted by their distance to the origin. The strong correlation observed indicates that the neurons that are closer to one another are more likely to form connections than those that are further apart.