为什么用lammps模拟纤维素热导率得到的结果有负值

小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
用Green-Kubo自相关函数计算热导率,lammps如何引用Green-Kubo公式,in文件应如何写
用Green-Kubo自相关函数计算热导率,lammps如何引用Green-Kubo公式,in文件应如何写?
望各位高手指点一二
那如何得到电子波函数呢
lammps自带的例子中的KAPPA中有例子,你可以学习一下
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
lammps求热导率的问题
我在用lammps求热导率时遇到以下错误
ERROR: Fix in variable not computed at compatible time
看过手册 但还是没能够解决 求各位帮忙!!!!!
下面是部分 输入卡文件
我的单位 也是metal 照着你说的改了 还是出现
ERROR: Fix in variable not computed at compatible time
我查资料说这应该是计算步长的设置或者相关时间的设置问题。不知道你是怎么看待这个错误,我有关时间的这几项是这么写的 (如下),不知和你的有什么不一样。
variable& & dt equal 0.001
timestep& && & 0.001
thermo& && && &1
fix& && && &&&NVT all nvt temp $T $T 10 drag 0.2
reset_timestep&&0
fix& && && & JJ all ave/correlate $s $p $d &
& && && && & c_flux c_flux c_flux type auto file J0Jt.dat ave
版主 ,你的头像应该是水团簇吧,请问一下哪里能下载到水团簇的结构模型,好像有TPIP4的模型下载
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
从传统到低维——分享关于Bi2Te3体系热电性能模拟计算的的文章
分享关于Bi2Te3体系热电性能模拟计算的的文章(按时间先后顺序):1. Phys. Rev. B 68, 03) http://journals.aps.org/prb/abstract/10.1103/PhysRevB.68.125210. 应该是运用Boltzmann理论计算Bi2Te3热电性能的开山之作,直到2006年release的Boltzmann源程序(Comput. Phys. Commun. 175, 67 (2006).
/science/article/pii/S1305 )才彻底解决了草根科研工作者也能顺利的进行计算模拟的难题。这篇文章采用的一些计算方法和方式也一直被沿用(以下将会讲到),例如:a.弛豫时间的处理上,将理论得到的电导率/弛豫时间与实验电导率进行拟合。b.估计ZT值的大小上运用实验的晶格热导率,等等。虽然这些方法看上去很粗糙,但是通过结合经典的Boltzmann理论和first-principle原理能得出与实验相符的结果不能不说这是不小的成功。接下来就是3年后的这篇2. Appl. Phys. Lett. 88, 06).&&http://scitation.aip.org/content/aip/journal/apl/88/2/10.2863. 同样是处理Bi2Te3体系,同样是运用Boltzmann理论,在热电系数的处理上(弛豫时间,晶格热导率)同样运用了Phys. Rev. B 68, 03)处理方式,这篇文章的唯一亮点是电子结构的计算上运用tight-bonding modeling,这应该是在方法上的一个促进。紧接着是2年后的3. Phys. Rev. B 77, 08).
http://journals.aps.org/prb/abstract/10.1103/PhysRevB.77.125209. 在计算原理上也是采用first-principles原理结合Boltzmann理论,该文中的亮点是弛豫时间的处理上采用了Matthiessen rule,不在是简单的与实验结构进行拟合。另外开创了运用第一性原理拟合的原子间势(Morse势)运用到lammps中计算Bi2Te3的晶格热导率先河,在一整套输运系数都是通过计算模拟的情况下计算的ZT值与实验符合的相当好。接下来就是4. Phys. Rev. B 80, 09). http://dx.doi.org/10.1103/PhysRevB.80.165203. 这篇文章没有计算Bi2Te3体系的输运系数,仅仅是在Phys. Rev. B 77, 08)拟合的势参数的基础上进行改进(将复杂的two-body和three-body势改为更为简洁的two-body势),然而精简后的势更能反应Bi2Te3体系的物理性能,从而更加精准的模拟的实验上测得的Bi2Te3的晶格热导率。
接下来要谈到Bi2Te3低维体系了(此处着重于films),我们知道Bi2Te3块体材料的基本组成单元是5原子层(quintuple-layer,ie,QL)通过vdW结合。而低维体系在热电性能方面更加优异,因而从10年开始,更多的工作集中于Bi2Te3 films上,例如这篇5. Appl. Rev. Lett. 97, 10). http://scitation.aip.org/content/aip/journal/apl/97/21/10.8078. 该文利用第一性原理结合Landauer formalism计算了Bi2Te3 QL的热电性能,预测到Bi2Te3 QL 的ZT值居然高到难以置信的7.15。我们暂且不论该ZT值的正确与否,该文的一些方法也是值得大家学习,在低维体系的计算上采用Landauer formalism (前提是该方法正确的重复了bulk Bi2Te3的热电性能)。在此对即将踏入计算行业的同学说一句题外话:在我们运用一种方法计算一个体系的性能时,一定要经过严格的验证,不然就连我们自己也不能确定计算的结果是否正确。当然这篇文章的不足体现在:在估算ZT值依然运用实验上bulk Bi2Te3的晶格热导率,运用bulk Bi2Te3的平均自由程计算Bi2Te3 QL的输运系数。接下来6. Appl. Phys. Latt. 102, 13). http://scitation.aip.org/content/aip/journal/apl/102/9/10.4534. 该文应该是Appl. Rev. Lett. 97, 10)的一个延续,因为在计算方法上都是采用了DFT结合Landauer formalism,不同点在于体系从1QL计算到6个QL,由于在计算上存在晶格热导率和平均自由程大小的不确定,该文巧妙的避开了这两个问题采用ZTe来比较热电性能随着films的厚度变化。最后7. J. Appl. Lett. 116, 14).
http://scitation.aip.org/content/aip/journal/jap/116/2/10.9921. 该文在低维Bi2Te3的热电性能的处理上回归了Boltzmann结合DFT。弛豫时间采用bulk Bi2Te3的弛豫时间,首次拟合了低维Bi2Te3的原子间势来计算晶格热导率,同时模拟计算了(Bi0.5Sb1.5)2Te3的热电性能。该文预测传统的低温热电材料Bi2Te3在低维的情况下会转变成较好的中温(800K)热电材料(ZT=2.2),这在之前的实验得到部分验证(文中有说明),然而,这种预测是否真正如此,还有待进一步的验证。
好了,就说这么多了,我主要是为了给即将进入热电领域的同学们一个基本概况,另外就是计算方法和模型的介绍,由于仅仅局限于Bi2Te3体系,难免比较片面,文中有什么纰漏之处还请大家多多包涵,我个人不亲睐于ATK因而文中没有提及,一个重要原因就在于ATK的弹道输运在低维体系下是否真的适用,这也一直是计算界同行争议颇大的问题(当然文章不好发,是不是有点功利,0.0)。最后,对于计算模拟我想提出几点看法:从当初模拟预测好的热电性能材料到现在的自说自话(特别是一些计算软件的强大到只需进行基本的模型构造就能给出最终ZT值,我给它取名ZT值计算器),我们看到有多少文章是拿一个体系就算它的ZT值,完全脱离了实验和实际使用的基本原则。另外就是慢慢沦为验证实验结果正确的附庸工具,计算也正慢慢没落。最后,我想问关于Bi2Te3体系,拓扑绝缘体性质和热电性能的联系是什么?谢谢大家!!!(本材料仅供内部交流使用,请勿外传)
:hand::hand::hand:
:hand::hand::hand:
:hand::hand::hand:
:hand::hand::hand:
:hand::hand::hand:
额,没人交流~~~
确实,不过最近的SnSe使二元体系焕发又一春,特别是结构上的各向异性与极低的热导率,不得不使人想入非非啊:D:D:D
乐观的发文章
悲催的应用
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
Green-Kubo公式计算热导率,自相关函数问题
大家好啊,请教一个一个热导率计算计算的的问题问题。
用Green-Kubo公式算出来的热流自相关函数分别是x y z方向的,但是文献中只有一条线,
1、怎样可以从这三个方向的热流自相关函数得到跟文献中类似的一条线呢?
2、很多文献中给出的热流自相关函数是归一化的,那么应该怎样归一化呢?
额,我不是说一条直线。我的意思是,我们可以得到三个方向的,就是可以画出三条自相关函数的线,但是文献中一般只画一条,是不是要相加除以3之类的?
还有,我得到的自相关函数是这样的。会不会比较奇怪?
我不是很清楚自己的归一化方式对不对,因为文献中给的归一化是
&J(t)J(0)&/&J(0)J(0)&,所以我认为是除以得到在自相关函数中的第一列的数。
QQ截图43.png
我没有做过热流自相关函数的计算,所以不太清楚自相关函数在0点附近上下反复震荡是否合理,建议你看一下相关文献看这样的形状是否合理。
有些其他自相关函数比如说速度自相关,偶极自相关是有可能在0附近震荡的。
我认为你用&J(t)J(0)&/&J(0)J(0)&归一化没有问题,也就是把你原来算的自相关函数除以t=0的值,但为什么你t=0的值不是1?
如果体系各向同性的话三个方向应该是一样的,至于文献中画的那一条我就不知道是怎么得到的,也许是sqrt(Jx(t)*Jx(t) + Jy(t)*Jy(t) + Jz(t)*Jz(t))?
感谢提醒,我还没有试过做热导率随时间的变化的曲线。
热导率小得离谱,估计是单位转化上出了问题,我再检查检查
最大的那个是1的,因为数据太多,基本上跟坐标轴重合了,所以看不出来。谢谢啊,我后来找到懂的人问过了,他说这样的图是有可能的:hand:
对于固体,自相关函数在0点附近可能出现震荡。下面是我看的文献里的原话;In numerical simulations
the autocorrelation function is cut off after a certain time,
when its value is virtually zero. For solid systems, however,
the correlation function does not vanish as expected and the
integral diverges.
lammps里自带有例子
Green-Kubo公式计算热导率,自相关函数的in文件吗
例子KAPPA/log.heatflux中Jx Jy Jz分别是xyz方向上的热流自相关函数的结果吗???
你好,请教下你求热导率是用fix&&ave/correlate 得到热流自相关值的吗?图片中你这个自相关函数结果是怎么得到的了?:hand:
你好,请教下你求热导是用fix ave/correlate得到自相关函数值的吗?你上面这个自相关结果图是怎么得到的呢?:hand:
请问你的问题解决了吗
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
lammps计算氩热导率的经典例子为什么reset_timestep 0?有什么必要吗
# Sample LAMMPS input script for thermal conductivity of solid Ar
units real
variable T equal 70
variable V equal vol
variable dt equal 4.0
variable p equal 200 # correlation length
variable s equal 10 # sample interval
variable d equal $p*$s # dump interval
# convert from LAMMPS real units to SI
variable kB equal 1. #&&Boltzmann
variable kCal2J equal .02214e23
variable A2m equal 1.0e-10
variable fs2s equal 1.0e-15
variable convert equal ${kCal2J}*${kCal2J}/${fs2s}/${A2m}
reset_timestep 0& && &&&#&&这里是为什么设置成0
dimension 3
boundary p p p
lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
region box block 0 4 0 4 0 4
create_box 1 box
create_atoms 1 box
mass 1 39.948
pair_style lj/cut 13.0
pair_coeff * * 0.
timestep ${dt}
# equilibration and thermalization
velocity all create $T 102486 mom yes rot yes dist gaussian
fix NVT all nvt temp $T $T 10 drag 0.2
# thermal conductivity calculation, switch to NVE if desired
#unfix NVT
#fix NVE all nve
Sample Text
compute myKE all ke/atom
compute myPE all pe/atom
compute myStress all stress/atom NULL virial
compute flux all heat/flux myKE myPE myStress
variable Jx equal c_flux/vol
variable Jy equal c_flux/vol
variable Jz equal c_flux/vol
fix JJ all ave/correlate $s $p $d &
c_flux c_flux c_flux type auto file J0Jt.dat ave running
variable scale equal ${convert}/${kB}/$T/$T/$V*$s*${dt}
variable k11 equal trap(f_JJ)*${scale}
variable k22 equal trap(f_JJ)*${scale}
variable k33 equal trap(f_JJ)*${scale}
thermo_style custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33
run 100000
variable k equal (v_k11+v_k22+v_k33)/3.0
variable ndens equal count(all)/vol
print &average conductivity: $k @ $T K, ${ndens} /A^3&
我试图去掉了reset_timestep 0,也正常运行了,计算的结果没发现有什么不一样的。请问这个设置有什么必要性吗?出于什么目的?先谢谢了,这个关系到后期我自己编写的文件因为有时候写入reset_timestep 0就会报错?reset_timestep 0跟 fix temp/rescale 命令是不是冲突
可是即使reset_timestep 0,改变的只是时间步数,而不是时间步长的,timestep ${dt}是不变的
没有学过C++,你写的程序语言看不是很懂,您的意思是有没有reset_timestep,并不影响我最后求出来的热导率结果和热流相关函数是吗?
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研

我要回帖

更多关于 lammps 水的热导率 的文章

 

随机推荐