| 查看: 5761 | 回复: 15 | ||||||||||||
| 本帖产生 2 个 模拟EPI ,点击这里进行查看 | ||||||||||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||||||||||
qphll金虫 (正式写手)
|
[交流]
【分享】尝试lammps中, 分享中...已有9人参与
|
|||||||||||
|
Lesson 1 Loop inside Lammps input script 想要尝试在lammps的input script里面做循环, 结果因为一个小问题, 捣鼓了我几个小时, 这才完全通过测试. 分享一下. (1) input script里面的循环块 include tempfile include tempfile2 variable i loop 10 label loopa fix 2 all nvt temp ${mytemp} ${mytemp2} 100.0 run 200 unfix 2 next mytemp next mytemp2 next i jump SELF loopa 这个的SELF是让程序执行到这里, 跳回自己, 然后从标签 loopa开始执行. 当然loopa是随便取的, 你可以用CHN来做label. 另外, 在某些情况下, 如果要让c++ rewind, 那么最好在执行脚本里面这样写: lmp -in script 而不是 lmp < script 否则, 你人品不好的时候, 会出问题, 哈哈. (2) tempfile 和 tempfile2是在同目录下的另外两个文件. tempfile的文件内容是: variable mytemp index 500.0 700.0 900.0 1100.0 1300.0 1500.0 1700.0 1900.0 2100.0 2300.0 注意, 只有一行! 至于lammps能读多长的一行, 我还没有测试. tempfile2的文件内容, 也是一行: variable mytemp2 index 700.0 900.0 1100.0 1300.0 1500.0 1700.0 1900.0 2100.0 2300.0 2500.0 折腾我的问题是, 我原先在这两个tempfile文件中, 数值之间用逗号分隔, 但是事实上, 是需要用空格分隔的. (3) 如果你需要做的循环不是很多, 那么不需要额外准备tempfile 和 tempfile2文件. 而只是需要在 input script中这样做: variable mytemp index 500.0 700.0 900.0 1100.0 1300.0 1500.0 1700.0 1900.0 2100.0 2300.0 #variable mytemp2 index 700.0 900.0 1100.0 1300.0 1500.0 1700.0 1900.0 2100.0 2300.0 2500.0 variable i loop 10 label loopa fix 2 all nvt temp ${mytemp} ${mytemp2} 100.0 run 200 unfix 2 next mytemp next mytemp2 next i jump SELF loopa 当然, 这里不需要原先的这两句 include语句了. 总结一下你需要熟悉的命令: variable, include, jume, next End of Lesson 1. ENJOY. [ Last edited by qphll on 2010-12-3 at 11:54 ] |
» 收录本帖的淘帖专辑推荐
资源收集 | 材料计算模拟实用技巧 | 分子模拟 | MD分子动力学 |
我学习计算的一些帖子 | 分子动力学 | 量化 | LAMMPS |
关于Lammps |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
论文投稿,期刊推荐
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
孩子确诊有中度注意力缺陷
已经有14人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
在Lammps中安装xmovie工具时,Makefile文件怎么修改X库路径
已经有3人回复
lammps中固定键长
已经有4人回复
【求助】lammps安装过程中,在安装fftw的过程中遇到问题
已经有8人回复
【讨论】想学lammps是否应该先学习C++
已经有28人回复
【讨论】lammps-怪异的group温度
已经有9人回复
【讨论】lammps里的boundary的位置能够随意更改?
已经有14人回复
【讨论】lammps中利用velocity命令无法控制住速度问题
已经有11人回复
【求助】lammps中多元化合物的晶格创建问题
已经有14人回复

qphll
金虫 (正式写手)
- 模拟EPI: 10
- 应助: 18 (小学生)
- 金币: 2708.7
- 散金: 2294
- 红花: 8
- 帖子: 554
- 在线: 227.1小时
- 虫号: 89654
- 注册: 2005-08-29
- 性别: GG
- 专业: 碳素材料与超硬材料
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
ghcacj(金币+20): 谢谢 2011-02-24 13:30:14
ghcacj(金币+20): 谢谢 2011-02-24 13:30:14
|
这是另外一个script, 就是用来格式转化. 没有什么, 但是往往需要很多这样的script在各个软件之间作为桥梁. 有谁需要, 尽管拿去吧. ! This is to write the output XYZ file from Lammps output format into: ! (1) the normal XYZ format which is readable by most progrms, such as imol ! (2) the "initial.dat" file which is the required input when you use "read_data" ! in the "in.reaxff" file ! ! You can use this script to 'look' at each image along the way of your simulation ! or convert at any point of Lammps XYZ file into a new "initial.dat" file. ! I find it useful since I seperate minimization from MD production, and I use this ! script if there is a need for rerun a job. ! ! Be aware of the two facts: ! (1) the IDs of atoms are defined in "initial.dat" file of Lammps ! You have to compare the definition of atom with "in.reaxff" file to make sure ! that you've got the right atom types; ! ! (2) the box size is hard-coded here as: ! ! lx = 39.352194 ! ly = 42.600000 ! lz = 60.000000 ! halflz = lz/2.0 ! ! Pay attention to the PBC issue and wrap your coordinates back in one smooth image. ! ! You need to change accordingly or treat it as an interactive input. ! ! I have a different version(lmp2lmp_ver.f90), where basically I match-up ! the atom types between "initial.dat" and "in.reaxff". ! The other version(batchlmp2lmp.f90) is capable of batch conversion: ! (1) generated an index of files that you want to convert ! This can be done by this command at your target folder ! # find *.xyz > list ! (2) the format of that index file is as the following: ! Line one: Number of files (N) ! Line two to N: the name of file ! ! Required input: name of XYZ file and number of atom type ! ! Please always double check to make sure that is what you want to have. ! @ QPHLL, Feb.23,2010 ! program lmp2lmp implicit none integer natom, ntype,I, id integer zero, one,two,three,four,five double precision x, y, z,lx,ly,lz, halflz character*1 C, H, O, N, S, atype*2, ctmp1*2, ctmp2*2,ctmp3*2 character*100 filename, temp, temp2 C='C' H='H' O='O' N='N' S='S' zero=0 one=1 two=2 three=3 four=4 five=5 lx = 39.352194 ly = 42.600000 lz = 60.000000 halflz = lz/2.0 write (6,*)'Output from LAMMPS MINIMIZATION (probably structure.*.xyz) ?' read (5,'(a40)')filename temp='initial.dat'//filename temp2 ='formatted'//filename open(unit=30,file=filename,status='old') open(unit=20, file=temp, status='unknown') open(unit=40, file=temp2, status='unknown') read(30,*) natom read(30,*) write (6,*)'How many types of atoms ?' read (5,*) ntype write(40,*) natom write(40,*) write(20,*) write(20,*) write(20,*) natom, "atoms" write(20,*) write(20,*) ntype,"atom types" write(20,*) write(20,*) 0.00000,lx, "xlo xhi" write(20,*) 0.00000,ly, "ylo yhi" write(20,*) 0.00000,lz, "zlo zhi" write(20,*) write(20,*) write(20,*) "Atoms" write(20,*) do I = 1, natom read(30,*)id, x, y, z if(z.lt.halflz) then write(20,100)I,id,zero,x, y, z else write(20,100)I,id,zero,x, y, z-lz endif if(z.lt.halflz) then if (id.eq.1) then write(40,*)C, x, y, z elseif(id.eq.2) then write(40,*)H, x, y, z elseif(id.eq.3) then write(40,*)O, x, y, z elseif(id.eq.4) then write(40,*)N, x, y, z elseif(id.eq.5) then write(40,*)S, x, y, z else write(6,*)'Wrong atom ID!' stop endif else if (id.eq.1) then write(40,*)C, x, y, z-lz elseif(id.eq.2) then write(40,*)H, x, y, z-lz elseif(id.eq.3) then write(40,*)O, x, y, z-lz elseif(id.eq.4) then write(40,*)N, x, y, z-lz elseif(id.eq.5) then write(40,*)S, x, y, z-lz else write(6,*)'Wrong atom ID!' stop endif endif 100 format(I6,1x,I3,1x,I3,1x,3f12.6) enddo end program lmp2lmp |

10楼2011-02-24 07:16:55
qphll
金虫 (正式写手)
- 模拟EPI: 10
- 应助: 18 (小学生)
- 金币: 2708.7
- 散金: 2294
- 红花: 8
- 帖子: 554
- 在线: 227.1小时
- 虫号: 89654
- 注册: 2005-08-29
- 性别: GG
- 专业: 碳素材料与超硬材料
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
ghcacj(金币+20):谢谢 2010-12-04 17:09:24
ghcacj(金币+20):谢谢 2010-12-04 17:09:24

2楼2010-12-04 15:07:09
sg18408926
至尊木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 10945.9
- 散金: 246
- 红花: 1
- 帖子: 1075
- 在线: 431.4小时
- 虫号: 727956
- 注册: 2009-03-21
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
3楼2010-12-04 17:27:08
qphll
金虫 (正式写手)
- 模拟EPI: 10
- 应助: 18 (小学生)
- 金币: 2708.7
- 散金: 2294
- 红花: 8
- 帖子: 554
- 在线: 227.1小时
- 虫号: 89654
- 注册: 2005-08-29
- 性别: GG
- 专业: 碳素材料与超硬材料
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
ghcacj(金币+20):谢谢 2010-12-10 10:40:58
ghcacj(金币+20):谢谢 2010-12-10 10:40:58

4楼2010-12-07 23:19:38













回复此楼
fly771125








