MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Matteo Cacciola
on 29 Jun 2012

Dear all first of all, thanks for your previous helps. Now I am facing the problem of modelling Ising, so the issue is to find the Heisenberg neighbours in a 3D matrix. Loosely speaking, I have a 3D matrix which values are all null except the nodes where I locate atoms randomly. The matrix can be seen as a lattice, where cubic (lattice) units are superimposed. Let's suppose to have NL cubic units per dimension of the lattice.

A simple cubic lattice is a NxNxN matrix, with N=NL+1, where each one of the node can be a possible location for atoms. A face-centered cubic lattice is a NxNxN 3D matrix, with N=2*NL+1, where possible locations of atoms are vertices of cubic units and the centers of the faces of each cube.

Now, let me suppose that I would analyse 3D Ising model, with periodic boundaries in the xy-plane and free boundaries in the z-axis. I found suitable code made by Dr. Tobin Fricke, but for 2D case (<http://www.physics.ohio-state.edu/~braaten/statphys/Ising_MatLab.pdf)>. He exploited circshift Matlab function. How could I extend that code for 3D simple cubic and face-centered cubic lattices, please?

Best regards Matteo

*No products are associated with this question.*

## 1 Comment

## Sean de Wolski

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/42385#comment_86906

Sample inputs, sample code, etc help...

Also:

circshiftworks in 3d too.