|
|
老老实实用LAMMPS吧,GROMACS做rNEMD麻烦死了。
脚本可以直接参考radonpy:
Green-Kubo法:优点,准;缺点,需要很长的平衡时间;
- ##########################################################
- log ${logf} append
- units real
- atom_style full
- boundary p p p
- bond_style ${bondst}
- angle_style ${anglest}
- dihedral_style ${dihedst}
- improper_style ${improst}
- pair_style ${pairst} ${cutoff1} ${cutoff2}
- pair_modify mix arithmetic
- special_bonds amber
- neighbor 2.0 bin
- neigh_modify delay 0 every 1 check yes
- kspace_style pppm 1e-6
- read_data ${dataf}
- velocity all create ${Ttemp} ${seed} mom yes rot yes dist gaussian
- ##########################################################
- ## Thermal conductivity calculation by Green-Kubo method
- ##########################################################
- timestep ${TimeSt}
- compute kpKE all ke/atom # KE_i
- compute kpPE all pe/atom # PE_i
- compute kpStress all centroid/stress/atom NULL virial # S_i
- compute kpflux all heat/flux kpKE kpPE kpStress
- # x, y, z components of JE
- variable kpJx equal c_kpflux[1]/vol
- variable kpJy equal c_kpflux[2]/vol
- variable kpJz equal c_kpflux[3]/vol
- # Compute the autocorrelation function
- fix JJ all ave/correlate ${kpsample} ${kpcorrlen} ${kpdump} c_kpflux[1] c_kpflux[2] c_kpflux[3] type auto file ${autocorrf} overwrite ave running
- variable kpscale equal ${conv}*(${kpsample}*dt)/${Ttemp}/${Ttemp}/vol/${kB}
- variable kappaxx equal trap(f_JJ[3])*${kpscale}
- variable kappayy equal trap(f_JJ[4])*${kpscale}
- variable kappazz equal trap(f_JJ[5])*${kpscale}
- variable kappa equal (v_kappaxx+v_kappayy+v_kappazz)/3.0 # in isotropic system, getting the average
- fix kappa all ave/time ${kpdump} 1 ${kpdump} v_kappaxx v_kappayy v_kappazz v_kappa ave one file ${kappaf}
- fix NVT1 all nvt temp ${Ttemp} ${Ttemp} 100
- # Output
- dump 1 all custom 1000 ${dumpf} id type mol x y z vx vy vz
- dump 2 all xtc 1000 ${xtcf}
- dump_modify 2 unwrap yes
- restart 100000 ${rstf1} ${rstf2}
- thermo_style custom step time temp press enthalpy etotal ke pe ebond eangle edihed eimp evdwl ecoul elong etail vol lx ly lz density pxx pyy pzz pxy pxz pyz v_kpJx v_kpJy v_kpJz
- thermo 1000
- run ${NStep}
- write_dump all custom ${ldumpf} id x y z xu yu zu vx vy vz fx fy fz modify sort id
- write_data ${ldataf}
- quit
- """
复制代码
|
评分 Rate
-
查看全部评分 View all ratings
|