diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2018-07-01 00:52:31 -0400 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2018-07-01 00:52:31 -0400 |
commit | 90ae915b5a7961a36e6a33509b16229244c6615a (patch) | |
tree | 16c6642868b9bb998864918ba2d86fefc648dc91 /lib/cluster_finite.c | |
parent | 78d8de381f0b1e99ad98364709cbf876689628b2 (diff) | |
download | c++-90ae915b5a7961a36e6a33509b16229244c6615a.tar.gz c++-90ae915b5a7961a36e6a33509b16229244c6615a.tar.bz2 c++-90ae915b5a7961a36e6a33509b16229244c6615a.zip |
fixed both the system for determining bond energy and how global state is tracked
Diffstat (limited to 'lib/cluster_finite.c')
-rw-r--r-- | lib/cluster_finite.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/cluster_finite.c b/lib/cluster_finite.c index 71396e0..9392cf8 100644 --- a/lib/cluster_finite.c +++ b/lib/cluster_finite.c @@ -1,8 +1,8 @@ #include "cluster_finite.h" -v_t flip_cluster_finite(state_finite_t *s, v_t v0, q_t rot_ind, gsl_rng *r) { - q_t *rot = s->transformations + s->q * rot_ind; +v_t flip_cluster_finite(state_finite_t *s, v_t v0, R_t rot_ind, gsl_rng *r) { + q_t *rot = s->transformations + s->q * s->involutions[rot_ind]; q_t *R_inv = symmetric_invert(s->q, s->R); v_t nv = 0; @@ -63,10 +63,10 @@ v_t flip_cluster_finite(state_finite_t *s, v_t v0, q_t rot_ind, gsl_rng *r) { s->M[rot_s_new]++; } else { - q_t diff_old = (s_old + s->q - sn) % s->q; - q_t diff_new = (s_new + s->q - sn) % s->q; + q_t diff_old = s->bond_with_zero_type[s->transformations[s->q * s->transform_site_to_zero[sn] + s_old]]; + q_t diff_new = s->bond_with_zero_type[s->transformations[s->q * s->transform_site_to_zero[sn] + s_new]]; - prob = s->J_probs[diff_new * s->q + diff_old]; + prob = s->J_probs[diff_new * s->n_bond_types + diff_old]; s->B[diff_old]--; s->B[diff_new]++; |