LAMMPS拉伸命令分析

更新时间:2023-11-05 09:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

LAMMPS拉伸模拟有两种常用的方法:fix deform 和 velocity,也就是应变率拉伸和速度拉伸。

首先来说fix deform,这个命令使系统在给定的应变率下均匀拉伸。由于是对应变率进行控制,因此在用这个方法时通常要先定义应变率。

应变率定义的方法基本都一样,就是: variable tmp equal \variable L0 equal ${tmp}

variable strain equal \

另外这种拉伸方法的效果是让盒子整体变大,因此需要施加周期性边界条件P在拉伸方向上。

fix deform不能模拟真实拉伸过程中夹头对端部的固定,因此可以认为它是单纯的考虑了变形部分的变化特征。

再来谈谈velocity 拉伸,这个加载方法是让系统一端固定,另一端以均匀的速度移动,以此实现系统的拉伸,这个拉伸过程似乎更符合实际情况。同样为了让LAMMPS可以“夹住”系统的两端,在使用这种拉伸方法时,需要定义两个“夹头”。这个“夹头”就是定义的固定端region,这两个region中的原子的相对位置不随拉伸过程而变化。而定义了reign之后还要把这个region中的原子定义为group。

有的同学很不理解为什么要对一个区域定义两次变量,定义一次不就行了吗?实际上这两次定义是不同的,我们看一下region和group的命令就可以理解:

Region 1 block INF 1 INF INF INF INF #定义一个叫1的区域

Group left region 1 #定义这个区域中的原子叫left

Region命令定义了(-∞,1)的一个区域,区域命名为1,相当于用一条线划出了一个块,这个块位于系统的左边。而group命令定义这个块中的原子为left,也就是告诉LAMMPS需要操作的这些原子叫left。这样我们发现其实不是定义了两次,而是先定义了一个块,让后定义了这个块中的原子。

还有一点需要注意的是使用velocity拉伸的系统在拉伸方向上需要施加自由边界条件s,如果用周期性边界条件的话,就相当于很多两端固定的盒子排成一列,你在拉伸一端时,同时它会靠近与它相邻的另一个盒子的固定端,就会出现“拉不动”的情况。

本文来源:https://www.bwwdw.com/article/mn82.html

Top