LAMMPS 中 molecule command 的分子模板

本文深入讲解LAMMPS中的molecule command,涵盖分子模板基本概念,如“近邻”和shake flag,以水分子为例演示,并通过多个案例分析,包括SPC/E模型、dimer结构、CO2分子、rigid body模板,以及如何构建多分子模板和随机分子系统。
摘要由CSDN通过智能技术生成

关注 M r . m a t e r i a l   , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 多 \color{blue}{多} 精 \color{orange}{精} 彩 \color{green}{彩}


主要专栏内容包括:
  †《LAMMPS小技巧》: ‾ \textbf{ \underline{\dag《LAMMPS小技巧》:}}  LAMMPS小技巧》: 主要介绍采用分子动力学( L a m m p s Lammps Lammps)模拟相关安装教程、原理以及模拟小技巧(难度: ★ \bigstar
  ††《LAMMPS实例教程—In文件详解》: ‾ \textbf{ \underline{\dag\dag《LAMMPS实例教程—In文件详解》:}}  ††LAMMPS实例教程—In文件详解》: 主要介绍采用分子动力学( L a m m p s Lammps Lammps)模拟相关物理过程模拟。(包含:热导率计算、定压比热容计算,难度: ★ \bigstar ★ \bigstar ★ \bigstar
  †††《Lammps编程技巧及后处理程序技巧》: ‾ \textbf{ \underline{\dag\dag\dag《Lammps编程技巧及后处理程序技巧》:}}  †††Lammps编程技巧及后处理程序技巧》: 主要介绍针对分子模拟的动力学过程(轨迹文件)进行后相关的处理分析(需要一定编程能力。难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  ††††《分子动力学后处理集成函数—Matlab》: ‾ \textbf{ \underline{\dag\dag\dag\dag《分子动力学后处理集成函数—Matlab》:}}  ††††《分子动力学后处理集成函数—Matlab》: 主要介绍针对后处理过程中指定函数,进行包装,方便使用者直接调用(需要一定编程能力,难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  †††††《SCI论文绘图—Python绘图常用模板及技巧》: ‾ \textbf{ \underline{\dag\dag\dag\dag\dag《SCI论文绘图—Python绘图常用模板及技巧》:}}  †††††SCI论文绘图—Python绘图常用模板及技巧》: 主要介绍针对处理后的数据可视化,并提供对应的绘图模板(需要一定编程能力,难度: ★ \bigstar ★ \bigstar ★ \bigstar ★ \bigstar )。
  ††††††《分子模拟—Ovito渲染案例教程》: ‾ \textbf{ \underline{\dag\dag\dag\dag\dag\dag《分子模拟—Ovito渲染案例教程》:}}  ††††††《分子模拟—Ovito渲染案例教程》: 主要采用 O v i t o \rm Ovito Ovito软件,对 L a m m p s \rm Lammps Lammps 生成的轨迹文件进行渲染(难度: ★ \bigstar ★ \bigstar )。

  专栏说明(订阅后可浏览对应专栏全部博文): ‾ \color{red}{\textbf{ \underline{专栏说明(订阅后可浏览对应专栏全部博文):}}}  专栏说明(订阅后可浏览对应专栏全部博文):
注意: \color{red} 注意: 注意:如需只订阅某个单独博文,请联系博主邮箱咨询。 l a m m p s _ m a t e r i a l s @ 163. c o m \rm lammps\_materials@163.com lammps_materials@163.com

♠ \spadesuit † \dag 开源后处理集成程序:请关注专栏《LAMMPS后处理——MATLAB子函数合集整理》
♠ \spadesuit † \dag † \dag 需要付费定制后处理程序请邮件联系: l a m m p s _ m a t e r i a l s @ 163. c o m \rm lammps\_materials@163.com lammps_materials@163.com



专栏浏览 《LAMMPS后处理以及编程技巧》

两个分子模板的延伸问题

LAMMPS甲烷全原子(CH4)模型的分子模板问题
通过分子模板构建随机分布在溶液中的纳米颗粒(一)
通过分子模板构建随机分布在溶液中的纳米颗粒(二)—— 不同形状纳米颗粒

水分子模板下载:链接
提取码:o6ep

一、分子模板的基本讲解

1. 什么是“近邻”呢?

在这里插入图片描述

2. 什么是 s h a k e   f l a g \rm shake\ flag shake flag 呢?

在这里插入图片描述

二. 以水分子为例进行说明

# Water molecule. SPC/E model.

3 atoms  ## 分子模板中的原子总数
2 bonds  ## 分子模板中的bond总数
1 angles ## 分子模板中的角总数

Coords
# 原子ID x        y       z
1    1.12456   0.09298   1.27452
2    1.53683   0.75606   1.89928
3    0.49482   0.56390   0.65678

Types
# 原子ID  type 这里注意:不管有几个分子模板,还是in文件中有多少个type 这里都是从1开始
1        1
2        2
3        2

Charges
# 原子ID charge
1       -0.8472  
2        0.4236
3        0.4236

Bonds
#ID type   atom1  atom2
1   1      1      2
2   1      1      3

Angles
#ID type   atom1  atom2  atom3
1   1      2      1      3

Shake Flags
# ID flag
1 1         ### 0 :不属于fix shake 作用的 :0表示该原子不是SHAKE约束组的一部分 
2 1         ### 1 :1表示该原子是SHAKE键角约束组的一部分(2个刚性键及1个刚性键角) 
3 1         ### 2 :表示该原子是双原子SHAKE约束组的一部分(具有1个刚性键) 
              ### 3 : 表示该原子是三原子SHAKE约束组的一部分(具有2个刚性键) 
             ### 4  : 4表示该原子是四原子SHAKE约束组的一部分(具有3个刚性键)

Shake Atoms

1 1 2 3     flag = 1 : ID a(中心原子) b   c   (组成的角连接的其他两个atom)
2 1 2 3     flag = 2: ID a(ID of atom in bond with the the lowest ID)  b(ID of atom in bond with the the highest ID)
3 1 2 3     flag = 3: ID a(ID of central atom) b,c = IDs of other two atoms bonded to the central atom.
            flag = 4: ID a(ID of central atom) b,c = IDs of other three atoms bonded to the central atom.

Shake Bond Types  
If flag = 1, a,b,c are listed, where a = bondtype of the bond between the central atom and the first non-central atom (value b in the Shake Atoms section), b = bondtype of the bond between the central atom and the 2nd non-central atom (value c in the Shake Atoms section), and c = the angle type (1 to Nangletypes) of the angle between the 3 atoms.

1 1 1 1
2 1 1 1
3 1 1 1

Special Bond Counts
#ID   1-2原子紧邻  1-3 1-4
1     2           0   0  ## 对于atom1 也就是o来说
2     1           1   0
3     1           1   0
##
##     atom1   
##          o
##         / \
##  atom2 h   h atom3
##
##  atom1 atom2就是1-2紧邻,atom1 atom3同理;--> 两个相邻原子间隔了1个键
##  atom2和atom3呢?三个原子间隔了2个键
## 显然 1-2原子紧邻 2个 ,1-3,1个,1-4,0个


这里的special bond需要对每一个原子的近邻原子进行展开写,
其实也就是告诉Lammps要开批多少内存。
例如:
##     atom1   
##          o
##         / \
##  atom2 h   h atom3

Special Bonds     ID  1-2近邻(依次写完) 1-3近邻(依次写完) 1-4近邻...
1 2 3 :
对于原子1, 1-2近邻是原子2和3(有2个),1-3近邻没有(所以不写)

2 1 3 
对于原子2, 1-2近邻是原子1(有1个),没有1-3近邻是原子atom3;

3 1 2  
对于原子3, 1-2近邻是原子1(有1个),1-3近邻是原子atom2(有1个);

Special Bonds
         
1 2 3
2 1 3 
3 1 2  
  

三. 分子模板案例分析

1. 水的完整代码— SPC/E model

# Water molecule. SPC/E model.

3 atoms  
2 bonds 
1 angles 

Coords

1    1.12456   0.09298   1.27452
2    1.53683   0.75606   1.89928
3    0.49482   0.56390   0.65678

Types

1        1
2        2
3        2

Charges

1       -0.8472  
2        0.4236
3        0.4236

Bonds

1   1      1      2
2   1      1      3

Angles

1   1      2      1      3

Shake Flags

1 1         
2 1         
3 1                    

Shake Atoms

1 1 2 3     
2 1 2 3     
3 1 2 3     

Shake Bond Types  

1 1 1 1
2 1 1 1
3 1 1 1

Special Bond Counts

1 2  0   0  
2 1  1   0
3 1  1   0

Special Bonds

1 2 3  
2 1 3  
3 1 2 

2. 水的dimer结构

# dimer molecule

2 atoms
1 bonds

Coords

1 0 0 0
2 1 0 0

Types

1 2
2 3

Bonds

1 1 1 2

Special Bond Counts

1 1 0 0
2 1 0 0

Special Bonds

1 2
2 1

3.dimer granular molecule

# dimer granular molecule

5 atoms

Coords

1 0 0 0
2 1 0 0
3 2 0 0
4 2 1 0
5 2 2 0

Types

1 1
2 1
3 1
4 1
5 1

Diameters

1 1.0
2 1.0
3 1.0
4 1.0
5 1.0

Masses

1 0.5
2 0.5
3 0.5
4 0.5
5 0.5

4. CO2 molecule file. TraPPE model.

# CO2 molecule file. TraPPE model.

3 atoms
2 bonds
1 angles

Coords

1        0.0 0.0 0.0
2        -1.16 0.0 0.0
3        1.16 0.0 0.0

Types

1        1
2        2
3        2

Charges

1        0.7
2       -0.35
3       -0.35

Bonds

1   1      1      2
2   1      1      3

Angles

1   1      2      1      3

Special Bond Counts

1 2 0 0
2 1 1 0
3 1 1 0

Special Bonds

1 2 3
2 1 3
3 1 2

5. rigid body molecule template

LAMMPS data file created for rigid body molecule template

5 atoms

2.3388800000000005 mass

6.002239704473936 4.99 4.989999999999999 com

116.79265620480001 144.26721336320003 144.26721336320006 -70.05220681600004 -70.05220681600002 -58.238345888000005 inertia

Coords

1 5 5 5
2 5.1 5.0 5.0
3 5.2 5.0 5.0
4 6.2 5.0 5.0
5 7.2 5.0 5.0

Types

1 1
2 1
3 1
4 1
5 1

Diameters

1 1.0
2 0.9
3 1.2
4 1.2
5 1.0

Masses

1 0.5235987755982988
2 0.3817035074111599
3 0.9047786842338602
4 0.9047786842338602
5 0.5235987755982988

四. 分子模板案例分析

1. 随机建立2000个水分子

###################
# initial setting #
###################
#----------------------------------------------------------#
variable         x          equal 50
variable         y          equal 50
variable         z          equal 50
#----------------------------------------------------------#

units              metal
dimension            3
boundary           p p p
atom_style          full
bond_style        harmonic
angle_style       harmonic

##############
# create box #
##############
#----------------------------------------------------------#
region            box   block 0 $x 0 $y 0 $z units box
create_box        2 box                           &
                  bond/types 1                    &
                  angle/types 1                   &
                  extra/bond/per/atom 2           &
                  extra/angle/per/atom 1          &
                  extra/special/per/atom 2

molecule         water H2O.txt 
create_atoms     0 random 2000 12345 box  mol water 12345 units box
#----------------------------------------------------------#
# setting mass

mass              1 16.0 
mass              2  1.0

bond_coeff        1 19.51 0.9572
angle_coeff       1 2.40 104.52

write_data        1

在这里插入图片描述
在这里插入图片描述

2. 多个分子模板的建模

这里有一个分支问题,如何按照lattice准确create_atom个数,请看我另一个博客:

博客https://blog.csdn.net/qq_43689832/article/details/115866205

#---------------------------initial setting-------------------------
dimension       3    
units           real
boundary        p p p
atom_style      full
bond_style      harmonic
angle_style     harmonic

#---------------------------create box-------------------------
region  box     block  0  130  0  130   0  260  units box
create_box      4   box                           &
                    bond/types  2                &
                    angle/types 1                &
                    extra/bond/per/atom  2       &
                    extra/angle/per/atom  1      &
                    extra/special/per/atom  2
#---------------------------create wall-------------------------
region          wall  block   0  130  0  130  0  14.44  units box   
lattice         fcc  3.61
create_atoms    1  region  wall					
#---------------------------create water-------------------------					
region          vapor  block   0  130  0  130  30   40   units box				
molecule        water  H2O.txt toff 1
lattice         sc    3.61
#create_atoms   0  random 1000 12345  vapor  mol  water  12345  units box
create_atoms    0   region  vapor  mol water 12345 units box
#---------------------------create N2-------------------------
region          noncond   block   0  130  0  130  120   130   units box
molecule        n    n.txt  toff 3 aoff 1 boff 1
lattice         sc  3.61
#create_atoms   0  random 100 12345 noncond  mol  n 12345  units box
create_atoms    0   region  noncond  mol nitrogen 23254 units box

#---------------------------setting mass-------------------------
mass            1   1
mass            2   1
mass            3   1
mass            4   1
#---------------------------setting bonds-------------------------
bond_coeff      1   1  1     
bond_coeff      2   1  1    
angle_coeff     1   1  1

write_data      1.data

在这里插入图片描述

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr. Material

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

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

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

打赏作者

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

抵扣说明:

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

余额充值