//DEFINE THE NETCONNECTION
//objref [post][pre]
//Glutamate syn(Ex)
objref RBC2AC[Num_AC][Num_RBC] //RBC -> AIIAC
objref ONCB2ONGC[Num_ONGC][Num_ONCBC] //ONCB -> ONGC
objref OFFCB2OFFGC[Num_OFFGC][Num_OFFCBC] //OFFCB -> OFFGC
objref OFFCB2AC[Num_AC][47] //OFFCB -> AIIAC
//Glycinergic syn(Inh)
objref AC2OFFGC[Num_OFFGC][Num_AC] //AIIAC -> OFFGC
objref AC2OFFCB[Num_OFFCBC][Num_AC*2] //AIIAC -> OFFCB
//Gap junction
objref Gap_AC[Num_AC][Num_AC] //AIIAC <-> AIIAC
objref Gap_OFFGC[Num_OFFGC][Num_OFFGC] //OFFGC <-> OFFGC
objref Gap_ONBC_AC[Num_ONCBC][Num_AC] //ONCB <-> AIIAC
objref Gap_AC_ONBC[Num_AC][Num_ONCBC] //ONCB <-> AIIAC
//random seed
objref prob
prob = new Random(1)
objref prob2
prob2 = new Random(32)
objref prob3
prob3 = new Random(45)
//============================//
// Glutamate synapses(Ex) //
//----------------------------//
// Rod -> AIIAC //
// ONCB -> ONGC //
// OFFCB -> OFFGC //
// OFFCB -> AIIAC //
//============================//
proc Ribbon_syn () {
// Rod -> AIIAC
//print "EX : RBC -> AIIAC"
for i = 0, Num_AC-1{
for j = 0, Num_RBC-1{
RBC2AC[i][j] = new ribbon_syn()
AIIAC[i].soma RBC2AC[i][j].loc(1) // Post synaptic compartment
setpointer RBC2AC[i][j].v_pre, RBC[j].soma.v(1)
RBC2AC[i][j].act = 0.0
RBC2AC[i][j].P1 = 0.00015
RBC2AC[i][j].P2 = 0.0232
}
}
// ONCB -> ONGC
//print "EX : ONCB -> ONGC"
for i = 0, Num_ONGC-1{
for j = 0, 15{
ONCB2ONGC[i][j] = new ribbon_syn()
ON_GC[i].soma ONCB2ONGC[i][j].loc(1) // Post synaptic compartment
setpointer ONCB2ONGC[i][j].v_pre, ON_CBC[j].soma.v(1)
ONCB2ONGC[i][j].act = 0.0
ONCB2ONGC[i][j].P1 = 0.00015
ONCB2ONGC[i][j].P2 = 0.0232
ONCB2ONGC[i][j].v_th = v_th_ONCB_ONGC
ONCB2ONGC[i][j].v_slp = 5
}
}
// OFFCB -> OFFGC
//print "EX : OFFCB -> OFFGC"
for i = 0, Num_OFFGC-1{
for j = 0, 15{
OFFCB2OFFGC[i][j] = new ribbon_syn()
OFF_GC[i].soma OFFCB2OFFGC[i][j].loc(1) // Post synaptic compartment
setpointer OFFCB2OFFGC[i][j].v_pre, OFF_CBC[j].soma.v(1)
OFFCB2OFFGC[i][j].act = 0.0
OFFCB2OFFGC[i][j].P1 = 0.00015
OFFCB2OFFGC[i][j].P2 = 0.0232
OFFCB2OFFGC[i][j].v_th = v_th_OFFCB_OFFGC
OFFCB2OFFGC[i][j].v_slp = 6
}
}
// OFFCB -> AIIAC
//print "EX : OFFCB -> AIIAC"
for i = 0, Num_AC-1{
for j = 0, 46{
OFFCB2AC[i][j] = new ribbon_syn()
AIIAC[i].soma OFFCB2AC[i][j].loc(1) // Post synaptic compartment
setpointer OFFCB2AC[i][j].v_pre, OFF_CBC[j].soma.v(1)
OFFCB2AC[i][j].act = 0.0
OFFCB2AC[i][j].P1 = 0.00015
OFFCB2AC[i][j].P2 = 0.0232
}
}
print "Ribbon_syn: done\n"
}
//============================//
// Glu syn parameter setting //
//============================//
proc Ribbon_syn_set() {
// Rod -> AIIAC
for i = 0, Num_AC-1{
for j = 0, Num_RBC-1{
RBC2AC[i][j].g_max = g_RB_AII
}
}
// ONCB -> ONGC
for i = 0, Num_ONGC-1{
for j = 0, 15{
ONCB2ONGC[i][j].g_max = g_ONCB_ONGC
ONCB2ONGC[i][j].v_th = v_th_ONCB_ONGC
}
}
// OFFCB -> OFFGC
for i = 0, Num_OFFGC-1{
for j = 0, 15{
OFFCB2OFFGC[i][j].g_max = g_OFFCB_OFFGC
OFFCB2OFFGC[i][j].v_th = v_th_OFFCB_OFFGC
}
}
// OFFCB -> AIIAC
for i = 0, Num_AC-1{
for j = 0, 46{
OFFCB2AC[i][j].g_max = g_OFFCB_AII
}
}
print "Ribbon_syn_set(): done\n"
}
//=============================//
// Glycinergic synapses(Inh) //
//-----------------------------//
// AIIAC -> OFFGC //
// AIIAC -> OFFCB //
//=============================//
proc Gly_syn() {
// AIIAC -> OFFGC
//print "INH : AIIAC -> OFFGC"
for i = 0, Num_OFFGC-1{
for j = 0, Num_AC-1{
AC2OFFGC[i][j] = new depsyn()
OFF_GC[i].soma AC2OFFGC[i][j].loc(1)
setpointer AC2OFFGC[i][j].v_pre, AIIAC[j].soma.v(1)
AC2OFFGC[i][j].v_th = v_th_AC_OFFGC
AC2OFFGC[i][j].v_slp = v_slp_AC_OFFGC
AC2OFFGC[i][j].tau_e = tau_e_AC_OFFGC
AC2OFFGC[i][j].tau_r = tau_r_AC_OFFGC
AC2OFFGC[i][j].u = u_AC_OFFGC
}
}
// AIIAC -> OFFCB
//print "INH : AIIAC -> OFFCB"
for i = 0, Num_OFFCBC-1{
for j = 0, Num_AC-1{
k = j * 2
m = k + 1
AC2OFFCB[i][k] = new depsyn()
AC2OFFCB[i][m] = new depsyn()
OFF_CBC[i].soma AC2OFFCB[i][k].loc(1)
setpointer AC2OFFCB[i][k].v_pre, AIIAC[j].soma.v(1)
OFF_CBC[i].soma AC2OFFCB[i][m].loc(1)
setpointer AC2OFFCB[i][m].v_pre, AIIAC[j].soma.v(1)
AC2OFFCB[i][k].v_th = v_th_AC_OFFCB
AC2OFFCB[i][k].v_slp = v_slp_AC_OFFCB
AC2OFFCB[i][k].tau_e = tau_e_AC_OFFCB
AC2OFFCB[i][k].tau_r = tau_r_AC_OFFCB
AC2OFFCB[i][k].u = u_AC_OFFCB
AC2OFFCB[i][m].v_th = v_th_AC_OFFCB
AC2OFFCB[i][m].v_slp = v_slp_AC_OFFCB
AC2OFFCB[i][m].tau_e = tau_e_AC_OFFCB
AC2OFFCB[i][m].tau_r = tau_r_AC_OFFCB
AC2OFFCB[i][m].u = u_AC_OFFCB
}
}
}
// Gly syn parameter setting
proc Gly_syn_set() {
// AIIAC -> OFFGC
for i = 0, Num_OFFGC-1{
for j = 0, Num_AC-1{
AC2OFFGC[i][j].g_max = g_AC_OFFGC
}
}
// AIIAC -> OFFCB
for i = 0, Num_OFFCBC-1{
for j = 0, 2*Num_AC-1{
AC2OFFCB[i][j].g_max = g_AC_OFFCB
}
}
}
//===================//
// Gap junction //
//-------------------//
// AIIAC <-> ONCB //
// AIIAC <-> AIIAC //
// OFFGC <-> OFFGC //
// ONCB <-> ONCB //
// OFFCB <-> OFFCB //
//===================//
//※Need to write both pre->post and post->pre connection
// AIIAC <-> AIIAC
proc AC_GJ () {
//print "Gap : AIIAC <-> AIIAC"
for i = 0, Num_AC-1{
for j = 0, Num_AC-1{
Gap_AC[i][j] = new Gap(0.5)
AIIAC[i].soma Gap_AC[i][j].loc(0.5)
setpointer Gap_AC[i][j].vgap, AIIAC[j].soma.v(0.5)
}
}
}
// AIIAC <-> AIIAC parameter setting
proc AC_GJ_set () {
for i = 0, Num_AC-1{
for j = 0, Num_AC-1{
Gap_AC[i][j].g = gj_AC_AC
}
}
}
// OFFGC <-> OFFGC
proc OFFGC_GJ () {
//print "Gap : OFFGC <-> OFFGC"
for i = 0, Num_OFFGC-1{
for j = 0, Num_OFFGC-1{
Gap_OFFGC[i][j] = new Gap(0.5)
OFF_GC[i].soma Gap_OFFGC[i][j].loc(0.5)
setpointer Gap_OFFGC[i][j].vgap, OFF_GC[j].soma.v(0.5)
}
}
}
// OFFGC <-> OFFGC parameter setting
proc OFFGC_GJ_set () {
for i = 0, Num_OFFGC-1{
for j = 0, Num_OFFGC-1{
Gap_OFFGC[i][j].g = gj_OFFGC_OFFGC
}
}
}
//AIIAC <-> ONCB
proc ACBC_GJ () {
//print "Gap : AIIAC <-> ONCB"
for i = 0, Num_AC-1{
for j = 0, 15{
Gap_AC_ONBC[i][j] = new Gap(0.5)
AIIAC[i].soma Gap_AC_ONBC[i][j].loc(0.5)
setpointer Gap_AC_ONBC[i][j].vgap, ON_CBC[j].soma.v(0.5)
}
}
for i = 0, 15{
for j = 0, Num_AC-1{
Gap_ONBC_AC[i][j] = new Gap(0.5)
ON_CBC[i].soma Gap_ONBC_AC[i][j].loc(0.5)
setpointer Gap_ONBC_AC[i][j].vgap, AIIAC[j].soma.v(0.5)
}
}
}
// AIIAC <-> ONCB parameter setting
proc ACBC_GJ_set () {
for i = 0, Num_AC-1{
for j = 0, 15{
Gap_AC_ONBC[i][j].g = gj_AC_ONCB
}
}
for i = 0, 15{
for j = 0, Num_AC-1{
Gap_ONBC_AC[i][j].g = gj_AC_ONCB
}
}
}
// ONCB <-> ONCB
objref Gap_ONCB_alpha[18]
objref Gap_ONCB_alpha_inv[18]
objref Gap_ONCB_beta[8]
objref Gap_ONCB_beta_inv[8]
objref Gap_ONCB_gamma[3]
objref Gap_ONCB_gamma_inv[3]
objref Gap_ONCB_delta[36]
objref Gap_ONCB_delta_inv[36]
proc ONCB_GJ () {
//print "Gap : ONCB <-> ONCB"
k = 0
l = 0
m = 0
n = 0
for i = 0, Num_ONCBC-1{
//斜め右下 and 左下
if(i == 0 || i == 1 || i == 2 || i == 8 || i == 9 || i == 10 || i == 16 || i == 17 || i == 18){
//斜め左下方向接続
Gap_ONCB_alpha[k] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_alpha[k].loc(0.5)
setpointer Gap_ONCB_alpha[k].vgap, ON_CBC[i+3].soma.v(0.5)
//斜め左下方向逆接続
Gap_ONCB_alpha_inv[k] = new Gap(0.5)
ON_CBC[i+3].soma Gap_ONCB_alpha_inv[k].loc(0.5)
setpointer Gap_ONCB_alpha_inv[k].vgap, ON_CBC[i].soma.v(0.5)
//斜め右下方向接続
Gap_ONCB_alpha[k+1] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_alpha[k+1].loc(0.5)
setpointer Gap_ONCB_alpha[k+1].vgap, ON_CBC[i+4].soma.v(0.5)
//斜め右下方向逆接続
Gap_ONCB_alpha_inv[k+1] = new Gap(0.5)
ON_CBC[i+4].soma Gap_ONCB_alpha_inv[k+1].loc(0.5)
setpointer Gap_ONCB_alpha_inv[k+1].vgap, ON_CBC[i].soma.v(0.5)
k = k + 2
}
//斜め右下 or 左下
if(i == 7 || i == 15 || i == 18){
//斜め左下の場合のみ
if(i == 18){
Gap_ONCB_gamma[l] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_gamma[l].loc(0.5)
setpointer Gap_ONCB_gamma[l].vgap, ON_CBC[i+3].soma.v(0.5)
Gap_ONCB_gamma_inv[l] = new Gap(0.5)
ON_CBC[i+3].soma Gap_ONCB_gamma_inv[l].loc(0.5)
setpointer Gap_ONCB_gamma_inv[l].vgap, ON_CBC[i].soma.v(0.5)
l = l + 1
}
if(i == 7 || i == 15){
//斜め右下の場合
Gap_ONCB_gamma[l] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_gamma[l].loc(0.5)
setpointer Gap_ONCB_gamma[l].vgap, ON_CBC[i+4].soma.v(0.5)
Gap_ONCB_gamma_inv[l] = new Gap(0.5)
ON_CBC[i+4].soma Gap_ONCB_gamma_inv[l].loc(0.5)
setpointer Gap_ONCB_gamma_inv[l].vgap, ON_CBC[i].soma.v(0.5)
l = l + 1
}
}
//縦方向
if(i == 3 || i == 4 || i == 5 || i == 6 ||i == 11 || i == 12 || i == 13 || i == 14){
Gap_ONCB_beta[m] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_beta[m].loc(0.5)
setpointer Gap_ONCB_beta[m].vgap, ON_CBC[i+4].soma.v(0.5)
Gap_ONCB_beta_inv[m] = new Gap(0.5)
ON_CBC[i+4].soma Gap_ONCB_beta_inv[m].loc(0.5)
setpointer Gap_ONCB_beta_inv[m].vgap, ON_CBC[i].soma.v(0.5)
m = m + 1
}
//放射状
if(i == 22 || i == 23 || i == 24 || i == 25 || i == 26 || i == 27){
if(i == 22 || i == 23 || i == 24){
j = i - 22
}
if(i == 25 || i == 26 ){
j = i - 17
}
//1つめ(6角形頂点)
Gap_ONCB_delta[n] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_delta[n].loc(0.5)
setpointer Gap_ONCB_delta[n].vgap, ON_CBC[j].soma.v(0.5)
//1つめ逆方向
Gap_ONCB_delta_inv[n] = new Gap(0.5)
ON_CBC[j].soma Gap_ONCB_delta_inv[n].loc(0.5)
setpointer Gap_ONCB_delta_inv[n].vgap, ON_CBC[i].soma.v(0.5)
//2つめ(6角形左上)
Gap_ONCB_delta[n+1] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_delta[n+1].loc(0.5)
setpointer Gap_ONCB_delta[n+1].vgap, ON_CBC[j+3].soma.v(0.5)
//2つめ逆方向
Gap_ONCB_delta_inv[n+1] = new Gap(0.5)
ON_CBC[j+3].soma Gap_ONCB_delta_inv[n+1].loc(0.5)
setpointer Gap_ONCB_delta_inv[n+1].vgap, ON_CBC[i].soma.v(0.5)
//3つめ(6角形右上)
Gap_ONCB_delta[n+2] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_delta[n+2].loc(0.5)
setpointer Gap_ONCB_delta[n+2].vgap, ON_CBC[j+4].soma.v(0.5)
//3つめ逆方向
Gap_ONCB_delta_inv[n+2] = new Gap(0.5)
ON_CBC[j+4].soma Gap_ONCB_delta_inv[n+2].loc(0.5)
setpointer Gap_ONCB_delta_inv[n+2].vgap, ON_CBC[i].soma.v(0.5)
//4つめ(6角形左下)
Gap_ONCB_delta[n+3] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_delta[n+3].loc(0.5)
setpointer Gap_ONCB_delta[n+3].vgap, ON_CBC[j+7].soma.v(0.5)
//4つめ逆方向
Gap_ONCB_delta_inv[n+3] = new Gap(0.5)
ON_CBC[j+7].soma Gap_ONCB_delta_inv[n+3].loc(0.5)
setpointer Gap_ONCB_delta_inv[n+3].vgap, ON_CBC[i].soma.v(0.5)
//5つめ(6角形右下)
Gap_ONCB_delta[n+4] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_delta[n+4].loc(0.5)
setpointer Gap_ONCB_delta[n+4].vgap, ON_CBC[j+8].soma.v(0.5)
//5つめ逆方向
Gap_ONCB_delta_inv[n+4] = new Gap(0.5)
ON_CBC[j+8].soma Gap_ONCB_delta_inv[n+4].loc(0.5)
setpointer Gap_ONCB_delta_inv[n+4].vgap, ON_CBC[i].soma.v(0.5)
//6つめ(6角形下)
Gap_ONCB_delta[n+5] = new Gap(0.5)
ON_CBC[i].soma Gap_ONCB_delta[n+5].loc(0.5)
setpointer Gap_ONCB_delta[n+5].vgap, ON_CBC[j+11].soma.v(0.5)
//6つめ逆方向
Gap_ONCB_delta_inv[n+5] = new Gap(0.5)
ON_CBC[j+11].soma Gap_ONCB_delta_inv[n+5].loc(0.5)
setpointer Gap_ONCB_delta_inv[n+5].vgap, ON_CBC[i].soma.v(0.5)
n = n + 6
}
// if(i == 19 || i == 20 || i == 21){
// continue
// }
}
}
proc ONCB_GJ_set () {
for i = 0, 17{
Gap_ONCB_alpha[i].g = gj_ONCB_ONCB
Gap_ONCB_alpha_inv[i].g = gj_ONCB_ONCB
}
for i = 0, 7{
Gap_ONCB_beta[i].g = gj_ONCB_ONCB
Gap_ONCB_beta_inv[i].g = gj_ONCB_ONCB
}
for i = 0, 2{
Gap_ONCB_gamma[i].g = gj_ONCB_ONCB
Gap_ONCB_gamma_inv[i].g = gj_ONCB_ONCB
}
for i = 0, 35{
Gap_ONCB_delta[i].g = gj_ONCB_ONCB
Gap_ONCB_delta_inv[i].g = gj_ONCB_ONCB
}
}
// OFFCB <-> OFFCB
objref Gap_OFFCB_alpha_one[32]
objref Gap_OFFCB_alpha_one_inv[32]
double Gap_OFFCB_alpha_one_arr[16]
Gap_OFFCB_alpha_one_arr[0] = 0
Gap_OFFCB_alpha_one_arr[1] = 1
Gap_OFFCB_alpha_one_arr[2] = 2
Gap_OFFCB_alpha_one_arr[3] = 3
Gap_OFFCB_alpha_one_arr[4] = 10
Gap_OFFCB_alpha_one_arr[5] = 11
Gap_OFFCB_alpha_one_arr[6] = 12
Gap_OFFCB_alpha_one_arr[7] = 13
Gap_OFFCB_alpha_one_arr[8] = 30
Gap_OFFCB_alpha_one_arr[9] = 31
Gap_OFFCB_alpha_one_arr[10] = 32
Gap_OFFCB_alpha_one_arr[11] = 33
Gap_OFFCB_alpha_one_arr[12] = 40
Gap_OFFCB_alpha_one_arr[13] = 41
Gap_OFFCB_alpha_one_arr[14] = 42
Gap_OFFCB_alpha_one_arr[15] = 43
objref Gap_OFFCB_alpha_two[8]
objref Gap_OFFCB_alpha_two_inv[8]
double Gap_OFFCB_alpha_two_arr[4]
Gap_OFFCB_alpha_two_arr[0] = 19
Gap_OFFCB_alpha_two_arr[1] = 20
Gap_OFFCB_alpha_two_arr[2] = 21
Gap_OFFCB_alpha_two_arr[3] = 22
objref Gap_OFFCB_beta[20]
objref Gap_OFFCB_beta_inv[20]
double Gap_OFFCB_beta_arr[20]
Gap_OFFCB_beta_arr[0] = 4
Gap_OFFCB_beta_arr[1] = 5
Gap_OFFCB_beta_arr[2] = 6
Gap_OFFCB_beta_arr[3] = 7
Gap_OFFCB_beta_arr[4] = 8
Gap_OFFCB_beta_arr[5] = 14
Gap_OFFCB_beta_arr[6] = 15
Gap_OFFCB_beta_arr[7] = 16
Gap_OFFCB_beta_arr[8] = 17
Gap_OFFCB_beta_arr[9] = 18
Gap_OFFCB_beta_arr[10] = 24
Gap_OFFCB_beta_arr[11] = 25
Gap_OFFCB_beta_arr[12] = 26
Gap_OFFCB_beta_arr[13] = 27
Gap_OFFCB_beta_arr[14] = 28
Gap_OFFCB_beta_arr[15] = 34
Gap_OFFCB_beta_arr[16] = 35
Gap_OFFCB_beta_arr[17] = 36
Gap_OFFCB_beta_arr[18] = 37
Gap_OFFCB_beta_arr[19] = 38
objref Gap_OFFCB_gamma[5]
objref Gap_OFFCB_gamma_inv[5]
double Gap_OFFCB_gamma_arr[5]
Gap_OFFCB_gamma_arr[0] = 9
Gap_OFFCB_gamma_arr[1] = 23
Gap_OFFCB_gamma_arr[2] = 29
Gap_OFFCB_gamma_arr[3] = 39
Gap_OFFCB_gamma_arr[4] = 43
objref Gap_OFFCB_delta[96]
objref Gap_OFFCB_delta_inv[96]
double Gap_OFFCB_delta_arr[16]
proc OFFCB_GJ () {
//print "Gap : OFFCB <-> OFFCB"
//斜め左下 and 斜め右下接続(one)
for i = 0, 15{
k = i * 2
j = Gap_OFFCB_alpha_one_arr[i]
//斜め左下接続
Gap_OFFCB_alpha_one[k] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_alpha_one[k].loc(0.5)
setpointer Gap_OFFCB_alpha_one[k].vgap, OFF_CBC[j+4].soma.v(0.5)
//逆接続
Gap_OFFCB_alpha_one_inv[k] = new Gap(0.5)
OFF_CBC[j+4].soma Gap_OFFCB_alpha_one_inv[k].loc(0.5)
setpointer Gap_OFFCB_alpha_one_inv[k].vgap, OFF_CBC[j].soma.v(0.5)
//斜め右下接続
Gap_OFFCB_alpha_one[k+1] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_alpha_one[k+1].loc(0.5)
setpointer Gap_OFFCB_alpha_one[k+1].vgap, OFF_CBC[j+5].soma.v(0.5)
//逆接続
Gap_OFFCB_alpha_one_inv[k+1] = new Gap(0.5)
OFF_CBC[j+5].soma Gap_OFFCB_alpha_one_inv[k+1].loc(0.5)
setpointer Gap_OFFCB_alpha_one_inv[k+1].vgap, OFF_CBC[j].soma.v(0.5)
}
//斜め左下 and 斜め右下接続(two)
for i = 0, 3{
k = i * 2
j = Gap_OFFCB_alpha_two_arr[i]
//斜め左下接続
Gap_OFFCB_alpha_two[k] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_alpha_two[k].loc(0.5)
setpointer Gap_OFFCB_alpha_two[k].vgap, OFF_CBC[j+5].soma.v(0.5)
//逆接続
Gap_OFFCB_alpha_two_inv[k] = new Gap(0.5)
OFF_CBC[j+5].soma Gap_OFFCB_alpha_two_inv[k].loc(0.5)
setpointer Gap_OFFCB_alpha_two_inv[k].vgap, OFF_CBC[j].soma.v(0.5)
//斜め右下接続
Gap_OFFCB_alpha_two[k+1] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_alpha_two[k+1].loc(0.5)
setpointer Gap_OFFCB_alpha_two[k+1].vgap, OFF_CBC[j+6].soma.v(0.5)
//逆接続
Gap_OFFCB_alpha_two_inv[k+1] = new Gap(0.5)
OFF_CBC[j+6].soma Gap_OFFCB_alpha_two_inv[k+1].loc(0.5)
setpointer Gap_OFFCB_alpha_two_inv[k+1].vgap, OFF_CBC[j].soma.v(0.5)
}
//縦方向接続
for i = 0, 19{
j = Gap_OFFCB_beta_arr[i]
//下方向接続
Gap_OFFCB_beta[i] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_beta[i].loc(0.5)
setpointer Gap_OFFCB_beta[i].vgap, OFF_CBC[j+5].soma.v(0.5)
//逆接続
Gap_OFFCB_beta_inv[i] = new Gap(0.5)
OFF_CBC[j+5].soma Gap_OFFCB_beta_inv[i].loc(0.5)
setpointer Gap_OFFCB_beta_inv[i].vgap, OFF_CBC[j].soma.v(0.5)
}
//斜め左下 or 斜め右下接続
for i = 0, 4{
j = Gap_OFFCB_gamma_arr[i]
//+4
if(j == 43){
Gap_OFFCB_gamma[i] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_gamma[i].loc(0.5)
setpointer Gap_OFFCB_gamma[i].vgap, OFF_CBC[j+4].soma.v(0.5)
//逆接続
Gap_OFFCB_gamma_inv[i] = new Gap(0.5)
OFF_CBC[j+4].soma Gap_OFFCB_gamma_inv[i].loc(0.5)
setpointer Gap_OFFCB_gamma_inv[i].vgap, OFF_CBC[j].soma.v(0.5)
}
//+5
if(j == 9 || j = 23 || j == 29 || j == 39){
Gap_OFFCB_gamma[i] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_gamma[i].loc(0.5)
setpointer Gap_OFFCB_gamma[i].vgap, OFF_CBC[j+5].soma.v(0.5)
//逆接続
Gap_OFFCB_gamma_inv[i] = new Gap(0.5)
OFF_CBC[j+5].soma Gap_OFFCB_gamma_inv[i].loc(0.5)
setpointer Gap_OFFCB_gamma_inv[i].vgap, OFF_CBC[j].soma.v(0.5)
}
}
//放射状
k = 0
for i = 48, 63{
down = 5
if(i == 48 || i == 49 || i == 50 || i == 51){
j = i - 48
left = 4
right = 5
dammy = 0
}
if(i == 52 || i == 53 || i == 54 || i == 55){
j = i - 42
left = 4
right = 5
dammy = 1
}
if(i == 56 || i == 57 || i == 58 || i == 59){
j = i - 37
left = 5
right = 6
dammy = -1
}
if(i == 60 || i == 61 || i == 62 || i == 63){
j = i - 30
left = 4
right = 5
dammy = 0
}
//上方向
Gap_OFFCB_delta[k] = new Gap(0.5)
OFF_CBC[i].soma Gap_OFFCB_delta[k].loc(0.5)
setpointer Gap_OFFCB_delta[k].vgap, OFF_CBC[j].soma.v(0.5)
//逆接続
Gap_OFFCB_delta_inv[k] = new Gap(0.5)
OFF_CBC[j].soma Gap_OFFCB_delta_inv[k].loc(0.5)
setpointer Gap_OFFCB_delta_inv[k].vgap, OFF_CBC[i].soma.v(0.5)
//左上方向
Gap_OFFCB_delta[k+1] = new Gap(0.5)
OFF_CBC[i].soma Gap_OFFCB_delta[k+1].loc(0.5)
setpointer Gap_OFFCB_delta[k+1].vgap, OFF_CBC[j+left].soma.v(0.5)
//逆接続
Gap_OFFCB_delta_inv[k+1] = new Gap(0.5)
OFF_CBC[j+left].soma Gap_OFFCB_delta_inv[k+1].loc(0.5)
setpointer Gap_OFFCB_delta_inv[k+1].vgap, OFF_CBC[i].soma.v(0.5)
//右上方向
Gap_OFFCB_delta[k+2] = new Gap(0.5)
OFF_CBC[i].soma Gap_OFFCB_delta[k+2].loc(0.5)
setpointer Gap_OFFCB_delta[k+2].vgap, OFF_CBC[j+right].soma.v(0.5)
//逆接続
Gap_OFFCB_delta_inv[k+2] = new Gap(0.5)
OFF_CBC[j+right].soma Gap_OFFCB_delta_inv[k+2].loc(0.5)
setpointer Gap_OFFCB_delta_inv[k+2].vgap, OFF_CBC[i].soma.v(0.5)
//左下方向
Gap_OFFCB_delta[k+3] = new Gap(0.5)
OFF_CBC[i].soma Gap_OFFCB_delta[k+3].loc(0.5)
setpointer Gap_OFFCB_delta[k+3].vgap, OFF_CBC[j+left+down].soma.v(0.5)
//逆接続
Gap_OFFCB_delta_inv[k+3] = new Gap(0.5)
OFF_CBC[j+left+down].soma Gap_OFFCB_delta_inv[k+3].loc(0.5)
setpointer Gap_OFFCB_delta_inv[k+3].vgap, OFF_CBC[i].soma.v(0.5)
//右下方向
Gap_OFFCB_delta[k+4] = new Gap(0.5)
OFF_CBC[i].soma Gap_OFFCB_delta[k+4].loc(0.5)
setpointer Gap_OFFCB_delta[k+4].vgap, OFF_CBC[j+right+down].soma.v(0.5)
//逆接続
Gap_OFFCB_delta_inv[k+4] = new Gap(0.5)
OFF_CBC[j+right+down].soma Gap_OFFCB_delta_inv[k+4].loc(0.5)
setpointer Gap_OFFCB_delta_inv[k+4].vgap, OFF_CBC[i].soma.v(0.5)
//下方向
Gap_OFFCB_delta[k+5] = new Gap(0.5)
OFF_CBC[i].soma Gap_OFFCB_delta[k+5].loc(0.5)
setpointer Gap_OFFCB_delta[k+5].vgap, OFF_CBC[j+left+down+dammy].soma.v(0.5)
//逆接続
Gap_OFFCB_delta_inv[k+5] = new Gap(0.5)
OFF_CBC[j+left+down+dammy].soma Gap_OFFCB_delta_inv[k+5].loc(0.5)
setpointer Gap_OFFCB_delta_inv[k+5].vgap, OFF_CBC[i].soma.v(0.5)
k = k + 6
}
}
// OFFCB <-> OFFCB parameter setting
proc OFFCB_GJ_set () {
//alpha
for i = 0, 15{
Gap_OFFCB_alpha_one[i].g = gj_OFFCB_OFFCB
Gap_OFFCB_alpha_one_inv[i].g = gj_OFFCB_OFFCB
}
for i = 0, 3{
Gap_OFFCB_alpha_two[i].g = gj_OFFCB_OFFCB
Gap_OFFCB_alpha_two_inv[i].g = gj_OFFCB_OFFCB
}
//beta
for i = 0, 19{
Gap_OFFCB_beta[i].g = gj_OFFCB_OFFCB
Gap_OFFCB_beta_inv[i].g = gj_OFFCB_OFFCB
}
//gamma
for i = 0, 4{
Gap_OFFCB_gamma[i].g = gj_OFFCB_OFFCB
Gap_OFFCB_gamma_inv[i].g = gj_OFFCB_OFFCB
}
//delta
for i = 0, 95{
Gap_OFFCB_delta[i].g = gj_OFFCB_OFFCB
Gap_OFFCB_delta_inv[i].g = gj_OFFCB_OFFCB
}
}