Version 3.5.0 Additions: Added OpenMP support Added new algorithm to External potential - delta E can be now calculated based on changes in COM position Added functionality to SteppableBasePy - now it detects whic Python available plugins are loaded and based on this it makes them callable directly from any steppable which inherits SteppableBasePy. Added COM based algorithm to cell orientation plugin Modified COM plugin to make center of mass coordinates easier to access without doing any calculations Reworked viscosity plugin, added new attributes to CellG - true COM coordinates and COM for one spin flip before Added Secretion Plugin which replaces (this is optional and up to modeler) secretion syntax of PDE sover. Secretion plugin has better functionality than secretion functions in PDE-solver Implemented Chemotaxis by cell id. "Per-cell" chemotaxis parameters override XML based definitions. Still users have to list in XML which fields participate in chemotaxis Implemented fluctuation amplitude on per-cell basis. Replaced "with" statement in Graphics/GraphicsFrameWidget.py with equivalent try/except statement Changed Temperature/Cell motility to FluctuationAmplitude - we still support old definitions however we should deprecate old terminology Added accessor functions to LengthConstraintLocalFlex/LengthConstraintLocalFlexPlugin.cpp Implemented text stream redirection so that output from C++ and Python can be displayed in Player console Bug Fixes: Fixed significant bug in parallel Potts section - had to allow nested omp regions as PDE solver caller calls PDE solver from within parallel section . PDESolver though instantiates its own parallel section to solve PDE so there are nested parallel regions Version 3.6.0 Additions: Integrated Twedit++ with CC3D Added more functionality to plotting in CC3D, modified startup scripts related to twedit++ Separated internal energies and external energies - all contact plugins by default include only terms from neighboring pixels belonging to different clusters. Added ContactInternal plugin which calculates energy between neighboring pixels belongint to different cells but within the same cluster. This allows replacement of Comparment plugin with combination of ContactInternal+Contact, ContactInternal+AdhesionFlex etc. modified clusterEnergy example to show how the new approach will work Added extra functionality to PySteppables SteppableBasePy module allowing simple cell manipulation and better access to cell within cluster Fixed Python iterators - see bug-fixes below for more details Bundled BionetSolver with CC3D - Windows OSX, coming soon Introduced new style CCC3D project files (as of now each CC3D simulation can be stored as a self-contened directory containing all the files necessaruy to run simulations). All file locations are w.r.t to directory containing main CC3D project file *.cc3d Introduced new storage place. By default all the simulations results are now saved to /CC3DWorkspace Added CC3D project management tool to Twedit ++ Added CC3D simulation wizard to Twedit Added new boundary condition specification and a llowed mixed BC for most of the PDE's (Kernel and AdvectionDivffusion solver are not included in this change) Bug Fixes: Fixed the following problem: SWIG has problems correctly generating/handling STL iterators (or in general any iterators) Once there are more than one SWIG-generated modules loaded in Python and each of those modules contains STL containers then iterators generated by SWIG () like those returneb by itervalues, iter, iterator iterkeys etc) will caus segfault during iteration This is well documented below and here: http://permalink.gmane.org/gmane.comp.programming.swig.devel/20140 //here is a reference found on the web to the bug in Swig // # 1. Workaround for SWIG bug #1863647: Ensure that the PySwigIterator class // # (SwigPyIterator in 1.3.38 or later) is renamed with a module-specific // # prefix, to avoid collisions when using multiple modules // # 2. If module names contain '.' characters, SWIG emits these into the CPP // # macros used in the director header. Work around this by replacing them // # with '_'. A longer term fix is not to call our modules "IMP.foo" but // # to say %module(package=IMP) foo but this doesn't work in SWIG stable // # as of 1.3.36 (Python imports incorrectly come out as 'import foo' // # rather than 'import IMP.foo'). See also IMP bug #41 at // # https://salilab.org/imp/bugs/show_bug.cgi?id=41 The bottom line is that instead of relying on SWIG to generate iterators for you it is much better to write your own iterator wrapper like the one included in the CC3D code. This is a bit of the overhead but not too much and if necessary it can be further simplified (for the convenience of coding) SteadyStateDiffusionSolver Fixed instability issues associated with floats - Change solver to work with doubles Version 3.6.1 Additions: TO BE ADDED Bug Fixes: TO BE ADDED Version 3.6.2 Additions: Added CC3DML Helper to Twedit GPU Diffusion solver Bug Fixes: Version 3.7.0 Additions: GPU Reaction-Diffusion Solvers (explicit and implicit) RoadRunner-basedSBMLsolvers Simplified and improved Steppable API (backward compatibility maintained) Numpy-based syntax for field manipulation Demo integration with Dolfin- works on linux only Bug Fixes: Version 3.7.1 Additions: LLVM-based RoadRunner as a backend for SBML Solver Parameter Scans Improved Twedit On Windows switched compilers from VS2008 to VS 2010 Added Serialization of SBMLSolver objects Fixed memory leaks in the Player Added proper cleanup functions to Simulator Bug Fixes: Fixed sneaky bug related to cell inventory ordering - affected windows only and when cells were deleted it could cause CC3D crash. Same for FocalPOintPLasticity plugin ordering of the links was buggy on windows.