DMFT-08 Lattices
Setting a particular lattice
Option DOSFILE
之前所有的教程处理的都是具有半圆形态密度的贝特格子。现在我们展示如何设置输入参数,以指定某个特定格子的态密度。要运行模拟,你可以直接使用之前教程中的脚本,只需替换参数列表即可进行类似的模拟。例如,你可以像 DMFT-04 Mott 中那样考察 MIT。
对于一般的格子,你需要提供该格子的态密度。除此之外,还需要做一些其他修改才能运行模拟。下面是一个可用的 python 脚本 tutorial8a.py,用于设置输入文件并运行模拟:
import pyalps
import matplotlib.pyplot as plt
import pyalps.plot
#prepare the input parameters
parms=[]
for u in [3.]:
for b in [6.]:
parms.append(
{
'BETA' : b, # inverse temperature
'MU' : 0.0, # chemical potential corresponding to half-filling
'U' : u, # Hubbard interaction
'FLAVORS' : 2, # corresponds to spin up/down
'SITES' : 1, # number of sites in the impurity
'H' : 0.0, # there is no magnetic field
'H_INIT' : 0.05, # we set initial field to split spin up/down in order to trigger AF phase
'OMEGA_LOOP' : 1, # the selfconsistency runs in Matsubara frequencies
'ANTIFERROMAGNET' : 1, # allow Neel order
'SYMMETRIZATION' : 0, # do not enforce paramagnetic solution
'NMATSUBARA' : 500, # number of Matsubara frequencies
'N' : 500, # bins in imaginary time
'CONVERGED' : 0.005, # criterion for convergency
'MAX_TIME' : 60, # max. time spent in solver in a single iteration in seconds
'G0OMEGA_INPUT' : "", # forces to start from the local non-interacting Green's function
'MAX_IT' : 10, # max. number of self-consistency iterations
'SWEEPS' : 10000, # max. number of sweeps in a single iteration
'THERMALIZATION' : 500, # number of thermalization sweeps
'SEED' : 0, # random seed
'SOLVER' : "hybridization", # we take the hybridization impurity solver
'SC_WRITE_DELTA' : 1, # input for the hybridization impurity solver is the hybridization function Delta, which has to be written by the selfconsistency
'N_MEAS' : 5000, # number of Monte Carlo steps between measurements
'N_ORDER' : 50, # histogram size
'DOSFILE' : "DOS/DOS_Square_GRID4000", # specification of the file with density of states
'GENERAL_FOURIER_TRANSFORMER' : 1, # Fourier transformer for a general bandstructure
'EPS_0' : 0, # potential shift for the flavor 0
'EPS_1' : 0, # potential shift for the flavor 1
'EPSSQ_0' : 4, # the second moment of the bandstructure for the flavor 0
'EPSSQ_1' : 4, # the second moment of the bandstructure for the flavor 1
}
)
#write the input file and run the simulation
for p in parms:
input_file = pyalps.writeParameterFile('hybrid_DOS_beta_'+str(p['BETA'])+'_U_'+str(p['U']),p)
res = pyalps.runDMFT(input_file)输入文件中出现的与格子相关的参数如下:
DOSFILE = DOS/DOS_Square_GRID4000; // specification of the file with density of states
GENERAL_FOURIER_TRANSFORMER = 1; // Fourier transformer for a general bandstructure
EPS_0 = 0; // potential shift for the flavor 0
EPS_1 = 0; // potential shift for the flavor 1
EPSSQ_0 = 4; // the second moment of the bandstructure for the flavor 0
EPSSQ_1 = 4; // the second moment of the bandstructure for the flavor 1注 1:如果在输入文件中不提供能带结构参数(EPS_i、EPSSQ_i),那么它们将根据给定的 DOS 计算得到(自 revision 6146 起),公式为 ,。
注 2:反铁磁自洽循环假定为 Néel 序,因此仅适用于二分格子(bipartite lattices)。
注 3:态密度必须由用户自行提供。本教程提供了以下几种态密度:
- 正方格子 DOS_Square_GRID4000(由
DOS_Square.py在 GRID=4000 的设置下生成);对应参数为 EPSSQ_i=4 - 立方格子 DOS_Cubic_GRID360(由
DOS_Cubic.py在 GRID=360 的设置下生成);对应参数为 EPSSQ_i=6 - 六角格子 DOS_Hexagonal_GRID4000(由
DOS_Hexagonal.py在 GRID=4000 的设置下生成);对应参数为 EPSSQ_i=3 - 贝特格子 DOS_Bethe(由
DOS_Bethe.py生成);对应参数为 EPSSQ_i=1;用于测试
注 4:对于已知 DOS 的多带模拟 [],DOS 文件必须包含 列。所有能带的分箱数(即输入文件的行数)必须相同。第 行的结构如下所示
Option TWODBS
对于二维格子的情形,程序中实现了通过对 k 空间积分的 Hilbert 变换 [参数 L 设定了倒空间每个维度上的离散化程度]。目前已实现以下几种色散关系:
- 正方格子 [设置 TWODBS=square],具有最近邻 [对应参数:t] 和次近邻跳跃 [对应参数:tprime];二阶矩 EPSSQ_i 为 ;
- 六角格子 [设置 TWODBS=hexagonal],仅具有最近邻跳跃 [对应参数:t];二阶矩 EPSSQ_i 为 。
下面是一个用于生成输入文件并运行模拟的可用 python 脚本 tutorial8b.py:
import pyalps
import matplotlib.pyplot as plt
import pyalps.plot
#prepare the input parameters
parms=[]
for u in [3.]:
for b in [6.]:
parms.append(
{
'BETA' : b, # inverse temperature
'MU' : 0.0, # chemical potential corresponding to half-filling
'U' : u, # Hubbard interaction
'FLAVORS' : 2, # corresponds to spin up/down
'SITES' : 1, # number of sites in the impurity
'H' : 0.0, # there is no magnetic field
'H_INIT' : 0.05, # we set initial field to split spin up/down in order to trigger AF phase
'OMEGA_LOOP' : 1, # the selfconsistency runs in Matsubara frequencies
'ANTIFERROMAGNET' : 1, # allow Neel order
'SYMMETRIZATION' : 0, # do not enforce paramagnetic solution
'NMATSUBARA' : 500, # number of Matsubara frequencies
'N' : 500, # bins in imaginary time
'CONVERGED' : 0.005, # criterion for convergency
'MAX_TIME' : 60, # max. time spent in solver in a single iteration in seconds
'G0OMEGA_INPUT' : "", # forces to start from the local non-interacting Green's function
'MAX_IT' : 10, # max. number of self-consistency iterations
'SWEEPS' : 10000, # max. number of sweeps in a single iteration
'THERMALIZATION' : 500, # number of thermalization sweeps
'SEED' : 0, # random seed
'SOLVER' : "hybridization", # we take the hybridization impurity solver
'SC_WRITE_DELTA' : 1, # input for the hybridization impurity solver is the hybridization function Delta, which has to be written by the selfconsistency
'N_MEAS' : 5000, # number of Monte Carlo steps between measurements
'N_ORDER' : 50, # histogram size
'TWODBS' : 1, # the Hilbert transformation integral runs in k-space, sets square lattice
't' : 1, # the nearest-neighbor hopping
'tprime' : 0, # the second nearest-neighbor hopping
'L' : 64, # discretization in k-space in the Hilbert transformation
'GENERAL_FOURIER_TRANSFORMER' : 1, # Fourier transformer for a general bandstructure
'EPS_0' : 0, # potential shift for the flavor 0
'EPS_1' : 0, # potential shift for the flavor 1
'EPSSQ_0' : 4, # the second moment of the bandstructure for the flavor 0
'EPSSQ_1' : 4, # the second moment of the bandstructure for the flavor 1
}
)
#write the input file and run the simulation
for p in parms:
input_file = pyalps.writeParameterFile('hybrid_TWODBS_beta_'+str(p['BETA'])+'_U_'+str(p['U']),p)
res = pyalps.runDMFT(input_file)与格子相关的参数如下:
TWODBS = 1; // the Hilbert transformation integral runs in k-space; sets square lattice
t = 1; // the nearest-neighbor hopping
tprime = 0; // the second nearest-neighbor hopping
L = 64; // discretization in k-space in the Hilbert transformation
GENERAL_FOURIER_TRANSFORMER = 1; // Fourier transformer for a general bandstructure
EPS_0 = 0; // potential shift for the flavor 0
EPS_1 = 0; // potential shift for the flavor 1
EPSSQ_0 = 4; // the second moment of the bandstructure for the flavor 0
EPSSQ_1 = 4; // the second moment of the bandstructure for the flavor 1Final remarks
问题:哪些格子信息会进入 DMFT 计算?与经典平均场进行比较。
任务:尝试针对(贝特格子以外的)另一种格子重复 DMFT-04 Mott 中的计算,并考察 MIT。是否出现了明显的变化?
回顾 Ising 模型在不同维度下的平均场预测。