Particularly useful chunks of hoc and/or NMODL code. May be pedestrian or stunningly brilliant, may make you gasp or bring tears to your eyes, but always makes you think "I wish I had written that; I'm sure going to steal it."
figoyouwei
Posts: 41
Joined: Sun Aug 08, 2010 11:09 am

Dear,

Given this simply example, I would expect that diam(0)=5 and diam(1)=1, don't understand why diam(0)=diam(0.1) and diam(0.9)=diam(1) ? Thank you.

create dend
access dend
dend {
nseg = 5
}

print L, diam(0)
print L, diam(0.1)
print L, diam(0.3)
print L, diam(0.5)
print L, diam(0.7)
print L, diam(0.9)
print L, diam(1)
ted
Posts: 5892
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

### Re: little confusion about 3D

diam is a range variable. For any range variable, diam(x) refers to the value at the center of the segment that contains x. For x that lies on a boundary between segments, the value you get will be determined by roundoff error. For x = 0 or 1, the values will be from the middle of the first or last segment, respectively. This stuff is covered in chapters 5 and 6 of the NEURON Book. If you don't have that, at the very least read this
Hines, M.L. and Carnevale, N.T. The NEURON simulation environment. Neural Computation 9:1179-1209, 1997.
Preprint is available at http://www.neuron.yale.edu/neuron/nrnpubs
figoyouwei
Posts: 41
Joined: Sun Aug 08, 2010 11:09 am

### Re: little confusion about 3D

thank you Ted for pointing out chapters, I guess diam3d() is the correct way to print out edge diam then :)
ted
Posts: 5892
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

### Re: little confusion about 3D

Depends on what you mean by "correct." From the standpoint of the equations that are solved in the course of a simulation, the relevant value is the diameter of the segment, which is diam(x). If 3d points exist, diam(x) becomes the diameter of a right cylinder with the same length and surface area as the segment that contains x. If define_shape() is called (either directly or by creating a Shape plot), 3d points are created for sections that were originally specified using the stylized method; this can cause slight changes to diam(x), area(x), and ri values--see 5.5.3 Avoiding artefacts in The NEURON Book. To minimize this effect, it is best to try to ensure that sudden diameter changes occur only at the boundaries of sections.