MateriApps
A Portal Site of Materials Science Simulation

now 328 Apps

Inquiry / Application Request
    • JP
    • EN
  • What's MateriApps?
  • Call for reviews
Detailed search
  • News / Hands-on / Event
  • List of Apps
  • Search Apps
  • Keywords
  • Review
  • Research Showcase
  • Concierge
  • Try the app without installing
    「MateriApps LIVE!」

    MORE
  • What's MateriApps?
  • Call for reviews
  • Privacy Policy
  • Inquiry / Application Request
  • List of Apps
  • HΦ

HΦ

  • Openness:3 ★★★
  • Document quality:2 ★★☆

An exact diagonalization package for a wide range of quantum lattice models (e.g. multi-orbital Hubbard model, Heisenberg model, Kondo lattice model). HΦ also supports the massively parallel computations. The Lanczos algorithm for obtaining the ground state and thermal pure quantum state method for finite-temperature calculations are implemented. In addition, dynamical Green’s functions can be calculated using Kω, which is a library of the shifted Krylov subspace method. It is possible to perform simulations for real-time evolution from ver. 3.0.

Optical conductivity by HΦ
Last Update:2021/12/09
You already voted!

MateriApps developers (2020-03-13)

Introduction

HΦ (HPhi) is a quantum lattice model solver based on the so-called exact diagonalization method, and can calculate ground-state wave functions and excitation spectra.
In addition, some models and excitation operators are prepared so that they can be calculated by simply preparing a simple text file (standard mode).
For an example of the standard mode calculation of the dynamic structure factor of a quantum spin system, see another review.
Here, as a more advanced example, the optical conductivity \(\sigma_\text{reg}(\omega)\) of a one-dimensional Fermion-Hubbard system \( \mathcal{H} = -t \sum_{i=1}^L \left[ c^\dagger_{i+1}c_i + \text{h.c.} \right] + U\sum_i n_i \) is calculated from the current-current correlation.
Although the one-dimensional chain and the Fermion Hubbard model are prepared in the standard mode, the excitation operator representing the current is not prepared in the standard mode, so the matrix elements need to be given by hand (expert mode).
The regular part of the optical conductivity can be calculated as \(\left( L\omega\right)^{-1}\left\langle \psi_0 | j^\dagger \left( \mathcal{H} – (\omega – E_0 – i \eta) \right)^{-1} j | \psi_0 \right\rangle \).
Where j is the current operator \(j = -i \sum_{r, s=\pm} \left( c^\dagger_{r+1, s}c_{r, s} – c^\dagger_{r, s}c_{r+1, s} \right) \) 。

Calculate the ground state

Prepare the following file gs.in,

method = "CG"
lattice = "chain lattice"
model = "Fermion Hubbard"
L = 8
t = 1.0
U = 4.0
nelec = 8
outputmode = "none"
eigenvecio = "out"

and perform ground state calculations in HPhi standard mode.

$ HPhi -s gs.in

By setting eigenvecio = "out", the ground state wave function is written under the output directory.

Calculate the optical conductance

Prepare the following file opt.in,

method = "CG"
lattice = "chain lattice"
model = "Fermion Hubbard"
L = 8
t = 1.0
U = 4.0
nelec = 8
outputmode = "none"
Lanczos_Max = 1000
LanczosEps = 10
calcspec = "normal"
OmegaOrg = -4.6035262999891735
Omegamin = 0.0
Omegamax = 5.0
Omegaim = 0.1

Put the ground state energy in Omegaorg (stored in output/zvo_energy.dat). By adjusting Lanczos_Max and LanczosEps, the convergence criteria is relaxed and the calculation is accelerated. Convert this file to an expert mode input file as following,

$ HPhi -sdry opt.in

pair.def, one of the converted files, is the file that defines the excitation operator. Rewrite this file to define the current operator j.

Excitation

The Excitation operator is divided into the sum of the terms consisting of the product of the creation and annihilation operators and one term is defined per line of the excitation operator definition file.
For example, \(-i c^\dagger_{2,\uparrow} c_{1,\uparrow}\) is represented as

2 0 1 0 1  0.0 -1.0

If you want to change the length L, it is better to create an appropriate script in your favorite language for generating definition files.

L = 8

N = 4*L

print("===")
print("NPair {}".format(N))
print("===")
print("===")
print("===")

for i in range(L):
    j = (i+1)%L
    for s in (0,1):
        print("{} {} {} {} 1  0.0 -1.0".format(j, s, i, s))
        print("{} {} {} {} 1  0.0  1.0".format(i, s, j, s))

Optical conductance

After rewriting the excitation operator file, calculate the dynamic Green’s function using HPhi’s expert mode.

$ HPhi -e namelist.def

After the calculation is completed, the dynamic Green function is saved in output/zvo_DynamicalGreen.dat.
Optical conductance is visualized by using Gnuplot as following

gnuplot> pl 'output/zvo_DynamicalGreen.dat' u 1:(-$4/$1/8)

optical conductance

04 / 06

  • 01Information
  • 02Case / Article
  • 03Hands-on
  • 04Review
  • 05Developer's Voice
  • 06Inquiries about
    this App
TOP

MateriApps
A Portal Site of Materials Science Simulation

  • News / Hands-on / Event
  • List of Apps
  • Search Apps
  • Keywords
  • Research Showcase
  • Concierge
  • Privacy Policy
Inquiry / Application Request
  • The Institute for Solid State Physics
  • The University of Tokyo
  • CDMSI
  • CCMS

© MateriApps, 2013-2025. All rights reserved.