24小时热门版块排行榜    

查看: 1945  |  回复: 16

tsh8167

木虫 (小有名气)

引用回帖:
10楼: Originally posted by zhangguangping at 2012-05-18 22:18:26:
1. m_ts_io.F90中有一个子程序ts_iohs这个负责读写TSHS文件。
2. 单位是Ry

谢谢指教 ,但是我为什么不能给金币了?
11楼2012-05-20 14:41:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsh8167

木虫 (小有名气)

引用回帖:
10楼: Originally posted by zhangguangping at 2012-05-18 22:18:26
1. m_ts_io.F90中有一个子程序ts_iohs这个负责读写TSHS文件。
2. 单位是Ry...

多谢zhangguangping 的指点,我已经从siesta里得到我要的Hamilton了。
但是我现在有个新问题想请教:
       当我用得到的Hamilton矩阵(我模拟的是4-ZGNR,Z方向两个周期作为一个超原胞)经过分块,得到相应的H11、H01、H10矩阵,通过自己编写的Matlab程序来计算能带或者透射系数的时候,和用siesta自带的子程序tbtrans计算得到的能带图和透射系数存在很大的差别(tbtrans得到的能带图与ATK的结果符合得很好),检查了很久,都不知道产生这种差别的原因在哪?
       附上我得到的H11、H01、H10矩阵,matlab程序和两种能带图(By matlab and transiesta),请zhangguangping指点迷津,任何建议都可以,谢谢。

       注:我的最终目的是要得到透射系数对能量的函数关系,用于求积分,而不是对应某一能量的透射系数值。
12楼2012-07-11 19:08:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsh8167

木虫 (小有名气)

13楼2012-07-11 19:14:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

引用回帖:
12楼: Originally posted by tsh8167 at 2012-07-11 19:08:18
多谢zhangguangping 的指点,我已经从siesta里得到我要的Hamilton了。
但是我现在有个新问题想请教:
       当我用得到的Hamilton矩阵(我模拟的是4-ZGNR,Z方向两个周期作为一个超原胞)经过分块,得到相应的H11 ...

首先,我不会使用matlab,不能查看你的结果。再次,即使查看了结果也没什么意义,因为首要的问题是:你的计算方法是不是和atk以及tbtran一样?atk和tbtran他们的方法是一样的,得到相同的结果不足为奇,如果结果不同那就奇怪了。再说这两个软件的根源都是来自一个小组。

所以不用看结果就可以推测出来方法起码不一样。当然,不是说方法不一样,结果就相差甚远。起码你得保正你使用的方法在一定的情况下是和atk的方法能得到相似的结果,第二的保证你的方法得到了正确的代码执行。尤其是后者更加重要,因为在编写代码的时候一个不经意的小错误就会带来结果的千差万别,这个是常见的。

希望你能解决你的问题。
弘德明志博学笃行
14楼2012-07-11 19:23:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsh8167

木虫 (小有名气)

引用回帖:
14楼: Originally posted by zhangguangping at 2012-07-11 19:23:51
首先,我不会使用matlab,不能查看你的结果。再次,即使查看了结果也没什么意义,因为首要的问题是:你的计算方法是不是和atk以及tbtran一样?atk和tbtran他们的方法是一样的,得到相同的结果不足为奇,如果结果不同 ...

我用的方法和ATK、tbtrans一样,都是用的非平衡格林函数方法来计算透射系数和电流的,代码方面,由于非平衡格林函数方法既可以用来计算电流,也可以计算热流,而我的代码经过热流(包括声子色散曲线)计算的验证。
      我现在想了解的是:tbtrans是如何利用transiesta得到的Hamilton矩阵来计算能带和透射系数的?中间对Hamilton和Overlap矩阵做了什么样的处理?我看了transiesta所引用的那篇文献(PHYSICAL REVIEW B 65 165401),但是文中并没有涉及到具体的操作过程,对于矩阵的分块,我是按照文中的方法进行的。我也尝试着看过tbtrans的源代码,但是我对fortran程序很陌生,看不懂其中的处理过程。
       麻烦zhangguangping 兄能否帮我看看tbtrans对Hamilton和Overlap矩阵做了哪些变换?乘了一个什么因子(个人感觉除了把单位从Ry变为eV,应该还有一个因子在里面)?谢谢!
15楼2012-07-11 20:37:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

引用回帖:
15楼: Originally posted by tsh8167 at 2012-07-11 20:37:01
我用的方法和ATK、tbtrans一样,都是用的非平衡格林函数方法来计算透射系数和电流的,代码方面,由于非平衡格林函数方法既可以用来计算电流,也可以计算热流,而我的代码经过热流(包括声子色散曲线)计算的验证。
...

既然你用的是和ATK以及tbtrans一样的非平衡格林函数方法,那就是剩下的代码执行的差异了。关于tbtrans的代码我也想弄懂,但是现在对我来说完全弄懂还是有困难的。里面涉及的细节问题更是不懂的地方很多。其中关键的地方就是表面格林函数的获得以及自能的求解。在tbtrans中自能是能量的函数,而不是一个常数。至于透射谱的计算,我想就是对传输矩阵的对角化。
弘德明志博学笃行
16楼2012-07-11 22:04:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsh8167

木虫 (小有名气)

引用回帖:
16楼: Originally posted by zhangguangping at 2012-07-11 22:04:43
既然你用的是和ATK以及tbtrans一样的非平衡格林函数方法,那就是剩下的代码执行的差异了。关于tbtrans的代码我也想弄懂,但是现在对我来说完全弄懂还是有困难的。里面涉及的细节问题更是不懂的地方很多。其中关键的 ...

表面格林函数以及自能的计算,可在Eur.Phys.J.B 62 381中找到详细的计算过程。我现在关注的是tbtrans在对Hamilton和Overlap做预处理的时候都做了什么?从*.TSHS文件中读取出Hamilton和Overlap矩阵后,到开始进行格林函数计算之间,都有哪些动作?
17楼2012-07-11 22:29:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tsh8167 的主题更新
信息提示
请填处理意见