test.mdl 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. dt = 0.4e-6
  2. it = 2000
  3. efg = 10000
  4. n=100
  5. TIME_STEP = dt
  6. TIME_STEP_MAX = dt*1.01
  7. ITERATIONS = it
  8. EFFECTOR_GRID_DENSITY = efg
  9. INTERACTION_RADIUS = 0.01
  10. RADIAL_SUBDIVISIONS = 256
  11. RADIAL_DIRECTIONS = 16384
  12. DEFINE_MOLECULES {
  13. ACh {
  14. DIFFUSION_CONSTANT = 2.2e-6
  15. }
  16. Glu {
  17. DIFFUSION_CONSTANT = 2.1e-6
  18. }
  19. Glw {
  20. DIFFUSION_CONSTANT = 2e-6
  21. }
  22. AChR.R {
  23. DIFFUSION_CONSTANT_2D = 0
  24. }
  25. AChR.AR {
  26. DIFFUSION_CONSTANT_2D = 0
  27. }
  28. ACf {
  29. DIFFUSION_CONSTANT_2D = 0
  30. }
  31. ACe {
  32. DIFFUSION_CONSTANT_2D = 0
  33. }
  34. ACg {
  35. DIFFUSION_CONSTANT_2D = 0
  36. }
  37. }
  38. DEFINE_SURFACE_CLASSES {
  39. surf_a {
  40. TRANSPARENT = ACh
  41. MOLECULE_DENSITY {
  42. ACf' = 500
  43. }
  44. }
  45. surf_b {
  46. TRANSPARENT = Glu
  47. ABSORPTIVE = ACh
  48. MOLECULE_NUMBER {
  49. ACf' = 100
  50. }
  51. }
  52. }
  53. DEFINE_REACTIONS {
  54. /* ACh + Glu -> ACh + Glu + Glw [1e8] */
  55. /* ACh' + GENERIC_SURFACE, -> ACf, [1e8]
  56. Glu + ACf -> ACf + Glw [1e8]
  57. Glw' + GENERIC_SURFACE, -> ACg [1e7] */
  58. /* Glu' + AChR.R, -> Glu' + AChR.AR, [1e8] */
  59. AChR.R, -> ACf, [1e4]
  60. Glu; -> Glw; [1e4]
  61. /* Glw + AChR.AR -> Glw + AChR.R [1e8] */
  62. /* ACg -> ACe [1e4] */
  63. }
  64. DEFINE_RELEASE_PATTERN pat1 {
  65. DELAY = 0
  66. RELEASE_INTERVAL = 4.0e-3
  67. TRAIN_INTERVAL = 1
  68. TRAIN_DURATION = 20.0e-3
  69. NUMBER_OF_TRAINS = 1
  70. }
  71. DEFINE_RELEASE_PATTERN pat2 {
  72. DELAY = 1.5e-3
  73. RELEASE_INTERVAL = 3.0e-3
  74. TRAIN_INTERVAL = 1
  75. TRAIN_DURATION = 20.0e-3
  76. NUMBER_OF_TRAINS = 1
  77. }
  78. ACh_release_site CUBIC_RELEASE_SITE {
  79. LOCATION = [0,0,0]
  80. MOLECULE = ACh
  81. NUMBER_TO_RELEASE = n
  82. SITE_DIAMETER = 0.199999
  83. RELEASE_PATTERN = pat1
  84. }
  85. Glu_release_site CUBIC_RELEASE_SITE {
  86. LOCATION = [0,0,0]
  87. MOLECULE = Glu
  88. NUMBER_TO_RELEASE = n
  89. SITE_DIAMETER = 0.199999
  90. RELEASE_PATTERN = pat1
  91. }
  92. box BOX {
  93. CORNERS = [-0.1, -0.1, -0.1] , [0.1,0.1,0.1]
  94. DEFINE_SURFACE_REGIONS {
  95. reg1 {
  96. ELEMENT_LIST = [ALL_ELEMENTS]
  97. /*
  98. ELEMENT_LIST = [TOP,BOTTOM]
  99. SURFACE_CLASS = surf_a
  100. */
  101. MOLECULE_DENSITY {
  102. AChR.R' = 5000
  103. }
  104. }
  105. }
  106. }
  107. /*
  108. DEFINE_SURFACE_REGIONS {
  109. box[reg2] {
  110. ELEMENT_LIST = [LEFT,RIGHT]
  111. SURFACE_CLASS = surf_a
  112. MOLECULE_NUMBER {
  113. ACf' = 250
  114. }
  115. }
  116. }
  117. MODIFY_SURFACE_REGIONS {
  118. box[reg1] {
  119. SURFACE_CLASS = surf_a
  120. MOLECULE_DENSITY {
  121. ACf' = 2000
  122. }
  123. }
  124. }
  125. */
  126. poly POLYGON_LIST {
  127. VERTEX_LIST {
  128. [0,0,0]
  129. [0.363424,0,0]
  130. [0,0.363424,0]
  131. [0,0,0.363424]
  132. }
  133. ELEMENT_CONNECTIONS {
  134. [0,1,2]
  135. [1,2,3]
  136. [3,0,1]
  137. [0,2,3]
  138. }
  139. }
  140. INSTANTIATE foo OBJECT {
  141. ACh_release_site OBJECT ACh_release_site {}
  142. Glu_release_site OBJECT Glu_release_site {}
  143. box OBJECT box {}
  144. /* poly OBJECT poly {} */
  145. }
  146. INCLUDE_FILE = "test_include.mdl"
  147. /*
  148. printf("a = %g\n",a)
  149. */
  150. VIZ_DATA_OUTPUT {
  151. MODE = DX
  152. STATE_VALUES {
  153. Glu = 1
  154. AChR.R = 2
  155. /*
  156. foo = 1
  157. */
  158. }
  159. MOLECULE_FILE_PREFIX = "./viz/foo"
  160. OBJECT_FILE_PREFIXES {
  161. foo.box = "./viz/foo"
  162. }
  163. ITERATION_LIST = [0,1,10,100]
  164. }