Difference between revisions of "ALPS 2 Tutorials:DMFT-05 OSMT/ja"

From ALPS
Jump to: navigation, search
m (Text replace - "/tutorials2.0.0/" to "/tutorials2.1.0/")
m (Text replace - "http://alps.comp-phys.org/static/tutorials2.1.0" to "http://alps.comp-phys.org/static/tutorials2.2.0")
 
Line 6: Line 6:
 
軌道選択性Mott転移において、一部の軌道がドーピングや相互作用の関数としてMott絶縁体になります。最初のモデルとして、2つのバンドを考えます。広帯域と狭帯域バンドです。軌道内クーロン反撥<math>U</math>とすると、相互作用<math>U'</math>、<math>J</math>、<math>U' = U-2J</math>となります。2つのケースについて考えます。バンド幅は<math>t1=0.5</math>、<math>t2=1</math>、密度-密度相互作用は<math>U'=U/2</math>, <math>J=U/4</math>、その時の <math>U</math>の範囲は <math>1.6</math>-<math>2.8</math>とします。最初のケースはFermi溶媒的振る舞いを示します。<math>U=2.2</math>のケースでは軌道選択性、<math>U=2.8</math>では絶縁体となります。
 
軌道選択性Mott転移において、一部の軌道がドーピングや相互作用の関数としてMott絶縁体になります。最初のモデルとして、2つのバンドを考えます。広帯域と狭帯域バンドです。軌道内クーロン反撥<math>U</math>とすると、相互作用<math>U'</math>、<math>J</math>、<math>U' = U-2J</math>となります。2つのケースについて考えます。バンド幅は<math>t1=0.5</math>、<math>t2=1</math>、密度-密度相互作用は<math>U'=U/2</math>, <math>J=U/4</math>、その時の <math>U</math>の範囲は <math>1.6</math>-<math>2.8</math>とします。最初のケースはFermi溶媒的振る舞いを示します。<math>U=2.2</math>のケースでは軌道選択性、<math>U=2.8</math>では絶縁体となります。
  
Pythonでの実行は[http://alps.comp-phys.org/static/tutorials2.1.0/dmft-05-osmt/tutorial5a.py tutorial5a.py]、Vistrailsでは[http://alps.comp-phys.org/static/tutorials2.1.0/dmft-05-osmt/dmft-05-osmt.vt Vistrails file]を参照してください。
+
Pythonでの実行は[http://alps.comp-phys.org/static/tutorials2.2.0/dmft-05-osmt/tutorial5a.py tutorial5a.py]、Vistrailsでは[http://alps.comp-phys.org/static/tutorials2.2.0/dmft-05-osmt/dmft-05-osmt.vt Vistrails file]を参照してください。
  
 
  import pyalps
 
  import pyalps

Latest revision as of 23:00, 28 September 2013

Tutorial 05: 軌道選択性Mott転移

多軌道モデルの興味深い現象に軌道選択性Mott転移があります。by Anisimov et alによって最初に報告されました。また、運動量選択Mott転移について近年、擬似ギャップのクラスタ表現としてcluster calculationsにて議論されています。

軌道選択性Mott転移において、一部の軌道がドーピングや相互作用の関数としてMott絶縁体になります。最初のモデルとして、2つのバンドを考えます。広帯域と狭帯域バンドです。軌道内クーロン反撥Uとすると、相互作用U'JU' = U-2Jとなります。2つのケースについて考えます。バンド幅はt1=0.5t2=1、密度-密度相互作用はU'=U/2, J=U/4、その時の Uの範囲は 1.6-2.8とします。最初のケースはFermi溶媒的振る舞いを示します。U=2.2のケースでは軌道選択性、U=2.8では絶縁体となります。

Pythonでの実行はtutorial5a.py、VistrailsではVistrails fileを参照してください。

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

#prepare the input parameters
parms=[]
coulombparam=[[1.8,0.45],[2.2,0.55],[2.8,0.7]]
for cp in coulombparam: 
    parms.append(
            { 
              'CHECKPOINT'          : 'dump',
              'CONVERGED'           : 0.01,
              'F'                   : 10,
              'FLAVORS'             : 4,
              'H'                   : 0,
              'H_INIT'              : 0.,
              'MAX_IT'              : 20,
              'MAX_TIME'            : 180,
              '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'      : 1,
              'TOLERANCE'           : 0.3,
              't'                   : 1,
              'SWEEPS'              : 100000000,
              'BETA'                : 30,
              'THERMALIZATION'      : 10,
              'U'                   : cp[0],
              'J'                   : cp[1],
              't0'                  : 0.5,
              't1'                  : 1,
              'G0TAU_INPUT'         :'G0_tau_input_u_'+str(cp[0])+'_j_'+str(cp[1])
            }
        )

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

コマンドラインでの実行用のパラメータファイルはtutorials/dmft-05-osmtディレクトリのbeta30_U1.8_2orbital, beta30_U2.2_2orbital and beta30_U2.8_2orbitalにあります。同じサンプルパラメータを用いた論文はこちらです。

前回のチュートリアルで議論したように、グリーン関数の(非)金属性は対数スケールでプロットするとわかりやすいです。

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()

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