lampps手册范本Word下载.docx

上传人:b****2 文档编号:4948207 上传时间:2023-05-04 格式:DOCX 页数:15 大小:26.10KB
下载 相关 举报
lampps手册范本Word下载.docx_第1页
第1页 / 共15页
lampps手册范本Word下载.docx_第2页
第2页 / 共15页
lampps手册范本Word下载.docx_第3页
第3页 / 共15页
lampps手册范本Word下载.docx_第4页
第4页 / 共15页
lampps手册范本Word下载.docx_第5页
第5页 / 共15页
lampps手册范本Word下载.docx_第6页
第6页 / 共15页
lampps手册范本Word下载.docx_第7页
第7页 / 共15页
lampps手册范本Word下载.docx_第8页
第8页 / 共15页
lampps手册范本Word下载.docx_第9页
第9页 / 共15页
lampps手册范本Word下载.docx_第10页
第10页 / 共15页
lampps手册范本Word下载.docx_第11页
第11页 / 共15页
lampps手册范本Word下载.docx_第12页
第12页 / 共15页
lampps手册范本Word下载.docx_第13页
第13页 / 共15页
lampps手册范本Word下载.docx_第14页
第14页 / 共15页
lampps手册范本Word下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

lampps手册范本Word下载.docx

《lampps手册范本Word下载.docx》由会员分享,可在线阅读,更多相关《lampps手册范本Word下载.docx(15页珍藏版)》请在冰点文库上搜索。

lampps手册范本Word下载.docx

8720ave,8724max,8716min

1000000001

Neighs:

354141ave,361422max,346860min

Total#ofneighbors=708282 

Aveneighs/atom=353.434

Avespecialneighs/atom=2.34032

Numberofreneighborings=42

Dangerousreneighborings=2

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

Minimizationstats:

Einitial,next−to−last,final=−0.895962−2.94193−2.94342 

(显示初终能量以及next-to-last循环的能量)

Gradient2−norminit/final=1920.7820.9992 

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

Gradientinf−norminit/final=304.2839.61216 

2-form是力向量的长度,inf-form是最大构成?

Iterations=36 

循环次数 

Forceevaluations=177 

对力进行评定的次数

当程序中有kspace_stylelong−rangeCoulombicssolve,将会显示以下语句:

FFTtime(%ofKspce)=0.200313(8.34477) 

完成3dFFT计算的时间及在总时间中占的百分比

FFTGflps3d1d−only=2.310749.19989 

每秒执行的浮点指令次数(flops)为5N*log(2N),N为3维晶体中的节点数

The3drateiswithcommunication;

the1drateiswithout(justthe1dFFTs).

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

三、指令系统介绍(*)

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

LAMMPS并不是全部读完所有指令才执行,而是读一行执行一次,因此下面的两组语句是不同的:

timestep0.5 

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

run100

run100 

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

timestep0.5

第二个采用步长为0.5fmsec

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

若A指令在B之前,B可以引用A定义的变量

四、语法规则

在LAMMPS中要区分大小写,一般指令名称用小写字母,文件及用户定义ID

Strings用大写。

LAMMPS对每行语句的语法要求如下:

当语句太长一行放不下时,在语句一行结束的时候输入字符“”表示下一行的语句接着上一行继续。

在#之后输入的字符认为是评论语句,是无用的,但有例外

紧跟在$后定义变量(之前讲过)

单词间用空格隔开

第一个词为指令名,接下来的字母全都为自变量(arguments)

Ifyouwanttextwithspacestobetreatedasasingleargument,itcanbeenclosedindoublequotes

五、输入的语句结构

一个普通的LAMMPS程序通常由以下四部分组成:

1初始化

2原子定义

3设定

4进行模拟

初始化阶段:

设定所需参数,相关各项命令,引入所需的力场参数

相关命令介绍:

unitscommand

语句形式:

unitsstyle

·

style=ljorrealormetalorsiorcgsorelectron

Examples:

unitsmetal

unitslj

该语句定义了单元类型,除了LJ类型,其他物理常量来自于某网,定义实际单元的热能=4.184J。

而在LJ类型中,所有变量都是无单位的(参考义龙的论文)实际量换算成简化单位量有系列公式。

以下列出了换算关系及其它各种类型中所使用的标准单位。

Thiscommandcannotbeusedafterthesimulationboxisdefinedbyaread_dataorcreate_boxcommand.

缺省状态默认为LJ类型

dimensionN

N=2or3 

例如:

dimension2

一般缺省为3d模拟,2d模拟的话要在建立simulationbox之前进行设定(其余省略)

COMMANDSLISTEDBYCATEGORY

以下列出的LAMMPS命令以按类分好,其分类情况如下:

初始化指令:

atom_modify,atom_style,boundary,dimension,newton,processors,units

原子定义指令:

create_atoms,create_box,lattice,read_data,read_restart,region,replicate

力场指令:

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

设定指令:

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,prd,run,temper

Miscellaneous:

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

六howtodiscussions()

重启一个模拟。

有3种方法继续长的LAMMPS程序。

在同一个程序中可多次使用运行命令。

每次运行都会接着上一条运行指令(runcommand)进行。

Binaryfile 

使用restartcommand将binaryfiles存入硬盘中,之后用read-restart命令可将binaryfile读出。

或者可转为textdatafiles,经read-data命令读出。

restart2data

涉及到的命令:

runcommand

syntax

runNkeywordvalues……(N=#oftimesteps;

zeroormorekeyword/valuepairsmaybeappended;

keyword=uptoorstartorstoporpreorpostorevery)

run10000 

#运行10000步;

N=0意味着直接把现系统的热力学值输出

run1000000upto 

#从当前开始一直运行至upto所指定的数值(该语句意为运行至10000000步止)

run100start0stop1000

run1000prenopostyes

run100000start0stop1000000every1000"

printProteinRg=$r"

run100000every1000NULL

(补充说明fix指令:

Syntax:

fixIDgroup−IDstyleargs

ID=user−assignednameforthefix 

ID是用户自己定义的名字,便于通过fix定义

group−ID=IDofthegroupofatomstoapplythefixto

style=oneofalonglistofpossiblestylenames(seebelow)

args=argumentsusedbyaparticularstyle

fix1allnve

fix3allnvttemp300.0300.00.01

fixminetopsetforce0.0NULL0.0

fix指令的用途是对一组原子进行定义,可以用于更新原子的位置、速度、控制温度、加常力、施加边界条件等。

当两个或更多fix在同一过程中作用时,根据程序中的先后顺序执行fix指令。

Fix指令可通过unfix指令来消除,形式为unfixfix-ID)

对于run100start0stop1000这个语句来说,主要与fix语句配合使用。

fix1allnvt200.0300.01.0 

这两个指令的功能是在接下来的1000步运行中,每

run1000 

步的温度都要从200度升到300度

对于左侧的一组指令,温度随着从0到10000步的执行

run1000start0stop10000 

逐渐升至300.0度,是一个发生在整个过程的渐变行为

run1000start0stop10000

...

run1000start0stop10000(共10个)

至于preandpost大概是这样的,preno的意思是跳过初始设定阶段,如果以下的计算是承接之前运行命令的话(意思是采用之前的参数) 

但是如果该run指令是第一个指令是,该设定会被忽略。

注意:

当两次运行指令之间使用了修改设定值的命令时(比如fix等),preno是不允许的,必须重新设定,否则报错 

若是postno,则跳过fulltimingsummary,输出one-linesummarytiming

Every的作用是将一个run分成一系列较短的runs 

variableqequalx 

run6000every2000"

printCoord=$q"

每运行2000步输出一次某原子的x坐标值

Default:

Theoptiondefaultsarestart=thecurrenttimestep,stop=currenttimestep+N,pre=yes,andpost=yes. 

在run语句中的缺省值

2restartcommand(将binaryfiles存入硬盘) 

restart文件是lammps的一种输出文件形式

restart0 

N=writearestartfileeverythismanytimesteps

restartNroot 

root=filenametowhichtimestep#isappended

restartNfile1filefile1,file2=twofullfilenames,togglebetweenthemwhenwritingfile

restart0

restart1000poly.restart

restart1000restart.*.equil

restart10000poly.%.1poly.%.2

restart0意味着不输出restartfiles。

与dump文件一样,restart不能包含两个wildcardcharacters(即通配符)。

若filename中含有*号,则它会被目前的值所代替(该情况只在仅有一个filename的情况下成立)

之后这些binaryfiles可通过指令read-restart来读出

在此我们给出2条程序,用于读出binaryrestartfile或者是converteddatafile,之后发出一条新的运行指令,这条指令从上次运行结束的地方开始执行。

这些阐释了在新程序中必须进行哪些设定。

细节请参照之后对read-start和read-data命令的讲解。

当程序中附有如下这行语句时:

restart50tmp.restart

它在运行过程中会产生两个binaryfiles,即tmp.restart.50和tmp.restart.100

该程序可以被用于读出第一个restartfile以及重新运行最后50个步长。

read_restarttmp.restart.50

neighbor0.4bin

neigh_modifyevery1delay1

fix2alllangevin1.01.010.0904297

timestep0.012

run50

在此需指出以下这些指令不需再重复使用,因为在restart-file中已经进行了必要的设定,这样的指令包括:

units,atom_style,special_bonds,pair_style,bond_style,但是必须使用如下的指令,因 

为这些指令的参数并未在restartfile中进行设定,这样的指令有neighbor,fix,timestep.

如果你真的用该程序运行restartedrun,你会注意到在第50步时与热力学数据相符(如果你在原程序中写入了thermo50命令),但是在第100步时两者并不相符。

这是因为fixlangevin命令使用随机数的原因。

除了上面提到的这个方法,还可用以下工具将restartfile转换为datafile:

restart2datatmp.restart.50tmp.restart.data

之后该程序可用于重新运行最后50步:

atom_stylebond

pair_stylelj/cut1.12

pair_modifyshiftyes

bond_stylefene

special_bonds0.01.01.0

read_datatmp.restart.data

reset_timestep50

需要注意的是几乎所有在最初的in.chain程序中进行的设定必须在被重新设定,除了pair-coeff与bond-coeff,因为新的datafile列出了力场系数。

另外,reset-timestep命令用于告知LAMMPS当前的工步,该值被储存在restartfiles中,不在datafiles中。

4.22d模拟

运用dimmension命令定义一个2d模拟过程。

运用boundary命令建立一个Z方向的周期性的长方体,这是缺省值。

如果使用createbox来定义一个模拟的长方体,将z方向的尺寸设定为有限值,这样create-atoms命令可以可将长方体的原子在z平面上平铺显示(即将三维原子显示在二维平面上)。

Createbox1-1010-1010-0.250.25

如果使用readcommand命令来读出文件中的原子坐标,将“zlozhi”的值设为finitebutnarrow,与create-box命令的设定类似。

对于file中的每个原子,都为其确定一个z坐标值,这样一来便可确保其落在所设定的z方向的边界。

(该处如何为每个原子的z坐标赋值?

) 

在最终进行fix定义得时候使用fixenforce2d命令,以此来保证在每步执行完毕后能将速度、力等z方向的值清零。

(用法:

fix5allenforce2d,将速度、力等z方向的值清零的目的是保证在2d模拟中原子保持在其最初设定的z坐标值出不变) 

将该fix作为最后一个fix命令的原因是将其它fix命令引起的力的变化均清零。

LAMMPS中给出的许多程序实例都是针对二维模拟的。

需要注意的是:

LAMMPS中的一些模型将粒子看做延展的球体,而不是单纯得一个点。

在二维模拟中,粒子仍被看做球体而不是盘状物,这意味着它们的惯性的处理与三维模型是相同的。

4.3CHARMMandAMBER力场

AMBER力场主要适用于较小的蛋白质,核酸,多糖等生化分子,此力场的标准形式 

CHARM力场,此力场可应用于研究许多分子系统,通常皆可得到与实验值相近的结构。

该立场的的作用形式为:

有许多分子动力学的方法可以计算CHARMM与AMBER力场,其中只有部分能够用于LAMMPS。

一个力场由两部分组成:

一个是用于定义该力场的公式,另一个是用于特殊系统的参数(特殊系统值得是什么?

这里我们只讨论应用于LAMMPS的公式。

利用read-data指令或者在输入程序中利用pair-coeff或者bond-coeff在输入数据文件中进行系数的设定。

后文对该类工具进行了详述,这些工具可用于CHARMM或是AMBER力场中用于力场系数的值以及将它们的输出值转换为LAMMPS的输入值。

4.4通过一个程序运行多个模拟

这点可通过多种方式来实现,具体请看对于各个命令的程序说明书。

如果说“多次模拟“意味着继续运行之前的某个模拟,那么你只需要多次使用run这个命令,例如以下的程序片段:

Units 

lj

Atom-styleatomic

Read-datadata.lj

Run10000

以上这段程序将会对同一个系统进行连续的50000步模拟。

如果你想要一个接一个的运行完全不同的模拟,可在这些模拟之间使用clear命令以此来重新初始化LAMMPS,例如下面的一个程序段:

atom-styleatomic

read-datadata.lj

run10000

clear

read-datadata.lj.new

以上这个程序段将顺序地运行两个完全独立的模拟。

对于多个独立的模拟而言,可以使用variables以及next和jump命令多次循环运行同一个程序段,在运行过程中改变程序的设定值。

例如以下这个程序段,以in.polymer命名

Variabledindexrun1run2run3run4run5run6run7run8

Shellcd$d

Read-datadata.polymer

Shellcd..

Clear

Nextd

Jumpin.polymer

以上这段程序将运行不同目录下的8个模拟,在每个目录中都运用了一个data.polymer文档。

运用相同的概念可以对位于8个不同温度值条件下的系统进行模拟,只需运用一个温度变量并且将输出的结果储存在不同的log及dump文档中,例如:

Variablealoop8

Variabletindex0.80.850.90.951.01.051.11.15

Loglog.$a

Read-dat.polymer

Velocityallcreate$

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2