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