12-no_waypoints_counting_fail.mdl 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /****************************************************************************
  2. * Regression test 12: MCell fails to count oriented surface molecule reaction
  3. * products in a simulation which has no waypoints. This is a modified
  4. * version of the test case Boris sent when he reported the bug.
  5. *
  6. * Failure: Any of the first 7 columns in the count differ at any time
  7. * Any of the next 14 columns in the count differ at any time
  8. * Any of the last 12 columns are non-zero at any time
  9. * The first and 8th column ever sum to anything other than 500
  10. * The first column does not eventually decrease from 500
  11. * Success: Run completes successfully, counts do not trigger the
  12. * above failure criteria.
  13. *
  14. * Author: Jed Wing <[email protected]>
  15. * Date: 2009-03-28
  16. ****************************************************************************/
  17. dt = 1e-6
  18. iterations = 100
  19. TIME_STEP = dt
  20. TIME_STEP_MAX = dt
  21. ITERATIONS = iterations
  22. EFFECTOR_GRID_DENSITY = 10000
  23. INTERACTION_RADIUS = 0.003
  24. ACCURATE_3D_REACTIONS = FALSE
  25. VACANCY_SEARCH_DISTANCE = 1
  26. DEFINE_MOLECULES
  27. {
  28. A {DIFFUSION_CONSTANT_2D = 2e-3}
  29. B {DIFFUSION_CONSTANT_2D = 2e-3}
  30. C {DIFFUSION_CONSTANT_2D = 2e-3}
  31. }
  32. DEFINE_REACTIONS
  33. {
  34. A' -> B' + C' [0.015e5]:rxn
  35. }
  36. triangle POLYGON_LIST
  37. {
  38. VERTEX_LIST
  39. {
  40. [0,0,0]
  41. [1.0,0,0]
  42. [0.5,0.866,0]
  43. }
  44. ELEMENT_CONNECTIONS
  45. {
  46. [0,1,2]
  47. }
  48. DEFINE_SURFACE_REGIONS
  49. {
  50. r1{
  51. ELEMENT_LIST = [0]
  52. MOLECULE_NUMBER{
  53. A' = 500
  54. }
  55. }
  56. }
  57. }
  58. INSTANTIATE test OBJECT
  59. {
  60. my_triangle OBJECT triangle {}
  61. }
  62. REACTION_DATA_OUTPUT
  63. {
  64. STEP = dt
  65. HEADER = OFF
  66. /* this COUNT statements works */
  67. {
  68. COUNT [A, WORLD],
  69. COUNT [A{1}, test.my_triangle[r1]],
  70. COUNT [A{2}, test.my_triangle[r1]],
  71. COUNT ["A'", test.my_triangle[r1]],
  72. COUNT ["A''", test.my_triangle[r1]],
  73. COUNT ["A',", test.my_triangle[r1]],
  74. COUNT ["A;", test.my_triangle[r1]],
  75. COUNT [B, WORLD],
  76. COUNT [B{1}, test.my_triangle[r1]],
  77. COUNT [B{2}, test.my_triangle[r1]],
  78. COUNT ["B'", test.my_triangle[r1]],
  79. COUNT ["B''", test.my_triangle[r1]],
  80. COUNT ["B',", test.my_triangle[r1]],
  81. COUNT ["B;", test.my_triangle[r1]],
  82. COUNT [C, WORLD],
  83. COUNT [C{1}, test.my_triangle[r1]],
  84. COUNT [C{2}, test.my_triangle[r1]],
  85. COUNT ["C'", test.my_triangle[r1]],
  86. COUNT ["C''", test.my_triangle[r1]],
  87. COUNT ["C',", test.my_triangle[r1]],
  88. COUNT ["C;", test.my_triangle[r1]],
  89. COUNT [A{-1}, test.my_triangle[r1]],
  90. COUNT [B{-1}, test.my_triangle[r1]],
  91. COUNT [C{-1}, test.my_triangle[r1]],
  92. COUNT [A{-2}, test.my_triangle[r1]],
  93. COUNT [B{-2}, test.my_triangle[r1]],
  94. COUNT [C{-2}, test.my_triangle[r1]],
  95. COUNT ["A,", test.my_triangle[r1]],
  96. COUNT ["B,", test.my_triangle[r1]],
  97. COUNT ["C,", test.my_triangle[r1]],
  98. COUNT ["A,,", test.my_triangle[r1]],
  99. COUNT ["B,,", test.my_triangle[r1]],
  100. COUNT ["C,,", test.my_triangle[r1]]
  101. } => "counts.txt"
  102. }