ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lammps教程:平均值输出fix ave/time命令详解

2021-04-09 10:29:49  阅读:470  来源: 互联网

标签:10 lammps fix time ave 100


lammps模拟输出方式有很多,前面几篇文章也介绍过,对于模拟总体系的值一般使用thermo命令输出,而单个原子的变量值使用dump命令输出。
今天主要讨论一下体系量值的输出,使用thermo命令有两个缺点:
其一,默认情况下,thermo输出的结果存储在log.lammps文件中,在进行数据处理的时需在log.lammps中找到数据部分,复制粘贴到Origin进行绘图。
其二,对于一些波动比较大的值,thermo命令不能进行均值输出。比如摩擦力曲线,波动比较大,使用平均值输出能够得到更平滑的曲线。
1. fix ave/time语法
本文介绍另外一种数据输出命令:fix ave/time,可有效解决以上问题。
fix ave/time命令的功能是按照设定的步数对输出变量求平均值,并将平均值保存到设定文件中。
语法规则为:

fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...

这个命令的语法相对复杂,设置的参数也较多,本文只介绍一种用法。
2.fix ave/time使用方法
以输出摩擦过程中摩擦球的受力为例:

compute fx0 ball reduce sum fx
compute	fy0 ball reduce sum fy
compute	fz0 ball reduce sum fz
variable step0 equal step
fix 1 all ave/time 10 5 100 v_step0 c_fx0 c_fy0 c_fz0 file friction.txt

前三行分别计算xyz方向的力,第四行代码获取当前模拟步数。
fix命令中10 5 100的意思是每100步保存1次数据,保存的数据为v_step0 c_fx0 c_fy0 c_fz0变量的平均值。
file friction.txt值把数据保存到friction.txt文件中。
最难理解的可能就是10 5 100这三个数的设置。
10 5 100表示每100步计算或者保存1次数据(平均值),“10 5”参数表示以100步为基准向前每隔10步采1个样,共采5个样。
所以,计算第一个平均值采的样为:60、70、80、90、100,对这5步的受力值取平均即为friction.txt中的第一组数据。
同理,如手册中的例子为“2 6 100”,采样为:90,92,94,96,98,100。
学会了fix ave/time,曲线平滑就是如此简单!

更多lammps教程,请关注微信公众号:lammps加油站
在这里插入图片描述

标签:10,lammps,fix,time,ave,100
来源: https://blog.csdn.net/lammps_jiayou/article/details/115539886

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有