Dear Rongyang,

Thank you for your reply. I did the two steps as you told me to check the graph using the printgraph tool. And you are right that the last line in my UNITCELL definition leads to the duplicated construction.

(alps) yulian@DESKTOP-MH80DO3:/mnt/c/Users/cyl/Desktop/partite$ printgraph superlatticechain.task1.in.xml
<GRAPH dimension="1" vertices="8" edges="7">
  <VERTEX id="1" type="0"><COORDINATE>0</COORDINATE></VERTEX>
  <VERTEX id="2" type="1"><COORDINATE>0</COORDINATE></VERTEX>
  <VERTEX id="3" type="0"><COORDINATE>1</COORDINATE></VERTEX>
  <VERTEX id="4" type="1"><COORDINATE>1</COORDINATE></VERTEX>
  <VERTEX id="5" type="0"><COORDINATE>2</COORDINATE></VERTEX>
  <VERTEX id="6" type="1"><COORDINATE>2</COORDINATE></VERTEX>
  <VERTEX id="7" type="0"><COORDINATE>3</COORDINATE></VERTEX>
  <VERTEX id="8" type="1"><COORDINATE>3</COORDINATE></VERTEX>
  <EDGE source="1" target="2" id="1" type="0" vector="0"/>
  <EDGE source="2" target="3" id="2" type="1" vector="1"/>
  <EDGE source="3" target="4" id="3" type="0" vector="0"/>
  <EDGE source="4" target="5" id="4" type="1" vector="1"/>
  <EDGE source="5" target="6" id="5" type="0" vector="0"/>
  <EDGE source="6" target="7" id="6" type="1" vector="1"/>
  <EDGE source="7" target="8" id="7" type="0" vector="0"/>
</GRAPH>

Then I changed the unit-cell into
<UNITCELL name="sublattice1d" dimension="1">
  <VERTEX type="0"/>
  <VERTEX type="1"/>
  <EDGE type="0"><SOURCE vertex="1" offset="0"/><TARGET vertex="2" offset="0"/></EDGE>
  <EDGE type="1"><SOURCE vertex="2" offset="0"/><TARGET vertex="1" offset="1"/></EDGE>
</UNITCELL>

I run a DMRG calculation. But I found that the results are the same as when I used the "open chain lattice" with a single tunneling rates t. The parameter t' does not seem to work. I think it should be something wrong with my Model XML File:

<MODELS>
<SITEBASIS name="boson">
  <PARAMETER name="Nmax" default="infinity"/>
  <QUANTUMNUMBER name="N" min="0" max="Nmax"/>
  <OPERATOR name="bdag" matrixelement="sqrt(N+1)">
    <CHANGE quantumnumber="N" change="1"/>
  </OPERATOR>
  <OPERATOR name="b" matrixelement="sqrt(N)">
    <CHANGE quantumnumber="N" change="-1"/>
  </OPERATOR>
  <OPERATOR name="n" matrixelement="N"/>
</SITEBASIS>
<BASIS name="boson">
  <SITEBASIS ref="boson"/>
  <CONSTRAINT quantumnumber="N" value="N_total"/>
</BASIS>
<SITEOPERATOR name="double_occupancy" site="x">
  n(x)*(n(x)-1)/2
</SITEOPERATOR>
<BONDOPERATOR name="boson_hop" source="x" target="y">
  bdag(x)*b(y)+bdag(y)*b(x)
</BONDOPERATOR>
<HAMILTONIAN name="boson Hubbard">
  <PARAMETER name="mu" default="0"/>
  <PARAMETER name="t" default="1"/>
  <PARAMETER name="t'" default="1"/>
  <PARAMETER name="U" default="0"/>
  <PARAMETER name="V" default="0"/>
  <BASIS ref="boson"/>
  <SITETERM site="i">
    <PARAMETER name="mu#" default="mu"/>
    <PARAMETER name="U#" default="U"/>
    -mu#*n(i)+U#*n(i)*(n(i)-1)/2
  </SITETERM>  
   <BONDTERM type="0" source="i" target="j">
     -t*boson_hop(i,j)
   </BONDTERM>
   <BONDTERM type="1" source="i" target="j">
     -t'*boson_hop(i,j)
   </BONDTERM>
</HAMILTONIAN>
</MODELS>

What should I do to fix the problem?

Best,

Yulian Chen


yulian chen <cyl119zj@gmail.com> 于2018年10月17日周三 下午2:03写道:
Hello everybody,

I was trying to run a simulation on the one-dimensional superlattice Bose-Hubbarad with alternating tunneling rates t1 and t2, which is the bosonic analogue of the Su-Schrieffer-Heeger(SSH) model. The lattice with one unit cell is made of A and B sites.
To this end, I have adaped the following unit-cell:
<UNITCELL name="sublattice1d" dimension="1">
  <VERTEX type="0"/>
  <VERTEX type="1"/>
  <EDGE type="0"><SOURCE vertex="1" offset="0"/><TARGET vertex="2" offset="0"/></EDGE>
  <EDGE type="1"><SOURCE vertex="2" offset="0"/><TARGET vertex="1" offset="1"/></EDGE>
  <EDGE type="0"><SOURCE vertex="1" offset="1"/><TARGET vertex="2" offset="1"/></EDGE>
</UNITCELL>

This enters into the lattice graph:
<LATTICEGRAPH name = "2 band sublattice open chain lattice">
  <FINITELATTICE>
    <LATTICE ref="chain lattice"/>
    <EXTENT dimension="1" size ="L"/>
    <BOUNDARY type="open"/>
  </FINITELATTICE>
  <UNITCELL ref="sublattice1d"/>
</LATTICEGRAPH>

And the Hamiltonian:
<HAMILTONIAN name="boson Hubbard">
  <PARAMETER name="mu" default="0"/>
  <PARAMETER name="hop" default="1"/>
  <PARAMETER name="hop'" default="1"/>
  <PARAMETER name="U" default="0"/>
  <BASIS ref="boson"/>
  <SITETERM site="i">
    <PARAMETER name="mu#" default="mu"/>
    <PARAMETER name="U#" default="U"/>
    -mu#*n(i)+U#*n(i)*(n(i)-1)/2
  </SITETERM>  
   <BONDTERM type="0" source="i" target="j">
     -hop*boson_hop(i,j)
   </BONDTERM>
   <BONDTERM type="1" source="i" target="j">
     -hop'*boson_hop(i,j)
   </BONDTERM>
</HAMILTONIAN>

However when I run a DMRG calculation.I still get the wrong results.I compare the ground state energy of it with which I calculated by matlab using ED method.All the parameters of the two calculation are the same.

I seem to misunderstand the implementation. So the question I want to ask is that are there any wrong in the definitions of my lattice or the model in XML.

Thank you for any kind of heplful remarks.

Yulian Chen