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_REPORTING_GRANULARITY 100000 */ 24: /* #define HECCER_TEST_STEPS 1000 */ 25: 26: 27: struct Compartment compSoma = 28: { 29: //m administrative overhead 30: 31: { 32: //m type of structure 33: 34: MATH_TYPE_Compartment, 35: }, 36: 37: //m index of parent compartment, -1 for none 38: 39: -1, 40: 41: /* //m first mechanism */ 42: 43: /* NULL, */ 44: 45: /* //m number of mechanisms */ 46: 47: /* 0, */ 48: 49: //m descriptive values, alphabetical order 50: 51: /* double dCm; */ 52: 53: 4.57537e-11, // unscaled 0.0164, 54: 55: /* double dEm; */ 56: 57: -0.08, 58: 59: /* double dInitVm; */ 60: 61: -0.068, 62: 63: /* double dInject; */ 64: 65: 0, 66: 67: /* double dRa; */ 68: 69: 360502, // unscaled 2.5, 70: 71: /* double dRm; */ 72: 73: 3.58441e+08, // unscaled 1 74: }; 75: 76: 77: int piC2m[] = 78: { 79: 0, 80: -1, 81: }; 82: 83: 84: struct Intermediary inter = 85: { 86: //m compartment array 87: 88: 1, 89: 90: &compSoma, 91: 92: //m all other mathematical components 93: 94: NULL, 95: 96: //m compartment 2 first mechanism number 97: 98: piC2m, 99: }; 100: 101: 102: #include "main.c" 103: 104: 105: