#!/usr/bin/env python3 import numpy as np import grid_generate def izh(y,t): v = y[0]; w = y[1]; v_prime = 0.04*v**2 + 5*v + 140 - w + 10 w_prime = 0.02 * (0.2*v - w) return [v_prime, w_prime] grid_generate.generate(izh, 0.1, 0.001, 1e-4, 'izh', -30.0, -50.0, 2.0, -85.0, -10.0, -15.0, 20.0, 500, 500)
'w_min': 0.0, 'w_max': 10.0, 'N_w': 20, } v = y[0] w = y[1] v_prime = (-(v - param_dict['E_r']) - w * (v - param_dict['E_e'])) / param_dict['tau_m'] w_prime = -w / param_dict['tau_s'] return [v_prime, w_prime] grid_generate.generate(cond, 1e-05, 1, 1e-12, 'cond', -55.0e-3, -65e-3, 0.0, -67.0e-3, -54.0e-3, -0.2, 1.0, 100, 100, efficacy_orientation='w')
#!/usr/bin/env python3 import numpy as np import grid_generate def adEx(y,t): C = 281 g_l = 30 E_l = -70.6 v_t = -50.4 tau = 2.0 alpha = 4.0 tau_w = 144.0 v = y[0]; w = y[1]; v_prime = (-g_l*(v - E_l) + g_l*tau*np.exp((v - v_t)/tau) - w) / C w_prime = (alpha*(v - E_l) - w) / tau_w return [v_prime, w_prime] grid_generate.generate(adEx, 0.001, 0.001, 1e-12, 'adex', -50.4, -70.6, 80.5, -75, -45, -50, 400, 100, 100)
theta_h = -55 #mV sig_h = 7 #mV k = 0.79 I = 0.0 # I_h = 0 # v = y[0] h = y[1] I_l = -g_l * (v - E_l) I_na = -g_na * (v - E_na) * h * (((1 + np.exp((v + 35) / -7.8))**-1)**3) I_k = -g_k * (v - E_k) * ((k - (1.06 * h))**4) v_prime = ((I_l + I_na + I_k) / C) + I h_prime = (((1 + (np.exp( (v - theta_h) / sig_h)))**(-1)) - h) / (30 / (np.exp( (v + 50) / 15) + np.exp(-(v + 50) / 16))) + I_h return [v_prime, h_prime] #grid_generate.generate(rybakInterneuron, 0.001, 0.001, 1e-3, 'rybak_interneuron', 60.0, -64.0, 0.0, -90, 60, -0.4, 1.0,300, 300) grid_generate.generate(rybak, 0.1, 0.001, 1e-3, 'rybak_burster', -30, -56, -0.004, -120, -20, -0.4, 1.0, 400, 300)
import grid_generate def fn(y, t): param_dict = { 'tau_m': 20e-3, 'E_r': -65e-3, 'E_e': 0e-3, 'tau_s': 5e-3, 'V_min': -66.0e-3, 'V_max': -55.0e-3, 'V_th': -55.0e-3, #'V_max', # sometimes used in other scripts 'N_V': 200, 'w_min': 0.0, 'w_max': 0.8, 'N_w': 20, 'I': 0, #0.5 to match FN mesh } v = y[0] w = y[1] v_prime = v - v**3 / 3 - w + param_dict['I'] w_prime = .08 * (v + .7 - .8 * w) return [v_prime, w_prime] grid_generate.generate(fn, 0.1, 1e-03, 1e-12, 'fn', 2.5, -2.5, 0.0, -2.5, 2.5, -1.0, 1.2, 500, 500)
V_l = -0.5; v_1 = 0.05; v_2 = 0.15; v_3 = 0; v_4 = 0.1; phi_d = 0.2; v = y[0]; w = y[1]; tau_v = 0.001; tau_w = 0.001; I_l = -g_l * (v - V_l); I_ca = -g_ca * (v - V_ca) * ((1/2)*(1 + (np.tanh((v - v_1)/v_2)))); I_k = -g_k * w * (v - V_k); w_inf = ((1/2)*(1 + (np.tanh((v - v_3)/v_4)))); tau_s = (1 / np.cosh((v - v_3)/(2*v_4))); v_prime = (I_l + I_ca + I_k)/tau_v; w_prime = (phi_d * (w_inf - w) / tau_s)/tau_w; return [v_prime, w_prime] grid_generate.generate(BoothRinzelMNSoma, 0.0001, 1, 1e-8, 'soma', 0.98, -1.48, 0.0, -1.5, 1.0, -0.2, 1.2, 300, 300) grid_generate.generate(BoothRinzelMNDendrite, 0.0001, 1, 1e-8, 'dendrite', 0.98, -1.48, 0.0, -1.5, 1.0, -0.2, 1.2, 300, 300)