关键词不能为空

当前您在: 主页 > 英语 >

lammps输入文件命令中文详解

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 08:27
tags:

-

2021年2月8日发(作者:兰光)


作者


:


御剑江湖






收录日期


: 2011-03-31





发布日期


: 2011-03-24




Commands










描述了


lammps


输入文件的格式和在定义


lammps


模拟所需要的命令


.



1.1 LAMMPS input script











我们用


lammps


做分子动力学模拟


,


需要一个输入文件


.


lammps


在执行计算的时



,


从这个文本文件中逐行读入命令


.


大多数情况


,


lammps


输入文件中各个命令的顺序并


不是很重要


.


但是你要注意以下几点


:











(1)



lammps


并不是将你的输入文件全部读入之后才开始进行计算的


,


或者说


,



条命令在它被读入之后就会起作用了


.


注意


,


下面两组命令的执行效果是不相同的


.











timestep 0.5










run 100










run 100














run 100










timestep 0.5










run 100











(2)



有些命令只有在另一些命令已经被定义的情况下才有效


.


例如如果你要设定


一组原子的温度


,


那么用


group


命令定义哪些原子属 于这个组才行


.











(3)



还有一种情况就是


:


命令


B


要用到命


A


设置的一些数值


,


这样你也不能颠倒


这两个命令的顺序


.











每个命令的详细介绍中的


Restr ictions


部分会说明要使用该命令定义的时候哪些命


令必 须要被预先定义


.











如果你的输入文件书写的格式有问题


, lammps


在执行的时候会提示


ERROR


或者

< p>
WARNING ,


出现类似信息时


,


你可以到手册的第九章中查询原因


.



1.2 Parsing rules











输入文件中的每一非空行都被认为是一条命令


.


lammps


中命令的书写是对大小写


敏感的


,


不过一般的命令和参数都是小写的


,


大写字母用于极少数的情况


.











(1)



命令行后的



&


表示这一行跟下一行是同一条命令


.


这一点跟


FORTRAN




.











(2)



命令行最开始的



#


表示这一行在执行过程中被忽略


,


你可以用它来写注释


.











(3)




$$


是跟声明变量有关系的


,


我暂时还没用到过


,


具体请参阅


variable


命令的


详细介绍


.











(4)



命令行被


tabs,


spaces< /p>


间隔成各个



words



,


注意这里的



words



可以包含字


母、数字、下划线、或标点符号


.











(5)



一行中第一个词是命令名


,


后续的词是相关的参数


.











(6)



双引号内的文字空格被整体地当作一个参数


,


其中的



#




$$


就没有前面说


的作用了


.



1.3 Input script structure











lammps


的输入文件一般分为< /p>


4


个部分


Initialization , Atom definition, Settings, Run


a simulation



后面的两个部分可以按照需要多次重复


.


Remember


that


almost


all


the


commands


need


only be used if a non-default value is desired.



(1) Initialization
















体系




之前


,




参数必




被设



.




关的命




:units,


dimension, newton, processors, boundary, atom_style, atom_modify.











units:


选择单位系统


, lammps


提供了


lj



real



metal


三种单位系统












dimension: 2d


模拟还 是


3d


模拟


,


默认是


3d











boundary:


边界条件:周期性边界

< br>or


自由边界












atom_style:


定义你的模拟体系中的原子属性


,


注 意这个


style


要区分后面设置力


场 参数时命令里提到的


atom type







还有


,


这些命令告诉


lammps


在你的模拟中使用何种力场


:


pair_style,


bond_style,


angle_style, dihedral_style, improper_style.



(2) Atom definition











lammps

提供


3


种方式定义原子


:













通过< /p>


read_data



read_res tart


命令从


data


< p>
restart


文件读入


,


这些文件可以


包含分子拓扑结构信息


.













按照晶 格的方式创建原子


(


不包含分子拓扑信息


),


你会用到这几个命令


:


lattice,


region, create_box, create_atoms.













已经设置好的原子可以用


replicate


命令复制以生成一个更大规模的模拟体系


.



(3)Settings











原子和分子的拓扑信息定义好后


,


你要制定一系列的设置


:


力场系数、模拟参数、


输出选项



等等


.



力场系数可以通过这些命令定义


:


pair_coeff,


bond_coeff,


angle_coeff,


dihedral_coeff,


improper_coeff,


kspace_style,


dielectric,


special_bonds.


注意


,


其实力场系数也可以在


data


文件中制定


,

详见


read_data


命令介绍


.




















:


neighbor,


neigh_modify,


group,


timestep,


reset_timestep, run_style, min_style, min_modify.











我觉得


f ix


命令是


lammps


中很重要的一 个命令


,


它包括很多子命令


,


可以施加一


系列的边界条件、时间积分、诊断选项等等


.
























< br>lammps




< p>




:


compute,


compute_modify, variable.











输出选项由


thermo, dump, restart


命令设置


.



(4)Run a simulation











使用


run


命令开始一个分子动力学模拟< /p>


,



minimize


命令来实施能量最小化


(molecular


statics),


使


< p>
temper







parallel


tempering(replica-exchange)


simulation.



1.4 Commands listed by category











这一节分门别类地列出了


lammps


的所 有命令


.


注意有些命令的有些选项是特定的


lammps package


的一部分


,


也就是说 只有在编译


lammps


的时候包括了这些

packages,



些命令才能被使用


.


默认情况下编译


lammps


并不包括所有的


packages.


这些依赖关系在


相关命 令的详细介绍中


Restrictions


部分中列出了


.












Initialization:


atom_modify,


atom_style,


boundary,


dimension,


newton,


processors, units











Atom


definition:


create_atoms,


create_box,


lattice,


read_data,


read_restart,


region, replicate











Force


fields:


angle_coeff,


angle_style,


bond_coeff,


bond_style,


dielectric,


dihedral_coeff,


dihedral_style,


improper_coeff,


improper_style,


kspace_modify,


kspace_style, pair_coeff, pair_modify, pair_style, pair_write, special_bonds











Settings:


communicate,


dipole,


group,


mass,


min_modify,


min_style,


neigh_modify, neighbor, reset_timestep, run_style, set, shape, timestep, velocity











Fixes: fix, fix_modify, unfix











Computes: compute, compute_modify, uncompute











Output:


dump,


dump_modify,


restart,


thermo,


thermo_modify,


thermo_style,


undump, write_restart











Actions:


delete_atoms,


delete_bonds,


displace_atoms,


displace_box,


minimize,


run, temper











Miscellaneous: clear, echo, if, include, jump, label, log, next, print, shell, variable





作者:御剑江湖



一、各种文件的介绍:




1 in file:


建立该文件以便程序的写入




2 log file


:写入状态信息(


if the switch is used?





3 screen file



决定结果的是否进行屏幕输出




4 var name file


定义一个变量,

< p>
name


指变量名,


可为字母也可为字符串,


形式


$$x / $$ {abc}





二、屏幕输出:




结果显示在屏幕上,同时在


log file


中。开始前


LAMMPS


计算出所需的存储空间,运行


中每隔几个时步显示一次热力学状态,直至输出最终状态。




Loop time of 49.002 on 2 procs for 2004 atoms






该部分显示了几个大类的计算时间




Pair time (%) = 35.0495 (71.5267)



Bond time (%) = 0.092046 (0.187841)



Kspce time (%) = 6.42073 (13.103)



Neigh time (%) = 2.73485 (5.5811)



Comm time (%) = 1.50291 (3.06703)



Outpt time (%) = 0.013799 (0.0281601)



Other time (%) = 2.13669 (4.36041)





Nlocal: 1002 ave, 1015 max, 989 min










每个处理器中特定原子的数目






Histogram: 1 0 0 0 0 0 0 0 0 1

















Nghost: 8720 ave, 8724 max, 8716 min



Histogram: 1 0 0 0 0 0 0 0 0 1



Neighs: 354141 ave, 361422 max, 346860 min



Histogram: 1 0 0 0 0 0 0 0 0 1





Total # of neighbors = 708282






Ave neighs/atom = 353.434



Ave special neighs/atom = 2.34032



Number of reneighborings = 42



Dangerous reneighborings = 2





当运用了能量最小化命令进行能量最小化时,还将出现如下所示语句:




Minimization stats:



E


initial,

< p>
next


?


to


?


last,


final


=


?


0.895962


?


2.94193


?


2.94342



(显示初终能量以及


next-to-last


循环的能量)




Gradient 2


?


norm init/final= 1920.78 20.9992



(给出能量梯度,即所有原子的受力)




Gradient inf


?


norm init/final= 304.283 9.61216




2-form< /p>


是力向量的长度,


inf- form


是最


大构成?




Iterations = 36















循环次数




























Force evaluations = 177





对力进行评定的次数






当程序中有


kspace_style long


?


range Coulombics solve


,将会显示以下语句:




FFT time (% of Kspce) = 0.200313 (8.34477)



完成


3d F FT


计算的时间及在总时间中占


的百分比




FFT Gflps 3d 1d


?


only = 2.31074 9.19989








每秒执行的浮点指令次数(


flops


)为


5N*log(2N),N< /p>



3


维晶体中的节点数

< br>



The 3d rate is with communication; the 1d rate iswithout (just the 1d FFTs).








GPU


(图形处理单元)上的运行








三、指令系统介绍(


*


< br>



一般来说指令的顺序并不重要,胆在以下几种情况中必须注意:




1










LAMMPS

并不是全部读完所有指令才执行,


而是读一行执行一次,


因 此下面


的两组语句是不同的:








timestep 0.5




以下的两个模拟其步长均为


0.5 fmsec







run 100







run 100









run 100










第一个模拟采用缺省值步长为


1 fmsec







timestep 0.5







run 100










第二个采用步长为


0.5 fmsec



2










某些指令只在其他指令之后才生效 ,如要得到系统温度必须先进行各种定义




3











A


指令在


B


之前,


B


可 以引用


A


定义的变量



-


-


-


-


-


-


-


-



本文更新与2021-02-08 08:27,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/613304.html

lammps输入文件命令中文详解的相关文章