Permalink
Browse files

Updated the parameters to show better behavior.

  • Loading branch information...
1 parent 3ab9666 commit 2708625e9d7f86e6ae62cbf43aca721d2edd8347 @miscco committed May 28, 2014
Showing with 39 additions and 62 deletions.
  1. +5 −5 Cortical_Column.h
  2. +10 −10 Plots.m
  3. +1 −1 TC.cpp
  4. +6 −26 Thalamic_Column.cpp
  5. +15 −18 Thalamic_Column.h
  6. +2 −2 saves.h
View
@@ -32,8 +32,8 @@
#include "Thalamic_Column.h"
#include "macros.h"
using std::vector;
-class Thalamic_Column;
+class Thalamic_Column;
/****************************************************************************************************/
/* Typedefs for RNG */
/****************************************************************************************************/
@@ -56,7 +56,7 @@ class Cortical_Column {
Cortical_Column(double* Par, double* Con)
:sigma_e (Par[0]), alpha_Na (Par[1]), tau_Na (Par[2]), g_KNa (Par[3]),
- dphi (Par[3]),
+ dphi (Par[4]),
N_te (Con[2]), N_ti (Con[3])
{set_RNG();}
@@ -142,7 +142,7 @@ class Cortical_Column {
/* parameters of the firing adaption */
const double alpha_Na = 2; /* Sodium influx per spike in mM ms */
- const double tau_Na = 1; /* Sodium time constant in ms */
+ const double tau_Na = 1.2; /* Sodium time constant in ms */
const double R_pump = 0.09; /* Na-K pump constant in mM/ms */
const double Na_eq = 9.5; /* Na-eq concentration in mM */
@@ -183,8 +183,8 @@ class Cortical_Column {
const double N_ei = 72;
const double N_ie = 90;
const double N_ii = 90;
- const double N_te = 10;
- const double N_ti = 10;
+ const double N_te = 0;
+ const double N_ti = 0;
/* Pointer to thalamic column */
Thalamic_Column* Thalamus;
View
20 Plots.m
@@ -17,10 +17,10 @@ function Plots(T)
1.33; % g_KNa
60E-3]; % dphi
- Con = [0; % N_et
- 0; % N_er
- 0; % N_te
- 0]; % N_ti
+ Connectivity= [2; % N_et
+ 2; % N_er
+ 5; % N_te
+ 5]; % N_ti
% stimulation parameters
% first number is the mode of stimulation
@@ -29,16 +29,16 @@ function Plots(T)
% 2 == phase dependend up state
% 3 == phase dependend down state
- var_stim = [ 0 % mode of stimulation
- 100.0; % strength of the stimulus in Hz (spikes per second)
- 100; % duration of the stimulus in ms
- 8; % time between stimuli in s
- 550]; % time until stimuli after min in ms
+ var_stim = [ 0; % mode of stimulation
+ 0; % strength of the stimulus in Hz (spikes per second)
+ 0; % duration of the stimulus in ms
+ 0; % time between stimuli in s
+ 0]; % time until stimuli after min in ms
T = 30; % duration of the simulation
end
-[Ve, Vt] = TC(T, Input_N3, Con, var_stim);
+[Ve, Vt] = TC(T, Input_N2, Connectivity, var_stim);
L = max(size(Vt));
timeaxis = linspace(0,T,L);
View
2 TC.cpp
@@ -39,7 +39,7 @@
/****************************************************************************************************/
/* Fixed simulation settings */
/****************************************************************************************************/
-extern const int onset = 5; /* time until data is stored in s */
+extern const int onset = 20; /* time until data is stored in s */
extern const int res = 1E4; /* number of iteration steps per s */
extern const int red = res/100; /* number of iterations that is saved */
extern const double dt = 1E3/res; /* duration of a timestep in ms */
View
@@ -132,21 +132,7 @@ double Thalamic_Column::h_inf_T_r (int N) const{
return h;
}
-/* Activation time in TC population after Bazhenov 1998 */
-double Thalamic_Column::tau_m_T_t (int N) const{
- _SWITCH((Vt))
- double tau = (0.612 + 1 /(exp(-(var_Vt + 132) / 16.7) + exp((var_Vt + 16.8)/18.2)))/pow(3,1.2);
- return tau;
-}
-
-/* Activation time in RE population after Destexhe 1996 */
-double Thalamic_Column::tau_m_T_r (int N) const{
- _SWITCH((Vr))
- double tau = (1 + 0.33/( exp((var_Vr+27)/10.0) + exp(-(var_Vr+102)/15.0)))/pow(2.5, 1.2);
- return tau;
-}
-
-/* deactivation time in RE population after Destexhe 1996 */
+/* Deactivation time in RE population after Destexhe 1996 */
double Thalamic_Column::tau_h_T_t (int N) const{
_SWITCH((Vt))
double tau = (30.8 + (211.4 + exp((var_Vt+115.2)/5))/(1 + exp((var_Vt+86)/3.2)))/pow(3, 1.2);
@@ -218,17 +204,15 @@ double Thalamic_Column::I_LK_r (int N) const{
/* T-type current of TC population */
double Thalamic_Column::I_T_t (int N) const{
- _SWITCH((Vt)(h_T_t)(m_T_t))
- double I = g_T_t * pow(var_m_T_t, 2) * var_h_T_t * (var_Vt - E_Ca);
- /* double I = g_T_t * pow(m_inf_T_t(N), 2) * var_h_T_t * (var_Vt - E_Ca); */
+ _SWITCH((Vt)(h_T_t))
+ double I = g_T_t * pow(m_inf_T_t(N), 2) * var_h_T_t * (var_Vt - E_Ca);
return I;
}
/* T-type current of RE population */
double Thalamic_Column::I_T_r (int N) const{
- _SWITCH((Vr)(h_T_r)(m_T_r))
- double I = g_T_r * pow(var_m_T_r, 2) * var_h_T_r * (var_Vr - E_Ca);
- /* double I = g_T_r * pow(m_inf_T_r(N), 2) * var_h_T_r * (var_Vr - E_Ca); */
+ _SWITCH((Vr)(h_T_r))
+ double I = g_T_r * pow(m_inf_T_r(N), 2) * var_h_T_r * (var_Vr - E_Ca);
return I;
}
@@ -265,13 +249,11 @@ void Thalamic_Column::set_RK (int N) {
_SWITCH((Ca)
(Phi_tt)(Phi_tr)(Phi_rt)(Phi_rr)(phi)
(x_tt) (x_tr) (x_rt) (x_rr) (y)
- (m_T_t) (m_T_r) (h_T_t) (h_T_r)
+ (h_T_t) (h_T_r)
(m_h) (m_h2) (P_h))
Vt [N] = dt*(-(I_L_t(N) + I_et(N) + I_it(N))/tau_t - (I_LK_t(N) + I_T_t(N) + I_h(N)));
Vr [N] = dt*(-(I_L_r(N) + I_er(N) + I_ir(N))/tau_r - (I_LK_r(N) + I_T_r(N)));
Ca [N] = dt*(alpha_Ca * I_T_t(N) - (var_Ca - Ca_0)/tau_Ca);
- m_T_t [N] = dt*(m_inf_T_t(N) - var_m_T_t)/tau_m_T_t(N);
- m_T_r [N] = dt*(m_inf_T_r(N) - var_m_T_r)/tau_m_T_r(N);
h_T_t [N] = dt*(h_inf_T_t(N) - var_h_T_t)/tau_h_T_t(N);
h_T_r [N] = dt*(h_inf_T_r(N) - var_h_T_r)/tau_h_T_r(N);
m_h [N] = dt*((m_inf_h(N) * (1 - var_m_h2) - var_m_h)/tau_m_h(N) - k3 * var_P_h * var_m_h + k4 * var_m_h2);
@@ -311,8 +293,6 @@ void Thalamic_Column::add_RK(void) {
x_rt [0] += (x_rt [1] + x_rt [2] * 2 + x_rt [3] * 2 + x_rt [4])/6;
x_rr [0] += (x_rr [1] + x_rr [2] * 2 + x_rr [3] * 2 + x_rr [4])/6;
y [0] += (y [1] + y [2] * 2 + y [3] * 2 + y [4])/6;
- m_T_t [0] += (m_T_t [1] + m_T_t [2] * 2 + m_T_t [3] * 2 + m_T_t [4])/6;
- m_T_r [0] += (m_T_r [1] + m_T_r [2] * 2 + m_T_r [3] * 2 + m_T_r [4])/6;
h_T_t [0] += (h_T_t [1] + h_T_t [2] * 2 + h_T_t [3] * 2 + h_T_t [4])/6;
h_T_r [0] += (h_T_r [1] + h_T_r [2] * 2 + h_T_r [3] * 2 + h_T_r [4])/6;
m_h [0] += (m_h [1] + m_h [2] * 2 + m_h [3] * 2 + m_h [4])/6;
View
@@ -67,7 +67,7 @@ class Thalamic_Column {
void set_input (double I) {input = I;}
/* Get axonal flux */
- double get_phi (int N) const {_SWITCH((phi)); return var_phi;}
+ double get_phi (int N) const {_SWITCH((phi)); return var_phi;}
/* Initialize the RNGs */
void set_RNG (void);
@@ -85,8 +85,6 @@ class Thalamic_Column {
/* Activation functions */
double m_inf_T_t (int) const;
double m_inf_T_r (int) const;
- double tau_m_T_t (int) const;
- double tau_m_T_r (int) const;
double m_inf_h (int) const;
double tau_m_h (int) const;
@@ -132,8 +130,6 @@ class Thalamic_Column {
y = _INIT(0.0), /* derivative of phi */
h_T_t = _INIT(0.0), /* inactivation of T channel */
h_T_r = _INIT(0.0), /* inactivation of T channel */
- m_T_t = _INIT(0.0), /* activation of T channel */
- m_T_r = _INIT(0.0), /* activation of T channel */
m_h = _INIT(0.0), /* activation of h channel */
m_h2 = _INIT(0.0), /* activation of h channel bound with protein */
P_h = _INIT(0.0); /* fraction of protein bound with calcium */
@@ -146,8 +142,8 @@ class Thalamic_Column {
/* Declaration and Initialization of parameters */
/* Membrane time in ms */
- const double tau_t = 30;
- const double tau_r = 30;
+ const double tau_t = 20;
+ const double tau_r = 20;
/* Maximum firing rate in ms^-1 */
const double Qt_max = 400.E-3;
@@ -158,8 +154,8 @@ class Thalamic_Column {
const double theta_r = -58.6;
/* Sigmoid gain in mV */
- const double sigma_t = 9;
- const double sigma_r = 9;
+ const double sigma_t = 2;
+ const double sigma_r = 2;
/* Scaling parameter for sigmoidal mapping (dimensionless) */
const double C1 = (3.14159265/sqrt(3));
@@ -177,22 +173,15 @@ class Thalamic_Column {
const double g_L_r = 1;
/* Potassium leak current */
- const double g_LK_t = 0.02;
+ const double g_LK_t = 0.025;
const double g_LK_r = 0.02;
/* T current */
const double g_T_t = 3;
const double g_T_r = 2;
/* h current */
- const double g_h = 0.04;
-
- /* Connectivities (dimensionless) */
- const double N_tr = 10;
- const double N_rt = 10;
- const double N_rr = 40;
- const double N_et = 10;
- const double N_er = 10;
+ const double g_h = 0.07;
/* Reversal potentials in mV */
/* Synaptic */
@@ -230,6 +219,14 @@ class Thalamic_Column {
const double dphi = 10E-3;;
double input = 0.0;
+
+ /* Connectivities (dimensionless) */
+ const double N_tr = 5;
+ const double N_rt = 5;
+ const double N_rr = 50;
+ const double N_et = 10;
+ const double N_er = 10;
+
/* Pointer to cortical column */
Cortical_Column* Cortex;
};
View
@@ -32,8 +32,8 @@
/* Save data */
/****************************************************************************************************/
inline void get_data(int counter, Cortical_Column& Cortex, Thalamic_Column& Thalamus, double* Ve, double* Vt) {
- Ve [counter] = Cortex.Ve [0];
- Vt [counter] = Thalamus.Vt [0];
+ Ve [counter] = Cortex.Ve [0];
+ Vt [counter] = Thalamus.Vt [0];
}
/****************************************************************************************************/
/* end */

0 comments on commit 2708625

Please sign in to comment.