实空间上三角形状格点哈密顿量构建及求解
这里在实空间中构建一个上三角形状来计算一些系统的性质。{:.info} 前言虽然自己经常研究的是正方点阵体系,但是有时候还是需要在一些特殊的形状上来计算系统的性质,这里就来构建一个上三角的格点模型来计算。 代码废话不多说,直接上代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189# 构建三角区域计算@everywhere using SharedArrays, LinearAlgebra,Distributed,DelimitedFiles,Printf# --------------------------------------@everywhere function boundary(xn::Int64,yn::Int64) # 构建在特定形状格点上的hopping位置 len2::Int64 = xn*yn bry = zeros(Int64,4,len2) # f1 = open("tri.dat","w") for iy = 1:yn,ix in 1:iy i = Int(iy*(iy - 1)/2) + ix bry[1,i] = i + 1 # right hopping ...
Julia并行计算cylinder边界态
之前虽然也写过cylinder计算的代码,但都是利用Fortran写的,虽然Fortran的计算速度很快,奈何很多简单的操作实现起来实在不太方便,最近干脆全面转julia了,虽然速度比不上Frotran,但是我可以并行计算呀,Fortran的并行没时间,懒的弄了,等有机会再说,这里就用Julia并行的计算边界态。{:.info} 模型还是用我最熟悉的模型BHZ+Superconductor H(\mathbf{k})=(m_0-t_x\cos k_x-t_y\cos k_y)\sigma_z\tau_+\lambda_x\sin k_x\sigma_xs_z+\lambda_y\sin k_y\sigma_y\tau_z+\Delta(\mathbf{k})s_y\tau_y具体怎么实现可以查阅我其他的博客,我这里直接就上代码了 代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191@everywhere using SharedArrays, LinearAlgebra,Distributed,DelimitedFiles,Printf# =================================================@everywhere function...
BBH实空间计算
之前其实已经研究过BBH模型的拓扑性质,但是一直没去写实空间电荷分布以及零能态的代码,这里补一下作业。{:.info} 模型废话不说,直接给模型上代码,具体的性质可以参考Electric multipole moments, topological multipole moment pumping, and chiral hinge states in crystalline insulators这篇文章。 \begin{aligned} h^{q}(\mathbf{k})=& {\left[\gamma_{x}+\lambda_{x} \cos \left(k_{x}\right)\right] \Gamma_{4}+\lambda_{x} \sin \left(k_{x}\right) \Gamma_{3} } \\ &+\left[\gamma_{y}+\lambda_{y} \cos \left(k_{y}\right)\right] \Gamma_{2}+\lambda_{y} \sin \left(k_{y}\right) \Gamma_{1} \end{aligned}代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154using ProgressMeter@everywhere using SharedArrays, LinearAlgebra,Distributed,DelimitedFiles,Printf#...
Julia矩阵对角化实例
最近稍微有点时间,把自己之前经常使用的一个代码做了一下精简,这里整理一下方便自己平时查阅使用。主要就是利用Julia在对角化矩阵的时候的一些内容以及实空间哈密顿量计算的代码。{:.info} 直接对角化这里直接给出一个对角化的程序123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228using DelimitedFilesusing ProgressMeter@everywhere using SharedArrays, LinearAlgebra,Distributed,DelimitedFiles,Printf# --------------------------------------@everywhere function boundary(xn::Int64,yn::Int64) len2::Int64 = xn*yn bry = zeros(Int64,8,len2) for iy in 1:yn for ix in 1:xn ...
态之间耦合的一点浅显的理解
看文献的时候突然对态之间的耦合有点自己的想法,随手整理了下来。{:.info} 什么是耦合这里来理解一下不同态之间的耦合与实际公式表达有什么联系。我们习惯用哈密顿量来描述系统,假设我有两个态$\psi_1,\psi_2$,我们将基矢选择为 \psi=(\psi_1,\psi_2)那么此时可以给出哈密顿量 \hat{H}=\psi^\dagger H\psi\quad...
边界态理论计算的另外一种方法
这里整理一下另外一种求解边界态色散的方法,其实就是沈顺清老师Topological insulator这本书中提供的方法,只是自己之前并不是按照这种方法计算边界态理论的,最近在重复一篇文章,它用的就是这种方法,所以我就顺便整理了一下。{:.info} 模型先考虑一个哈密顿量 \begin{equation} H(\mathbf{k})=\left(\begin{array}{cc}m_t-t(k_\perp^2+k_\parallel^2)&e^{-i \theta } v (k_\perp+i k_\parallel)\\e^{i \theta } v (k_\perp-i k_\parallel)&-(m_t-t(k_\perp^2+k_\parallel^2))\end{array}\right) \end{equation}因为边界态总是束缚在边界上的,所以这里可以先给定一个形式解 \begin{equation} \psi(\mathbf{r})=e^{ik_\parallel x_\parallel}e^{\xi x_\perp}\left(\begin{array}{c}\alpha \\\beta\end{array}\right) \end{equation}那么就可以起来求解本征方程 H\psi=E\psi将解的形式代入可以得到 \begin{equation} \left(\begin{array}{cc}m_t-t(k_\perp^2+k_\parallel^2)&e^{-i \theta } v (k_\perp+i k_\parallel)\\e^{i \theta } v (k_\perp-i k_\parallel)&-(m_t-t(k_\perp^2+k_\parallel^2))\end{array}\right)\left(\begin{array}{c}\alpha...