Documentation | Build Status |
---|---|
A small Julia package developed for a neuronal bifurcations minicourse mostly geared towards creating custom plots and running numerical simulations. Credit for the original course and Python code upon which this is based goes to @nalewkoz.
Before you begin make sure you have Julia v1.6 or higher (Tests were not yet developed for older versions)
From the Julia package REPL type
] add NeuralDynamics
or you can install using Pkg by typing
julia> using Pkg
julia> Pkg.add("NeuralDynamics")
Then you will be able to import the package as with any other Julia package
using NeuralDynamics
Build neuron or network models and study them in the phase plane or simulate their activity.
Currently implemented models:
- FitzHughNagumo
- WilsonCowan
- Simple Feedforward
Build your own custom models and analyze them!
Tc = 2/log(1+sqrt(2));
mutable struct Parameters
Nx::Int32 # nrows
Ny::Int32 # ncols
J::Float64 # interaction strength (nearest neighbors)
T::Float64 # temperature (kb = 1)
h::Float64 # external field
M₀::Float64 # initial magnetization
end
params = Parameters(150, 150, 1, Tc/2.5, 0, 0.5)
Mhist, X = simulateIsing2D(params, 2000000);
Display the results of the simulation:
Simulation Results | Simulation Animation |
---|---|
You can find interactive Pluto notebooks in the notebook folder.
To contribute to NeuralDynamics.jl, follow these steps:
- Fork this repository.
- Create a branch: git checkout -b branch_name.
- Make your changes and commit them: git commit -m 'commit_message'
- Push to the original branch: git push origin project_name location
- Create a pull request.
Alternatively see the GitHub documentation on creating a pull request.
If you want to contact me you can reach me at michael.young@duke.edu
This project uses an MIT License