Closed jczech closed 9 years ago
Here is a link to two MDLs which illustrate this bug: https://gist.github.com/jczech/940819128b1b8f17fc81
This is a known bug. The workaround for this bug, implemented by Bob, is to always have a viz output block and set the viz_mode to NONE when you want to disable viz output. The bug is caused by the way the scheduler advances in time when viz output is enabled or disabled. A real fix will require a redesign of the scheduler/event-handler system. The hope was to this in the new libMCell. This will likely have wait till later as the current strategy for gradual migration toward libMCell from the current code will make it difficult to do this right now (though I could be wrong about this).
Recall that in our first summit meeting Bob and I made a very rough outline of a new scheduler/event-handler framework for libMCell as the initial foundation upon which libMCell was to be built. This scheduler was to be object oriented and very flexible to handle the new capabilities and user customization we envision for MCell. Not sure how difficult it would be to replace the scheduler in the current code with something more like what we really want. I'm hoping this will be possible because of the fundamental importance of the scheduler to our goals.
Food for much thought...
Tom
On Tue, Jun 03, 2014 at 09:40:35AM -0700, jczech wrote:
Here is a link to two MDLs which illustrate this bug: https://gist.github.com/jczech/940819128b1b8f17fc81
Reply to this email directly or view it on GitHub: https://github.com/mcellteam/mcell/issues/2#issuecomment-44989228
This seems very difficult to fix without a drastic change to the current scheduler, so I'm closing this and tagging it "wontfix" for the time being.
Changing the ITERATION_NUMBERS in the viz data block can change the simulation results between two otherwise identical simulations (e.g. changing ITERATION_NUMBERS {ALL_DATA @ [[1000 TO 2000 STEP 5]]} to ITERATION_NUMBERS {ALL_DATA @ [[5000 TO 6000 STEP 5]]}).