24小时热门版块排行榜    

CyRhmU.jpeg
查看: 7037  |  回复: 14

JackieXiao

铜虫 (初入文坛)

[求助] lammps做拉伸试验,求大神进来指导下(烈日炎炎,有劳了`(*∩_∩*)′)已有2人参与

lammps输入文件如下:
#input file for uniaxial tensile loading of single crystal Mg
# ------------------------ INITIALIZATION ----------------------------
units           metal
dimension       3
boundary        p       p       p
atom_style      atomic

# ----------------------- ATOM DEFINITION ----------------------------
read_data data.300K

# ------------------------ FORCE FIELDS ------------------------------
pair_style   meam
pair_coeff  * * ./library.meam Mg ./Mg.meam Mg
neighbor  1.0 bin
neigh_modify every 1 delay 0 check yes

# ------------------------- SETTINGS ---------------------------------
compute csym all centro/atom 12
compute peratom all pe/atom

######################################
# EQUILIBRATION
reset_timestep  0
timestep 0.003
fix 1 all npt temp 300 300 1 iso 0 0 1 drag 1

# Set thermo output
thermo 100
thermo_style custom step lx ly lz press pxx pyy pzz pe temp

# Run for at least 10 picosecond (assuming 1 fs timestep)
run 10000
write_data data.300K_relax
unfix 1

# Store final cell length for strain calculations
variable tmp equal "lx"
variable L0 equal ${tmp}
print "Initial Length, L0: ${L0}"

######################################
# DEFORMATION
reset_timestep  0
fix             1 all npt temp 300 300 1 y 0 0 1 z 0 0 1 drag 1                                                        //此处系综控制
variable srate equal 1.0e10                                                                                               
variable srate1 equal "v_srate / 1.0e12"
fix             2 all deform 1 x erate ${srate1} units box remap x                                                 //此处拉伸

# Output strain and stress info to file
# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
# p2, p3, p4 are in GPa
variable strain equal "(lx - v_L0)/v_L0"
variable p1 equal "v_strain"
variable p2 equal "-pxx/10000"

variable p1 equal "v_strain"
variable p2 equal "-pxx/10000"
variable p3 equal "-pyy/10000"
variable p4 equal "-pzz/10000"
fix def1 all print 100 "${p1} ${p2} ${p3} ${p4}" file Al_SC_100.def1.txt screen no

# Use cfg for AtomEye
dump            1 all custom 5000 dump.tensile.atom id type xs ys zs c_csym c_peratom fx fy fz
dump_modify 1 element Mg

# Display thermo
thermo  100
thermo_style    custom step v_strain temp v_p2 v_p3 v_p4 ke pe press
run             100000



以上就是输入文件,存在下面几点疑问
1、拉伸过程中要采用什么系综?上面的脚本是用的NPT系综,但是我看到有的文献用NVT,有的用NVE,而我用不同的系综得到的结果差距有点大。
2、周期性边界条件如何确定,是三维周期性边界条件还是自由边界。

lammps做拉伸试验,求大神进来指导下(烈日炎炎,有劳了`(*∩_∩*)′)
自由边界条件,nve系综下应力应变曲线


lammps做拉伸试验,求大神进来指导下(烈日炎炎,有劳了`(*∩_∩*)′)-1
三维周期边界条件,npt系综下应力应变曲线
回复此楼

» 收录本帖的淘帖专辑推荐

量化,第一性,MD笔记 分子动力学 学习与研究 分子动力学模拟
拉抻

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

chinaboy798

银虫 (小有名气)

【答案】应助回帖

这个问题我已经困扰很久了,在这里我说下我的一些已经测试过的结果,也希望大家能和我讨论下:
1.用fix npt系综,就只能在x y z都是P P P的周期性边界条件下做拉伸,那么对于速度拉伸法就不能用了,所以只能用fix deform命令,而fix deform命令的拉伸原理是变形盒子,再让所有原子的coords有一个remap来实现(remap x),我的理解是原子跟着盒子重新分布位置?不管怎么说,这种方法下原子截面是不会变化的,而且体积是逐渐增大的,不符合物理实际,对于很多文献上用的此法,我一直保持怀疑态度,但不知作者们作何合理解释。
2.采用速度方法来实现拉伸,这种情况下就必须设置拉伸方向的边界为非周期条件(其他两个方向不做要求),然后固定两端边界一定层厚的原子(上下两层)不动,再施加某一层原子有一个移动速度来实现拉伸。这里又有一个问题,是先让两层原子不动以后再做平衡,还是做了平衡以后再选定边界两层原子以实现拉伸?后者显然不太合理,而前者操作起来就不容易了,因为边界层原子setfoece  0 0 0 以后做平衡拉伸方向的应力无法消除,在我的测试中,随后的拉伸初始应力很大.

希望大神指导!
7楼2014-11-11 15:05:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

JackieXiao

铜虫 (初入文坛)

引用回帖:
4楼: Originally posted by Saraing at 2014-08-09 10:16:22
你好,我跟你做的有些相似,也是做拉伸模拟,不知道你的应力应变曲线是怎么做出来的?
# Output strain and stress info to file
# for units metal, pressure is in  = 100  = 1/10000
# p2, p3, p4 are in GP ...

应变是变量p1和p9,具体哪个看你定义的“v_strain”和“v_strain_x”是代表什么,应力的话可以直接采用p2,p3,p3,具体看你要研究哪个方向
举个例子,你可以用data.2.txt文件中的第九列(p9)和第二列(p2)作图试试看,应该可以得到对应的曲线
5楼2014-08-10 08:27:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Ergon

金虫 (著名写手)

引用回帖:
9楼: Originally posted by jfyh2008 at 2015-03-04 16:54:28
请问,用fix deform 命令进行拉伸,我的晶体结构出现了均匀的拉伸,均匀变化和实际情况不符合呀,请指教,还有别的拉伸方式吗?...

拉伸还可以用速度,和力,lammps给的exzample里边有个剪切,可以改为拉伸吧。(我认为)
认真生活
10楼2015-06-23 21:36:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

dengc09

禁虫 (正式写手)

★ ★
感谢参与,应助指数 +1
JackieXiao(月只蓝代发): 金币+2, 鼓励交流! 2014-07-26 16:50:39
本帖内容被屏蔽

2楼2014-07-23 16:45:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

JackieXiao

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by dengc09 at 2014-07-23 16:45:05
首先,fix deform 命令不能用在npt系综吧,不知道你怎么算出来的;其次,fix deform 命令只是单方向拉长了,截面完全没有缩小,感觉不太符合物理过程啊;最后,我也是新手,nvt系综没试过不知道,边界我也犹豫不知道 ...

我是对x方向进行拉伸,y和z方向用“fix 1 all npt temp 300 300 0.1 y 0 0 1 z 0 0”,这样就能对x方向进行拉伸。不过你说的截面没有缩小不符合物理过程这点我还得去看下,如果真的是这样的话那npt系综就不太适合,如何设置还是蛮疑惑的
3楼2014-07-23 23:13:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Saraing

铁虫 (初入文坛)

你好,我跟你做的有些相似,也是做拉伸模拟,不知道你的应力应变曲线是怎么做出来的?
# Output strain and stress info to file
# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
# p2, p3, p4 are in GPa
variable p1 equal "v_strain"
variable p2 equal "-pxx/10000"
variable p3 equal "-pyy/10000"
variable p4 equal "-pzz/10000"
variable p5 equal "-pxy/10000"
variable p6 equal "-pxz/10000"
variable p7 equal "-pyz/10000"
variable p8 equal "pe"
variable p9 equal "v_strain_x"


fix equil1 all print 1 "${p1} ${p2} ${p3} ${p4} ${p5} ${p6} ${p7} ${p8} ${p9}" file data.1.txt screen no
fix equil2 all print 1 "${a}" file data.2.txt
这个是输出data文件的类型,接下来我应该是怎么算呢?我的程序也是nve的自由周期边界!
4楼2014-08-09 10:16:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fcwu

木虫 (小有名气)

引用回帖:
2楼: Originally posted by dengc09 at 2014-07-23 16:45:05
首先,fix deform 命令不能用在npt系综吧,不知道你怎么算出来的;其次,fix deform 命令只是单方向拉长了,截面完全没有缩小,感觉不太符合物理过程啊;最后,我也是新手,nvt系综没试过不知道,边界我也犹豫不知道 ...

fix deform 命令能用在npt系综,参见https://icme.hpc.msstate.edu/mediawiki/index.php/Uniaxial_Tension
6楼2014-08-14 19:35:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Saraing

铁虫 (初入文坛)

引用回帖:
5楼: Originally posted by JackieXiao at 2014-08-10 08:27:07
应变是变量p1和p9,具体哪个看你定义的“v_strain”和“v_strain_x”是代表什么,应力的话可以直接采用p2,p3,p3,具体看你要研究哪个方向
举个例子,你可以用data.2.txt文件中的第九列(p9)和第二列(p2)作图试试 ...

您好,现在有不少做弛豫条件下He原子扩散的研究,我现在想做拉伸条件下He原子是否可以出现团簇现象,但是我要给定一温度下拉伸,要用什么命令呢?可以直接构型后拉伸吗?还是必须要有弛豫过程呢?
8楼2014-12-23 10:49:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jfyh2008

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by JackieXiao at 2014-07-23 23:13:20
我是对x方向进行拉伸,y和z方向用“fix 1 all npt temp 300 300 0.1 y 0 0 1 z 0 0”,这样就能对x方向进行拉伸。不过你说的截面没有缩小不符合物理过程这点我还得去看下,如果真的是这样的话那npt系综就不太适合, ...

请问,用fix deform 命令进行拉伸,我的晶体结构出现了均匀的拉伸,均匀变化和实际情况不符合呀,请指教,还有别的拉伸方式吗?
9楼2015-03-04 16:54:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 JackieXiao 的主题更新
信息提示
请填处理意见