atom_style command — LAMMPS documentation
语法
atom_style style args
- style = amoeba or angle or atomic or body or bond or charge or dielectric or dipole or dpd or edpd or electron or ellipsoid or full or line or mdpd or molecular or oxdna or peri or smd or sph or sphere or bpm/sphere or spin or tdpd or tri or template or wavepacket or hybrid
args = none for any style except the following
body args = bstyle bstyle-args
bstyle = style of body particles
bstyle-args = additional arguments specific to the bstyle
see the Howto body doc
page for details
sphere arg = 0/1 (optional) for static/dynamic particle radii
bpm/sphere arg = 0/1 (optional) for static/dynamic particle radii
tdpd arg = Nspecies
Nspecies = # of chemical species
template arg = template-ID
template-ID = ID of molecule template specified in a separate molecule command
hybrid args = list of one or more sub-styles, each with their args
- accelerated styles (with same args) = angle/kk or atomic/kk or bond/kk or charge/kk or full/kk or molecular/kk or spin/kk
参数设置
在 LAMMPS 中,atom_style
命令用于指定原子的类型(样式),决定了每个原子将存储哪些属性(如位置、速度、质量、分子 ID 等)。不同的模拟场景可能需要不同的 atom_style
,根据需求来选择合适的样式。
具体解释
常用 atom_style 类型
atomic
:
- 这是最简单的原子样式,适用于不涉及分子或其他复杂结构的情况。每个原子只包含位置、速度、质量、力等基本信息。(其他类型都是 atomic 的超集,即都包含这些属性)
- 适用场景:大多数经典分子动力学模拟,如气体、液体等。
- 属性:
x
,y
,z
(位置),vx
,vy
,vz
(速度),fx
,fy
,fz
(力),mass
(质量),id
(原子ID)。
charge
:
- 在
atomic
基础上增加了电荷属性,用于模拟带电粒子。 - 适用场景:带电粒子系统的模拟,如带电气体或离子液体。
- 属性:
charge
(电荷),以及atomic
样式的所有基本属性。
molecular
:
- 用于模拟分子,包含了原子及其连接关系(分子 ID),以及其他适用于分子模拟的属性。
- 适用场景:分子动力学模拟,尤其是需要处理分子结构、键、角度等情况时。
- 属性:
mol
(分子 ID),x
,y
,z
(位置),vx
,vy
,vz
(速度),fx
,fy
,fz
(力),mass
(质量),charge
(电荷,若有)。
polymer
:
- 专门用于聚合物模拟,除了基本的原子属性外,还允许对分子链进行建模(如链的拓扑结构)。
- 适用场景:聚合物、链状分子的模拟。
- 属性:包含
molecular
样式的所有属性,并且允许定义聚合物链的拓扑(如单链原子间的连接)。
granular
:
- 主要用于颗粒物模拟,特别是颗粒大小、形状和与其他颗粒之间的相互作用。
- 适用场景:颗粒物、粉末、颗粒流动等模拟。
- 属性:包含
atomic
样式的所有属性,并可以定义颗粒的形状、尺寸等额外信息。
bond
:
- 用于处理有键的原子间相互作用,特别适合需要在原子之间考虑化学键、角度、二面角等相互作用的场景。
- 适用场景:分子动力学中有键的模拟,或者涉及分子结构的模拟。
- 属性:
x
,y
,z
(位置),vx
,vy
,vz
(速度),bond
(键,连接原子信息),以及molecular
样式的属性。
charge/spce
:
- 适用于模拟水分子的 SPCE 模型,包含了水分子的电荷信息,通常用于水和其他溶剂系统的模拟。
- 适用场景:水溶液和溶剂化分子动力学模拟。
- 属性:
charge
(电荷),x
,y
,z
(位置),vx
,vy
,vz
(速度),fx
,fy
,fz
(力),mass
(质量)。
hybrid
:
- 允许组合多种原子样式。通过这个样式,可以在同一个模拟中使用不同的原子类型。
- 适用场景:需要同时处理多种不同原子类型的情况,如混合物、异质材料等。
- 属性:混合了多个样式的属性,按需要组合。
atom_style hybrid atomic charge
混合样式,允许同时处理普通原子和带电原子。
Atom_style-属性-模拟时需要的包-应用场景:
Atom style | Attributes | Required package | Applications |
---|---|---|---|
amoeba | full + “1-5 special neighbor data”full 表示所有原子属性,包括能量、力等;“1-5 special neighbor data”表示特殊邻居关系,用于处理长程力场数据。 | AMOEBA | AMOEBA/HIPPO force fields 用于 AMOEBA 和 HIPPO 力场的分子模拟,特别是涉及复杂多体相互作用和长程力的分子模拟。 |
angle | bond + “angle data”bonf 表示包含键的信息,angle data 表示包含角度的数据。 | MOLECULE | bead-spring polymers with stiffness 适用于刚性链状或带有角度弯曲的分子,常用于珠-弹簧模型(如聚合物模拟)。 |
atomic | tag, type, x, v, f, image, mask;tag 是原子的唯一标识符,type 是原子类型,x 是位置,v 是速度,f 是力,image 是周期性边界条件,mask 是掩码。 Mask image 是 LAMMPS 中用于设置或筛选粒子属性的一种方法。一些命令(如 fix 或 compute)使用掩码(mask)来选择特定粒子或定义作用在它们上的操作。 | atomic liquids, solids, metals 适用于原子液体、固体、金属等系统的模拟。 | |
body | atomic + radius, rmass, angmom, torque, body;radius 是原子的半径,rmass 是质量,angmon 是角动量,torque 是力矩,body 用于指定刚体。 | BODY | arbitrary bodies, see body howto 适用于刚体粒子的模拟,常用于模拟任意形状的物体,如颗粒物质的运动。 |
bond | atomic + molecule, nspecial, special + “bond data”;molecule 表示分子信息,nspecial 表示特殊相互作用的数量,special 表示特殊键的数据。 | MOLECULE | bead-spring polymers 适用于珠-弹簧聚合物模型,模拟带有化学键和分子间相互作用的系统。 |
bpm/sphere | bond + radius, rmass, omega, torque, quat; radius 表示半径,rmass 表示质量,omega 是角速度,torque 是力矩,quat 是四元数,描述物体旋转的姿态。 | BPM | granular bonded particle models, see BPM howto 适用于颗粒物质和颗粒动力学模拟,尤其是球形颗粒模型。 |
charge | atomic + q;q 表示电荷,描述原子或粒子的电荷信息。 | atomic systems with charges 适用于带电原子的系统模拟,如离子液体、电场或电荷相互作用。 | |
dielectric | full + mu, area, ed, em, epsilon, curvature, q_scaled;mu 是磁化率,area 是表面积,ed 和 em 是电场和磁场,epsilon 是介电常数,curvature是曲率,q_scaled是缩放电荷。 | DIELECTRIC | systems with surface polarization 用于电介质材料或表面极化模型,常用于研究电磁相互作用。 |
dipole | charge + mu;charge 是电荷,mu 是偶极矩,表示原子有电荷和偶极矩的组合。 | DIPOLE | atomic systems with charges and point dipoles 适用于带电原子和偶极矩的系统模拟,如电偶极与分子间相互作用。 |
dpd | atomic + rho + “reactive DPD data”;rho 是密度,reactive DPD data 是反应性粒子动力学数据。 | DPD-REACT | reactive DPD 用于反应性粒子动力学(DPD)模型,适用于模拟复杂流体、胶体或多相体系。 |
edpd | atomic + “eDPD data”;eDPD data 是能量守恒的粒子动力学数据,专门用于能量守恒的DPD模拟。 | DPD-MESO | Energy conservative DPD (eDPD) 用于能量守恒的DPD模型,适用于复杂的流体力学模拟。 |
electron | charge + espin, eradius, ervel, erforce;charge 是电荷,espin 是电子自旋,eradius 是电子的有效半径,ervel 是电子的速度,erforce 是电子的力。 | EFF | Electron force field systems 适用于带电电子系统的模拟,尤其是电子行为和相互作用的研究。 |
ellipsoid | atomic + rmass, angmom, torque, ellipsoid;rmass 是质量,angmom 是角动量,torque 是力矩,ellipsoid 描述了原子的椭球形状。 | aspherical particles 用于模拟非球形颗粒,如颗粒流体或多体相互作用系统。 | |
full | molecular + q;molecular 包含分子数据,q 是电荷。 | MOLECULE | molecular force fields 适用于分子系统的模拟,尤其是考虑分子间的电荷相互作用。 |
line | atomic + molecule, radius, rmass, omega, torque, line;molecule 是分子数据,radius 是半径,rmass 是质量,omega 是角速度,torque 是力矩,line 描述的是线性刚体。 | 2-d rigid body particles 适用于二维刚体粒子模拟,通常用于线性物体或有方向的颗粒模型。 | |
mdpd | atomic + rho, drho, vest; rho(局部密度),drho(密度变化率)drho(密度变化率),与流体动力学中的质量守恒方程(连续性方程)相对应。用于计算耗散力(dissipative force)和随机力(random force)。 | DPD-MESO | Many-body DPD (mDPD)多体耗散粒子动力学 |
molecular | angle + “dihedral and improper data”angle 表示角度数据,dihedral 和 improper 分别表示二面角和异常角度数据。 | MOLECULE | apolar and uncharged molecules 用于分子系统的模拟,特别是具有键、角度、二面角和不良角度的复杂分子。 |
oxdna | atomic + id5p;id5p 是用于粗粒化DNA和RNA模型的标识符。 | CG-DNA | coarse-grained DNA and RNA models 用于粗粒化DNA和RNA模型的模拟,尤其适用于生物分子模拟。 |
peri | atomic + rmass, vfrac, s0, x0;rmass 是质量,vfrac 是体积分数,s0 和 x0 是用于描述材料状态的参数。 | PERI | mesoscopic Peridynamics models 适用于介观尺度的周期性动力学模型,常用于材料科学中的变形模拟。 |
smd | atomic + molecule, radius, rmass + “smd data”;molecule 是分子数据,radius 是半径,rmass 是质量,smd data 是用于平滑动力学模拟的数据。 | MACHDYN | Smooth Mach Dynamics models 用于模拟平滑机器动力学模型,常用于粒子或分子的复杂运动模拟。 |
rheo | atomic + rho, status;rho 是密度,status 表示颗粒的状态(如固体或液体)。 | RHEO | solid and fluid RHEO particles 适用于流变学(RHEO)模型,研究固体和流体的流动行为。 |
rheo/thermal | atomic + rho, status, energy, temperature;rho 是密度,status是颗粒的状态,energy 是能量,temperature 是温度。 | RHEO | RHEO particles with temperature 用于研究温度和热力学性质的流变学模型。 |
sph | atomic + “sph data”;sph data 包含平滑粒子流体动力学(SPH)模型所需的数据。 | SPH | Smoothed particle hydrodynamics models 用于模拟流体和多相体系的 SPH 模型,适用于流体动力学模拟。 |
sphere | atomic + radius, rmass, omega, torque;radius 是半径,rmass 是质量,omega 是角速度,torque 是力矩。 | finite size spherical particles, e.g. granular models 用于模拟球形颗粒,如颗粒流体和颗粒动力学模型。 | |
spin | atomic + “magnetic moment data”;magnetic moment data 表示磁矩数据。 | SPIN | magnetic particles 用于模拟磁性颗粒系统,研究颗粒的磁性行为。 |
tdpd | atomic + cc, cc_flux, vest;cc 是协同密度,cc_flux 是协同流量,vest 是速度等。 | DPD-MESO | Transport DPD (tDPD) 用于研究粒子之间的协同流动(Transport DPD)模型。 |
template | atomic + molecule, molindex, molatom;molecule 是分子数据,molindex 和 molatom 是分子中原子的索引。 | MOLECULE | molecular systems where attributes are taken from molecule files 用于分子系统的模拟,适用于基于模板的分子构建。 |
tri | sphere + molecule, angmom, tri;sphere 包括球形颗粒,angmom 是角动量, | 3-d triangulated rigid body LJ particles三维刚体粒子 | |
wavepacket | charge + “wavepacket data”Charge(电荷):粒子携带的电荷。wavepacket data(波包数据):描述粒子的波包行为,包括形状、宽度和中心位置等。 | AWPMD | Antisymmetrized wave packet MDAWPMD 是一种基于波包(wave packet)的分子动力学方法,结合了量子力学和经典力学,用于描述电子和核的动态行为。 |
注意
需要在 read_data 或 create_box 命令之前定义。
某些 atom styles(如 mdpd 或其他复杂粒子模型)需要特定的软件包支持,未启用相关包时无法使用。
本博客致力于分享知识与信息,部分内容可能引用了网络资源。我会尽力注明作者或来源。如果您认为本博客的内容存在侵权现象(包括但不限于版权、商标权等),请立即与我联系。