file:/local_home/local_home/hugo/neurospaces_project/heccer/source/c/snapshots/0/tests/code/table-nap.c (Mon Jun 16 00:03:55 2008
) HOME
1: //
2: // Heccer : a compartmental solver that implements efficient Crank-Nicolson
3: // integration for neuronal models.
4: //
5:
6: //////////////////////////////////////////////////////////////////////////////
7: //'
8: //' Heccer : testbed C implementation
9: //'
10: //' Copyright (C) 2006-2008 Hugo Cornelis
11: //'
12: //' functional ideas .. Hugo Cornelis, hugo.cornelis@gmail.com
13: //'
14: //' coding ............ Hugo Cornelis, hugo.cornelis@gmail.com
15: //'
16: //////////////////////////////////////////////////////////////////////////////
17:
18:
19: #include "../../heccer/compartment.h"
20: #include "../../heccer/heccer.h"
21:
22:
23: #define HECCER_TEST_INTERVAL_DEFAULT_START (-0.1)
24: #define HECCER_TEST_INTERVAL_DEFAULT_END (0.05)
25: #define HECCER_TEST_INTERVAL_DEFAULT_ENTRIES 50
26: #define HECCER_TEST_STEPS 1
27:
28:
29: struct Compartment compSoma =
30: {
31: //m administrative overhead
32:
33: {
34: //m type of structure
35:
36: MATH_TYPE_Compartment,
37: },
38:
39: //m index of parent compartment, -1 for none
40:
41: -1,
42:
43: /* //m first mechanism */
44:
45: /* NULL, */
46:
47: /* //m number of mechanisms */
48:
49: /* 0, */
50:
51: //m descriptive values, alphabetical order
52:
53: /* double dCm; */
54:
55: 4.57537e-11, // unscaled 0.0164,
56:
57: /* double dEm; */
58:
59: -0.08,
60:
61: /* double dInitVm; */
62:
63: -0.068,
64:
65: /* double dInject; */
66:
67: 0,
68:
69: /* double dRa; */
70:
71: 360502, // unscaled 2.5,
72:
73: /* double dRm; */
74:
75: 3.58441e+08, // unscaled 1
76: };
77:
78:
79: //v a persistent sodium channel
80:
81: struct ChannelAct caNaP =
82: {
83: //m administrative overhead
84:
85: {
86: //m type of structure
87:
88: MATH_TYPE_ChannelAct,
89: },
90:
91: //m first set of descriptive values, alphabetical order
92:
93: //m initial reversal potential
94:
95: 0.045,
96:
97: //m get reversal potential from this intermediary, -1 for none
98:
99: -1,
100:
101: //m maximal conductance when all channels are permissive
102:
103: 2.789857767e-08,
104:
105: //m contributes to this concentration pool, -1 for none, boolean indicator only.
106:
107: -1,
108:
109: //m activation description
110:
111: {
112: //m power, for a standard heccer, something between 1 and 4 or so.
113:
114: 3,
115:
116: //m gate definition
117:
118: {
119: //m initial value, commonly forward over backward steady states
120:
121: 0.7612305421,
122:
123: //m corresponding index in tables, set to -1 for initialization.
124:
125: -1,
126:
127: {
128: //m forward kinetiks, commonly denoted with alpha or non-perm to perm rate
129:
130: {
131: //m multiplier
132:
133: 200.0e3,
134:
135: //m multiplier membrane dependence, 0.0 for no dependence
136:
137: 0.0,
138:
139: //m 2b: multiplier membrane dependence offset, 0.0 for no dependence
140:
141: 0.0,
142:
143: //m choose between nominator or denominator, 1 means nominator, -1
144: //m means denominator
145:
146: -1.0,
147:
148: //m nominator or denominator offset
149:
150: 1.0,
151:
152: //m membrane offset
153:
154: -0.018,
155:
156: //m denormalized time constant
157:
158: -16.0e-3,
159: },
160:
161: //m backward kinetiks, commonly denoted with beta or perm to non-perm rate
162:
163: {
164: //m multiplier
165:
166: 25.0e3,
167:
168: //m multiplier membrane dependence, 0.0 for no dependence
169:
170: 0.0,
171:
172: //m 2b: multiplier membrane dependence offset, 0.0 for no dependence
173:
174: 0.0,
175:
176: //m choose between nominator or denominator, 1 means nominator, -1
177: //m means denominator
178:
179: -1.0,
180:
181: //m nominator or denominator offset
182:
183: 1.0,
184:
185: //m membrane offset
186:
187: 0.058,
188:
189: //m denormalized time constant
190:
191: 8.0e-3,
192: },
193: },
194: },
195: },
196:
197: };
198:
199:
200: int piC2m[] =
201: {
202: 1,
203: -1,
204: };
205:
206:
207: struct MathComponentArray mca =
208: {
209: //m number of math components
210:
211: 1,
212:
213: //m math component data
214:
215: &caNaP.mc,
216:
217: //m math component index, initialize to NULL
218:
219: NULL,
220:
221: };
222:
223:
224: struct Intermediary inter =
225: {
226: //m compartment array
227:
228: 1,
229:
230: &compSoma,
231:
232: //m all other mathematical components
233:
234: &mca,
235:
236: //m compartment 2 first mechanism number
237:
238: piC2m,
239: };
240:
241:
242: #include "main.c"
243:
244:
245:
Generated by Xrefactory version 2.0.14 on Thu Jul 24 22:41:20 2008