Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

统计轨迹中分子速度大小沿某一方向的分布

已有 2173 次阅读 2017-3-29 22:31 |系统分类:科研笔记

  • 2017年03月29日 09:25:09

写过一个简单的awk脚本, 用来统计轨迹中水分子的质心速度大小沿坐标的变化情况, 目的是可以用来拟合计算粘度. 具体的计算方法可参考:

A Comparison Of The Value Of Viscosity For Several Water Models Using Poiseuille Flow In A Nano-channel

A. P. Markesteijn, Remco Hartkamp, S. Luding, J. Westerweel; J. Chem. Phys. 136(13):134104, 2012; 10.1063/1.3697977

脚本只能处理gro格式的轨迹, 效率不是很高, 但基本能用. 放在这里, 存个档, 也供需要的人参考吧.

zvx.bsh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
awk'BEGIN{mo=16;mh=1;M=mo+2*mh#定义原子质量Ntot=10#定义要计算的帧数Zmin=3;Zmax=26;dZ=0.2#定义计算区间,分格间距Nfrm=0;N=int((Zmax-Zmin)/dZ)for(i=0;i<=N;i++){Z[i]=Zmin+i*dZ;Vx[i]=0;Nwat[i]=0}}NF==1{Nfrm++} NF>6&&$2~/OW/{#根据OW原子统计z=mo*$(NF-3);vx=mo*$(NF-2)#O的z坐标,x方向速度getline;z+=mh*$(NF-3);vx+=mh*$(NF-2)#H1的getline;z+=mh*$(NF-3);vx+=mh*$(NF-2)#H2的z/=M;vx/=M#质心坐标和速度i=int((z-Zmin)/dZ)Nwat[i]++;Vx[i]+=vxif(Nfrm>Ntot)exit} END{print"#Z:["Zmin":"Zmax":"dZ"]Frames:"Nfrmfor(i=0;i<=N;i++)if(Nwat[i]>0)printf"%f%fn",Z[i],Vx[i]/Nwat[i]}'File.gro>Z-Vx.xvg



https://blog.sciencenet.cn/blog-548663-1042480.html

上一篇:【整理】APBS教程
下一篇:糖及其GLYCAM力场中的命名约定
收藏 IP: 130.184.253.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 10:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部