added unordered set for speed in release mode. Have to keep ordered set
in debug to preserve determinism.
updated affected particles test.
code rewritten to not store XYZ in the site. Class went crazy static,
this smells complete writeout of site object usage,
some initial segfaults fixed. Asserts fail now. TODO: Clean up the mess.
alot of bug fixes. Still debugging. Saddle energy is NaN all of a
sudden.
redid the legal to spawn checks, fixed numerous bugs. Sequential tests
failed. Implemented tests for boundary  sites and concentration wall
update. They pass. get weird assertion in affectedsites check sometimes.
The X value is not set correctly. Does this happen when a particle is
spawned at the boundary?
fixed the bug in affectedparticles. It was due to the fact that with
free particles allowed to spawn at boundaries, all directions are not a
priory allowed for diffusion.
inspected tests and found minor sources of error. Implemented security by ensuring changes in system parameters do not get transferred from test to test.
fixed issues with spawning solution baths and sequential tests contaging
each others choice of parameters.
tests work up to concentration wall sequential which fails due to
particle set at blocked coordinate.
tried to figure out why Site still uses so much memory. Need to discuss
this with someone.
stash
Did some debugging. Tracer is broken atm, need to take a look at it.
Concentration wall boundaries spawn and add in pairs if the specified
concentration cannot be exactly matched. This needs to be controlled
such that if one cw process finds a good concentration, then a
sequential cw won't destroy it.
fixed site info such that the debugger works again. Merge remote
Debugger now looks pretty again.
debugger now enlist destination sites correctly for diffusion reactions.
make it so that the concentrationwall works with a target number of
particles instead of a concentration.
fixed a bug with the concentration wall. Now it's starting to act like
it's supposed to.
basing object ID on the refcount turned out to be a bad idea. Lead to
undefined behaviour in the ordered set due to different objects pointing
to the same ID. Added a separate counter for the IDs, which solved the
bug as well.
All tests pass. Task complete!