2014年8月5日 星期二

[ALPS]結合 Unit cells 和 lattice

通常我們建立晶格時,單一循環內可以不只有一個粒子,而這其中「單一循環」感覺就有點像是 Unit cells了,這個「單一循環」可以很負責雜,也可以很簡單

較簡單的例子:

以上圖為範例,這是一個有著六個循環的開區間晶格,而單一循環中也僅有一個粒子存在,而每個循環之間只有一個連結,上一個循環中的1號粒子會連結到下一個循環的1號粒子。

 

要描述這樣的情形,所需要的 XML 語法如下:

<LATTICEGRAPH>
<FINITELATTICE>
<LATTICE dimension="1"/>
<EXTENT size="6"/>
<BOUNDARY type="open"/>
</LATTICE>
</FINITELATTICE>
<UNITCELL dimension="1" vertices="1">
<VERTEX/>
<EDGE>
<SOURCE vertex="1"/>
<TARGET vertex="1" offset="1"/>
</EDGE>

</UNITCELL>
</LATTICEGRAPH>


這段語法大多數在前兩次的筆記中有提到過了,其中最值得注意的是橘色的部分,這兒有提到EDGE 的 SOURCE 和 TARGET 以及 offset ,所謂「offset = “1”」的意思是:「往前進一個循環」的意思,也就是橘色的整段的意思是:「來源是這的1號端點,目標是下一個循環的1號端點」的意思囉。


稍微複雜的例子──循環內不只一個端點



上圖就是這次要建立的圖像了,這2維的圖像中,每個循環中有兩個端點,分別是紅色(1號)以及藍色(2號),而每個循環之間則以紅色進行相連,方向是向右以及向上,語法如下:

<LATTICE name="square" dimension="2">
<BASIS>
<VECTOR> 1 0 </VECTOR>
<VECTOR> 0 1 </VECTOR>
</BASIS>
</LATTICE>
<FINITELATTICE name="rectangular periodic" dimension="2">
<LATTICE ref="square"/>
<EXTENT dimension="1" size="L"/>
<EXTENT dimension="2" size="W,L"/>
<BOUNDARY type="periodic"/>
</FINITELATTICE>
<UNITCELL name="complex example" dimension="2" vertices="2">
<VERTEX id="1" type="0"><COORDINATE> 0.3 0.7 </COORDINATE></VERTEX>
<VERTEX id="2" type="1"><COORDINATE> 0.6 0.3 </COORDINATE></VERTEX>
<EDGE><SOURCE vertex="1"/><TARGET vertex="1" offset="1 0"/></EDGE>
<EDGE><SOURCE vertex="1"/><TARGET vertex="1" offset="0 1"/></EDGE>
<EDGE><SOURCE vertex="1"/><TARGET vertex="2"/></EDGE>
</UNITCELL>
<LATTICEGRAPH>
<FINITELATTICE ref="rectangular periodic"/>
<UNITCELL ref="complex example"/>
</LATTICEGRAPH>


基本上就是多在UNICELL標籤中新增了兩個VERTEX而已,而下方的FINITELATTICE標籤則是使用了 ref 功能,也就是"參照以上"的意思。

沒有留言:

張貼留言