如何区分两列中不同数据_如何在VESTA中区分不同表面层的原子
VESTA
是一款常用到的结构作图软件,上手容易,效果不错。做表面反应的同学为了得到比较好的结构立体感,可以将表面的原子突出而将次表面的原子弱化显示。但是VESTA
只能对同种元素的显示做修改,而基底的不同层原子类型通常是相同的,因此在作图时,无法区分不同层的原子,也就没法定制它们各自的显示效果了。 经过探索,我们找到了一种可以变通方法可以实现这种效果,也就是使用脚本resort.py
,将不同层的原子替换成别的元素,这样在VESTA
中自然可以达到区分的效果。resort.py
需要在python
环境下运行,同时依赖numpy
第三方库。
我们以Li在铜表面的吸附为例讲解脚本的使用。下图是Li原子在Cu(111)表面的FCC
位的吸附的默认显示效果。
VESTA
将所有的Cu原子以相同的效果显示,从俯视图根本无法确定Li的吸附位置。下面是我们使用resort.py
对原子进行魔法替换后,再用VESTA
调整的显示效果。将表层Cu原子以橘色显示,而次表面原子以淡黄色显示以区分。层间再添加键以增强立体效果。我们将讲解使用VESTA
绘制该图的步骤。
在终端运行以下命令:
tamas@tamas-PC:~/Desktop$ python resort.py Now reading vasp structures.Found 7 layers, choose how many layers want to substitute with various elements------>6
程序会自动读取CONTCAR
的结构并进行分层,提示我们体系一共有7层(包含Li原子),我们选择将底下的6层元素替换为周期表后周期放射性元素,生成POSCAR-bak
结构文件。可以看到铜基底已经被替换成放射性元素,这些元素一般不会是我们用到的基底。如果分层的判断不是你想要的,可以手动修改resort.py
脚本里的判读阈值thresthold=1.5 #A
来调节分层效果。
Xe La Pr Nd Pm Sm Li16 16 16 16 16 16 1
我们使用VESTA
打开POSCAR-bak
,效果如下图:
接下来我们调节不同层院子的显示效果,在左边栏点击Properties
-Atoms
标签栏-Radius and color
。 对表面原子Sm
,次表面原子Pm
和第三层原子Nd
分别做以下设置,原子半径依次降低。
然后对不同原子层添加键,菜单栏点击Edit
-Bonds
,在表面原子Sm
-次表面原子Pm
和次表面原子Pm
-第三层原子Nd
之间添加键。键的显示效果可以在Properties
-Bonds
标签栏-Bond style
里面调节键的显示效果。
在Boundary
里面多显示几个周期,最后再手动删除(delect键)多余的原子(Select 框选)即可。
脚本可以在我的Github仓库下载。(https://github.com/tamaswells/VASP_script/blob/master/resort.py)
如何区分两列中不同数据_如何在VESTA中区分不同表面层的原子相关推荐
- access查询两列信息合并输出_如何在Access中合并两个数据表中的数据
当我们使用Access处理数据时,我们经常需要合并具有相同表结构的两个数据记录.那么如何实现这一功能呢?以下编辑愿与您分享. 工具/材料 Access 操作方法 打开Access软件,新建两个数据表. ...
- python一行输出多个数据_如何在Python中让两个print()函数的输出打印在一行内?
1.两个连续的print()函数为什么在输出时内容会分行显示? 解:print()中有两个默认参数sep和end,其中sep是代替分隔符,end是代替末尾的换行符,默认使用','代替空格,且默认末尾加 ...
- pl/sql中的赋值运算符_如何在SQL中使用AND / OR运算符?
pl/sql中的赋值运算符 Basically, AND / OR operator is used to retrieving the record from the database. If we ...
- linux中python如何调用matlab的数据_?如何在Python中加入多个数据帧?
全文共2235字,预计学习时长7分钟 来源:Pexels 初学Python编程的人,面临的是各种未知的挑战. 下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景: 你正在处理一个从多个源收集数据 ...
- django 静态数据_如何在Django中使用静态数据?
django 静态数据 Static Data means those data items that we cannot want to change, we want to use them as ...
- jsp在mysql中删除数据_如何在jsp页面中删除数据库中的数据
如何在jsp页面中删除数据库中的数据 各位大虾! 我想在jsp页面上写一个按钮功能,从而动态的删除数据库中的一行数据. 不知道怎么实现 这是我写的一段代码 数据库是MySql UserBean p3= ...
- excel中去重计数_如何在Excel中计数
excel中去重计数 There are lots of different ways to count things in Excel – maybe you need to count the n ...
- npm中node更新_如何在Node中管理NPM和功能时保持理智
npm中node更新 by Ted Gross 泰德·格罗斯(Ted Gross) 如何在Node中管理NPM和功能时保持理智 (How to keep your sanity while manag ...
- 符号在excel中的引用_如何在Excel中添加项目符号
&符号在excel中的引用 There's no built-in feature for bullets in Excel, like there is in a Word document ...
最新文章
- 蓝牙stack bluez学习(1)Stack Architecture
- 【巷子】---vue基于mint-ui三级联动---【vue】
- C++代码片段(四)萃取模板类的模板参数类型
- 利用Math.random做背景图像随机切换【前端开发技能必备系列】
- one order event handling - 初始化过程
- Ubuntu 13.04 软件安装
- 他无意间玩了这12个游戏,却掌握了Python基础,前后只用了一个月
- 樱桃小丸子-每集标题
- 搜索提示的实现(仿百度):附源码和在线demo
- android登陆的编写
- 高清精美壁纸:2013年6月桌面日历壁纸免费下载
- notepad怎么设置python为环境变量_notepad
- go 时间格式风格详解
- 要管理组策略 您必须以域用户账户登录此计算机,让AD域用户账户只能登陆管理员指定的客户端计算机...
- 【百度头条】精准微营销—本地离线92GBQQ群数据库,包含全部版本
- UML建模工具最近更新汇总(-2022年7月)共16款:Visual State、UML Diagrammer……
- 羽毛球高远球技术动作要领解码
- Android手机怎么找回微信好友,安卓手机微信好友删除怎么找回?这三种方法真香...
- 考计算机用win10行吗,老电脑适合装win10吗
- APP Invertor 蓝牙BLE 个人案例分享 快速开发自己的蓝牙APP