24小时热门版块排行榜    

查看: 1067  |  回复: 0

hazheng

捐助贵宾 (著名写手)


[交流] lammps脚本语法小结

输入脚本中的每个非空行被当作一个命令。LAMMPS命令是区分大小写的。命令名是小写的,如指定命令参数。大写字母可能用于文件名或用户选择的ID字符串。

    下面是LAMMPS每一行的输入脚本解析:

(1)如果某行的最后一个可打印字符是“&”字符,则假定该命令在下一行继续。通过删除“&”字符和换行符,下一行将连接到上一行。这使长命令延续在两条或更多条的命令上。请参阅(6),如何在不使用“&”字符的情况下在多行上继续执行命令。

(2) “#”字符后的所有字符都被视为注释并被丢弃,详见(6)。注意,“&”字符后面的注释将阻止命令在下一行继续。另外请注意,对于多行命令,单个“#”字符将注释整个命令。

(3)某行重复搜索“$”字符,表示用文本字符串替换该变量,详见(6)。如果字符“$”后跟大括号,则变量名称是大括号内的文本。

如果字符“$”后没有大括号跟随,则变量名称是紧跟在$之后的单个字符。如${myTemp}和$x的变量名分别为"myTemp" and "x"。

变量如何转换为文本字符串取决于变量的样式。它可以是一个存储多个文本字符串的变量,并返回其中的一个。返回的文本字符串可以是多个“单词”(空格分隔),然后将其解释为输入命令中的多个参数。该变量还可以存储为一个数学公式,该公式将被估算,其数值结果作为字符串返回。

如果字符$后跟圆括号则是一种特殊情况,圆括号内的文本被视为“临时”变量,并被评估为等式样式的变量。这是在输入脚本中使用数字公式的方法,而不必给它们分配变量名称。

variable X equal (xlo+xhi)/2+sqrt(v_area)

region 1 block $X 2 INF INF EDGE EDGE

variable X delete

等价于:

region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE

以便您不必定义(或丢弃)临时变量X.

注意,变量的大括号或即时形式都不能包含嵌套的$字符以供其他变量替代。

如下做法是错误的:

variable a equal 2

variable b2equal 4

print "B2 = ${b$a}"

不能为一个临时变量指定$($ x-1.0),但可以使用$(v_x-1.0),因为后者是符合等效样式变量语法。

有关字符串如何分配给变量和评估的详细信息,以及如何在输入脚本命令中使用,请参阅变量命令。

(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"""

在每种情况下,单个,双引号或三引号在其内部存储的单个参数被删除。引号之间的“#”或“$”字符不会被视为(2)中的注释指示符,或在)(3)中替换为变量。

注意:如果参数本身是一个需要引用参数的命令(例如,使用print命令作为if或run命令的一部分),则单引号,双引号或三引号可以以通常的方式嵌套。

最后,有需求欢迎通过微信公众号联系我们。

微信公众号:320科技工作室。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hazheng 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 EZ67DG6CvcKL 2026-08-31 5/250 2026-09-01 05:45 by o3EMxHUAQDtS
[基金申请] 怎么看青基中了没有啊 +6 叶九微 2026-08-26 6/300 2026-08-31 23:54 by yudaoqian88
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-08-31 21:30 by xiangy672
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
信息提示
请填处理意见