I think you can solve this bug by removing the last line " <EDGE type="0"><SOURCE vertex="1" offset="1"/><TARGET vertex="2" offset="1"/></EDGE>
" from the definition of the UNITCELL.
Step 1: Expose the bug.
You can write a short "mock" python script to generate a simulation input XML file. Here is the script (named get_config.py)
-------------------------------
import pyalps
p = {}
p['LATTICE'] = '2 band sublattice open chain lattice'
# p['LATTICE'] = '2 band open chain lattice'
p['LATTICE_LIBRARY'] = './lattices.xml'
p['L'] = 4
pyalps.writeInputFiles('superlatticechain', [p])
-------------------------------
where your own lattice library file is at './lattices.xml'. Then run the script and get the input xml file:
-------------------------------
~ alpspython ./get_config.py
~ ls
ALPS.xsl lattices.xml superlatticechain.task1.in.xml
get_config.py superlatticechain.in.xml
-------------------------------
Then use the command line tool 'printgraph' to print the GRAPH used by your simulation:
-------------------------------
~ printgraph superlatticechain.task1.in.xml
<GRAPH dimension="1" vertices="8" edges="10">
<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="3" target="4" id="2" type="0" vector="0"/>
<EDGE source="2" target="3" id="3" type="1" vector="1"/>
<EDGE source="3" target="4" id="4" type="0" vector="0"/>
<EDGE source="5" target="6" id="5" type="0" vector="0"/>
<EDGE source="4" target="5" id="6" type="1" vector="1"/>
<EDGE source="5" target="6" id="7" type="0" vector="0"/>
<EDGE source="7" target="8" id="8" type="0" vector="0"/>
<EDGE source="6" target="7" id="9" type="1" vector="1"/>
<EDGE source="7" target="8" id="10" type="0" vector="0"/>
</GRAPH>
-------------------------------
You will see that some bonds are duplicated constructed (in bold).
Step 2: Fix the bug.
The removed line in your UNITCELL definition leads to this duplicated construction. Because this line creates a type 0 bond from the vertex 1 with offset 1 to the vertex 2 with offset 1. The two vertexes are shifted 1 unit cell. That means create a bond
in the next unit cell of the LATTICE. This is the source of the redundancy. After fixing the bug, you can print the right result:
-------------------------------
<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>
-------------------------------