大家好,我是小马老师。

今天给大家介绍一种比较有意思的lammps建模方法。

如下图所示:

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_lammps

用到的软件有:Atomsk、python、Ovito。

建模原理:Atomsk可根据掩码文件(mask.txt)对模型进行处理,类似于photoshop中的蒙版。

掩码文件是一个包含01两种数字的文本文件,具体描述可参考Atomsk官方手册说明:

https://atomsk.univ-lille.fr/tutorial_grid.php

例如下面是atomsk案例中的一个mask.txt,可以看出,文本中只有数字0和1,数字1组成的图案是“12”。

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_公众号_02

下图是经过蒙版处理后的模型,蒙版中对应的原子被删除。

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_公众号_03

根据这个原理,我们只要准备一张图片,将其转换为掩码文件,然后在atomsk中使用该掩码文件对模型进行蒙版处理即可。

下面介绍建模过程。

1.蒙版图像

准备一张图片,使用绘图软件缩小到合适大小,长宽大约为100-200像素比较合适。

本文案例尺寸为100*60像素。

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_lammps_04

2.转换mask.txt

在python中运行mask.py,生成掩码文档mask.txt。

程序运行结束后,会将图片像素值转为0和1,并保存到mask.txt中。

3.atomsk建模

运行以下命令生成一个Al板:

atomsk --create fcc 4.046 Al -duplicate 100 60 1 Al.xsf

运行蒙版命令,将被蒙版遮住的Al原子替换为Au原子。

atomsk Al.xsf -select grid mask.txt -substitute Al Au final.lmp

4.ovito绘图

在ovito中导入final.lmp,调整原子颜色即可。

从理论上来说,使用这种方式,可将任何图片转换为lammps模型,有兴趣的话试试吧。

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_建模_05

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_公众号_06

以上案例代码下载见公众号。

公众号案例代码以及学习交流,请加QQ群:754749935

扫描关注微信公众号:lammps加油站。

创意时刻:lammps复杂模型建模,学会可以给女朋友做表白墙了_公众号_07