计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1820|回复 Reply: 2
打印 Print 上一主题 Last thread 下一主题 Next thread

[Lammps] lammps案例中用GreenKubo公式计算导热系数的方法,输入文件为何将体积放在分母上

[复制链接 Copy URL]

19

帖子

0

威望

248

eV
积分
267

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Poly_Maohua 于 2022-12-29 10:45 编辑

请问各位老师,
lammps利用GreenKubo方法计算导热系数的案例,输入文件如下

# Sample LAMMPS input script for thermal conductivity of solid Arunits       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.3806504e-23    # [J/K] Boltzmann
variable    kCal2J equal 4186.0/6.02214e23
variable    A2m equal 1.0e-10
variable    fs2s equal 1.0e-15
variable    convert equal ${kCal2J}*${kCal2J}/${fs2s}/${A2m}# setup problem
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.2381 3.405
timestep     ${dt}
thermo       $d# 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
run          8000# thermal conductivity calculation, switch to NVE if desired#unfix       NVT#fix         NVE all nve
reset_timestep 0
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[1]/vol
variable     Jy equal c_flux[2]/vol
variable     Jz equal c_flux[3]/vol
fix          JJ all ave/correlate $s $p $d &             c_flux[1] c_flux[2] c_flux[3] type auto file J0Jt.dat ave running
variable     scale equal ${convert}/${kB}/$T/$T/$V*$s*${dt}
variable     k11 equal trap(f_JJ[3])*${scale}
variable     k22 equal trap(f_JJ[4])*${scale}
variable     k33 equal trap(f_JJ[5])*${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[W/mK] @ $T K, ${ndens} /A\^3"
我的问题是,在划线的一行,为什么体积V是在分母上呢?无论是根据Lammps官网,还是文献,这个体积都应该在分子上。我猜想可能是哪个参数包含了V,这里要把多乘的体积除去,但是又不知道具体是为什么。能不能麻烦老师们帮我解答一下?非常感谢


1

帖子

0

威望

39

eV
积分
40

Level 2 能力者

3#
发表于 Post on 2025-1-7 11:56:45 | 只看该作者 Only view this author
想必这个问题楼主已经解决了,最近刚入手学习做分子动力学模拟,这个体积V应该是热流J(t)的计算公式里有V,但Lammps计算热流的过程实际没有计算V,而是放在了后面划线这一步计算,所以分母出现V平方和原有分子上的V约去后剩下一个V在分母上。但最近一直有个疑问困扰我,单位转换计算convert的公式为什么是${kCal2J}*${kCal2J}/${fs2s}/${A2m}这样呢,时间项为什么在分母,而且分母上是V, 长度单位转换不应该出现三次方出现吗?按照我的理解,我觉得convert公式应该这样,convert equal ${kCal_to_J}*${kCal_to_J}*${fs_to_s}/${A_to_m}/${A_to_m}/${A_to_m},但我看到很多地方的公式都是前者,不明白是我哪里理解的有问题,希望楼主看到回复,也求路过的大神或者老师们赐教,感谢感谢

19

帖子

0

威望

248

eV
积分
267

Level 3 能力者

2#
 楼主 Author| 发表于 Post on 2022-12-31 17:43:37 | 只看该作者 Only view this author
我想自己頂一下。。。請教一下上面這個問題

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-15 02:14 , Processed in 0.177251 second(s), 27 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list