Skip to content

Commit

Permalink
fix: add the multirow pkg in auto build/release
Browse files Browse the repository at this point in the history
  • Loading branch information
NominHanggai committed Oct 8, 2022
1 parent 8cc58f5 commit 235a500
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 102 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:

env:
CTAN_URL: https://mirrors.rit.edu/CTAN
TL_PACKAGES: amscls amsmath anyfontsize blkarray booktabs boondox braket caption ctex endnotes fancyhdr fandol float graphics hyperref latexmk libertinus-fonts luatex85 l3packages mathalpha mathtools metafont needspace newfloat pgfplots psnfss scalerel siunitx stackengine threeparttable times tools ulem wasysym xcolor xecjk collection-fontsrecommended collection-fontsextra
TL_PACKAGES: amscls amsmath anyfontsize blkarray booktabs boondox braket caption ctex endnotes fancyhdr fandol float graphics hyperref latexmk libertinus-fonts luatex85 l3packages mathalpha mathtools metafont needspace newfloat pgfplots psnfss scalerel siunitx stackengine threeparttable times tools ulem wasysym xcolor xecjk multirow collection-fontsrecommended collection-fontsextra

jobs:
build-on-ubuntu:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

env:
CTAN_URL: https://mirrors.rit.edu/CTAN
TL_PACKAGES: amscls amsmath anyfontsize blkarray booktabs boondox braket caption ctex endnotes fancyhdr fandol float graphics hyperref latexmk libertinus-fonts luatex85 l3packages mathalpha mathtools metafont needspace newfloat pgfplots psnfss scalerel siunitx stackengine threeparttable times tools ulem wasysym xcolor xecjk collection-fontsrecommended collection-fontsextra
TL_PACKAGES: amscls amsmath anyfontsize blkarray booktabs boondox braket caption ctex endnotes fancyhdr fandol float graphics hyperref latexmk libertinus-fonts luatex85 l3packages mathalpha mathtools metafont needspace newfloat pgfplots psnfss scalerel siunitx stackengine threeparttable times tools ulem wasysym xcolor xecjk multirow collection-fontsrecommended collection-fontsextra

jobs:
release:
Expand Down
127 changes: 53 additions & 74 deletions Chaps/Chap3.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1931,15 +1931,14 @@ \subsection{SCF(自洽场)手续}
此外还有很多其他方式可以生成初猜.
实际迭代手续中最耗时的部分是把双电子积分与密度矩阵填入矩阵$\mathbf{G}$(第(5)步).
若积分被随机存入外部储存器,
实际迭代手续中最耗时的部分是把双电子积分和密度矩阵乘起来得到矩阵$\mathbf{G}$(第(5)步).
若积分按照随机顺序存入外部储存器,
且每个都带有指示标签,
那么之后当积分读入主储存时,
可用标签也就是指标$\mu,\nu,\lambda,\sigma$来指认积分,
以确定用密度矩阵中哪个元素来乘,
确定$\mathbf{G}$矩阵中哪个元素需被加入,
根据(3.
154)中$\mathbf{G}$矩阵的表达式.
可以用标签也就是指标$\mu,\nu,\lambda,\sigma$来指认积分,
然后确定要对密度矩阵中哪些元素做乘法,
并按照(3.154)中$\mathbf{G}$矩阵的表达式,
确定$\mathbf{G}$矩阵中哪个元素需要加上乘出来的乘积.
多数计算中,
Expand All @@ -1948,47 +1947,45 @@ \subsection{SCF(自洽场)手续}
由于Roothaan方程是非线性方程,
此处列出的简单迭代手续往往不会收敛.
这里讲的简单迭代手续往往不会收敛.
若初猜质量较差,
可能出现振荡或发散.
若是振荡,
将前后密度矩阵作平均可能有效.
若没收敛,
可能指示因为收敛较慢.
有了两个及以上相邻的密度矩阵,
可以设计许多外推手续.
即使能收敛,收敛过程有时也较慢.
利用两个及以上相邻的密度矩阵,
可以设计出许多外推手续.
收敛问题不是一个平凡问题,
它是很多计算中的主要问题.
此书所述的迭代手续也许是可尝试的最简单手续,
它确实有些过于简单.
现在已有许国其他的技术来确保或加速SCF解的收敛.
它是很多计算中的头号问题.
本书讲的迭代手续也许可以尝试的最简单的一种,
但它确实有些过于简单.
现在已有许多其他的技术来确保或加速SCF解的收敛.
当然,
我们需要一个是否收敛的判据,
比较常用的办法就是简单地观察每一步的总电子能量,
要求两个相邻步骤的值只差一个小量$\delta$.
$\delta=10^{-6}$Hartrees在多数目的下就够用了.
马上我们会证明,
每次迭代中计算能量几乎不需要花费时间.
$\delta=10^{-6}$Hartrees在多数情况下就够用了.
等一下我们会马上证明,
每次迭代中计算一下能量几乎不需要花费时间.
另外一种判据是,
要求密度矩阵的矩阵元前后的标准偏差,
即下式
\begin{align*}
\left[ K^{-2}\sum_\mu\sum_\nu[P{(i)}_{\mu\nu}-P^{(i-1)}_{\mu\nu} ] \right]
\end{align*}
小于$\delta$.
将密度矩阵的误差设为$\delta=10^{-4}$一般会使能量误差小于$10^{-6}$ Hartrees.
小于$\delta$
将密度矩阵的误差设为$\delta=10^{-4}$一般会使能量误差小于$10^{-6}$ Hartrees
我们只介绍了SCF手续的一小部分知识.
很多研究组的研究及大量多年编程已经构建了可用于\emph{从头}SCF手续的大型计算机程序,
当前已经可以使用.
许多研究组在多年的研究和编程中致力于编写大型计算机程序,这些程序现在已经可以用来做\emph{从头(ab initio)}SCF计算了。
\subsection{期望值与布居分析}
得到了密度矩阵、Fock矩阵等的收敛值,
就有大量手段可使用波函数$\ket{\Psi_0}$或分析计算结果.
这里只介绍其中较常用的一些量.
一旦得到了密度矩阵、Fock矩阵等的收敛值,
就有大量手段来利用波函数$\ket{\Psi_0}$的信息或分析计算结果.
这里只介绍分析时较常用的一些量.
$\mathbf{F'}$的本征值是轨道能量$\epsilon_i$.
Expand All @@ -2000,8 +1997,7 @@ \subsection{期望值与布居分析}
\begin{align}
E_0 =2\sum_a^{N/2}h_{aa} + \sum_a^{N/2}\sum_b^{N/2}2J_{ab}-K_{ab}
\end{align}
利用(3.
147)中Fock算符的定义,
利用(3.147)中Fock算符的定义,
我们有
\begin{align}
\epsilon_a = f_{aa} = h_{aa} + \sum_b^{N/2}2J_{ab} - K_{ab}
Expand All @@ -2019,13 +2015,9 @@ \subsection{期望值与布居分析}
E_0 = \frac{1}{2}\sum_\mu\sum_\nu P_{\nu\mu}(H_{\mu\nu}^\mathrm{core}+F_{\mu\nu})
\end{align}
\exercise{
由(3.
183)导出(3.
184).
由(3.183)导出(3.184)。
}
若按(3.
184)计算$E_0$时所用密度矩阵$\mathbf{P}$与构建$\mathbf{F}$时所用的相同,
若按(3.184)计算$E_0$时所用密度矩阵$\mathbf{P}$与构建$\mathbf{F}$时所用的相同,
那么$E_0$在迭代的任一截断都是真实能量的上界,
而且一般在开始到收敛结果之间单调收敛.
$E_0$再加上核-核排斥势就得到总能$E_\mathrm{tot}$
Expand Down Expand Up @@ -2070,8 +2062,7 @@ \subsection{期望值与布居分析}
第二项是核的贡献(按经典做法).
电子偶极算符是$-\sum_{i=1}^{N}\mathbf{r}_i$,
是一组单电子算符之和.
因此利用(3.
187)可有
因此利用(3.187)可有
\begin{align}
\vec{\mu} = -\sum_\mu\sum_\nu P_{\mu\nu}(\nu|\mathbf{r}|\mu) + \sum_AZ_A\mathbf{R}_A
\end{align}
Expand All @@ -2094,20 +2085,12 @@ \subsection{期望值与布居分析}
\rho(\bfr) = \sum_\mu\sum_\nu P_{\mu\nu}\phi_\mu(\bfr)\phi_\nu^*(\bfr)
\end{align}
表示在空间中一区域内找到一个电子的概率, 一般用画在分子截面上的等高线图来表示.
在分子内, 说某个原子带了多少电子没有意义, 但有时进行这种布居分析\footnote{
说是布居分析,
不如译为布居分解较好,
不过大家习惯了第一种叫法,
此处就沿用了.
英文为population analyses.
}也会有用. 由于
在分子内, 说某个原子带了多少电子没有意义, 但有时进行这种布居分析(population analysis)也会有用. 由于
\begin{align}
N = 2\sum_{a}^{N/2}\int\dd{r}|\psi_a(\bfr)|^2
\end{align}
实际上这是将所有电子按每两个电子配一个轨道分配在了分子轨道上,
若将$\psi_a$的基函数展开带入(3.
194)则有
若将$\psi_a$的基函数展开带入(3.194)则有
\begin{align}
N = \sum_\mu\sum_\nu P_{\mu\nu}S_{\nu\mu} = \sum_\mu(\mathbf{PS})_{\mu\mu} = \mathrm{tr}\,\,\mathbf{PS}
\end{align}
Expand All @@ -2124,8 +2107,7 @@ \subsection{期望值与布居分析}
求和指标提示我们求和只对$A$中心的基函数求和.
定义(3.
195)绝非唯一.
定义(3.195)绝非唯一.
由于$\mathrm{tr}\,\,\mathbf{AB}=\mathrm{tr}\,\,\mathbf{BA}$,
\begin{align}
Expand Down Expand Up @@ -2153,7 +2135,7 @@ \subsection{期望值与布居分析}
}
布居分析没有唯一的方案,
但是比较同类型基组下的不同分子时它们都很有用.
但是比较不同分子(需用同一基组计算)时它们都很有用.
使用基组时需要做好``平衡'',
我们举个例子来解释:在$\mathrm{H}_2\mathrm{O}$中,
若将基函数的完全集全放在$\mathrm{O}$原子上,
Expand All @@ -2164,17 +2146,13 @@ \subsection{期望值与布居分析}
对布居分析赋予任何物理意义时要相当谨慎.
\section{模型算例:H$_2$与HeH$^+$}
前面讨论了多电子问题解中的大量形式上的数学手续,
之后对此的讨论仍会出现.
我们所呈现的这些概念和想法对于初学者来说可能有些难以接受.
此处为读者考虑,
避免冗长的形式理论,
给出一些具体应用以帮助读者.
我们深知,
即使是在开始显得非常奥涩的形式理论,
若能辅以运用——将其运用到某简单却不失真实的模型系统上,
也可被洞悉无遗.
本节就将闭壳层\hft 手续运用到模型体系$\hd$$\mathrm{HeH}^+$.
前面讨论了求解多电子问题所需的很多形式上的数学手续,
之后这方面讨论仍会出现.
我们所呈现的这些概念和想法对于初学者来说可能有些难以接受. 如果只做形式上的讲解,无论怎么讲,读者的这种感觉可能都不会改变。
这里我们为读者考虑, 避免光讲冗长的形式理论而不讲例子。
我们深知, 即使是在一开始显得非常奥涩的形式理论,
若能辅以运用——将其运用到某简单却不失真实的模型系统上---其本质也能被很清楚地理解.
本节就来用闭壳层\hft 手续计算两个模型体系:$\hd$$\mathrm{HeH}^+$.
双电子分子$\hd,\heh$是可当作同核/异核双原子分子的原型.
Expand Down Expand Up @@ -3274,7 +3252,7 @@ \subsection{STO-3G下的HeH$^+$: SCF计算}
\mathbf{H}^\mathrm{core}\mathbf{C=SC}\bm{\epsilon}
\end{align}
由该式可得到单个电子在$\mathrm{HeH}^{++}$势场中的分子轨道及轨道能量(在当前例子下就是总电子能量).
而电子-电子排斥效应对分子轨道和能量的影响(在单行列式框架下)就体现在矩阵$\mathbf{G}$,
而电子-电子排斥效应对分子轨道和能量的影响(在单行列式框架下)就体现在矩阵$\mathbf{G}$
$\mathbf{G}$$\mathbf{H}^\mathrm{core}$就得到$\mathbf{F}$.
Expand Down Expand Up @@ -3558,7 +3536,7 @@ \subsection{STO-3G下的HeH$^+$: SCF计算}
因为$\heh$的解离产物(即$\mathrm{He}+\mathrm{H}^+$)结合电子的能力更强($\mathrm{H}^+$的电子亲和能比$\heh$的电子亲和能加上解离能还要大).
$\mathbf{PS}$的对角元可以进行Mulliken布居分析.
$\mathbf{PS}$的对角元可以做Mulliken布居分析.
分析后知$\phi_1$上附带$1.53$个电子,
$\phi_2$$0.47$个电子.
$\mathrm{He}$的静电荷为$+0.47$,
Expand Down Expand Up @@ -3735,14 +3713,14 @@ \subsection{STO-3G下的HeH$^+$: SCF计算}
我们只涉及$\hd, \text{N}_2, \text{CO}$以及以及十电子族内的$\text{CH}_4, \text{NH}_3, \text{H}_2\text{O}, \text{FH}$.
每个每个分子都会用一系列不同层次的基组做计算
每个分子都会用多种不同层次的基组做计算
在写下这些计算的结果前,
我们需先讨论一般的多原子基组并对将用的基组做详细解说。
\section{多原子基组}
用于多原子计算的基替数太多了
大概和量子化学家一样多
用于多原子计算的基组非常多
也许和量子化学家的数目一样多
选择合适的基组并非是一种魔法,
但初看确实好像如此。
在下面的算例中,
Expand All @@ -3760,22 +3738,23 @@ \section{多原子基组}
上面提到的基组由Pople及其合作者引入(见章末尾拓展阅读中Hehre等的文章),
已被一大批工作者广泛运用在了诸多分子的计算上。
除过少数个例,
本书内的算例用到的基组都按STO-3G、4-31G、6-31G*、6-31G**这个层级来。
我们会用以上基组对一小组分子进行计算一次以此试图用系统的方式展示基组的特性如何影响计算结果。
我们并不试图给出现有计算的综述。
这综述综述很快会过时。
本书内的算例用到的基组都按STO-3G、4-31G、6-31G*、6-31G**这个层次来。
我们会用这些基组对一小组分子做计算,
由此试着系统地说明基组的特性会如何影响计算结果。
我们并不是在试图给出当前对分子做过的那些计算的综述。
因为这综述很快会过时。
虽然我们用的基组并非最优,
而且也可能很快过时,
但他们所具的特性确实可以用来说明所有的基组
但他们所具的特性确实可以用来解释所有基组
本节的目标是明确定义STO-3G、4-31G、6-31G*、6-31G**基组,
我们在此节和后面章节会使用它们。
但是在此过程中
我们会涉及大部分当今基组的典型特性
并引入一些记法定义定义、选择基组的手段
在定义这些基组的过程中
我们会涉及现今大部分基组的典型特性
并引入一些描述基组的符号和挑选基组的方式
特别地,
我们先来介绍收缩(contraction)。
我们先来介绍收缩(contraction)的概念
\subsection{收缩型高斯函数}
\ref{sec3.5.1}中定义了模型计算中用到的$1s$ STO-3G基组,那里我们已经给出一些关于收缩的想法。
Expand Down
Loading

0 comments on commit 235a500

Please sign in to comment.