13. Lammps入门in文件简介-1

来源: “码农不会写诗”公众号
链接:Lammps入门in文件简介-1

书回正文

  Lammps通过一次一行地从输入脚本(文本文件,通常称in文件)中读取命令来执行计算,当输入脚本结束时,Lammps退出。掌握in文件语法和解析规则可以有效快速的设置和获取感兴趣的模拟信息,往往事半功倍。


01 in文件简介

Lammps从in文件读取命令从而执行指定计算,注意是一次一行的读取然后执行,并不会一次性读取整个in文件,也就是说若某行有错误,直到执行到相应行才会报出相关错误。每个命令都会使Lammps立即采取行动,而不考虑以后可能处理的任何命令。

02 in文件命令解析规则

https://docs.lammps.org/Commands_input.html

in文件中每个非空行都被视为一个命令,命令区分大小写。一般的,命令名和指定的命令参数都是小写;文件名或用户选择的ID字符串可以使用大写字母(也建议使用大写以作区分)。以下六规则请欣赏。
规则1-跨行符&
如果该行最后一个字符是“&”字符,则该命令将在下一行继续执行,也就是此行和下一行视作同一条命令,这就允许长命令可以用两行或多行的方式书写。当然通过删除“&”字符和换行符,可以将其写在同一行。

timestep  &
1.0

等价于

timestep 1.0

规则2-注释符#
从第一个“#”字符开始的所有字符都将被视为注释。

# 这里是注释
timestep  1.0   # 这里是注释

规则3-变量替换符$

搜索并用变量值替换$字符后的文本字符串。

  1. $后面跟大括号“{}”,则变量名就是大括号内的文本字符
  2. $后面没有跟大括号“{}”,则变量名是紧跟在$后面的单个字符
    注意:${myTemp}和$x指的是名为“myTemp”和“x”的变量,而“$xx”将被解释为名为“x”、后跟“x”字符的变量。
  3. $后面跟括号“()”,则括号内的文本将被视为“立即数”变量,并作为相等样式变量进行计算
variable X equal (xlo+xhi)/2+sqrt(v_area)  # define X
region 1 block $X 2 INF INF EDGE EDGE
variable X delete                          # discard X

等价于

region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE
  1. “立即数”变量表达式后面可以跟冒号":",然后跟C样式的格式字符串,例如“:%f”或“:%.10g”,该格式字符串用于输出变量表达式的结果。若未指定格式字符串,则使用高精度的“%.20g”作为默认格式。
print "Final energy per atom: $(v_ke_per_atom+v_pe_per_atom:%10.3f) eV/atom"

规则4-命令行分隔符
命令行被分成用空格(制表符、多个空格)分隔的“单词”,单词可以包含字母、数字、下划线或标点符号。
规则5-命令行内容规则
第一个单词是命令名,行中所有后续单词都是参数。
规则6-命令参数带空格
如果希望将带空格(制表符、多个空格)的文本视为单个参数,则可以将其括在单(’)、双(”)或三(”””)引号中,另外如果使用了“&”字符,则用引号括起来的单个长参数可以跨多行。

print "Volume = $v"
print 'Volume = $v'
if "${steps} > 1000" then quit
variable a string "red green blue &
                purple orange cyan"
print """
System volume = $v
System temperature = $t
"""

本文介绍了in文件的基本规则,之后会逐步讲解in文件结构及常用命令。今天就到这里啦,拜了个拜~

上一篇:Lammps入门in文件vscode高亮插件-Lammps Syntax Highlighting
下一篇:Lammps入门in文件简介-2

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农不会写诗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值