第一性原理计算软件攻略-利用VESTA绘制差分电荷密度图解

1. 软件介绍

VESTA全称为Visualization for electronic and structural analysis. 是一款免费的可视化软件,可以帮助工作者利用第一性原理计算得到的数据制作出赏心悦目的图片。并且VESTA可以运行Materials Studio建模软件中的部分输出文件,通过VESTA和MS(Materials Studio)两款软件,可以完成第一性原理计算中的大部分模型处理和作图分析。VESTA可以读取MS生成的CIF文件,并将CIF文件直接转化为计算所用的POSCAR文件。一定程度下可以节省在MS里通过自己建设基矢导出原子位置的时间。另外,VESTA也可直接将POSCAR导出格式为*.xyz的文件(也就是MS识别的原子坐标文件),将*.xyz文件导入MS里可以调控POSCAR里的原子位置。添加吸附原子、分子等工作。图1为运行VESTA软件的界面显示。

图1

如图所示,左面栏里黑色箭头代表模型三维空间的立体展现,通过点击黑色箭头,在右方结构模型处移动鼠标可以实现模型的三维旋转。而第二个白色标号箭头,则可以实现原子的选取。其中十字标号可以使模型在可视化窗口中进行上下左右的移动。而图2这几个标号,分别代表两个原子之间的距离、三个原子之间呈现的夹角、平面角和界面之间的夹角。如图3所示,界面栏上方的a, b, c和a*, b*和c*则可以直接实现模型在x、y和z轴上面的视角。

图2

图3

2. 差分电荷密度图

差分电荷密度图是通过成键后的电荷密度与对应的点的原子电荷密度相减获得。通过差分电荷密度的计算和分析,可以清楚地得到在成键和成键电子耦合过程中的电荷移动以及成键极化方向等性质。差分电荷密度图在第一性原理计算中的应用多集中于分析结构优化后模型的原子间成键情况,尤其在界面计算中,通过差分电荷密度分析,可以初步直观的判断界面的结合方式。举两种材料组成的界面为例,差分电荷密度的计算公式为: ∆ρ = ρAB − ρA – ρB。ρAB代表了界面优化后的结构电荷密度,ρA代表组成界面的材料A的电荷密度,ρB代表组成界面的材料B的电荷密度。将它们作减,即可得到材料A和材料B组成界面AB后的电荷密度变化,进而可以分析界面中的电荷移动等性质。如图4所示,显示了石墨烯、掺杂石墨烯和氧化锂组成界面后的差分电荷密度图。其中黄色区域代表电子集聚的区域,蓝色区域表示电子损失的区域。通过差分电荷密度图,我们可以看出石墨烯和氧化锂组成界面后,石墨烯的电子发生重排,集聚在石墨烯和氧化锂的界面中。

图4

在计算研究体系的差分电荷密度时,界面AB,材料A和材料B的模型应保持同一,也就是说需要放在相同的大小格子中。当得到差分电荷密度的输出文件后,可以在各单独体系中的OUTCAR检验界面AB,材料A和材料B的NGX, NGY, NGZ是否一致,避免因为格点不同而导致差分电荷密度图无法正常绘制的情况发生。

如果在OUTCAR里发现参数并不相同时,需要在INCAR里通过设置NGX,NGY,NGZ保持一致使数据正常输出。使用VESTA绘制差分电荷密度图时,需要输出文件CHGCAR,例如要得到A、B两相组成的界面体系的差分电荷密度图,则需要得到界面AB、材料A和材料B各自的CHGCAR。然后利用上述公式∆ρ = ρAB − ρA – ρB 将对应的CHGCAR在VESTA里进行相减则可以达成目的。

3. 如何利用VESTA作图差分电荷密度图

在利用VESTA作图差分电荷密度图时,为了方便用图示解释过程,我们依旧采用石墨烯/氧化锂的界面模型作图。

(1)首先将总体系的CHGCAR导入VESTA里,在这里,直接将文件夹里的CHGCAR拖入VESTA就可以,CHGCAR文件一般为一百兆或者更大,所以,在VESTA导入CHGCAR时,如果响应比较慢的话,请耐心等待,如果强行运行,可能导致软件崩溃。

图5

(2)在导入界面总体系的CHGCAR后,导入材料A的CHGCAR;在导入材料A的CHGCAR时,要在上一个步骤的基础上进行导入,依次点击上栏中的Edit-Edit Data-Volumetric Data。

图6

此后,界面显示如下图所示,然后点击Import,导入材料A的CHGCAR

图7

在导入材料A的CHGCAR后,界面显示如图8所示,点击Subtract from current data和Raw Data,最后点击确定ok。备注:点击OK后反应时间较长,请耐心等待。

图8

在出现如下图所示的界面后,则导入材料A的CHGCAR已经成功,按照上述程序,再重复导入材料B的CHGCAR。

图9

导入材料B的CHGCAR后界面如图10所示,此时点击OK得到该体系的差分电荷密度图的初步显示。

图10

图11

点击Show Section对绘制的图进行简单处理,可以看到图11的小蓝色区域消失,如图12所示。

图12

此时,调整等值面(isosurface level)的数值,美化图形就可以得到完整的差分电荷密度图了。不同材料的等值面设置不同,根据自己的体系进行调整。

图13

图14

调整完后,就可以导出图形了,此时点击File-Export-Raster Image就可以导出到自己数据图形放置的文件夹了。之后采用PS对图形进行进一步美化,就可以得到漂亮的差分电荷密度密度图了,如图15所示。

图15

配图中所用的参考文献
1. Wang, T.; Zhao, N.; Shi, C.; Ma, L.; He, F.; He, C.; Li, J.; Liu, E., Interface and Doping Effects on Li Ion Storage Behavior of Graphene/Li2O. The Journal of Physical Chemistry C 2017.

也可参照

http://blog.sciencenet.cn/blog-567091-736154.html

### 解决 IntelliJ IDEA 中 `@Autowired` 注解导致的红色波浪线错误 在使用 Spring 框架时,如果遇到 `@Autowired` 注解下的依赖注入对象显示为红色波浪线错误或者黄色警告的情况,通常是由以下几个原因引起的: #### 1. **Spring 插件未启用** 如果 Spring 支持插件未被激活,则可能导致 IDE 无法识别 `@Autowired` 或其他 Spring 特定的功能。可以通过以下方式解决问题: - 打开设置菜单:`File -> Settings -> Plugins`。 - 确认已安装并启用了名为 “Spring Framework Support” 的官方插件[^1]。 #### 2. **项目配置文件缺失或不正确** Spring 需要通过 XML 文件、Java Config 类或其他形式来定义 Bean 定义。如果没有正确加载这些配置文件,可能会导致 `@Autowired` 报错。 - 确保项目的 `applicationContext.xml` 或者基于 Java 的配置类(带有 `@Configuration` 和 `@Bean` 注解)已被正确定义和引入。 - 对于 Spring Boot 项目,确认是否存在 `spring.factories` 文件以及是否包含了必要的组件扫描路径[^3]。 #### 3. **模块依赖关系问题** 当前模块可能缺少对 Spring Core 或 Context 组件库的有效引用。这可能是由于 Maven/Gradle 构建工具中的依赖项声明不足造成的。 - 检查 `pom.xml` (Maven) 或 `build.gradle` (Gradle),确保包含如下核心依赖之一: ```xml <!-- For Maven --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> ``` ```gradle // For Gradle implementation 'org.springframework:spring-context:${springVersion}' ``` - 更新项目依赖树以应用更改:右键点击项目根目录 -> `Maven -> Reload Project` 或运行命令 `./gradlew build --refresh-dependencies`。 #### 4. **IDE 缓存损坏** Intellij IDEA 的缓存机制有时会因各种因素而失效,从而引发误报错误。清除缓存可以有效缓解此类情况。 - 使用快捷组合键 `Ctrl + Alt + Shift + S` 进入项目结构对话框;也可以尝试执行操作序列:`File -> Invalidate Caches / Restart... -> Invalidate and Restart`. #### 5. **启动异常影响正常解析** 若之前存在类似 `com.intellij.diagnostic.PluginException` 的严重初始化失败日志记录,则表明某些关键服务未能成功加载,进而干扰到后续功能表现[^2]。建议重新下载最新稳定版本的 IDEA 并按照标准流程完成初次部署工作。 ```java // 示例代码片段展示如何正确运用 @Autowired 注解实现自动装配 @Service public class StudentService { private final Repository repository; public StudentService(@Qualifier("specificRepository") Repository repo){ this.repository = repo; } } @Component class SpecificComponent{ @Autowired private transient StudentService studentService; // 此处应无任何编译期告警现象发生 } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值