nafiserb / ESpinS

GNU General Public License v3.0
23 stars 7 forks source link

Spin correlation length is limited by number of shells #1

Closed xueshanxihua closed 4 years ago

xueshanxihua commented 4 years ago

Dear developer, Thanks very much for providing such a great project, it really helps a lot in my research. Now I'm using ESPINS to calculate the spin correlation below and above the Curie temperature, where I found that the spin correlation are only printed for sites/lengths within the shells of the exchange interaction. So that we can't catch the long-range coherence from the correlation below Tc. Also, I tried to include factitiously more exchange terms between farther sites, but it seems that by default the number of shells in one individual direction is limited to 5.

Could you give any suggestion on how to deal with this? Maybe by modifying the code or some parameters I missed ?

Thank you very much,

Zeyu Jiang, Postdoctoral Fellow Department of Physics, Applied Physics, and Astronomy Rensselaer Polytechnic Institute 110 8th Street, Troy, New York

nafiserb commented 4 years ago

Dear Dr. Jiang,

You are right about printing spin-spin correlation; you have to add factitious Heisenberg exchanges with zero values. In the future, we try to fix this problem. But there is no restriction on the number of shells. You can try it on example01. If you give us your input files (inp1 and inp2 ..), we probably could help you more.

Best regards, Nafise

xueshanxihua commented 4 years ago

Dear Nafise,

Thanks very much for your quick reply. Actually, I'm dealing with a 1D chain with Heisenberg model. Since a rigorous long-range-order cannot hold in this case for T>0, that's why I want to see to what extend the correlation is preserved in my condition. I used a supercell as

_Begin Unit_Cell_Cart 50.0000000 0.00000000 0.00000000 0.00000000 50.0000000 0.00000000 0.00000000 0.00000000 2.00000000 End Unit_Cell_Cart Begin Atoms_Frac Ti 0.0000000 0.0000000 0.0000000 1.00 End AtomsFrac

with shell=10. I presume that it should give a group of shortest interaction distances {2, 4, 6, ...., 20} which corresponds 1st~10th neighbor along z direction. But it comes out to be

_Begin Parameters_Jij t1= 1:t2= 1:sh= 1:Jij= ??????!:sig=?????!:d= 2.00000000 t1= 1:t2= 1:sh= 2:Jij= ??????!:sig=?????!:d= 4.00000000 t1= 1:t2= 1:sh= 3:Jij= ??????!:sig=?????!:d= 6.00000000 t1= 1:t2= 1:sh= 4:Jij= ??????!:sig=?????!:d= 8.00000000 t1= 1:t2= 1:sh= 5:Jij= ??????!:sig=?????!:d=10.00000000 t1= 1:t2= 1:sh= 6:Jij= ??????!:sig=?????!:d=50.00000000 t1= 1:t2= 1:sh= 7:Jij= ??????!:sig=?????!:d=50.03998401 t1= 1:t2= 1:sh= 8:Jij= ??????!:sig=?????!:d=50.15974482 t1= 1:t2= 1:sh= 9:Jij= ??????!:sig=?????!:d=50.35871325 t1= 1:t2= 1:sh=10:Jij= ??????!:sig=?????!:d=50.63595560 End ParametersJij

Attached please find the inp1 and inp2 files used for this initialization. espins.inp1.mcin.txt espins.inp2.mcin.txt

nafiserb commented 4 years ago

Dear Zeyu,

It seems this problem happens in the one-dimensional system. At the moment, the temporary solution is to manipulate the main input file directly. The code read neighbor information from the main input file, so if the information in the input file is correct, then everything goes well.

The attachment is the main input file for 10 shells. espins.mcin.txt

We will work on this issue to solve it fundamentally.

Best regards, Nafise

xueshanxihua commented 4 years ago

It works! Thanks very much for your helps, Nafise.