I tried to implement this but when comparing it to the original code (without splitting the branching) i get different results. So i probably got something wrong:
So when i set Ra=0 in the additional nodes then the volt is nan, so i changed it to 0.00000001 but the results between the voltages are very different.
I am pasting three hoc files split.hoc where the split procedure is applied, no_split.hoc where the code for splitting is commented out ,and sp.hoc which is a simple morphology file.
Code: Select all
proc celldef() {
topol()
subsets()
geom()
biophys()
geom_nseg()
}
create soma, dend[2], apic[2]
proc topol() { local i
for i = 0, 1 connect dend[i](0), soma(0.5)
connect apic(0), soma(0.5)
connect apic[1](0), apic(1)
basic_shape()
}
proc shape3d_1() {
soma {pt3dclear()
pt3dadd(-11.0933, -8.95771, 0, 1.83129)
pt3dadd(-10.7893, -8.16715, 0, 3.07228)
pt3dadd(-10.4853, -7.37658, 0, 3.7064)
pt3dadd(-10.1814, -6.58602, 0, 5.16232)
pt3dadd(-9.87739, -5.79545, 0, 7.5116)
pt3dadd(-9.57342, -5.00488, 0, 8.60502)
pt3dadd(-9.26945, -4.21432, 0, 9.645)
pt3dadd(-8.96548, -3.42375, 0, 11.1731)
pt3dadd(-8.66151, -2.63319, 0, 12.2908)
pt3dadd(-8.35754, -1.84262, 0, 13.3186)
pt3dadd(-8.05357, -1.05205, 0, 14.3568)
pt3dadd(-7.7496, -0.261487, 0, 15.4776)
pt3dadd(-7.44563, 0.529079, 0, 16.3335)
pt3dadd(-7.14166, 1.31964, 0, 16.0558)
pt3dadd(-6.83769, 2.11021, 0, 15.2669)
pt3dadd(-6.53372, 2.90078, 0, 14.306)
pt3dadd(-6.22975, 3.69134, 0, 11.799)
pt3dadd(-5.92578, 4.48191, 0, 10.2575)
pt3dadd(-5.62181, 5.27248, 0, 8.97583)
pt3dadd(-5.31784, 6.06304, 0, 6.01391)
pt3dadd(-5.01387, 6.85361, 0, 3.51222)
}
dend {pt3dclear()
pt3dstyle(1, -7.82441, -0.45605, 0)
pt3dadd(-5.61, 6.42, 0, 0.4)
pt3dadd(-6.42, 8.83, 0, 0.4)
pt3dadd(-7.62, 10.43, 0, 0.4)
pt3dadd(-8.02, 12.44, 0, 0.4)
pt3dadd(-8.42, 15.24, 0, 0.4)
pt3dadd(-8.82, 16.85, 0, 0.4)
pt3dadd(-8.82, 17.25, 0, 0.4)
pt3dadd(-9.63, 19.25, 0, 0.4)
pt3dadd(-9.63, 20.46, 0, 0.4)
pt3dadd(-9.63, 20.86, 0, 0.4)
pt3dadd(-10.03, 23.27, 0, 0.4)
pt3dadd(-10.43, 26.48, 0, 0.4)
}
dend[1] {pt3dclear()
pt3dstyle(1, -7.82441, -0.45605, 0)
pt3dadd(-9.63, 8.42, 0, 0.4)
pt3dadd(-9.63, 8.83, 0, 0.4)
pt3dadd(-12.03, 12.44, 0, 0.4)
pt3dadd(-12.83, 12.44, 0, 0.4)
pt3dadd(-13.64, 12.84, 0, 0.4)
pt3dadd(-16.84, 15.64, 0, 0.4)
pt3dadd(-17.25, 16.05, 0, 0.4)
pt3dadd(-18.45, 17.25, 0, 0.4)
pt3dadd(-18.85, 17.65, 0, 0.4)
pt3dadd(-20.86, 20.06, 0, 0.4)
pt3dadd(-21.66, 20.46, 0, 0.4)
pt3dadd(-22.46, 22.46, 0, 0.4)
pt3dadd(-22.86, 23.27, 0, 0.4)
pt3dadd(-23.26, 24.87, 0, 0.4)
pt3dadd(-24.06, 26.88, 0, 0.4)
pt3dadd(-24.06, 27.28, 0, 0.4)
}
apic {pt3dclear()
pt3dstyle(1, -7.82441, -0.45605, 0)
pt3dadd(1.2, -1.2, 0.15, 1.6)
pt3dadd(1.6, -1.2, 0.15, 1.6)
pt3dadd(2.81, -1.2, 0.15, 1.6)
pt3dadd(3.61, -1.2, 0.15, 1.6)
pt3dadd(4.81, -1.2, 0.15, 1.6)
pt3dadd(5.21, -1.2, 0.15, 1.6)
pt3dadd(6.42, -1.2, 0.15, 1.6)
pt3dadd(8.82, 0, 0.15, 1.6)
pt3dadd(9.22, 0, 0.15, 1.6)
pt3dadd(11.23, 1.6, 0.15, 1.2)
pt3dadd(11.23, 3.61, 0.15, 1.2)
pt3dadd(11.63, 3.61, 0.15, 1.2)
pt3dadd(13.24, 1.6, 0.15, 1.2)
pt3dadd(13.64, 1.2, 0.15, 1.2)
pt3dadd(16.84, 0, 0.15, 1.2)
pt3dadd(17.25, -0.8, 0.15, 1.2)
pt3dadd(17.65, -0.8, 0.15, 1.2)
pt3dadd(20.45, -0.8, 0.15, 1.2)
pt3dadd(20.86, -0.8, 0.15, 1.2)
pt3dadd(24.47, -0.4, 0.15, 1.2)
pt3dadd(25.27, -0.4, 0.15, 1.2)
pt3dadd(27.27, -0.4, 0.15, 1.2)
pt3dadd(27.67, -0.4, 0.15, 1.2)
pt3dadd(28.88, 0.8, -12.21, 0.8)
pt3dadd(30.48, -0.8, -12.21, 0.8)
pt3dadd(33.29, -3.21, -12.21, 0.8)
pt3dadd(33.69, -3.61, -12.21, 0.8)
pt3dadd(35.29, -4.01, -12.21, 0.8)
pt3dadd(35.7, -4.41, -12.21, 0.8)
pt3dadd(37.3, -4.41, -12.21, 0.8)
pt3dadd(38.1, -4.41, -12.21, 0.8)
pt3dadd(40.91, -4.01, -12.21, 0.8)
pt3dadd(41.31, -4.01, -12.21, 0.8)
pt3dadd(43.72, -2.81, -12.21, 0.8)
pt3dadd(44.12, -2.81, -12.21, 0.8)
pt3dadd(46.52, -2.01, -12.21, 0.8)
pt3dadd(47.33, -1.6, -12.21, 0.4)
pt3dadd(47.73, -1.6, -12.21, 0.4)
pt3dadd(50.13, -1.6, -12.21, 0.4)
pt3dadd(50.53, -1.6, -12.21, 0.4)
pt3dadd(53.34, -0.4, -12.21, 0.4)
pt3dadd(54.14, -0.4, -12.21, 0.4)
pt3dadd(56.15, 0.4, -12.21, 0.4)
pt3dadd(56.55, 0.4, -12.21, 0.4)
pt3dadd(58.16, 0.4, -12.21, 0.4)
pt3dadd(60.96, -1.6, -12.21, 0.4)
pt3dadd(62.17, -2.41, -12.21, 0.4)
pt3dadd(62.57, -2.41, -12.21, 0.4)
pt3dadd(64.57, -2.41, -12.21, 0.4)
pt3dadd(65.78, -2.41, -12.21, 0.4)
pt3dadd(66.18, -2.01, -12.21, 0.4)
pt3dadd(67.38, -1.2, -12.21, 0.4)
pt3dadd(67.78, -1.2, -12.21, 0.4)
pt3dadd(68.98, -0.4, -12.21, 0.4)
pt3dadd(69.79, -0.4, -12.21, 0.4)
pt3dadd(72.99, 0, -12.21, 0.4)
pt3dadd(73.8, 0, -12.21, 0.4)
pt3dadd(76.2, 0, -12.21, 0.4)
pt3dadd(76.6, 0, -12.21, 0.4)
pt3dadd(78.61, 0, -12.21, 0.4)
pt3dadd(79.41, 0, -12.21, 0.4)
pt3dadd(83.02, 0, -12.21, 0.4)
pt3dadd(83.42, 0, -12.21, 0.4)
pt3dadd(86.23, 0, -12.21, 0.4)
pt3dadd(87.43, 1.2, -12.21, 0.8)
pt3dadd(91.85, -0.4, -12.21, 0.4)
pt3dadd(95.86, -0.4, -12.21, 0.4)
pt3dadd(96.26, -0.4, -12.21, 0.4)
pt3dadd(99.06, 1.2, -12.21, 0.4)
pt3dadd(102.67, 2.01, -12.21, 0.4)
pt3dadd(103.88, 2.81, -13.85, 5.61)
pt3dadd(106.28, 4.41, -13.85, 1.6)
pt3dadd(108.29, 5.21, -17.09, 1.2)
pt3dadd(110.29, 5.21, -17.09, 1.2)
pt3dadd(111.1, 5.21, -17.09, 1.2)
pt3dadd(113.9, 4.81, -17.09, 1.2)
pt3dadd(114.71, 4.41, -17.09, 1.2)
}
apic[1] {pt3dclear()
pt3dadd(114.71, 4.41, -17.09, 0.4)
pt3dadd(130.75, 3.61, -20.73, 0.4)
pt3dadd(141.18, 2.81, -20.73, 0.4)
pt3dadd(147.99, 3.61, -20.73, 0.4)
pt3dadd(162.83, 3.21, -20.73, 0.4)
pt3dadd(170.45, 2.81, -20.73, 0.4)
pt3dadd(170.86, 2.81, -20.73, 0.4)
pt3dadd(178.48, 3.61, -20.73, 0.4)
pt3dadd(186.1, 4.01, -20.73, 0.4)
pt3dadd(186.5, 4.01, -20.73, 0.4)
pt3dadd(190.91, 6.02, -20.73, 0.4)
pt3dadd(191.31, 6.02, -20.73, 0.4)
pt3dadd(195.72, 7.22, -20.73, 0.4)
pt3dadd(196.12, 7.22, -20.73, 0.4)
pt3dadd(201.34, 6.82, -20.73, 0.4)
pt3dadd(201.74, 6.82, -20.73, 0.4)
pt3dadd(206.95, 6.02, -20.73, 0.4)
pt3dadd(207.35, 6.02, -20.73, 0.4)
pt3dadd(211.76, 5.62, -20.73, 0.4)
pt3dadd(221.79, 4.81, -20.73, 0.4)
}
}
proc basic_shape() {
shape3d_1()
}
objref all, somatic, basal, apical
proc subsets() { local i
objref all, somatic, basal, apical
all = new SectionList()
soma all.append()
for i=0, 1 dend[i] all.append()
for i=0, 1 apic[i] all.append()
somatic = new SectionList()
soma somatic.append()
basal = new SectionList()
for i=0, 1 dend[i] basal.append()
apical = new SectionList()
for i=0, 1 apic[i] apical.append()
}
proc geom() {
}
proc geom_nseg() {
}
proc biophys() {
}
access soma
celldef()