密度泛函理论(DFT)简介
密度泛函理论(DFT)简介
密度泛函理论(Density Functional Theory,DFT)是一种现代量子力学计算方法,广泛应用于原子、分子和固体材料的电子结构研究。
DFT 的基本思想:
与传统量子力学基于多电子波函数 \(\Psi(\mathbf{r}\_1, \mathbf{r}\_2, \dots, \mathbf{r}\_N)\) 的形式不同,DFT 使用电子密度 \(\rho(\mathbf{r})\) 作为描述系统的基本量,从而显著减少计算维度(从 \(3N\) 个变量降为 3 个变量)。
Born-Oppenheimer 近似与哈密顿量
我们考虑一个包含 \(N\) 个电子的系统,假设原子核静止不动(Born-Oppenheimer 近似),则系统的电子哈密顿量如下:
\]
具体展开为:
电子动能项:
\[\hat{T}_e = -\frac{1}{2} \sum_{i=1}^N \nabla_i^2
\]电子与外部势(原子核)相互作用项:
\[\hat{V}_{\text{ext}} = \sum_{i=1}^N v_{\text{ext}}(\mathbf{r}_i)
\]电子之间的库伦排斥项:
\[\hat{V}_{ee} = \sum_{1 \le i < j \le N} \frac{1}{|\mathbf{r}_i - \mathbf{r}_j|}
\]
目标是解薛定谔方程:
\]
Hohenberg-Kohn 定理(一)完整推导
定理一内容:
给定一个体系的基态电子密度 \(\rho\_0(\mathbf{r})\),它唯一地确定系统的外部势 \(v\_{\text{ext}}(\mathbf{r})\)(在常数差之外),进而唯一确定基态波函数与系统的所有物理性质。
推导过程(反证法):
假设存在两个不同的外部势:
- \(v(\mathbf{r})\) → 对应基态波函数 \(\psi\)
- \(v'(\mathbf{r})\) → 对应基态波函数 \(\psi'\)
它们满足以下条件:
对应的哈密顿量不同:
\[\hat{H} = \hat{T} + \hat{V} + \hat{U}, \quad \hat{H}' = \hat{T} + \hat{V}' + \hat{U}
\]其中 \(\hat{U}\) 是电子之间的相互作用(相同),\(\hat{T}\) 是动能算符(也相同),不同的是外部势 \(\hat{V}\) 和 \(\hat{V}'\)。
它们的基态密度相同:
\[\rho(\mathbf{r}) = \langle \psi | \hat{\rho}(\mathbf{r}) | \psi \rangle = \langle \psi' | \hat{\rho}(\mathbf{r}) | \psi' \rangle
\]
下面我们来推导矛盾:
第一步:由变分原理出发
由于 \(\psi\) 是 \(\hat{H}\) 的基态波函数,且 \(\psi' \ne \psi\),由变分原理可得:
\]
同理,\(\psi'\) 是 \(\hat{H}'\) 的基态波函数,得:
\]
第二步:展开哈密顿量期望值
记住:
\]
我们可以分别写出:
对于 \(\psi'\) 在 \(\hat{H}\) 上的期望:
\[\langle \psi' | \hat{H} | \psi' \rangle = \langle \psi' | \hat{T} + \hat{U} | \psi' \rangle + \langle \psi' | \hat{V} | \psi' \rangle
\]对于 \(\psi\) 在 \(\hat{H}'\) 上的期望:
\[\langle \psi | \hat{H}' | \psi \rangle = \langle \psi | \hat{T} + \hat{U} | \psi \rangle + \langle \psi | \hat{V}' | \psi \rangle
\]
因为 \(\psi\) 与 \(\psi'\) 的电子密度相同,即:
\langle \psi' | \hat{V} | \psi' \rangle = \int \rho(\mathbf{r}) v(\mathbf{r})\, d\mathbf{r}
\]
第三步:合并两个不等式
结合两边不等式:
\]
\]
将两式相加得到:
\]
这是一个显然的矛盾!
结论:
因此假设不成立,两个不同的外势不可能产生相同的基态密度。这就证明了:
一个基态电子密度 \(\rho(\mathbf{r})\) 唯一确定外势 \(v\_{\text{ext}}(\mathbf{r})\)(加常数无关),从而唯一确定哈密顿量与系统基态。
Hohenberg-Kohn 定理(二)
定理二基于变分原理指出:
基态能量是电子密度泛函的最小值:
\]
这为 DFT 提供了一个“能量极小化”原则——通过试探不同密度函数并极小化能量,可以找到真实的基态密度与能量。
Kohn-Sham 方法(KS 方法)
虽然 H-K 定理具有深远意义,但并没有给出具体的计算框架。Kohn-Sham 方法则提供了 DFT 在实际计算中的实现路径。
核心思想
将多电子相互作用体系简化为非交互单电子系统,使用一个有效势来模拟电子之间的相互作用。
Kohn-Sham 方程:
\]
其中有效势:
\]
- \(v\_H\):经典库伦排斥(Hartree 势)
- \(v\_{xc}\):交换-关联势(引入了电子交换与量子关联)
KS 总能量表达式:
\]
PPT链接:
https://1drv.ms/p/c/7a3fa4b8d46fdfb3/EfMuSbK1HxRAp7GN4NaryI8BVsm_daEoBcCOasGnezfI0A?e=plWldu
密度泛函理论(DFT)简介的更多相关文章
- Spring Boot 基础,理论,简介
Spring Boot 基础,理论,简介 1.SpringBoot自动装配 1.1 Spring装配方式 1.2 Spring @Enable 模块驱动 1.3 Spring 条件装配 2.自动装配正 ...
- (数据科学学习手札15)DBSCAN密度聚类法原理简介&Python与R的实现
DBSCAN算法是一种很典型的密度聚类法,它与K-means等只能对凸样本集进行聚类的算法不同,它也可以处理非凸集. 关于DBSCAN算法的原理,笔者觉得下面这篇写的甚是清楚练达,推荐大家阅读: ht ...
- 加密第四节_IPSec基本理论
加密第四节_IPSec基本理论 本节内容 IPSec简介 IPSec两种工作模式 判断隧道模式和传输模式 IPSec两种模型 IPSec两个数据库 IPSec基本理论 IPSec简介 提供了网络层的安 ...
- 密度峰值聚类算法MATLAB程序
密度峰值聚类算法MATLAB程序 凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 密度峰值聚类算法简介见:[转] 密度峰值聚类算法(DPC) 数据见:MATL ...
- cap理论与分布式事务的解决方案
现在很火的微服务架构所设计的系统是分布式系统.分布式系统有一个著名的CAP理论,即一个分布式系统要同时满足一致性(Consistency).可用性(Availablility)和分区容错(Partit ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识
笔记 2.分布式应用知识CAP理论知识 简介:讲解分布式核心知识CAP理论 CAP定理: 指的是在一个分布式系统中,Consistency(一致性). Availabi ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...
- 石墨烯(转自wiki)
石墨烯(Graphene)是一种由碳原子以sp2杂化轨道组成六角型呈蜂巢晶格的平面薄膜,只有一个碳原子厚度的二维材料[1].石墨烯一直被认为是假设性的结构,无法单独稳定存在[1],直至2004年,英国 ...
- 傅里叶变换 - Fourier Transform
傅里叶级数 傅里叶在他的专著<热的解析理论>中提出,任何一个周期函数都可以表示为若干个正弦函数的和,即: \[f(t)=a_0+\sum_{n=1}^{\infty}(a_ncos(n\o ...
- class-支持向量机SVM全析笔记
support vector machines,SVM是二类分类模型.定义在特征空间上间隔最大的线性分类器,由于包括核技巧实质上成为非线性分类器.学习策略是间隔最大化,可形式化为求解凸二次规划问题(c ...
随机推荐
- TreeSet的add方法源码分析
一.JDK 1.8 中 TreeSet 的 add 方法源码详细分析 TreeSet 是 Java 集合框架中的一个有序集合类,基于红黑树(TreeMap)实现.TreeSet 的 add 方法用于向 ...
- 基于Redission实现分布式调度任务选主
在Spring Cloud微服务架构中,基于Redisson实现分布式调度任务的选主和心跳监听,可以通过以下完整方案实现.该方案结合了Redisson的分布式锁和发布/订阅功能,确保高可靠性和实时性: ...
- 科研新体验:刘同学深度试用ADTF软件反馈揭晓!
一.前言 作为一名高校的科研工作者,在高校的科研工作中,经常需要处理各种复杂的数据流,尤其是视频采集和处理的工作,对数据的实时性和精度要求非常高,我首次试用ADTF时,主要负责开发一个集成FFmpeg ...
- EFCore Study(3)——“一”对多关系的设定和插入、查找级联操作
一.建立文章.评论类 /// <summary> /// 文章 /// </summary> public class Artitle { public int Id { ge ...
- 全局搜索——Lucene.net 项目
1.GitHub - LonghronShen/Lucene.Net.Analysis.PanGu at netcore 2.Net Core使用Lucene.Net和盘古分词器 实现全文检索 - t ...
- RabbitMQ消息的生存时间TTL(Time To Live)
目录 RabbitMQ消息的生存时间TTL MQ环境测试准备 代码实现 生产者 8080 测试 死信队列 自定义ttl消息 过期丢弃消息 总结 RabbitMQ消息的生存时间TTL TTL(Time ...
- Java System.arraycopy实现数组拷贝
在看ArrayList源码的时候发现用到了System.arraycopy方法. line 544 private void fastRemove(int index) { modCount++; i ...
- 【BUG】未能加载文件或程序集“System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyT
参考:无法加载文件或程序集System.Runtime.CompilerServices.Unsafe. 问题 我的环境: Visual Studio 2019 出错代码: MSBuildWorksp ...
- 历数java虚拟机GC的种种缺点
Java通过垃圾收集器(Garbage Collection,简称GC)实现自动内存管理,这样可有效减轻Java应用开发人员的负担,也避免了更多内存泄露的风险. 如果你用过C++等需要手动管理内存的语 ...
- helm,efk日志系统
helm:存放配单清单的 chart图表 chart仓库 chart,helm-->Tiller-->api server -->kube_cluster chart---> ...