Can you tell us which coupling parameters you defined for the standard Heisenberg and which ones you defined for your model?
SriluckshmyThanks and RegardsHi Prof. Troyer,In my model file I have defined a coupling strength J which is same for all the links and coupling strengths Jx, Jy and Jz for tuning the kitaev part which is given below. Setting Jx= Jy=Jz =0 is the standard heisenberg hamiltonian.
<HAMILTONIAN name="kitaev heisenberg">
<PARAMETER name="J" default="1"/>
<PARAMETER name="Jz" default="0"/>
<PARAMETER name="Jx" default="0"/>
<PARAMETER name="Jy" default="0"/>
<BASIS ref="spin"/>
<BONDTERM source = "i" target="j">
J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
</BONDTERM>
<BONDTERM type="0" source="i" target="j">
Jz*Sz(i)*Sz(j) + J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
</BONDTERM>
<BONDTERM type="1" source="i" target="j">
Jx*Sx(i)*Sx(j) + J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
</BONDTERM>
<BONDTERM type="2" source="i" target="j">
Jy*Sy(i)*Sy(j) + J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
</BONDTERM>
</HAMILTONIAN>
This is where my problem was. this code with these parameters and the inbuilt spin code for heisenberg didnt give the same results in sparse diagonalization and I wanted to know why.
Is this the solution you were mentioning? Please please correct me if I am wrong.
On Fri, Jul 25, 2014 at 8:21 PM, Matthias Troyer <troyer@phys.ethz.ch> wrote:
The honeycomb lattice definition in the models file has three different edge types:<EDGE type="0"><SOURCE vertex="1"/><TARGET vertex="2"/></EDGE><EDGE type="1"><SOURCE vertex="2"/><TARGET vertex="1" offset="0 1"/></EDGE><EDGE type="2"><SOURCE vertex="1"/><TARGET vertex="2" offset="1 -1"/></EDGE>and hence you need to separately specify couplings J0, J1 and J2 or Jx0, Jx1 and Jx2 for the three bonds. If you just specify J then all you get is J0, i.e. uncoupled chainsMatthias TroyerOn 22 Jun 2014, at 20:15, Sriluckshmy Viswanathan <sriluckus@gmail.com> wrote:SriluckshmyRegardsthough i havnt changed the lattices.xml file. And for the spinHi,Thank you so much for your mail. My input for kitaev-heisenberg is
LATTICE_LIBRARY="lattices.xml"
MODEL_LIBRARY="models.xml"
MODEL="kitaev heisenberg"
LATTICE="honeycomb lattice"
local_S = 0.5
W=3
J = 1
Jx = 0
Jy = 0
Jz = 0
{L=3;}
MODEL="spin"
LATTICE="honeycomb lattice"
local_S = 0.5
W=3
J = 1
{L=3;}On Mon, Jun 23, 2014 at 4:37 AM, Matthias Troyer <troyer@phys.ethz.ch> wrote:
Can you send the input files that you used?
> <kitaev_heisenberg.task1.out.xml.dat><spin.task1.out.xml.dat>
On 22 Jun 2014, at 12:03, Sriluckshmy Viswanathan <sriluckus@gmail.com> wrote:
> Hi,
>
> I am writing a code for the computing gap in kitaev-heisenberg model on the honeycomb lattice using sparse diagonalization. When the coupling for the kitaev term is zero the model patch that I wrote should match the model that is inbuilt. But that doesnt happen. I may have made a mistake in the model patch which is as follows.
>
> <HAMILTONIAN name="kitaev heisenberg">
> <PARAMETER name="J" default="1"/>
> <PARAMETER name="Jz" default="0"/>
> <PARAMETER name="Jx" default="0"/>
> <PARAMETER name="Jy" default="0"/>
> <BASIS ref="spin"/>
> <BONDTERM source = "i" target="j">
> J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
> </BONDTERM>
> <BONDTERM type="0" source="i" target="j">
> Jz*Sz(i)*Sz(j) + J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
> </BONDTERM>
>
> <BONDTERM type="1" source="i" target="j">
> Jx*Sx(i)*Sx(j) + J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
> </BONDTERM>
>
> <BONDTERM type="2" source="i" target="j">
> Jy*Sy(i)*Sy(j) + J*Sz(i)*Sz(j) +J*exchange_xy(i,j)
> </BONDTERM>
> </HAMILTONIAN>
>
> I have also attached the output that I got in dat format. Could you please help me with this problem?
>
> Sriluckshmy
>
--
Regards
Sriluckshmy
--
Regards
Sriluckshmy