Dear all,
I was trying to run a simulation on the one-dimensional 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. So there are two types of edges defined in the unicell: ------------------------------- <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> ------------------------------- Then 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. I have read one posting said that the number of types of bond operators should be equal to the number of types of edges defined in the unitcell. Is there anything wrong with my Model XML File? Is my bond operator wrong? My Model XML File is: ------------------------------- <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 solve the problem that parameter t' does not seem to work?
Thanks,
Yulian Chen
Hi Yulian,
Sorry to the late reply. Could you show your python simulation script to expose the bug?
Best, Rongyang ________________________________ From: Comp-phys-alps-users comp-phys-alps-users-bounces@lists.phys.ethz.ch on behalf of yulian chen cyl119zj@gmail.com Sent: Friday, October 19, 2018 16:15 To: comp-phys-alps-users@lists.phys.ethz.ch Subject: [ALPS-users] parameter t' does not seem to work
Dear all,
I was trying to run a simulation on the one-dimensional 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. So there are two types of edges defined in the unicell: ------------------------------- <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> ------------------------------- Then 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. I have read one posting said that the number of types of bond operators should be equal to the number of types of edges defined in the unitcell. Is there anything wrong with my Model XML File? Is my bond operator wrong? My Model XML File is: ------------------------------- <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 solve the problem that parameter t' does not seem to work?
Thanks,
Yulian Chen
comp-phys-alps-users@lists.phys.ethz.ch