牛刀小试,效果非常满意

[复制链接]
查看: 3995|回复: 1
发表于 2010-12-1 21:02:35 | 显示全部楼层 |阅读模式
目的:台阶衬底原子排布示意图如何结得善缘阿连哥推荐,他说得两天能画好这个图。一寻思,咬咬牙能学门新手艺也是不错。于是乎就按照GLE官网提供的安装方法和帮助文件开始了画图之旅。在参考帮助文件的时候只关注如何设置循环,如何画圆圈、画圆弧,最终一个晚上搞出了以下结果,感觉良好,代码可读性强。希望抛砖引玉,招财进宝。
代码:(说明:删除其中重复的r=0.2也可以,留着它是为了画稍复杂一些的图,寻找某个原子可以通过把原子的序数代入到坐标表达式中,然后用amove命令即可把坐标移到该原子的圆心处)
!length:19 atoms; width 15 atoms; height: 3 atoms
size 14 9  !画布尺寸,下面的x,y,z代表了原子在三个方向的序数
    !first and second layer of GaAs (the frontest atoms)
    for x= 1 to 19
        for z= 1 to 2
            r=0.2
            y=1
            amove 3*r+(x-1)*2*r r+2*z*r
            circle r
        next z
    next x


!second layer of GaAs (lower terrace without rightmost edges)
    for y= 2 to 15
        for x= 9 to 18
            r=0.2
            amove 3*r+(x-1)*2*r+(y-1)*r 4*r+y*r
            arc r 0 180
        next x
    next y
!first layer of GaAs (rightmost edges) z=1, x=19, y=2~15
    for y = 2 to 15
            r=0.2
            amove 2*r*19+(y-2)*r+2*r 3*r+(y-1)*r
            arc r -90 90
    next y
!second layer of GaAs edge
    for y = 2 to 15
            r=0.2
            amove 2*r*19+(y-2)*r+2*r 3*r+(y-1)*r+2*r
            arc r -90 180
    next y
!third layer of GaAs layer (the frontest atoms)
    for x= 1 to 8
            r=0.2
            y=1
            z=3
            amove 3*r+(x-1)*2*r r+2*z*r
            circle r
    next x
!third layer (upper terrace without edge)
    for y= 2 to 15
        for x= 1 to 7
            r=0.2
            amove 3*r+(x-1)*2*r+(y-1)*r 6*r+y*r
            arc r 0 180
        next x
    next y
!third layer of GaAs edge
    for y = 2 to 15
            r=0.2
            amove 2*r*9+(y-4)*r+2*r 6*r+y*r
            arc r -90 180
    next y
!interline between third GaAs layer edge and lower terrace
    for y = 2 to 15
            r=0.2
            x=8
            amove 2*r*(x+2)+(y-4)*r 3*r+(y-2)*r+3*r
            arc r 0 90
    next y
amove 3*r+(3-1)*2*r+(6-1)*r 6*r+7*r ! 原子(3,6,3)的实际坐标
rline 0 3 arrow start
rmove -0.8 0.2
text Top terrace


! InAs atoms located on the lower terrace of GaAs substrate,注意改变y的循环次序,从后往前画,这样才能正常显示,否则后面的原子会遮盖住前面的原子,与实际不符。解决方法只需要在y前面加负号即可,GLE貌似不能从高到低循环
    for y= 5 to 10
        for x= 9 to 14
            r=0.2
            amove 16*r+(x-1)*2*r-(y-1)*r 21*r-y*r
            set fill red
            circle r
        next x
    next y



InAs layer grown on vicinal GaAs substrate
回复

使用道具 举报

发表于 2010-12-1 22:45:15 | 显示全部楼层
效果不错
回复 支持 反对

使用道具 举报

精彩图文
Copyright;  © 新科学想法 2016-2017   浙公网安备 33010202000686号   ( 浙ICP备09035230号-1 )