Fixed _major_ bug in multi-domain unfolding calculations & bumped to 0.8. v0.8
authorW. Trevor King <wking@drexel.edu>
Thu, 13 Aug 2009 00:06:24 +0000 (20:06 -0400)
committerW. Trevor King <wking@drexel.edu>
Thu, 13 Aug 2009 00:06:24 +0000 (20:06 -0400)
commit972d44dd0be80e03b89df6a64adfffb7ea70e3c8
tree9cbb2ddede3f5f625b42cf7d941ccba05ae2fd1e
parent6a74c591b2154fea14744922c90b96960743028f
Fixed _major_ bug in multi-domain unfolding calculations & bumped to 0.8.

The relavant lines of code are:

@@ -548,7 +574,7 @@ int domain_transitions(double F, double dt, environment_t *env, int num_domains,
   k = accel_k(transition->k, F, env, transition->k_params);
   //(*transition->k)(F, env, domain->k_params);
   //printf("k = %g,\tdt = %g,\tk dt = %g\n", k, dt, k*dt);
-  return happens(k*dt*num_domains); /* N dice rolls for prob. k*dt event */
+  return happens(1-pow((1.0-k*dt), num_domains)); /* N dice rolls for prob. k*dt event */
 }
 @ [[happens]] is a random decision making function defined in Appendix \ref{sec.utils}.

Yes, I feel very stupid.  Sorry.

I also took the oportunity to skim over the explanatory text (up to
the Appendix break), making a few updates and typo corrections as well
as adding more detail to the "Timescales" section discussing
multi-unfolding timesteps.
src/sawsim.nw