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