Dear ALPS developers,
Thank you for your quick and very helpful reply.
I might be doing something wrong as is the first time I define a lattice in ALPS by myself.
I want to add to the Heisenberg Hamiltonian on a 1d spin chain the term
Sz(i)*Sz(i+2)
In the lattice file I set the basis as
<BASIS><VECTOR>1</VECTOR></BASIS>
and in the unit cell I put the two bonds
<EDGE type="0"><SOURCE vertex="1" offset="0"/><TARGET vertex="1" offset="1"/></EDGE>
<EDGE type="1"><SOURCE vertex="1" offset="0"/><TARGET vertex="1" offset="2"/></EDGE>
which, as far I have understood connect respectively sites 1, and 2 lattice spacing far.
Then in the model file I define the bond operators as
<BONDOPERATOR type="0" name="usual" source="x" target="y">
usual Heisenberg bond term...
</BONDOPERATOR>
<BONDOPERATOR type="1" name="test" source="x" target="y">
Sz(x)*Sz(y)
</BONDOPERATOR>
and I put them in the Hamiltonian as
<BONDTERM type="0" source="i" target="j">
usual(i,j)
</BONDTERM>
<BONDTERM type="1" source="i" target="j">
Jtest*test(i,j)
</BONDTERM>
But it gives me error. It creates the parameter file but doesn't manage to compute any simulations (fulldiag, dmrg, etc etc).
I think is the way I have written it that has something wrong. Moreover I don't manage to use printgraph in any way to see if the lattice is correct. Do I have to use printgraph on the xml lattice file?
Many thanks in advance for your help.
Kindest regards.
--
Emanuele Levi
emanuele.levi@gmail.com