8.2. チュートリアル

このチュートリアルでは Sr2VO4 を2次元3軌道Hubbardモデルにダウンフォールドして, それをHPhi++/mVMCで計算する. DFT計算はQuantumESPRESSOで行う.

8.2.1. 電荷密度のSCF計算

まず, DFTによる電荷密度のSCF計算を行う.

scf.in

&CONTROL
 calculation = 'scf'
  pseudo_dir = '../pseudo/'
      prefix = 'sr2vo4'
/
&SYSTEM
       ibrav = 0
         nat = 7
        ntyp = 3
     ecutwfc = 45.000000
     ecutrho = 360.000000
 occupations = 'tetrahedra_opt'
/
&ELECTRONS
mixing_beta = 0.3
/
CELL_PARAMETERS angstrom
 -1.917800 1.917800 6.280100
 1.917800 -1.917800 6.280100
 1.917800 1.917800 -6.280100
ATOMIC_SPECIES
 O 15.999400 O_pbe_v1.2.uspp.F.UPF
 Sr 87.620000 Sr.pbe-spn-rrkjus_psl.1.0.0.UPF
 V 50.941500 V_pbe_v1.uspp.F.UPF
ATOMIC_POSITIONS crystal
 Sr 0.644600 0.644600 1.000000
 Sr 0.355400 0.355400 0.000000
 V 0.000000 0.000000 0.000000
 O 0.500000 0.000000 0.500000
 O 0.000000 0.500000 0.500000
 O 0.842000 0.842000 1.000000
 O 0.158000 0.158000 0.000000
K_POINTS automatic
 4 4 4 0 0 0

擬ポテンシャル (UPF ファイル) は The SG15 Optimized Norm-Conserving Vanderbilt (ONCV) pseudopotentials のものを使う.

http://www.quantum-simulation.org/potentials/sg15_oncv/sg15_oncv_upf_2015-10-07.tar.gz

QuantumESPRESSO内のプログラム pw.x を使う.

$ pw.x -in scf.in

8.2.2. (Optional) バンド計算と描画

band.in

&CONTROL
 calculation = 'bands'
  pseudo_dir = '../pseudo/'
      prefix = 'sr2vo4'
/
&SYSTEM
       ibrav = 0
         nat = 7
        ntyp = 3
     ecutwfc = 45.000000
     ecutrho = 360.000000
        nbnd = 57
/
&ELECTRONS
/
CELL_PARAMETERS angstrom
 -1.917800 1.917800 6.280100
 1.917800 -1.917800 6.280100
 1.917800 1.917800 -6.280100
ATOMIC_SPECIES
 O 15.999400 O_pbe_v1.2.uspp.F.UPF
 Sr 87.620000 Sr.pbe-spn-rrkjus_psl.1.0.0.UPF
 V 50.941500 V_pbe_v1.uspp.F.UPF
ATOMIC_POSITIONS crystal
 Sr 0.644600 0.644600 1.000000
 Sr 0.355400 0.355400 0.000000
 V 0.000000 0.000000 0.000000
 O 0.500000 0.000000 0.500000
 O 0.000000 0.500000 0.500000
 O 0.842000 0.842000 1.000000
 O 0.158000 0.158000 0.000000
K_POINTS crystal
          49
        0.5000000000    0.5000000000   -0.5000000000    1.0
        0.4433287500    0.5566712500   -0.5000000000    1.0
        0.3866575000    0.6133425000   -0.5000000000    1.0
        0.3299862500    0.6700137500   -0.5000000000    1.0
        0.2733150000    0.7266850000   -0.5000000000    1.0
        0.2166437500    0.7833562500   -0.5000000000    1.0
        0.1599725000    0.8400275000   -0.5000000000    1.0
        0.1033012500    0.8966987500   -0.5000000000    1.0
        0.0466300000    0.9533700000   -0.5000000000    1.0
        0.0919660000    0.9080340000   -0.4546620000    1.0
        0.1373020000    0.8626980000   -0.4093240000    1.0
        0.1826380000    0.8173620000   -0.3639860000    1.0
        0.2279740000    0.7720260000   -0.3186480000    1.0
        0.2733100000    0.7266900000   -0.2733100000    1.0
        0.3186480000    0.6813520000   -0.3186480000    1.0
        0.3639860000    0.6360140000   -0.3639860000    1.0
        0.4093240000    0.5906760000   -0.4093240000    1.0
        0.4546620000    0.5453380000   -0.4546620000    1.0
        0.5000000000    0.5000000000   -0.5000000000    1.0
        0.3750000000    0.3750000000   -0.3750000000    1.0
        0.2500000000    0.2500000000   -0.2500000000    1.0
        0.1250000000    0.1250000000   -0.1250000000    1.0
        0.0000000000    0.0000000000    0.0000000000    1.0
       -0.0625000000    0.0625000000    0.0000000000    1.0
       -0.1250000000    0.1250000000    0.0000000000    1.0
       -0.1875000000    0.1875000000    0.0000000000    1.0
       -0.2500000000    0.2500000000    0.0000000000    1.0
       -0.3125000000    0.3125000000    0.0000000000    1.0
       -0.3750000000    0.3750000000    0.0000000000    1.0
       -0.4375000000    0.4375000000    0.0000000000    1.0
       -0.5000000000    0.5000000000    0.0000000000    1.0
       -0.5000000000    0.5000000000    0.0466300000    1.0
       -0.4546620000    0.4546620000    0.0919660000    1.0
       -0.4093240000    0.4093240000    0.1373020000    1.0
       -0.3639860000    0.3639860000    0.1826380000    1.0
       -0.3186480000    0.3186480000    0.2279740000    1.0
       -0.2733100000    0.2733100000    0.2733100000    1.0
       -0.2277583333    0.2277583333    0.2277583333    1.0
       -0.1822066667    0.1822066667    0.1822066667    1.0
       -0.1366550000    0.1366550000    0.1366550000    1.0
       -0.0911033333    0.0911033333    0.0911033333    1.0
       -0.0455516667    0.0455516667    0.0455516667    1.0
        0.0000000000    0.0000000000    0.0000000000    1.0
        0.0000000000    0.0833333333    0.0000000000    1.0
        0.0000000000    0.1666666667    0.0000000000    1.0
        0.0000000000    0.2500000000    0.0000000000    1.0
        0.0000000000    0.3333333333    0.0000000000    1.0
        0.0000000000    0.4166666667    0.0000000000    1.0
        0.0000000000    0.5000000000   -0.0000000000    1.0

ここでも pw.x を使う.

$ pw.x -in band.in

bands.in

&BANDS
      prefix = 'sr2vo4'
       lsym = .false.
/

QuantumESPRESSOの bands.x を使う.

$ bands.x -in bands.in

出力された bands.out.gnu をGnuPlotなどで読み込んでバンドを描く.

8.2.3. Kohn-Sham軌道の計算

nscf.in

&CONTROL
 calculation = 'nscf'
  pseudo_dir = '../pseudo/'
  wf_collect = .true.
      prefix = 'sr2vo4'
/
&SYSTEM
       ibrav = 0
         nat = 7
        ntyp = 3
     ecutwfc = 45.000000
     ecutrho = 360.000000
 occupations = 'tetrahedra_opt'
        nbnd = 57
/
&ELECTRONS
/
CELL_PARAMETERS angstrom
 -1.917800 1.917800 6.280100
 1.917800 -1.917800 6.280100
 1.917800 1.917800 -6.280100
ATOMIC_SPECIES
 O 15.999400 O_pbe_v1.2.uspp.F.UPF
 Sr 87.620000 Sr.pbe-spn-rrkjus_psl.1.0.0.UPF
 V 50.941500 V_pbe_v1.uspp.F.UPF
ATOMIC_POSITIONS crystal
 Sr 0.644600 0.644600 1.000000
 Sr 0.355400 0.355400 0.000000
 V 0.000000 0.000000 0.000000
 O 0.500000 0.000000 0.500000
 O 0.000000 0.500000 0.500000
 O 0.842000 0.842000 1.000000
 O 0.158000 0.158000 0.000000
K_POINTS automatic
 4 4 4 0 0 0

ここでも pw.x を使う.

$ pw.x -in nscf.in

次にRESPACKに付属のユーティリティー qe2respack.sh を使う. 引数は [prefix].save ディレクトリ名.

$ qe2respack.sh sr2cuo3.save

8.2.4. Wannier関数, 誘電関数, 有効相互作用の計算

respack.in

&PARAM_CHIQW
Num_freq_grid = 1
!Ecut_for_eps = 
flg_cRPA = 1
MPI_num_proc_per_qcomm = 1
MPI_num_qcomm = 4
!flg_calc_type = 2
!n_calc_q = 8
/
&PARAM_WANNIER
N_wannier = 3
Lower_energy_window = 9.865
Upper_energy_window = 13.35
N_initial_guess = 3
/
dxy 0.2 0.0 0.0 0.0
dyz 0.2 0.0 0.0 0.0
dzx 0.2 0.0 0.0 0.0
&PARAM_INTERPOLATION
N_sym_points = 10
dense = 12, 12, 12
/
0.50000 0.50000 -0.50000
0.04663 0.95337 -0.50000
0.27331 0.72669 -0.27331
0.50000 0.50000 -0.50000
0.00000 0.00000 0.00000
-0.50000 0.50000 0.00000
-0.50000 0.50000 0.04663
-0.27331 0.27331 0.27331
0.00000 0.00000 0.00000
0.00000 0.50000 0.00000
&PARAM_VISUALIZATION
flg_vis_wannier = 1,
ix_vis_min = -1,
ix_vis_max = 2,
iy_vis_min = -1,
iy_vis_max = 2,
iz_vis_min = -1,
iz_vis_max = 2
/
&PARAM_CALC_INT
calc_ifreq = 1
ix_intJ_min = 0
ix_intJ_max = 0
iy_intJ_min = 0
iy_intJ_max = 0
iz_intJ_min = 0
iz_intJ_max = 0
/

RESPACKのプログラム calc_wannier, calc_chiqw, calc_j3d, calc_w3d を使う.

$ calc_wannier < respack.in
$ calc_chiqw < respack.in
$ calc_w3d < respack.in
$ calc_j3d < respack.in

8.2.5. HPhi++/mVMCによるモデル計算

まず, RESPACKによって出力されたホッピング等のファイルを Wannier90の形式に変換する. これにはHPhi++/mVMCに付属のユーティリティー respack2wan90.pyを使う. 引数はHPhi++/mVMCのスタンダードモードのパラメーター CDataFileHead と同じにする. 引数を指定しない場合は zvo (HPhi++/mVMCの CDataFileHead のデフォルト) が指定されたものとする.

$ respack2wan90.py zvo

これで, HPhi++/mVMCで実行する準備が出来たので, スタンダードモードを用いて計算する.

respack.in

model = "Hubbard"
lattice = "wannier90"
a0w = 2
a0l = 0
a0h = 2
a1w = 0
a1l = 2
a1h = 2
a2w = 1
a2l = 0
a2h = 0
method = "CG"
2Sz = 0
nelec = 4
exct = 1
cutoff_t = 0.2
cutoff_u = 0.4
cutoff_j = 0.1
$ vmc.out -s stan.in