ALPS 2.1 Tutorials:DMFT-04 Mott/ja

From ALPS
Jump to: navigation, search

Tutorial 04: Mott転移

Mott転移は金属絶縁体転移(MIT)です。たとえば、圧力やドーピングの関数として遷移金属化合物など、多くの物質でみられます。 review by Imada et al.で典型的な例として V_2O_3や有機物について述べています。

MITはDMFTによって簡単に求めることができます。half filling近傍のMITは\omega=0のself energyによってモデル化することができます。磁性絶縁体相を表現するために、反強磁性における長距離秩序を抑え、DMFTシミュレーションにおいて常磁性問題を実行することは有益なことです。グリーン関数の上下スピンは対称化されます。(SYMMETRIZATION = 1;

Pythonでの実行スクリプトはtutorial4a.py、vistrailsはVistrails fileです。

import pyalps
import numpy as np
import matplotlib.pyplot as plt
import pyalps.pyplot

#prepare the input parameters
parms=[]
for u in [4.,5.,6.,8.]: 
    parms.append(
            { 
              'ANTIFERROMAGNET'         : 1,
              'CHECKPOINT'              : 'dump',
              'CONVERGED'               : 0.01,
              'F'                       : 10,
              'FLAVORS'                 : 2,
              'H'                       : 0,
              'H_INIT'                  : 0.,
              'MAX_IT'                  : 20,
              'MAX_TIME'                : 60,
              'MU'                      : 0,
              'N'                       : 1000,
              'NMATSUBARA'              : 1000, 
              'N_FLIP'                  : 0,
              'N_MEAS'                  : 10000,
              'N_MOVE'                  : 0,
              'N_ORDER'                 : 50,
              'N_SHIFT'                 : 0,
              'OMEGA_LOOP'              : 1,
              'OVERLAP'                 : 0,
              'SEED'                    : 0, 
              'SOLVER'                  : 'Hybridization',
              'SYMMETRIZATION'          : 0,
              'TOLERANCE'               : 0.03,
              't'                       : 1,
              'SWEEPS'                  : 100000000,
              'BETA'                    : 20,
              'THERMALIZATION'          : 10,
              'U'                       : u,
              'NMATSUBARA_MEASUREMENTS' : 18,
              'G0OMEGA_INPUT'           : 'G0_omega_input_u_'+str(u),
            }
        )

#write the input file and run the simulation
for p in parms:
    input_file = pyalps.writeParameterFile('parm_u_'+str(p['U']),p)
    res = pyalps.runDMFT(input_file)

単一サイトのDMFTにてMott転移を計算します。固定温度\beta t=20での相互作用の関数として扱います(例:Fig.2 in this paper)。 非相互作用解から始め、金属性ではU/t \leq 4.5、絶縁性ではU/t\geq 5として虚時間グリーン関数を求めます。

虚時間グリーン関数は簡単には解けません。多くの数値解析接続法が紹介されてきました。2つの明らかなことがあります。\betaの値は-n(スピンあたりの密度の負数)に相当します。\beta/2の値は温度減少に対応するA(\omega=0)。fermiエネルギーのスペクトル関数は\beta G(\beta/2) \rightarrow A(0)です。虚字間グリーン関数の温度依存性から金属、絶縁体では、すぐに理解できます。グリーン関数の特性をみるために、対数スケールでプロットをおこないます。

flavors=parms[0]['FLAVORS']
listobs=[]   
for f in range(0,flavors):
    listobs.append('Green_'+str(f))

ll=pyalps.load.Hdf5Loader()
data = ll.ReadMeasurementFromFile(pyalps.getResultFiles(pattern='parm_u_*h5'), respath='/simulation/results/G_tau', measurements=listobs, verbose=True)
for d in pyalps.flatten(data):
    d.x = d.x*d.props["BETA"]/float(d.props["N"])
    d.y = -d.y
    d.props['label'] = r'$U=$'+str(d.props['U'])
plt.figure()
plt.yscale('log')
plt.xlabel(r'$\tau$')
plt.ylabel(r'$G(\tau)$')
plt.title('Hubbard model on the Bethe lattice')
pyalps.pyplot.plot(data)
plt.legend()
plt.show()

固定温度\betaでの金属(小さなU)から絶縁体(大きなU)での解法は、tutorials/dmft-04-mottディレクトリのbeta20_U*パラメータファイdルを参照してください。最大のU値は絶縁相での深順位を表します。

Tutorial by Emanuel - Please don't hesitate to ask!