提交历史

作者 SHA1 备注 提交日期
  borisk b3c7c695cd Refactored the code related to the unimolecular reactions bringing it in line with how we test for the bimolecular case. Added three more tests to the testsuite when multiple unimolecular reactions with different rates happen simultaneously (pure unimolecular and at the surface). 12 年之前
  Jeffrey Bush 61b7e7c77c Updated ignore file to ignore build files and temporaries. Fixed a problem with the chkpt.c file with the new defines. 12 年之前
  Jeffrey Bush 33ddc716ac Fixed a minor bug in the new configure.in. 12 年之前
  Jeffrey Bush fbfe79173a Changed all uses of %lld to LONG_LONG_FORMAT and surrounded all uses of checkpointing with MCELL_WITH_CHECKPOINTING. Both of these are for Windows' sake. 12 年之前
  Jeffrey Bush a650facdea Updated configure.in and Makefile.am to add necessary libraries for Windows builds. 12 年之前
  Jeffrey Bush f60700110c Updated the configure.in file to support many necessary things for a Windows build. Added *nix and Windows-specific configuration headers that are included automatically from config.h. Everyone needs to re-bootstrap due to the change in configure.in. 12 年之前
  Jeffrey Bush 1c021ecece Changed some includes to be more Windows-friendly. Removed two unused includes from init.c. Changed <sys/errono.h> to <errno.h> in mdlparse*. Also made strerror_r an emulated function on Windows instead of requiring code changes to strerror_s. 12 年之前
  borisk c9087b98b0 Merged with trunk. 12 年之前
  Jeffrey Bush a11af8af8f Added getrusage emulation function for Windows. 12 年之前
  Jeffrey Bush 00de074385 Added support for gethostname on Windows and use _ctime64_s for ctime_r on Windows. 12 年之前
  Jeffrey Bush da45717658 Using strerror_s in place of strerror_r for Windows builds. Added windows-lib.h for Windows-specific defininitions. First Windows-specific commit. 12 年之前
  borisk 69b05d686a We address the bug and loophole in the treatment of the timing of unimolecular reactions. Inside 'run_timestep() we set 'a->t2 = FOREVER' when we cannot find unimolecular or unimolecular at the surface reactions for the molecule 'a'. Later on we reset 'a->t2 = 0' for diffusing molecules that have reactions with the wall. There was a bug in the reset code. The bug showed itself when molecule as a result of unimolecular reaction changes it's orientation, say from S{-1} to S{1}. If there are no unimolecular reactions for S{1} the 't2' is set to FOREVER. If there is a reaction such that S{1} + B -> S{-1} that FOREVER timing was preserved and gradually all molecules S{-1} will get FOREVER timing and the unimolecular reactions for S{-1} will stop. Also we never address the case for static molecules with the above described conditions. The surface molecule may have several reactions with different kinetics for different orientations, so we cannot just keep the same time 't2' when the molecule switch orientation as a result of reaction. We now set 't2' for this molecule as 't2 = 0' and force to recheck it's real timing inside 'run_timestep()' again, thus fixing the loophole. Thanks Markus for the pointing to this loophole and Jacob for discovering the bug. 12 年之前
  borisk e14aca5bae Merged with trunk. 12 年之前
  borisk 40d7286167 We address the bug and loophole in the treatment of the timing of unimolecular reactions. Inside 'run_timestep() we set 'a->t2 = FOREVER' when we cannot find unimolecular or unimolecular at the surface reactions for the molecule 'a'. Later on we reset 'a->t2 = 0' for diffusing molecules that have reactions with the wall. There was a bug in the reset code. The bug showed itself when molecule as a result of unimolecular reaction changes it's orientation, say from S{-1} to S{1}. If there are no unimolecular reactions for S{1} the 't2' is set to FOREVER. If there is a reaction such that S{1} + B -> S{-1} that FOREVER timing was preserved and gradually all molecules S{-1} will get FOREVER timing and the unimolecular reactions for S{-1} will stop. Also we never address the case for static molecules with the above described conditions. The surface molecule may have several reactions with different kinetics for different orientations, so we cannot just keep the same time 't2' when the molecule switch orientation as a result of reaction. We now set 't2' for this molecule as 't2 = 0' and force to recheck it's real timing inside 'run_timestep()' again, thus fixing the loophole. Thanks Markus for the pointing to this loophole. 12 年之前
  Tom Bartol 47ff3715be Add a new viz output mode, "MODE = CELLBLENDER". This mode generates a 12 年之前
  borisk c898551111 Merged with trunk 12 年之前
  borisk 53d6c0e52c Default commit 12 年之前
  borisk 72e95f63cd Fixed a bug in the trimolecular reactions code pointed to by Markus - at one line used a logical addition instead of binary one. 12 年之前
  borisk c6a5117278 Fixed a bug in the trimolecular reactions code pointed to by Markus - at one line used a logical addition instead of binary one. 12 年之前
  Markus Dittrich 2738610486 Updated the manual. 12 年之前
  borisk fce64c2066 Merged with a trunk. 12 年之前
  borisk fe061507cb Implemented small code change that shortens the function by about 40 lines and improves clarity of the code. Thanks Markus for the suggestion. 12 年之前
  borisk 2b73e6fdae Implemented small code change that shortens the function by about 40 lines and improves clarity of the code. Thanks Markus for the suggestion. 12 年之前
  borisk 7d79bf11aa Added test case in the testsuite that covers the bug with checkpointing and unimoleclar reaction with variable rates. 12 年之前
  borisk 7681677079 Added test case in the testsuite that covers the bug with checkpointing and unimoleclar reaction with variable rates. 12 年之前
  borisk 08a9cfbae5 Removed some leftover debugging messages - thanks Markus for pointing. 12 年之前
  borisk 6baf3d441f Removed some leftover debugging messages - thanks Markus for pointing. 12 年之前
  borisk c5e36be693 Jun Ma recently reported a bug in the code that represents itself as molecule's negative lifetime. He developed a very complex model and checkpointed at 174115 and later ran 1000 iterations more. That's where the negative lifetimes appear. After careful study of the model and the code I realized that the bug showed up under the combination of two simultaneous conditions: 1) checkpointing, 2) unimolecular reactions with variable rates. It appeared that variable rates files were not properly read and molecule's scheduling times were not properly set up. Applied code changes fix the problem. 12 年之前
  borisk b7730d4b87 Jun Ma recently reported a bug in the code that represents itself as molecule's negative lifetime. He developed a very complex model and checkpointed at 174115 and later ran 1000 iterations more. That's where the negative lifetimes appear. After careful study of the model and the code I realized that the bug showed up under the combination of two simultaneous conditions: 1) checkpointing, 2) unimolecular reactions with variable rates. It appeared that variable rates files were not properly read and molecule's scheduling times were not properly set up. Applied code changes fix the problem. 12 年之前
  Boris Kaminsky 6f842a7d08 Merged with trunk 13 年之前