MCPcopy Create free account
hub / github.com/OpenSourcePhysics/osp / flip

Method flip

src/debugging/physicsapps/IsingApp.java:220–236  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

218 }
219
220 private boolean flip() {
221 int x = (int) (Math.random()*size);
222 int y = (int) (Math.random()*size);
223 int delta_M = -2*spinData[x][y];
224 int delta_nn_sum = spinData[(x-1+size)%size][y]+spinData[(x+1)%size][y]+spinData[x][(y-1+size)%size]
225 +spinData[x][(y+1)%size];
226 delta_nn_sum = -2*spinData[x][y]*delta_nn_sum;
227 double delta_E = -J*delta_nn_sum-H*delta_M;
228 if((delta_E<=0)||(Math.random()<Math.exp(-delta_E/T))) {
229 spinData[x][y] *= -1;
230 M += delta_M;
231 E += delta_E;
232 return true;
233 } else {
234 return false;
235 }
236 }
237
238 /**
239 * Steps the ising model forward in time.

Callers 1

stepIsingModelMethod · 0.95

Calls 1

expMethod · 0.80

Tested by

no test coverage detected