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