Current flow during PAP in squid axon at diameter change (Joyner et al 1980)

 Download zip file   Auto-launch 
Help downloading and running models
From the paper abstract: An impulse ... sees an increased electrical load at regions of increasing diameter or at branch points with certain morphologies. We present here theoretical and experimental studies on the changes in membrane current and axial current associated with diameter changes. The theoretical studies were done with numerical solutions for cable equations that were generalized to include a varying diameter; the Hodgkin-Huxley equations were used to represent the membrane properties. ... As an action potential approaches a region of increased electrical load, the action potential amplitude and rate of rise decrease, but there is a marked increase in the magnitude of the inward sodium current. ... (See paper for more details.)
1 . Joyner RW, Westerfield M, Moore JW (1980) Effects of cellular geometry on current flow during a propagated action potential. Biophys J 31:183-94 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Axon;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s): I Na,t; I K;
Gap Junctions:
Simulation Environment: NEURON;
Model Concept(s): Influence of Dendritic Geometry; Axonal Action Potentials;
Implementer(s): Hines, Michael [Michael.Hines at];
Search NeuronDB for information about:  I Na,t; I K;
secondorder=1 // can't mix first and second order currentis in the iion calculation
		// best to use cvode for accurate currents

func ia1() {local i
	axon {
		i = (v(.5) - v(.5-1/nseg))/ri(.5)
	return i/1000
func ia2() {local i, x
	axon {
		x = .01 + 1/nseg
		i = (v(x) - v(.01))/ri(x)
	return i/1000
func ia3() {local i, dx
	// central difference
	soma {
		dx = 1/nseg
		i = (v(.5*dx) - v(1.5*dx))/(ri(2*dx))
	return i/1000

func soma_iion() { local i
	soma {i =  ina($1) + ik($1) + il_hh($1)}
	return i

func axon_iion() { local i, dx
	axon {i =  ina($1) + ik($1) + il_hh($1)}
	return i

// mechanism for integrating current to compute charge
begintemplate HHInt
public qna, qk, qil, qion
proc initial() {
	qna = 0
	qk = 0
	ql = 0
	qion = 0
proc after_step() {
	qna += ina($1)*dt/FARADAY*(1e6)
	qk += ik($1)*dt/FARADAY*(1e6)
	qil += il_hh($1)*dt/FARADAY*(1e6)
	qion = qna + qk + qil

endtemplate HHInt

make_mechanism("hhint", "HHInt")

// for fig6 and 7 membrane current and charge transfer calculations
begintemplate HHQ
public im, qin, qout
proc initial() {
	qin = 0
	qout = 0
proc after_step() {
	im = ina($1)+ik($1)+il_hh($1)+i_cap($1)
	if (im < 0) {
		qin -= im*dt/FARADAY*(1e6)
		qout -= im*dt/FARADAY*(1e6)

endtemplate HHQ

make_mechanism("hhq", "HHQ")

proc standard() {
	celsius = 16
	forall nseg 30
	axon.diam = 100
	soma.diam = 550
	forall Ra = 35.4
	forall { L = nseg*500 }
	forall uninsert hhint
	forall uninsert hhq
	IClamp[0].amp = 2000