diff --git a/v4.0.0/.buildinfo b/v4.0.0/.buildinfo new file mode 100644 index 00000000..f99ef435 --- /dev/null +++ b/v4.0.0/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: c2acb02f0899c5d6ed6eb4556cc31332 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v4.0.0/.doctrees/about.doctree b/v4.0.0/.doctrees/about.doctree new file mode 100644 index 00000000..7447d674 Binary files /dev/null and b/v4.0.0/.doctrees/about.doctree differ diff --git a/v4.0.0/.doctrees/analytic_continuation.doctree b/v4.0.0/.doctrees/analytic_continuation.doctree new file mode 100644 index 00000000..b91750be Binary files /dev/null and b/v4.0.0/.doctrees/analytic_continuation.doctree differ diff --git a/v4.0.0/.doctrees/analytic_continuation/external_code.doctree b/v4.0.0/.doctrees/analytic_continuation/external_code.doctree new file mode 100644 index 00000000..f610c590 Binary files /dev/null and b/v4.0.0/.doctrees/analytic_continuation/external_code.doctree differ diff --git a/v4.0.0/.doctrees/analytic_continuation/pade.doctree b/v4.0.0/.doctrees/analytic_continuation/pade.doctree new file mode 100644 index 00000000..54f207df Binary files /dev/null and b/v4.0.0/.doctrees/analytic_continuation/pade.doctree differ diff --git a/v4.0.0/.doctrees/analytic_continuation/spm.doctree b/v4.0.0/.doctrees/analytic_continuation/spm.doctree new file mode 100644 index 00000000..46ec4dbb Binary files /dev/null and b/v4.0.0/.doctrees/analytic_continuation/spm.doctree differ diff --git a/v4.0.0/.doctrees/basicnotions/structure.doctree b/v4.0.0/.doctrees/basicnotions/structure.doctree new file mode 100644 index 00000000..e8af29b8 Binary files /dev/null and b/v4.0.0/.doctrees/basicnotions/structure.doctree differ diff --git a/v4.0.0/.doctrees/environment.pickle b/v4.0.0/.doctrees/environment.pickle new file mode 100644 index 00000000..406c01a2 Binary files /dev/null and b/v4.0.0/.doctrees/environment.pickle differ diff --git a/v4.0.0/.doctrees/impuritysolvers.doctree b/v4.0.0/.doctrees/impuritysolvers.doctree new file mode 100644 index 00000000..878445b6 Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/alpscore_cthyb/cthyb.doctree b/v4.0.0/.doctrees/impuritysolvers/alpscore_cthyb/cthyb.doctree new file mode 100644 index 00000000..061e44a7 Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/alpscore_cthyb/cthyb.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/alpscore_ctseg/ctseg.doctree b/v4.0.0/.doctrees/impuritysolvers/alpscore_ctseg/ctseg.doctree new file mode 100644 index 00000000..0276d8a9 Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/alpscore_ctseg/ctseg.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/how_to_integrate.doctree b/v4.0.0/.doctrees/impuritysolvers/how_to_integrate.doctree new file mode 100644 index 00000000..52e45f91 Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/how_to_integrate.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/null.doctree b/v4.0.0/.doctrees/impuritysolvers/null.doctree new file mode 100644 index 00000000..b4f669da Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/null.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/pomerol/pomerol.doctree b/v4.0.0/.doctrees/impuritysolvers/pomerol/pomerol.doctree new file mode 100644 index 00000000..b4cf99ea Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/pomerol/pomerol.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/triqs_cthyb/cthyb.doctree b/v4.0.0/.doctrees/impuritysolvers/triqs_cthyb/cthyb.doctree new file mode 100644 index 00000000..a7cf1db7 Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/triqs_cthyb/cthyb.doctree differ diff --git a/v4.0.0/.doctrees/impuritysolvers/triqs_hubbard_one/hubbard_one.doctree b/v4.0.0/.doctrees/impuritysolvers/triqs_hubbard_one/hubbard_one.doctree new file mode 100644 index 00000000..02c13341 Binary files /dev/null and b/v4.0.0/.doctrees/impuritysolvers/triqs_hubbard_one/hubbard_one.doctree differ diff --git a/v4.0.0/.doctrees/index.doctree b/v4.0.0/.doctrees/index.doctree new file mode 100644 index 00000000..2d26c70a Binary files /dev/null and b/v4.0.0/.doctrees/index.doctree differ diff --git a/v4.0.0/.doctrees/install.doctree b/v4.0.0/.doctrees/install.doctree new file mode 100644 index 00000000..949f7e23 Binary files /dev/null and b/v4.0.0/.doctrees/install.doctree differ diff --git a/v4.0.0/.doctrees/presentation.doctree b/v4.0.0/.doctrees/presentation.doctree new file mode 100644 index 00000000..a20a8e6a Binary files /dev/null and b/v4.0.0/.doctrees/presentation.doctree differ diff --git a/v4.0.0/.doctrees/reference.doctree b/v4.0.0/.doctrees/reference.doctree new file mode 100644 index 00000000..a41f3559 Binary files /dev/null and b/v4.0.0/.doctrees/reference.doctree differ diff --git a/v4.0.0/.doctrees/reference/gf_format.doctree b/v4.0.0/.doctrees/reference/gf_format.doctree new file mode 100644 index 00000000..5480d31f Binary files /dev/null and b/v4.0.0/.doctrees/reference/gf_format.doctree differ diff --git a/v4.0.0/.doctrees/reference/input.doctree b/v4.0.0/.doctrees/reference/input.doctree new file mode 100644 index 00000000..c97d6abe Binary files /dev/null and b/v4.0.0/.doctrees/reference/input.doctree differ diff --git a/v4.0.0/.doctrees/reference/interaction.doctree b/v4.0.0/.doctrees/reference/interaction.doctree new file mode 100644 index 00000000..40f1c21a Binary files /dev/null and b/v4.0.0/.doctrees/reference/interaction.doctree differ diff --git a/v4.0.0/.doctrees/reference/lattice.doctree b/v4.0.0/.doctrees/reference/lattice.doctree new file mode 100644 index 00000000..fcd52197 Binary files /dev/null and b/v4.0.0/.doctrees/reference/lattice.doctree differ diff --git a/v4.0.0/.doctrees/reference/local_potential.doctree b/v4.0.0/.doctrees/reference/local_potential.doctree new file mode 100644 index 00000000..95a2fd2b Binary files /dev/null and b/v4.0.0/.doctrees/reference/local_potential.doctree differ diff --git a/v4.0.0/.doctrees/reference/output.doctree b/v4.0.0/.doctrees/reference/output.doctree new file mode 100644 index 00000000..13e42e32 Binary files /dev/null and b/v4.0.0/.doctrees/reference/output.doctree differ diff --git a/v4.0.0/.doctrees/reference/programs.doctree b/v4.0.0/.doctrees/reference/programs.doctree new file mode 100644 index 00000000..c9a51691 Binary files /dev/null and b/v4.0.0/.doctrees/reference/programs.doctree differ diff --git a/v4.0.0/.doctrees/reference/slater_basis.doctree b/v4.0.0/.doctrees/reference/slater_basis.doctree new file mode 100644 index 00000000..faba9440 Binary files /dev/null and b/v4.0.0/.doctrees/reference/slater_basis.doctree differ diff --git a/v4.0.0/.doctrees/support.doctree b/v4.0.0/.doctrees/support.doctree new file mode 100644 index 00000000..96cfad18 Binary files /dev/null and b/v4.0.0/.doctrees/support.doctree differ diff --git a/v4.0.0/.doctrees/support/faqs.doctree b/v4.0.0/.doctrees/support/faqs.doctree new file mode 100644 index 00000000..2087fe24 Binary files /dev/null and b/v4.0.0/.doctrees/support/faqs.doctree differ diff --git a/v4.0.0/.doctrees/support/issues.doctree b/v4.0.0/.doctrees/support/issues.doctree new file mode 100644 index 00000000..e4de2eb9 Binary files /dev/null and b/v4.0.0/.doctrees/support/issues.doctree differ diff --git a/v4.0.0/.doctrees/todolist.doctree b/v4.0.0/.doctrees/todolist.doctree new file mode 100644 index 00000000..a2c88014 Binary files /dev/null and b/v4.0.0/.doctrees/todolist.doctree differ diff --git a/v4.0.0/.doctrees/tools.doctree b/v4.0.0/.doctrees/tools.doctree new file mode 100644 index 00000000..1a2b3798 Binary files /dev/null and b/v4.0.0/.doctrees/tools.doctree differ diff --git a/v4.0.0/.doctrees/tools/akw_converter/akw.doctree b/v4.0.0/.doctrees/tools/akw_converter/akw.doctree new file mode 100644 index 00000000..65210eda Binary files /dev/null and b/v4.0.0/.doctrees/tools/akw_converter/akw.doctree differ diff --git a/v4.0.0/.doctrees/tutorial.doctree b/v4.0.0/.doctrees/tutorial.doctree new file mode 100644 index 00000000..dca9114b Binary files /dev/null and b/v4.0.0/.doctrees/tutorial.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/afm.bak/afm.doctree b/v4.0.0/.doctrees/tutorial/afm.bak/afm.doctree new file mode 100644 index 00000000..d794a352 Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/afm.bak/afm.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/afm/afm.doctree b/v4.0.0/.doctrees/tutorial/afm/afm.doctree new file mode 100644 index 00000000..18e08984 Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/afm/afm.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/bethe-t2g/bethe.doctree b/v4.0.0/.doctrees/tutorial/bethe-t2g/bethe.doctree new file mode 100644 index 00000000..285ba3fc Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/bethe-t2g/bethe.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/spin_orbit/spin_orbit.doctree b/v4.0.0/.doctrees/tutorial/spin_orbit/spin_orbit.doctree new file mode 100644 index 00000000..3a95f06f Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/spin_orbit/spin_orbit.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/square.bak/square.doctree b/v4.0.0/.doctrees/tutorial/square.bak/square.doctree new file mode 100644 index 00000000..11586846 Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/square.bak/square.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/square/square.doctree b/v4.0.0/.doctrees/tutorial/square/square.doctree new file mode 100644 index 00000000..e4f00e37 Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/square/square.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/srvo3/openmx/openmx.doctree b/v4.0.0/.doctrees/tutorial/srvo3/openmx/openmx.doctree new file mode 100644 index 00000000..855f88bb Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/srvo3/openmx/openmx.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/srvo3/qe/qe.doctree b/v4.0.0/.doctrees/tutorial/srvo3/qe/qe.doctree new file mode 100644 index 00000000..0f6e0a1f Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/srvo3/qe/qe.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/srvo3/srvo3.doctree b/v4.0.0/.doctrees/tutorial/srvo3/srvo3.doctree new file mode 100644 index 00000000..bb9f669e Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/srvo3/srvo3.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/srvo3_openmx/openmx.doctree b/v4.0.0/.doctrees/tutorial/srvo3_openmx/openmx.doctree new file mode 100644 index 00000000..abbeb8f1 Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/srvo3_openmx/openmx.doctree differ diff --git a/v4.0.0/.doctrees/tutorial/srvo3_respack/respack.doctree b/v4.0.0/.doctrees/tutorial/srvo3_respack/respack.doctree new file mode 100644 index 00000000..75a65c1f Binary files /dev/null and b/v4.0.0/.doctrees/tutorial/srvo3_respack/respack.doctree differ diff --git a/v4.0.0/.doctrees/warning_compatibility.doctree b/v4.0.0/.doctrees/warning_compatibility.doctree new file mode 100644 index 00000000..912dedf2 Binary files /dev/null and b/v4.0.0/.doctrees/warning_compatibility.doctree differ diff --git a/v4.0.0/_downloads/00c8a87a9b06604eae86356032d591d3/srvo3_openmx.ini b/v4.0.0/_downloads/00c8a87a9b06604eae86356032d591d3/srvo3_openmx.ini new file mode 100644 index 00000000..5f3b7238 --- /dev/null +++ b/v4.0.0/_downloads/00c8a87a9b06604eae86356032d591d3/srvo3_openmx.ini @@ -0,0 +1,46 @@ +[model] +lattice = wannier90 +seedname = srvo3 +nelec = 1.0 +ncor = 1 +norb = 3 +kanamori = [(3.419, 2.315, 0.530)] +bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)] + +[system] +nk0 = 16 +nk1 = 16 +nk2 = 16 +beta = 40.0 +mu = 0.0 +with_dc = True +perform_tail_fit = True +fit_max_moment = 8 +fit_min_w = 5.0 +fit_max_w = 19.0 + +[impurity_solver] +name = TRIQS/cthyb +n_cycles{int} = 10000 +n_warmup_cycles{int} = 10000 +length_cycle{int} = 500 +move_double{bool} = True + +[control] +max_step = 8 + +[post.spectrum] +broadening = 0.1 +nk_line = 50 +knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)] + +[post.anacont] +omega_max =2.0 +omega_min =-2.0 +Nomega = 400 + +[post.anacont.pade] +iomega_max = 5.0 + +[post.check] +omega_check = 30.0 diff --git a/v4.0.0/_downloads/0d8365707d661033e0421229beeb5ac6/dmft_bethe.ini b/v4.0.0/_downloads/0d8365707d661033e0421229beeb5ac6/dmft_bethe.ini new file mode 100644 index 00000000..d537cf45 --- /dev/null +++ b/v4.0.0/_downloads/0d8365707d661033e0421229beeb5ac6/dmft_bethe.ini @@ -0,0 +1,32 @@ +[model] +lattice = bethe +seedname = bethe +nelec = 1.6 +t = 1.0 +norb = 3 +interaction = kanamori +kanamori = [(8.0, 5.3333333, 1.33333)] +nk = 1000 + +[mpi] +command = '$MPIRUN -np #' + +[system] +beta = 50.0 + +[impurity_solver] +name = TRIQS/cthyb +n_cycles{int} = 500000 +n_warmup_cycles{int} = 50000 +length_cycle{int} = 50 +move_double{bool} = True + +[control] +max_step = 40 +sigma_mix = 1.0 +restart = False + +[tool] +omega_max = 15.0 +omega_min =-15.0 +Nomega = 100 diff --git a/v4.0.0/_downloads/10fc7c42a65156219ff44a58832511f2/srvo3_respack.ini b/v4.0.0/_downloads/10fc7c42a65156219ff44a58832511f2/srvo3_respack.ini new file mode 100644 index 00000000..639449ae --- /dev/null +++ b/v4.0.0/_downloads/10fc7c42a65156219ff44a58832511f2/srvo3_respack.ini @@ -0,0 +1,46 @@ +[model] +lattice = wannier90 +seedname = srvo3 +nelec = 1.0 +ncor = 1 +norb = 3 +interaction = respack +bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)] + +[system] +nk0 = 16 +nk1 = 16 +nk2 = 16 +beta = 40.0 +mu = 12.572260 +with_dc = True +perform_tail_fit = True +fit_max_moment = 8 +fit_min_w = 7.0 +fit_max_w = 18.0 + +[impurity_solver] +name = TRIQS/cthyb +n_cycles{int} = 10000 +n_warmup_cycles{int} = 10000 +length_cycle{int} = 500 +move_double{bool} = True + +[control] +max_step = 8 + +[post.spectrum] +broadening = 0.1 +nk_line = 50 +knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5),(X,0.5,0.0,0.0),] + +[post.anacont] +omega_max =2.0 +omega_min =-2.0 +Nomega = 400 + +[post.anacont.pade] +iomega_max = 6.0 + +[post.check] +omega_check = 30.0 diff --git a/v4.0.0/_downloads/123b09c7e170e0d3df9d62846503fdcb/scf_srvo3_r.in b/v4.0.0/_downloads/123b09c7e170e0d3df9d62846503fdcb/scf_srvo3_r.in new file mode 100644 index 00000000..1a5d8d17 --- /dev/null +++ b/v4.0.0/_downloads/123b09c7e170e0d3df9d62846503fdcb/scf_srvo3_r.in @@ -0,0 +1,32 @@ +&CONTROL + calculation = 'scf' + pseudo_dir = './' + prefix = 'srvo3' +/ +&SYSTEM + ibrav = 0 + nat = 5 + ntyp = 3 + ecutwfc = 120.000000 + ecutrho = 480.000000 + occupations = 'tetrahedra_opt' +/ +&ELECTRONS + mixing_beta = 0.3 +/ +CELL_PARAMETERS angstrom + 3.842500 0.000000 0.000000 + 0.000000 3.842500 0.000000 + 0.000000 0.000000 3.842500 +ATOMIC_SPECIES + Sr 87.620000 Sr_ONCV_PBE-1.0.upf + V 50.941500 V_ONCV_PBE-1.0.upf + O 15.999400 O_ONCV_PBE-1.0.upf +ATOMIC_POSITIONS crystal + Sr 0.000000 0.000000 0.000000 + V 0.500000 0.500000 0.500000 + O 0.500000 0.000000 0.500000 + O 0.000000 0.500000 0.500000 + O 0.500000 0.500000 0.000000 +K_POINTS automatic + 8 8 8 0 0 0 diff --git a/v4.0.0/_downloads/14d3cce84048e472e1adf185c76a2cb7/nscf_respack.in b/v4.0.0/_downloads/14d3cce84048e472e1adf185c76a2cb7/nscf_respack.in new file mode 100644 index 00000000..6ba15b02 --- /dev/null +++ b/v4.0.0/_downloads/14d3cce84048e472e1adf185c76a2cb7/nscf_respack.in @@ -0,0 +1,33 @@ +&CONTROL + calculation = 'nscf' + pseudo_dir = './' + wf_collect = .true. + prefix = 'srvo3' +/ +&SYSTEM + ibrav = 0 + nat = 5 + ntyp = 3 + ecutwfc = 120.000000 + ecutrho = 480.000000 + occupations = 'tetrahedra_opt' + nbnd = 100 +/ +&ELECTRONS +/ +CELL_PARAMETERS angstrom + 3.842500 0.000000 0.000000 + 0.000000 3.842500 0.000000 + 0.000000 0.000000 3.842500 +ATOMIC_SPECIES + Sr 87.620000 Sr_ONCV_PBE-1.0.upf + V 50.941500 V_ONCV_PBE-1.0.upf + O 15.999400 O_ONCV_PBE-1.0.upf +ATOMIC_POSITIONS crystal + Sr 0.000000 0.000000 0.000000 + V 0.500000 0.500000 0.500000 + O 0.500000 0.000000 0.500000 + O 0.000000 0.500000 0.500000 + O 0.500000 0.500000 0.000000 +K_POINTS automatic + 6 6 6 0 0 0 diff --git a/v4.0.0/_downloads/1716d9c448f19ba68a74a1137ed0f742/mk_hr.py b/v4.0.0/_downloads/1716d9c448f19ba68a74a1137ed0f742/mk_hr.py new file mode 100644 index 00000000..4d962d05 --- /dev/null +++ b/v4.0.0/_downloads/1716d9c448f19ba68a74a1137ed0f742/mk_hr.py @@ -0,0 +1,50 @@ +from __future__ import print_function +from datetime import datetime +from itertools import product +import numpy + +# Size of unit cell +L = 2 +nrpts = 3**3 +t = 1 +filename = 'cubic_hr.dat' + +num_sites = L**3 + +HamR_full = numpy.zeros([nrpts, num_sites, num_sites]) +irvec = numpy.empty((nrpts, 3), dtype=int) +pos_in_unit_cell = numpy.array([ [i,j,k] for i, j, k in product(range(2), repeat=3)]) + +ndgen = numpy.ones((nrpts,), dtype=int) + +primitive_vecs = numpy.array([[2, 0, 0], [0, 2, 0], [0, 0, 2]]) + +for ir, (X, Y, Z) in enumerate(product(range(-1,2), repeat=3)): + irvec[ir, :] = (X, Y, Z) + + # <0 |H| R> + for i_lsite, i_rsite in product(range(num_sites), repeat=2): + pos_lsite = pos_in_unit_cell[i_lsite] + pos_rsite = pos_in_unit_cell[i_rsite] + X * primitive_vecs[0] + Y * primitive_vecs[1] + Z * primitive_vecs[2] + + if numpy.sum((pos_lsite - pos_rsite)**2) == 1: + HamR_full[ir, i_lsite, i_rsite] = - t + +print('Use the following line for input of DCore') +print('corr_to_inequiv = ', ", ".join([str(numpy.sum(p)%2) for p in pos_in_unit_cell])) + +# Write data to *_hr.dat +with file(filename, 'w') as f: + print(datetime.now(), file=f) + print(num_sites, file=f) + print(nrpts, file=f) + for k in range(nrpts): + print(ndgen[k], file=f, end=' ') + if k % 15 == 14 or k == nrpts - 1: + print('', file=f) + + for k in range(nrpts): + for j, i in product(range(num_sites), repeat=2): + print("{} {} {} {} {} {} {}".format( + irvec[k, 0], irvec[k, 1], irvec[k, 2], + i + 1, j + 1, HamR_full[k, i, j], 0.0), file=f) diff --git a/v4.0.0/_downloads/20038bb177c668c41dc9aaf6a269b495/dmft_square_pomerol.ini b/v4.0.0/_downloads/20038bb177c668c41dc9aaf6a269b495/dmft_square_pomerol.ini new file mode 100644 index 00000000..23399e78 --- /dev/null +++ b/v4.0.0/_downloads/20038bb177c668c41dc9aaf6a269b495/dmft_square_pomerol.ini @@ -0,0 +1,36 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk = 8 + +[system] +T = 0.1 +n_iw = 1000 +mu = 2.0 +fix_mu = True + +[impurity_solver] +name = pomerol +exec_path{str} = pomerol2dcore +n_bath{int} = 3 +fit_gtol{float} = 1e-6 + +[control] +max_step = 100 +sigma_mix = 0.5 +time_reversal = True +converge_tol = 1e-5 + +[post.spectrum] +broadening = 0.4 +knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)] +nk_line = 100 + +[post.anacont] +omega_max =6.0 +omega_min =-5.0 +Nomega = 400 diff --git a/v4.0.0/_downloads/296b23ddf40fcc6ec50091c16a665678/afm_dim2_hr.dat b/v4.0.0/_downloads/296b23ddf40fcc6ec50091c16a665678/afm_dim2_hr.dat new file mode 100644 index 00000000..8797d748 --- /dev/null +++ b/v4.0.0/_downloads/296b23ddf40fcc6ec50091c16a665678/afm_dim2_hr.dat @@ -0,0 +1,148 @@ +2020-05-25 11:22:05.220858 +4 +9 +1 1 1 1 1 1 1 1 1 +-1 -1 0 1 1 0.0 0.0 +-1 -1 0 2 1 0.0 0.0 +-1 -1 0 3 1 0.0 0.0 +-1 -1 0 4 1 0.0 0.0 +-1 -1 0 1 2 0.0 0.0 +-1 -1 0 2 2 0.0 0.0 +-1 -1 0 3 2 0.0 0.0 +-1 -1 0 4 2 0.0 0.0 +-1 -1 0 1 3 0.0 0.0 +-1 -1 0 2 3 0.0 0.0 +-1 -1 0 3 3 0.0 0.0 +-1 -1 0 4 3 0.0 0.0 +-1 -1 0 1 4 0.0 0.0 +-1 -1 0 2 4 0.0 0.0 +-1 -1 0 3 4 0.0 0.0 +-1 -1 0 4 4 0.0 0.0 +-1 0 0 1 1 0.0 0.0 +-1 0 0 2 1 0.0 0.0 +-1 0 0 3 1 0.0 0.0 +-1 0 0 4 1 0.0 0.0 +-1 0 0 1 2 0.0 0.0 +-1 0 0 2 2 0.0 0.0 +-1 0 0 3 2 0.0 0.0 +-1 0 0 4 2 0.0 0.0 +-1 0 0 1 3 -1.0 0.0 +-1 0 0 2 3 0.0 0.0 +-1 0 0 3 3 0.0 0.0 +-1 0 0 4 3 0.0 0.0 +-1 0 0 1 4 0.0 0.0 +-1 0 0 2 4 -1.0 0.0 +-1 0 0 3 4 0.0 0.0 +-1 0 0 4 4 0.0 0.0 +-1 1 0 1 1 0.0 0.0 +-1 1 0 2 1 0.0 0.0 +-1 1 0 3 1 0.0 0.0 +-1 1 0 4 1 0.0 0.0 +-1 1 0 1 2 0.0 0.0 +-1 1 0 2 2 0.0 0.0 +-1 1 0 3 2 0.0 0.0 +-1 1 0 4 2 0.0 0.0 +-1 1 0 1 3 0.0 0.0 +-1 1 0 2 3 0.0 0.0 +-1 1 0 3 3 0.0 0.0 +-1 1 0 4 3 0.0 0.0 +-1 1 0 1 4 0.0 0.0 +-1 1 0 2 4 0.0 0.0 +-1 1 0 3 4 0.0 0.0 +-1 1 0 4 4 0.0 0.0 +0 -1 0 1 1 0.0 0.0 +0 -1 0 2 1 0.0 0.0 +0 -1 0 3 1 0.0 0.0 +0 -1 0 4 1 0.0 0.0 +0 -1 0 1 2 -1.0 0.0 +0 -1 0 2 2 0.0 0.0 +0 -1 0 3 2 0.0 0.0 +0 -1 0 4 2 0.0 0.0 +0 -1 0 1 3 0.0 0.0 +0 -1 0 2 3 0.0 0.0 +0 -1 0 3 3 0.0 0.0 +0 -1 0 4 3 0.0 0.0 +0 -1 0 1 4 0.0 0.0 +0 -1 0 2 4 0.0 0.0 +0 -1 0 3 4 -1.0 0.0 +0 -1 0 4 4 0.0 0.0 +0 0 0 1 1 0.0 0.0 +0 0 0 2 1 -1.0 0.0 +0 0 0 3 1 -1.0 0.0 +0 0 0 4 1 0.0 0.0 +0 0 0 1 2 -1.0 0.0 +0 0 0 2 2 0.0 0.0 +0 0 0 3 2 0.0 0.0 +0 0 0 4 2 -1.0 0.0 +0 0 0 1 3 -1.0 0.0 +0 0 0 2 3 0.0 0.0 +0 0 0 3 3 0.0 0.0 +0 0 0 4 3 -1.0 0.0 +0 0 0 1 4 0.0 0.0 +0 0 0 2 4 -1.0 0.0 +0 0 0 3 4 -1.0 0.0 +0 0 0 4 4 0.0 0.0 +0 1 0 1 1 0.0 0.0 +0 1 0 2 1 -1.0 0.0 +0 1 0 3 1 0.0 0.0 +0 1 0 4 1 0.0 0.0 +0 1 0 1 2 0.0 0.0 +0 1 0 2 2 0.0 0.0 +0 1 0 3 2 0.0 0.0 +0 1 0 4 2 0.0 0.0 +0 1 0 1 3 0.0 0.0 +0 1 0 2 3 0.0 0.0 +0 1 0 3 3 0.0 0.0 +0 1 0 4 3 -1.0 0.0 +0 1 0 1 4 0.0 0.0 +0 1 0 2 4 0.0 0.0 +0 1 0 3 4 0.0 0.0 +0 1 0 4 4 0.0 0.0 +1 -1 0 1 1 0.0 0.0 +1 -1 0 2 1 0.0 0.0 +1 -1 0 3 1 0.0 0.0 +1 -1 0 4 1 0.0 0.0 +1 -1 0 1 2 0.0 0.0 +1 -1 0 2 2 0.0 0.0 +1 -1 0 3 2 0.0 0.0 +1 -1 0 4 2 0.0 0.0 +1 -1 0 1 3 0.0 0.0 +1 -1 0 2 3 0.0 0.0 +1 -1 0 3 3 0.0 0.0 +1 -1 0 4 3 0.0 0.0 +1 -1 0 1 4 0.0 0.0 +1 -1 0 2 4 0.0 0.0 +1 -1 0 3 4 0.0 0.0 +1 -1 0 4 4 0.0 0.0 +1 0 0 1 1 0.0 0.0 +1 0 0 2 1 0.0 0.0 +1 0 0 3 1 -1.0 0.0 +1 0 0 4 1 0.0 0.0 +1 0 0 1 2 0.0 0.0 +1 0 0 2 2 0.0 0.0 +1 0 0 3 2 0.0 0.0 +1 0 0 4 2 -1.0 0.0 +1 0 0 1 3 0.0 0.0 +1 0 0 2 3 0.0 0.0 +1 0 0 3 3 0.0 0.0 +1 0 0 4 3 0.0 0.0 +1 0 0 1 4 0.0 0.0 +1 0 0 2 4 0.0 0.0 +1 0 0 3 4 0.0 0.0 +1 0 0 4 4 0.0 0.0 +1 1 0 1 1 0.0 0.0 +1 1 0 2 1 0.0 0.0 +1 1 0 3 1 0.0 0.0 +1 1 0 4 1 0.0 0.0 +1 1 0 1 2 0.0 0.0 +1 1 0 2 2 0.0 0.0 +1 1 0 3 2 0.0 0.0 +1 1 0 4 2 0.0 0.0 +1 1 0 1 3 0.0 0.0 +1 1 0 2 3 0.0 0.0 +1 1 0 3 3 0.0 0.0 +1 1 0 4 3 0.0 0.0 +1 1 0 1 4 0.0 0.0 +1 1 0 2 4 0.0 0.0 +1 1 0 3 4 0.0 0.0 +1 1 0 4 4 0.0 0.0 diff --git a/v4.0.0/_downloads/2c4a8a193ba4f8759def689a8b2ce1d8/srvo3.win b/v4.0.0/_downloads/2c4a8a193ba4f8759def689a8b2ce1d8/srvo3.win new file mode 100644 index 00000000..4e2ee77d --- /dev/null +++ b/v4.0.0/_downloads/2c4a8a193ba4f8759def689a8b2ce1d8/srvo3.win @@ -0,0 +1,112 @@ +num_bands = 25 +num_wann = 3 + +dis_win_max = 18.0 +dis_win_min = 11.0 +!dis_froz_max = 13.4 +!dis_froz_min = 11.0 + +begin projections +V:dxy;dxz;dyz +end projections + +site_symmetry = .true. +write_hr = .true. +bands_plot = .true. +wannier_plot = .true. +write_xyz = .true. + +wannier_plot_supercell = 1 + +!exclude_bands= + +begin kpoint_path +G 0.0 0.0 0.0 X 0.5 0.0 0.0 +X 0.5 0.0 0.0 M 0.5 0.5 0.0 +M 0.5 0.5 0.0 G 0.0 0.0 0.0 +G 0.0 0.0 0.0 R 0.5 0.5 0.5 +end kpoint_path + +begin unit_cell_cart +bohr +7.29738 0.00000 0.00000 +0.00000 7.29738 0.00000 +0.00000 0.00000 7.29738 +end unit_cell_cart + +begin atoms_frac + Sr 0.00000000000000 0.00000000000000 0.00000000000000 + V 0.50000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.00000000000000 0.50000000000000 + O 0.00000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.50000000000000 0.00000000000000 +end atoms_frac + +mp_grid = 4 4 4 + +begin kpoints + 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.25000000 + 0.00000000 0.00000000 0.50000000 + 0.00000000 0.00000000 0.75000000 + 0.00000000 0.25000000 0.00000000 + 0.00000000 0.25000000 0.25000000 + 0.00000000 0.25000000 0.50000000 + 0.00000000 0.25000000 0.75000000 + 0.00000000 0.50000000 0.00000000 + 0.00000000 0.50000000 0.25000000 + 0.00000000 0.50000000 0.50000000 + 0.00000000 0.50000000 0.75000000 + 0.00000000 0.75000000 0.00000000 + 0.00000000 0.75000000 0.25000000 + 0.00000000 0.75000000 0.50000000 + 0.00000000 0.75000000 0.75000000 + 0.25000000 0.00000000 0.00000000 + 0.25000000 0.00000000 0.25000000 + 0.25000000 0.00000000 0.50000000 + 0.25000000 0.00000000 0.75000000 + 0.25000000 0.25000000 0.00000000 + 0.25000000 0.25000000 0.25000000 + 0.25000000 0.25000000 0.50000000 + 0.25000000 0.25000000 0.75000000 + 0.25000000 0.50000000 0.00000000 + 0.25000000 0.50000000 0.25000000 + 0.25000000 0.50000000 0.50000000 + 0.25000000 0.50000000 0.75000000 + 0.25000000 0.75000000 0.00000000 + 0.25000000 0.75000000 0.25000000 + 0.25000000 0.75000000 0.50000000 + 0.25000000 0.75000000 0.75000000 + 0.50000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.25000000 + 0.50000000 0.00000000 0.50000000 + 0.50000000 0.00000000 0.75000000 + 0.50000000 0.25000000 0.00000000 + 0.50000000 0.25000000 0.25000000 + 0.50000000 0.25000000 0.50000000 + 0.50000000 0.25000000 0.75000000 + 0.50000000 0.50000000 0.00000000 + 0.50000000 0.50000000 0.25000000 + 0.50000000 0.50000000 0.50000000 + 0.50000000 0.50000000 0.75000000 + 0.50000000 0.75000000 0.00000000 + 0.50000000 0.75000000 0.25000000 + 0.50000000 0.75000000 0.50000000 + 0.50000000 0.75000000 0.75000000 + 0.75000000 0.00000000 0.00000000 + 0.75000000 0.00000000 0.25000000 + 0.75000000 0.00000000 0.50000000 + 0.75000000 0.00000000 0.75000000 + 0.75000000 0.25000000 0.00000000 + 0.75000000 0.25000000 0.25000000 + 0.75000000 0.25000000 0.50000000 + 0.75000000 0.25000000 0.75000000 + 0.75000000 0.50000000 0.00000000 + 0.75000000 0.50000000 0.25000000 + 0.75000000 0.50000000 0.50000000 + 0.75000000 0.50000000 0.75000000 + 0.75000000 0.75000000 0.00000000 + 0.75000000 0.75000000 0.25000000 + 0.75000000 0.75000000 0.50000000 + 0.75000000 0.75000000 0.75000000 +end kpoints diff --git a/v4.0.0/_downloads/31788b3693fc3cb21a91ecc717e68725/dmft_square_akw.ini b/v4.0.0/_downloads/31788b3693fc3cb21a91ecc717e68725/dmft_square_akw.ini new file mode 100644 index 00000000..83030411 --- /dev/null +++ b/v4.0.0/_downloads/31788b3693fc3cb21a91ecc717e68725/dmft_square_akw.ini @@ -0,0 +1,48 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 0.8 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk = 32 + +[system] +T = 0.1 +n_iw = 1024 +prec_mu = 0.0001 + +[impurity_solver] +name = ALPS/cthyb-seg +exec_path{str} = /opt/ALPSCore-2.2.0/bin/alps_cthyb +cthyb.TEXT_OUTPUT{int} = 1 +cthyb.MEASUREMENT_freq{int} = 1 +MEASURE_gw{int} = 1 +MAX_TIME{int} = 60 +cthyb.N_MEAS{int} = 50 +cthyb.THERMALIZATION{int}=100000 +cthyb.SWEEPS{int}=100000000 +cthyb.MEASURE_nn{int} = 1 + +[control] +max_step = 20 +sigma_mix = 0.5 +time_reversal = True + +[post.spectrum] +broadening = 0.0 +knode = [(G,0,0,0),(X,0.5,0,0),(M,0.5,0.5,0),(G,0,0,0)] +nk_line = 100 +#----------------------- for k-path +# omega_max = 10.0 +# omega_min = -10.0 +# Nomega = 101 +#----------------------- for k-grid +nk0_mesh = 100 +nk1_mesh = 100 +nk2_mesh = 4 + +[post.anacont] +omega_max = 1.0 +omega_min = -1.0 +Nomega = 3 diff --git a/v4.0.0/_downloads/4519b5b5cc0b7ae13b9fb5f08ee6a320/plot.plt b/v4.0.0/_downloads/4519b5b5cc0b7ae13b9fb5f08ee6a320/plot.plt new file mode 100644 index 00000000..5f4d1e6d --- /dev/null +++ b/v4.0.0/_downloads/4519b5b5cc0b7ae13b9fb5f08ee6a320/plot.plt @@ -0,0 +1,19 @@ +set term svg enhanced size 1000, 750 fsize 32 +set output "sigma.svg" + +set xlabel "Energy" +beta = 50.0 + +set xr [0:2] +set yr [0:3] + +set xlabel "(w_n)^{0.5}" +set ylabel "- Im Sigma(i w_n)" + +plot \ +"check/sigma.dat" u (($1)**0.5):($1 > 0 ? -$3 : 1/0) t "dxy" w p, \ +"check/sigma.dat" u (($1)**0.5):($1 > 0 ? -$11 : 1/0) t "dyz" w p, \ +"check/sigma.dat" u (($1)**0.5):($1 > 0 ? -$19 : 1/0) t "dzx" w p, \ +"sigma-PRL101-166405.txt" u (((2*$0+1)*pi/beta)**0.5):($1) t "PRL 101, 166405 (2008)" lc 'r' lw 3 w l + +#pause -1 diff --git a/v4.0.0/_downloads/4597ad694e31bb00dcb3d29f11e8e0c8/dmft_bethe.ini b/v4.0.0/_downloads/4597ad694e31bb00dcb3d29f11e8e0c8/dmft_bethe.ini new file mode 100644 index 00000000..3fcf4487 --- /dev/null +++ b/v4.0.0/_downloads/4597ad694e31bb00dcb3d29f11e8e0c8/dmft_bethe.ini @@ -0,0 +1,30 @@ +[model] +lattice = bethe +seedname = bethe +nelec = 1.6 +t = 1.0 +norb = 3 +interaction = kanamori +kanamori = [(8.0, 5.3333333, 1.33333)] +nk = 1000 + +[mpi] +command = '$MPIRUN -np #' + +[system] +beta = 50.0 + +[impurity_solver] +name = ALPS/cthyb +timelimit{int} = 300 +exec_path{str} = $HOME/opt/CT-HYB/bin/hybmat + +[control] +max_step = 40 +sigma_mix = 1.0 +restart = False + +[post.anacont] +omega_max = 15.0 +omega_min =-15.0 +Nomega = 100 diff --git a/v4.0.0/_downloads/4e848f2f03c74363cb3c6e24386afad8/init_se_up.txt b/v4.0.0/_downloads/4e848f2f03c74363cb3c6e24386afad8/init_se_up.txt new file mode 100644 index 00000000..23a03e3d --- /dev/null +++ b/v4.0.0/_downloads/4e848f2f03c74363cb3c6e24386afad8/init_se_up.txt @@ -0,0 +1,2 @@ +0 0 0 -1.0 0.0 +1 0 0 1.0 0.0 diff --git a/v4.0.0/_downloads/503e3b47bcbbc0132fd129fadbcc53f8/scf.dat b/v4.0.0/_downloads/503e3b47bcbbc0132fd129fadbcc53f8/scf.dat new file mode 100644 index 00000000..d609c5e2 --- /dev/null +++ b/v4.0.0/_downloads/503e3b47bcbbc0132fd129fadbcc53f8/scf.dat @@ -0,0 +1,83 @@ +# +# File Name +# +System.CurrrentDirectory ./ # default=./ +System.Name SrVO3 +level.of.stdout 1 # default=1 (1-3) +level.of.fileout 1 # default=1 (0-2) +data.path /mnt/c/Users/kawamuura/program/openmx-eca/DFT_DATA13/ +# +# Definition of Atomic Species +# +Species.Number 4 + +# +# Atoms +# +Atoms.Number 5 +Atoms.SpeciesAndCoordinates.Unit FRAC # Ang|AU + +Atoms.UnitVectors.Unit AU # Ang|AU + +# +# SCF or Electronic System +# +scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE +scf.SpinPolarization Off # On|Off|NC +scf.maxIter 50 # default=40 +scf.EigenvalueSolver band # DC|GDC|Cluster|Band +scf.Kgrid 8 8 8 # means n1 x n2 x n3 +scf.Mixing.Type rmm-diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk +scf.Init.Mixing.Weight 0.20 # default=0.30 +scf.Min.Mixing.Weight 0.001 # default=0.001 +scf.Max.Mixing.Weight 0.500 # default=0.40 +scf.Mixing.History 7 # default=5 +scf.Mixing.StartPulay 7 # default=6 +scf.Mixing.EveryPulay 1 # default=6 +scf.criterion 1.0e-7 # default=1.0e-6 (Hartree) +orbitalOpt.Force.Skip on +#scf.restart on +# +# Band dispersion +# +Band.dispersion on # on|off, default=off +Band.Nkpath 4 + +# +# Wannier +# +Wannier.Func.Calc on #default off +Wannier.Func.Num 3 #no default +Wannier.Outer.Window.Bottom -1.5 +Wannier.Outer.Window.Top 7.0 +Wannier.Inner.Window.Bottom -1.5 +Wannier.Inner.Window.Top 1.2 +Wannier.Initial.Projectors.Unit FRAC + +Wannier.Interpolated.Bands on +Wannier.Function.Plot on # default off +Wannier.Function.Plot.SuperCells 1 1 1 # default=0 0 0 \ No newline at end of file diff --git a/v4.0.0/_downloads/5e5d410f56d52db83608fae79a58b290/mk_init_se.py b/v4.0.0/_downloads/5e5d410f56d52db83608fae79a58b290/mk_init_se.py new file mode 100644 index 00000000..5ceb0cd4 --- /dev/null +++ b/v4.0.0/_downloads/5e5d410f56d52db83608fae79a58b290/mk_init_se.py @@ -0,0 +1,15 @@ +from __future__ import print_function + +import numpy +from itertools import product + +norb = 1 +mag = 1.0 + +with open('init_se_up.txt', 'w') as f: + for i, (isp, iorb) in enumerate(product(range(2), range(norb))): + print(isp, iorb, iorb, mag*(-1)**isp, 0.0, file=f) + +with open('init_se_down.txt', 'w') as f: + for i, (isp, iorb) in enumerate(product(range(2), range(norb))): + print(isp, iorb, iorb, -mag*(-1)**isp, 0.0, file=f) diff --git a/v4.0.0/_downloads/5e92a93a71dfd35b9b3efa61d603f5fd/band_srvo3.in b/v4.0.0/_downloads/5e92a93a71dfd35b9b3efa61d603f5fd/band_srvo3.in new file mode 100644 index 00000000..c9c401ff --- /dev/null +++ b/v4.0.0/_downloads/5e92a93a71dfd35b9b3efa61d603f5fd/band_srvo3.in @@ -0,0 +1,79 @@ +&CONTROL + calculation = 'bands' + outdir = './' + pseudo_dir = './' + prefix = 'srvo3' +/ +&SYSTEM + ibrav = 1 + celldm(1) = 7.29738129774137562 + ntyp = 3 + nat = 5 + ecutwfc = 50.0 + ecutrho = 400.0 + occupations = "tetrahedra_opt" +/ +&ELECTRONS +/ +ATOMIC_SPECIES + Sr 87.6200000000 Sr.pbe-spn-kjpaw_psl.0.2.3.upf + V 50.9415000000 V.pbe-spn-kjpaw_psl.0.2.3.upf + O 15.9994000000 O.pbe-n-kjpaw_psl.0.1.upf +ATOMIC_POSITIONS crystal + Sr 0.00000000000000 0.00000000000000 0.00000000000000 + V 0.50000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.00000000000000 0.50000000000000 + O 0.00000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.50000000000000 0.00000000000000 +K_POINTS crystal + 50 + 0.0000000000 0.0000000000 0.0000000000 1.0 + 0.0500000000 0.0000000000 0.0000000000 1.0 + 0.1000000000 0.0000000000 0.0000000000 1.0 + 0.1500000000 0.0000000000 0.0000000000 1.0 + 0.2000000000 0.0000000000 0.0000000000 1.0 + 0.2500000000 0.0000000000 0.0000000000 1.0 + 0.3000000000 0.0000000000 0.0000000000 1.0 + 0.3500000000 0.0000000000 0.0000000000 1.0 + 0.4000000000 0.0000000000 0.0000000000 1.0 + 0.4500000000 0.0000000000 0.0000000000 1.0 + 0.5000000000 0.0000000000 0.0000000000 1.0 + 0.5000000000 0.0500000000 0.0000000000 1.0 + 0.5000000000 0.1000000000 0.0000000000 1.0 + 0.5000000000 0.1500000000 0.0000000000 1.0 + 0.5000000000 0.2000000000 0.0000000000 1.0 + 0.5000000000 0.2500000000 0.0000000000 1.0 + 0.5000000000 0.3000000000 0.0000000000 1.0 + 0.5000000000 0.3500000000 0.0000000000 1.0 + 0.5000000000 0.4000000000 0.0000000000 1.0 + 0.5000000000 0.4500000000 0.0000000000 1.0 + 0.5000000000 0.5000000000 0.0000000000 1.0 + 0.4615384615 0.4615384615 0.0000000000 1.0 + 0.4230769231 0.4230769231 0.0000000000 1.0 + 0.3846153846 0.3846153846 0.0000000000 1.0 + 0.3461538462 0.3461538462 0.0000000000 1.0 + 0.3076923077 0.3076923077 0.0000000000 1.0 + 0.2692307692 0.2692307692 0.0000000000 1.0 + 0.2307692308 0.2307692308 0.0000000000 1.0 + 0.1923076923 0.1923076923 0.0000000000 1.0 + 0.1538461538 0.1538461538 0.0000000000 1.0 + 0.1153846154 0.1153846154 0.0000000000 1.0 + 0.0769230769 0.0769230769 0.0000000000 1.0 + 0.0384615385 0.0384615385 0.0000000000 1.0 + 0.0000000000 0.0000000000 0.0000000000 1.0 + 0.0312500000 0.0312500000 0.0312500000 1.0 + 0.0625000000 0.0625000000 0.0625000000 1.0 + 0.0937500000 0.0937500000 0.0937500000 1.0 + 0.1250000000 0.1250000000 0.1250000000 1.0 + 0.1562500000 0.1562500000 0.1562500000 1.0 + 0.1875000000 0.1875000000 0.1875000000 1.0 + 0.2187500000 0.2187500000 0.2187500000 1.0 + 0.2500000000 0.2500000000 0.2500000000 1.0 + 0.2812500000 0.2812500000 0.2812500000 1.0 + 0.3125000000 0.3125000000 0.3125000000 1.0 + 0.3437500000 0.3437500000 0.3437500000 1.0 + 0.3750000000 0.3750000000 0.3750000000 1.0 + 0.4062500000 0.4062500000 0.4062500000 1.0 + 0.4375000000 0.4375000000 0.4375000000 1.0 + 0.4687500000 0.4687500000 0.4687500000 1.0 + 0.5000000000 0.5000000000 0.5000000000 1.0 diff --git a/v4.0.0/_downloads/5eb1c33ccd25b7707d38c97d89a3f4e0/band_srvo3_r.in b/v4.0.0/_downloads/5eb1c33ccd25b7707d38c97d89a3f4e0/band_srvo3_r.in new file mode 100644 index 00000000..7769d015 --- /dev/null +++ b/v4.0.0/_downloads/5eb1c33ccd25b7707d38c97d89a3f4e0/band_srvo3_r.in @@ -0,0 +1,81 @@ +&CONTROL + calculation = 'bands' + pseudo_dir = './' + prefix = 'srvo3' +/ +&SYSTEM + ibrav = 0 + nat = 5 + ntyp = 3 + ecutwfc = 120.000000 + ecutrho = 480.000000 + nbnd = 50 +/ +&ELECTRONS +/ +CELL_PARAMETERS angstrom + 3.842500 0.000000 0.000000 + 0.000000 3.842500 0.000000 + 0.000000 0.000000 3.842500 +ATOMIC_SPECIES + Sr 87.620000 Sr_ONCV_PBE-1.0.upf + V 50.941500 V_ONCV_PBE-1.0.upf + O 15.999400 O_ONCV_PBE-1.0.upf +ATOMIC_POSITIONS crystal + Sr 0.000000 0.000000 0.000000 + V 0.500000 0.500000 0.500000 + O 0.500000 0.000000 0.500000 + O 0.000000 0.500000 0.500000 + O 0.500000 0.500000 0.000000 + K_POINTS crystal + 50 + 0.0000000000 0.0000000000 0.0000000000 1.0 + 0.0714285714 0.0000000000 0.0000000000 1.0 + 0.1428571429 0.0000000000 0.0000000000 1.0 + 0.2142857143 0.0000000000 0.0000000000 1.0 + 0.2857142857 0.0000000000 0.0000000000 1.0 + 0.3571428571 0.0000000000 0.0000000000 1.0 + 0.4285714286 0.0000000000 0.0000000000 1.0 + 0.5000000000 0.0000000000 0.0000000000 1.0 + 0.5000000000 0.0714285714 0.0000000000 1.0 + 0.5000000000 0.1428571429 0.0000000000 1.0 + 0.5000000000 0.2142857143 0.0000000000 1.0 + 0.5000000000 0.2857142857 0.0000000000 1.0 + 0.5000000000 0.3571428571 0.0000000000 1.0 + 0.5000000000 0.4285714286 0.0000000000 1.0 + 0.5000000000 0.5000000000 0.0000000000 1.0 + 0.4545454545 0.4545454545 0.0000000000 1.0 + 0.4090909091 0.4090909091 0.0000000000 1.0 + 0.3636363636 0.3636363636 0.0000000000 1.0 + 0.3181818182 0.3181818182 0.0000000000 1.0 + 0.2727272727 0.2727272727 0.0000000000 1.0 + 0.2272727273 0.2272727273 0.0000000000 1.0 + 0.1818181818 0.1818181818 0.0000000000 1.0 + 0.1363636364 0.1363636364 0.0000000000 1.0 + 0.0909090909 0.0909090909 0.0000000000 1.0 + 0.0454545455 0.0454545455 0.0000000000 1.0 + 0.0000000000 0.0000000000 0.0000000000 1.0 + 0.0384615385 0.0384615385 0.0384615385 1.0 + 0.0769230769 0.0769230769 0.0769230769 1.0 + 0.1153846154 0.1153846154 0.1153846154 1.0 + 0.1538461538 0.1538461538 0.1538461538 1.0 + 0.1923076923 0.1923076923 0.1923076923 1.0 + 0.2307692308 0.2307692308 0.2307692308 1.0 + 0.2692307692 0.2692307692 0.2692307692 1.0 + 0.3076923077 0.3076923077 0.3076923077 1.0 + 0.3461538462 0.3461538462 0.3461538462 1.0 + 0.3846153846 0.3846153846 0.3846153846 1.0 + 0.4230769231 0.4230769231 0.4230769231 1.0 + 0.4615384615 0.4615384615 0.4615384615 1.0 + 0.5000000000 0.5000000000 0.5000000000 1.0 + 0.5000000000 0.4545454545 0.4545454545 1.0 + 0.5000000000 0.4090909091 0.4090909091 1.0 + 0.5000000000 0.3636363636 0.3636363636 1.0 + 0.5000000000 0.3181818182 0.3181818182 1.0 + 0.5000000000 0.2727272727 0.2727272727 1.0 + 0.5000000000 0.2272727273 0.2272727273 1.0 + 0.5000000000 0.1818181818 0.1818181818 1.0 + 0.5000000000 0.1363636364 0.1363636364 1.0 + 0.5000000000 0.0909090909 0.0909090909 1.0 + 0.5000000000 0.0454545455 0.0454545455 1.0 + 0.5000000000 0.0000000000 0.0000000000 1.0 diff --git a/v4.0.0/_downloads/84f0dfc3e33b00e85ab1c5c5a5d7229c/respack.in b/v4.0.0/_downloads/84f0dfc3e33b00e85ab1c5c5a5d7229c/respack.in new file mode 100644 index 00000000..6afbd514 --- /dev/null +++ b/v4.0.0/_downloads/84f0dfc3e33b00e85ab1c5c5a5d7229c/respack.in @@ -0,0 +1,40 @@ +&PARAM_CHIQW +Num_freq_grid = 1 +flg_cRPA = 1 +/ +&PARAM_WANNIER +N_wannier = 3 +Lower_energy_window = 11.0785 +Upper_energy_window = 14.5440 +N_initial_guess = 3 +/ +dxy 0.2 0.5 0.5 0.5 +dyz 0.2 0.5 0.5 0.5 +dzx 0.2 0.5 0.5 0.5 +&PARAM_INTERPOLATION +N_sym_points = 6 +/ +0.000000 0.000000 0.000000 +0.500000 0.000000 0.000000 +0.500000 0.500000 0.000000 +0.000000 0.000000 0.000000 +0.500000 0.500000 0.500000 +0.500000 0.000000 0.000000 +&PARAM_VISUALIZATION +flg_vis_wannier = 1 +ix_vis_min = 0 +ix_vis_max = 1 +iy_vis_min = 0 +iy_vis_max = 1 +iz_vis_min = 0 +iz_vis_max = 1 +/ +&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 +/ diff --git a/v4.0.0/_downloads/8f3f08172858047785a5a35eb43613ab/dmft_square.ini b/v4.0.0/_downloads/8f3f08172858047785a5a35eb43613ab/dmft_square.ini new file mode 100644 index 00000000..f93f45f5 --- /dev/null +++ b/v4.0.0/_downloads/8f3f08172858047785a5a35eb43613ab/dmft_square.ini @@ -0,0 +1,28 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(2.0, 0.0, 0.0)] +nk = 8 + +[system] +beta = 40.0 +n_iw = 1000 +prec_mu = 0.001 + +[impurity_solver] +name = TRIQS/hubbard-I + +[control] +max_step = 5 +sigma_mix = 1.0 + +[tool] +broadening = 0.4 +knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)] +nk_line = 100 +omega_max =6.0 +omega_min =-5.0 +Nomega = 400 diff --git a/v4.0.0/_downloads/90e0825153f3d161a26ce497aa915e47/srvo3_openmx.ini b/v4.0.0/_downloads/90e0825153f3d161a26ce497aa915e47/srvo3_openmx.ini new file mode 100644 index 00000000..5f3b7238 --- /dev/null +++ b/v4.0.0/_downloads/90e0825153f3d161a26ce497aa915e47/srvo3_openmx.ini @@ -0,0 +1,46 @@ +[model] +lattice = wannier90 +seedname = srvo3 +nelec = 1.0 +ncor = 1 +norb = 3 +kanamori = [(3.419, 2.315, 0.530)] +bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)] + +[system] +nk0 = 16 +nk1 = 16 +nk2 = 16 +beta = 40.0 +mu = 0.0 +with_dc = True +perform_tail_fit = True +fit_max_moment = 8 +fit_min_w = 5.0 +fit_max_w = 19.0 + +[impurity_solver] +name = TRIQS/cthyb +n_cycles{int} = 10000 +n_warmup_cycles{int} = 10000 +length_cycle{int} = 500 +move_double{bool} = True + +[control] +max_step = 8 + +[post.spectrum] +broadening = 0.1 +nk_line = 50 +knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)] + +[post.anacont] +omega_max =2.0 +omega_min =-2.0 +Nomega = 400 + +[post.anacont.pade] +iomega_max = 5.0 + +[post.check] +omega_check = 30.0 diff --git a/v4.0.0/_downloads/91e34cddf4f76571df423bc78a2284ca/spm.ini b/v4.0.0/_downloads/91e34cddf4f76571df423bc78a2284ca/spm.ini new file mode 100644 index 00000000..8c969d1e --- /dev/null +++ b/v4.0.0/_downloads/91e34cddf4f76571df423bc78a2284ca/spm.ini @@ -0,0 +1,47 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk0 = 8 +nk1 = 8 +nk2 = 1 + +[system] +T = 0.1 +n_iw = 1000 +fix_mu = True +mu = 2.0 + +[impurity_solver] +name = pomerol +exec_path{str} = pomerol2dcore +n_bath{int} = 3 +fit_gtol{float} = 1e-6 + +[control] +max_step = 100 +sigma_mix = 0.5 +time_reversal = true +converge_tol = 1e-5 + +[post.anacont] +solver = spm +show_result = false +save_result = true +omega_max = 6.0 +omega_min = -6.0 +Nomega = 401 + +[post.anacont.spm] +n_matsubara = 1000 +n_tau = 101 +n_tail = 5 +n_sv = 30 +lambda = 1e-5 +solver = ECOS + +[post.anacont.spm.solver] +max_iters{int} = 100 diff --git a/v4.0.0/_downloads/9ed299cdde367d92cf6cce9fcc00018a/dmft_square_pomerol.ini b/v4.0.0/_downloads/9ed299cdde367d92cf6cce9fcc00018a/dmft_square_pomerol.ini new file mode 100644 index 00000000..d9779160 --- /dev/null +++ b/v4.0.0/_downloads/9ed299cdde367d92cf6cce9fcc00018a/dmft_square_pomerol.ini @@ -0,0 +1,44 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk0 = 8 +nk1 = 8 +nk2 = 1 + +[system] +T = 0.1 +n_iw = 1000 +fix_mu = True +mu = 2.0 + +[impurity_solver] +name = pomerol +exec_path{str} = pomerol2dcore +n_bath{int} = 3 +fit_gtol{float} = 1e-6 + +[control] +max_step = 100 +sigma_mix = 0.5 +converge_tol = 1e-5 + +[post.anacont] +solver = pade +omega_max = 6.0 +omega_min = -6.0 +Nomega = 401 + +[post.anacont.pade] +n_min = 20 +n_max = 1000 +iomega_max = 1e+20 +eta = 0.1 + +[post.spectrum] +knode = [(G,0,0,0),(X,0.5,0,0),(M,0.5,0.5,0),(G,0,0,0)] +nk_line = 100 +broadening = 0.4 diff --git a/v4.0.0/_downloads/acfea0960af5e7261073915619a15d3c/dmft_square_ctseg.ini b/v4.0.0/_downloads/acfea0960af5e7261073915619a15d3c/dmft_square_ctseg.ini new file mode 100644 index 00000000..7ed46ca2 --- /dev/null +++ b/v4.0.0/_downloads/acfea0960af5e7261073915619a15d3c/dmft_square_ctseg.ini @@ -0,0 +1,49 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk0 = 8 +nk1 = 8 +nk2 = 1 + +[system] +T = 0.1 +n_iw = 1000 +fix_mu = True +mu = 2.0 + +[impurity_solver] +name = ALPS/cthyb-seg +exec_path{str} = /path/to/alps_cthyb +cthyb.TEXT_OUTPUT{int} = 1 +cthyb.MEASUREMENT_freq{int} = 1 +MEASURE_gw{int} = 1 +MAX_TIME{int} = 60 +cthyb.N_MEAS{int} = 50 +cthyb.THERMALIZATION{int} = 100000 +cthyb.SWEEPS{int} = 100000000 + +[control] +max_step = 20 +sigma_mix = 0.5 +time_reversal = True + +[post.anacont] +solver = pade +omega_max = 6.0 +omega_min = -6.0 +Nomega = 401 + +[post.anacont.pade] +n_min = 20 +n_max = 1000 +iomega_max = 1e+20 +eta = 0.1 + +[post.spectrum] +knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)] +nk_line = 100 +broadening = 0.0 diff --git a/v4.0.0/_downloads/b65e337248cde4f14fd64ddc46ce10df/pade.ini b/v4.0.0/_downloads/b65e337248cde4f14fd64ddc46ce10df/pade.ini new file mode 100644 index 00000000..d13ca9bb --- /dev/null +++ b/v4.0.0/_downloads/b65e337248cde4f14fd64ddc46ce10df/pade.ini @@ -0,0 +1,39 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk0 = 8 +nk1 = 8 +nk2 = 1 + +[system] +T = 0.1 +n_iw = 1000 +fix_mu = True +mu = 2.0 + +[impurity_solver] +name = pomerol +exec_path{str} = pomerol2dcore +n_bath{int} = 3 +fit_gtol{float} = 1e-6 + +[control] +max_step = 100 +sigma_mix = 0.5 +time_reversal = true +converge_tol = 1e-5 + +[post.anacont] +solver = pade +show_result = false +save_result = true +omega_max = 6.0 +omega_min = -6.0 +Nomega = 401 + +[post.anacont.pade] +eta = 0.1 diff --git a/v4.0.0/_downloads/b7c0a744734ec13b6f191c706fe2ff2d/bands_srvo3.in b/v4.0.0/_downloads/b7c0a744734ec13b6f191c706fe2ff2d/bands_srvo3.in new file mode 100644 index 00000000..7aa64534 --- /dev/null +++ b/v4.0.0/_downloads/b7c0a744734ec13b6f191c706fe2ff2d/bands_srvo3.in @@ -0,0 +1,6 @@ +&BANDS +prefix = "srvo3", +outdir = "./", +!filband = "band.dat" +!lsym = .true. +/ diff --git a/v4.0.0/_downloads/c023139646f06e58203ae42058b13bf3/scf.dat b/v4.0.0/_downloads/c023139646f06e58203ae42058b13bf3/scf.dat new file mode 100644 index 00000000..d609c5e2 --- /dev/null +++ b/v4.0.0/_downloads/c023139646f06e58203ae42058b13bf3/scf.dat @@ -0,0 +1,83 @@ +# +# File Name +# +System.CurrrentDirectory ./ # default=./ +System.Name SrVO3 +level.of.stdout 1 # default=1 (1-3) +level.of.fileout 1 # default=1 (0-2) +data.path /mnt/c/Users/kawamuura/program/openmx-eca/DFT_DATA13/ +# +# Definition of Atomic Species +# +Species.Number 4 + +# +# Atoms +# +Atoms.Number 5 +Atoms.SpeciesAndCoordinates.Unit FRAC # Ang|AU + +Atoms.UnitVectors.Unit AU # Ang|AU + +# +# SCF or Electronic System +# +scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE +scf.SpinPolarization Off # On|Off|NC +scf.maxIter 50 # default=40 +scf.EigenvalueSolver band # DC|GDC|Cluster|Band +scf.Kgrid 8 8 8 # means n1 x n2 x n3 +scf.Mixing.Type rmm-diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk +scf.Init.Mixing.Weight 0.20 # default=0.30 +scf.Min.Mixing.Weight 0.001 # default=0.001 +scf.Max.Mixing.Weight 0.500 # default=0.40 +scf.Mixing.History 7 # default=5 +scf.Mixing.StartPulay 7 # default=6 +scf.Mixing.EveryPulay 1 # default=6 +scf.criterion 1.0e-7 # default=1.0e-6 (Hartree) +orbitalOpt.Force.Skip on +#scf.restart on +# +# Band dispersion +# +Band.dispersion on # on|off, default=off +Band.Nkpath 4 + +# +# Wannier +# +Wannier.Func.Calc on #default off +Wannier.Func.Num 3 #no default +Wannier.Outer.Window.Bottom -1.5 +Wannier.Outer.Window.Top 7.0 +Wannier.Inner.Window.Bottom -1.5 +Wannier.Inner.Window.Top 1.2 +Wannier.Initial.Projectors.Unit FRAC + +Wannier.Interpolated.Bands on +Wannier.Function.Plot on # default off +Wannier.Function.Plot.SuperCells 1 1 1 # default=0 0 0 \ No newline at end of file diff --git a/v4.0.0/_downloads/c64f73d0e3b58daa5cfb6f9b75b04860/srvo3.ini b/v4.0.0/_downloads/c64f73d0e3b58daa5cfb6f9b75b04860/srvo3.ini new file mode 100644 index 00000000..d0d021b3 --- /dev/null +++ b/v4.0.0/_downloads/c64f73d0e3b58daa5cfb6f9b75b04860/srvo3.ini @@ -0,0 +1,45 @@ +[model] +lattice = wannier90 +seedname = srvo3 +nelec = 1.0 +ncor = 1 +norb = 3 +kanamori = [(3.419, 2.315, 0.530)] +bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)] +nk0 = 10 +nk1 = 10 +nk2 = 10 + +#[mpi] +#command = '$MPIRUN -np #' + +[system] +beta = 40.0 +mu = 12.290722 +with_dc = True + +[impurity_solver] +name = ALPS/cthyb +timelimit{int} = 90 +exec_path{str} = hybmat + +[control] +max_step = 12 +time_reversal = True +sigma_mix = 0.8 + +[post.spectrum] +broadening = 0.1 +nk_line = 50 +knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)] + +[post.anacont] +omega_max =2.0 +omega_min =-2.0 +Nomega = 400 + +[post.anacont.pade] +iomega_max = 2.0 + +[post.check] +omega_check = 30.0 diff --git a/v4.0.0/_downloads/c99daac10cc60faf3570eb2a87cab34d/nscf_srvo3.in b/v4.0.0/_downloads/c99daac10cc60faf3570eb2a87cab34d/nscf_srvo3.in new file mode 100644 index 00000000..33611059 --- /dev/null +++ b/v4.0.0/_downloads/c99daac10cc60faf3570eb2a87cab34d/nscf_srvo3.in @@ -0,0 +1,93 @@ +&CONTROL + calculation = 'bands' + outdir = './' + pseudo_dir = './' + prefix = 'srvo3' +/ +&SYSTEM + ibrav = 1 + celldm(1) = 7.29738129774137562 + ntyp = 3 + nat = 5 + ecutwfc = 50.0 + ecutrho = 400.0 + occupations = "tetrahedra_opt" +/ +&ELECTRONS +/ +ATOMIC_SPECIES + Sr 87.6200000000 Sr.pbe-spn-kjpaw_psl.0.2.3.upf + V 50.9415000000 V.pbe-spn-kjpaw_psl.0.2.3.upf + O 15.9994000000 O.pbe-n-kjpaw_psl.0.1.upf +ATOMIC_POSITIONS crystal + Sr 0.00000000000000 0.00000000000000 0.00000000000000 + V 0.50000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.00000000000000 0.50000000000000 + O 0.00000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.50000000000000 0.00000000000000 +K_POINTS crystal +64 + 0.00000000 0.00000000 0.00000000 1.562500e-02 + 0.00000000 0.00000000 0.25000000 1.562500e-02 + 0.00000000 0.00000000 0.50000000 1.562500e-02 + 0.00000000 0.00000000 0.75000000 1.562500e-02 + 0.00000000 0.25000000 0.00000000 1.562500e-02 + 0.00000000 0.25000000 0.25000000 1.562500e-02 + 0.00000000 0.25000000 0.50000000 1.562500e-02 + 0.00000000 0.25000000 0.75000000 1.562500e-02 + 0.00000000 0.50000000 0.00000000 1.562500e-02 + 0.00000000 0.50000000 0.25000000 1.562500e-02 + 0.00000000 0.50000000 0.50000000 1.562500e-02 + 0.00000000 0.50000000 0.75000000 1.562500e-02 + 0.00000000 0.75000000 0.00000000 1.562500e-02 + 0.00000000 0.75000000 0.25000000 1.562500e-02 + 0.00000000 0.75000000 0.50000000 1.562500e-02 + 0.00000000 0.75000000 0.75000000 1.562500e-02 + 0.25000000 0.00000000 0.00000000 1.562500e-02 + 0.25000000 0.00000000 0.25000000 1.562500e-02 + 0.25000000 0.00000000 0.50000000 1.562500e-02 + 0.25000000 0.00000000 0.75000000 1.562500e-02 + 0.25000000 0.25000000 0.00000000 1.562500e-02 + 0.25000000 0.25000000 0.25000000 1.562500e-02 + 0.25000000 0.25000000 0.50000000 1.562500e-02 + 0.25000000 0.25000000 0.75000000 1.562500e-02 + 0.25000000 0.50000000 0.00000000 1.562500e-02 + 0.25000000 0.50000000 0.25000000 1.562500e-02 + 0.25000000 0.50000000 0.50000000 1.562500e-02 + 0.25000000 0.50000000 0.75000000 1.562500e-02 + 0.25000000 0.75000000 0.00000000 1.562500e-02 + 0.25000000 0.75000000 0.25000000 1.562500e-02 + 0.25000000 0.75000000 0.50000000 1.562500e-02 + 0.25000000 0.75000000 0.75000000 1.562500e-02 + 0.50000000 0.00000000 0.00000000 1.562500e-02 + 0.50000000 0.00000000 0.25000000 1.562500e-02 + 0.50000000 0.00000000 0.50000000 1.562500e-02 + 0.50000000 0.00000000 0.75000000 1.562500e-02 + 0.50000000 0.25000000 0.00000000 1.562500e-02 + 0.50000000 0.25000000 0.25000000 1.562500e-02 + 0.50000000 0.25000000 0.50000000 1.562500e-02 + 0.50000000 0.25000000 0.75000000 1.562500e-02 + 0.50000000 0.50000000 0.00000000 1.562500e-02 + 0.50000000 0.50000000 0.25000000 1.562500e-02 + 0.50000000 0.50000000 0.50000000 1.562500e-02 + 0.50000000 0.50000000 0.75000000 1.562500e-02 + 0.50000000 0.75000000 0.00000000 1.562500e-02 + 0.50000000 0.75000000 0.25000000 1.562500e-02 + 0.50000000 0.75000000 0.50000000 1.562500e-02 + 0.50000000 0.75000000 0.75000000 1.562500e-02 + 0.75000000 0.00000000 0.00000000 1.562500e-02 + 0.75000000 0.00000000 0.25000000 1.562500e-02 + 0.75000000 0.00000000 0.50000000 1.562500e-02 + 0.75000000 0.00000000 0.75000000 1.562500e-02 + 0.75000000 0.25000000 0.00000000 1.562500e-02 + 0.75000000 0.25000000 0.25000000 1.562500e-02 + 0.75000000 0.25000000 0.50000000 1.562500e-02 + 0.75000000 0.25000000 0.75000000 1.562500e-02 + 0.75000000 0.50000000 0.00000000 1.562500e-02 + 0.75000000 0.50000000 0.25000000 1.562500e-02 + 0.75000000 0.50000000 0.50000000 1.562500e-02 + 0.75000000 0.50000000 0.75000000 1.562500e-02 + 0.75000000 0.75000000 0.00000000 1.562500e-02 + 0.75000000 0.75000000 0.25000000 1.562500e-02 + 0.75000000 0.75000000 0.50000000 1.562500e-02 + 0.75000000 0.75000000 0.75000000 1.562500e-02 diff --git a/v4.0.0/_downloads/d0c992f2d92d0de470cae6f92934f461/square_afm.ini b/v4.0.0/_downloads/d0c992f2d92d0de470cae6f92934f461/square_afm.ini new file mode 100644 index 00000000..c7d850dc --- /dev/null +++ b/v4.0.0/_downloads/d0c992f2d92d0de470cae6f92934f461/square_afm.ini @@ -0,0 +1,42 @@ +[model] +seedname = afm_dim2 +lattice = wannier90 +ncor = 4 +norb = 1, 1 +nelec = 4.0 +kanamori = [(4.0, 0.0, 0.0), (4.0, 0.0, 0.0)] +corr_to_inequiv = 0, 1, 1, 0 +nk = 8 + +[system] +T = 0.1 +n_iw = 1000 +mu = 2.0 +fix_mu = True + +[impurity_solver] +name = ALPS/cthyb-seg +exec_path{str} = /path/to/alps_cthyb +cthyb.TEXT_OUTPUT{int} = 1 +cthyb.MEASUREMENT_freq{int} = 1 +MEASURE_gw{int} = 1 +MAX_TIME{int} = 60 +cthyb.N_MEAS{int} = 50 +cthyb.THERMALIZATION{int} = 100000 +cthyb.SWEEPS{int} = 100000000 + +[control] +max_step = 30 +sigma_mix = 0.5 +initial_static_self_energy = {0: 'init_se_up.txt', 1: 'init_se_down.txt'} + +[post.spectrum] +broadening = 0.0 +knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)] +# knode = [(G,0,0,0),(X,1,0,0),(M,1,1,0),(G,0,0,0)] +nk_line = 100 + +[post.anacont] +omega_max = 6.0 +omega_min = -6.0 +Nomega = 401 diff --git a/v4.0.0/_downloads/db26d4c202f3003bee3b355c1e187b6c/init_se_down.txt b/v4.0.0/_downloads/db26d4c202f3003bee3b355c1e187b6c/init_se_down.txt new file mode 100644 index 00000000..a0c22452 --- /dev/null +++ b/v4.0.0/_downloads/db26d4c202f3003bee3b355c1e187b6c/init_se_down.txt @@ -0,0 +1,2 @@ +0 0 0 1.0 0.0 +1 0 0 -1.0 0.0 diff --git a/v4.0.0/_downloads/e0c7729f347f01bbd41c0c07f818c779/srvo3_hr.dat b/v4.0.0/_downloads/e0c7729f347f01bbd41c0c07f818c779/srvo3_hr.dat new file mode 100644 index 00000000..018ea79f --- /dev/null +++ b/v4.0.0/_downloads/e0c7729f347f01bbd41c0c07f818c779/srvo3_hr.dat @@ -0,0 +1,1137 @@ + written on 29Apr2019 at 11:50:35 + 3 + 125 + 8 4 4 4 8 4 2 2 2 4 4 2 2 2 4 + 4 2 2 2 4 8 4 4 4 8 4 2 2 2 4 + 2 1 1 1 2 2 1 1 1 2 2 1 1 1 2 + 4 2 2 2 4 4 2 2 2 4 2 1 1 1 2 + 2 1 1 1 2 2 1 1 1 2 4 2 2 2 4 + 4 2 2 2 4 2 1 1 1 2 2 1 1 1 2 + 2 1 1 1 2 4 2 2 2 4 8 4 4 4 8 + 4 2 2 2 4 4 2 2 2 4 4 2 2 2 4 + 8 4 4 4 8 + -2 -2 -2 1 1 -0.000504 0.000000 + -2 -2 -2 2 1 -0.000000 -0.000000 + -2 -2 -2 3 1 0.000000 -0.000000 + -2 -2 -2 1 2 -0.000000 0.000000 + -2 -2 -2 2 2 -0.000504 0.000000 + -2 -2 -2 3 2 0.000000 -0.000000 + -2 -2 -2 1 3 0.000000 0.000000 + -2 -2 -2 2 3 0.000000 0.000000 + -2 -2 -2 3 3 -0.000504 -0.000000 + -2 -2 -1 1 1 -0.000300 -0.000000 + -2 -2 -1 2 1 -0.000000 -0.000000 + -2 -2 -1 3 1 0.000000 -0.000000 + -2 -2 -1 1 2 -0.000000 0.000000 + -2 -2 -1 2 2 -0.000300 0.000000 + -2 -2 -1 3 2 -0.000000 0.000000 + -2 -2 -1 1 3 -0.000000 0.000000 + -2 -2 -1 2 3 -0.000000 -0.000000 + -2 -2 -1 3 3 -0.004359 -0.000000 + -2 -2 0 1 1 0.000729 -0.000000 + -2 -2 0 2 1 -0.000000 -0.000000 + -2 -2 0 3 1 0.000000 -0.000000 + -2 -2 0 1 2 -0.000000 0.000000 + -2 -2 0 2 2 0.000729 0.000000 + -2 -2 0 3 2 0.000000 0.000000 + -2 -2 0 1 3 0.000000 0.000000 + -2 -2 0 2 3 0.000000 -0.000000 + -2 -2 0 3 3 -0.026537 0.000000 + -2 -2 1 1 1 -0.000300 0.000000 + -2 -2 1 2 1 -0.000000 -0.000000 + -2 -2 1 3 1 -0.000000 -0.000000 + -2 -2 1 1 2 -0.000000 0.000000 + -2 -2 1 2 2 -0.000300 -0.000000 + -2 -2 1 3 2 -0.000000 0.000000 + -2 -2 1 1 3 0.000000 0.000000 + -2 -2 1 2 3 -0.000000 -0.000000 + -2 -2 1 3 3 -0.004359 0.000000 + -2 -2 2 1 1 -0.000504 0.000000 + -2 -2 2 2 1 -0.000000 -0.000000 + -2 -2 2 3 1 0.000000 -0.000000 + -2 -2 2 1 2 -0.000000 0.000000 + -2 -2 2 2 2 -0.000504 0.000000 + -2 -2 2 3 2 0.000000 -0.000000 + -2 -2 2 1 3 0.000000 0.000000 + -2 -2 2 2 3 0.000000 0.000000 + -2 -2 2 3 3 -0.000504 -0.000000 + -2 -1 -2 1 1 -0.004359 -0.000000 + -2 -1 -2 2 1 -0.000000 0.000000 + -2 -1 -2 3 1 0.000000 0.000000 + -2 -1 -2 1 2 0.000000 -0.000000 + -2 -1 -2 2 2 -0.000300 -0.000000 + -2 -1 -2 3 2 -0.000000 -0.000000 + -2 -1 -2 1 3 -0.000000 -0.000000 + -2 -1 -2 2 3 0.000000 0.000000 + -2 -1 -2 3 3 -0.000300 -0.000000 + -2 -1 -1 1 1 -0.002849 -0.000000 + -2 -1 -1 2 1 -0.000000 0.000000 + -2 -1 -1 3 1 0.001254 0.000000 + -2 -1 -1 1 2 0.000000 0.000000 + -2 -1 -1 2 2 0.000007 0.000000 + -2 -1 -1 3 2 0.000000 -0.000000 + -2 -1 -1 1 3 0.001254 0.000000 + -2 -1 -1 2 3 -0.000000 -0.000000 + -2 -1 -1 3 3 -0.002849 -0.000000 + -2 -1 0 1 1 0.006086 -0.000000 + -2 -1 0 2 1 -0.000000 0.000000 + -2 -1 0 3 1 0.000000 0.000000 + -2 -1 0 1 2 0.000000 -0.000000 + -2 -1 0 2 2 0.000074 0.000000 + -2 -1 0 3 2 0.000000 0.000000 + -2 -1 0 1 3 -0.000000 -0.000000 + -2 -1 0 2 3 0.000000 -0.000000 + -2 -1 0 3 3 -0.025260 -0.000000 + -2 -1 1 1 1 -0.002849 0.000000 + -2 -1 1 2 1 -0.000000 -0.000000 + -2 -1 1 3 1 -0.001254 -0.000000 + -2 -1 1 1 2 0.000000 -0.000000 + -2 -1 1 2 2 0.000007 -0.000000 + -2 -1 1 3 2 0.000000 -0.000000 + -2 -1 1 1 3 -0.001254 0.000000 + -2 -1 1 2 3 -0.000000 -0.000000 + -2 -1 1 3 3 -0.002849 0.000000 + -2 -1 2 1 1 -0.004359 -0.000000 + -2 -1 2 2 1 -0.000000 0.000000 + -2 -1 2 3 1 0.000000 0.000000 + -2 -1 2 1 2 0.000000 -0.000000 + -2 -1 2 2 2 -0.000300 -0.000000 + -2 -1 2 3 2 -0.000000 -0.000000 + -2 -1 2 1 3 -0.000000 -0.000000 + -2 -1 2 2 3 0.000000 0.000000 + -2 -1 2 3 3 -0.000300 -0.000000 + -2 0 -2 1 1 -0.026537 0.000000 + -2 0 -2 2 1 -0.000000 -0.000000 + -2 0 -2 3 1 0.000000 0.000000 + -2 0 -2 1 2 -0.000000 0.000000 + -2 0 -2 2 2 0.000729 0.000000 + -2 0 -2 3 2 0.000000 -0.000000 + -2 0 -2 1 3 0.000000 -0.000000 + -2 0 -2 2 3 0.000000 0.000000 + -2 0 -2 3 3 0.000729 -0.000000 + -2 0 -1 1 1 -0.025260 -0.000000 + -2 0 -1 2 1 -0.000000 -0.000000 + -2 0 -1 3 1 0.000000 0.000000 + -2 0 -1 1 2 0.000000 -0.000000 + -2 0 -1 2 2 0.000074 -0.000000 + -2 0 -1 3 2 -0.000000 0.000000 + -2 0 -1 1 3 0.000000 0.000000 + -2 0 -1 2 3 -0.000000 -0.000000 + -2 0 -1 3 3 0.006086 0.000000 + -2 0 0 1 1 0.011148 0.000000 + -2 0 0 2 1 -0.000000 -0.000000 + -2 0 0 3 1 0.000000 0.000000 + -2 0 0 1 2 -0.000000 0.000000 + -2 0 0 2 2 0.000272 0.000000 + -2 0 0 3 2 0.000000 0.000000 + -2 0 0 1 3 0.000000 -0.000000 + -2 0 0 2 3 0.000000 -0.000000 + -2 0 0 3 3 0.011148 0.000000 + -2 0 1 1 1 -0.025260 0.000000 + -2 0 1 2 1 0.000000 0.000000 + -2 0 1 3 1 0.000000 -0.000000 + -2 0 1 1 2 -0.000000 0.000000 + -2 0 1 2 2 0.000074 0.000000 + -2 0 1 3 2 -0.000000 0.000000 + -2 0 1 1 3 0.000000 -0.000000 + -2 0 1 2 3 -0.000000 -0.000000 + -2 0 1 3 3 0.006086 -0.000000 + -2 0 2 1 1 -0.026537 0.000000 + -2 0 2 2 1 -0.000000 -0.000000 + -2 0 2 3 1 0.000000 0.000000 + -2 0 2 1 2 -0.000000 0.000000 + -2 0 2 2 2 0.000729 0.000000 + -2 0 2 3 2 0.000000 -0.000000 + -2 0 2 1 3 0.000000 -0.000000 + -2 0 2 2 3 0.000000 0.000000 + -2 0 2 3 3 0.000729 -0.000000 + -2 1 -2 1 1 -0.004359 0.000000 + -2 1 -2 2 1 0.000000 0.000000 + -2 1 -2 3 1 -0.000000 0.000000 + -2 1 -2 1 2 -0.000000 -0.000000 + -2 1 -2 2 2 -0.000300 0.000000 + -2 1 -2 3 2 0.000000 -0.000000 + -2 1 -2 1 3 0.000000 -0.000000 + -2 1 -2 2 3 -0.000000 0.000000 + -2 1 -2 3 3 -0.000300 0.000000 + -2 1 -1 1 1 -0.002849 -0.000000 + -2 1 -1 2 1 0.000000 0.000000 + -2 1 -1 3 1 -0.001254 -0.000000 + -2 1 -1 1 2 -0.000000 0.000000 + -2 1 -1 2 2 0.000007 0.000000 + -2 1 -1 3 2 -0.000000 0.000000 + -2 1 -1 1 3 -0.001254 0.000000 + -2 1 -1 2 3 0.000000 0.000000 + -2 1 -1 3 3 -0.002849 -0.000000 + -2 1 0 1 1 0.006086 0.000000 + -2 1 0 2 1 0.000000 0.000000 + -2 1 0 3 1 -0.000000 0.000000 + -2 1 0 1 2 -0.000000 -0.000000 + -2 1 0 2 2 0.000074 -0.000000 + -2 1 0 3 2 0.000000 0.000000 + -2 1 0 1 3 0.000000 -0.000000 + -2 1 0 2 3 0.000000 -0.000000 + -2 1 0 3 3 -0.025260 0.000000 + -2 1 1 1 1 -0.002849 0.000000 + -2 1 1 2 1 0.000000 -0.000000 + -2 1 1 3 1 0.001254 -0.000000 + -2 1 1 1 2 -0.000000 -0.000000 + -2 1 1 2 2 0.000007 -0.000000 + -2 1 1 3 2 -0.000000 0.000000 + -2 1 1 1 3 0.001254 -0.000000 + -2 1 1 2 3 0.000000 0.000000 + -2 1 1 3 3 -0.002849 0.000000 + -2 1 2 1 1 -0.004359 0.000000 + -2 1 2 2 1 0.000000 0.000000 + -2 1 2 3 1 -0.000000 0.000000 + -2 1 2 1 2 -0.000000 -0.000000 + -2 1 2 2 2 -0.000300 0.000000 + -2 1 2 3 2 0.000000 -0.000000 + -2 1 2 1 3 0.000000 -0.000000 + -2 1 2 2 3 -0.000000 0.000000 + -2 1 2 3 3 -0.000300 0.000000 + -2 2 -2 1 1 -0.000504 0.000000 + -2 2 -2 2 1 -0.000000 -0.000000 + -2 2 -2 3 1 0.000000 -0.000000 + -2 2 -2 1 2 -0.000000 0.000000 + -2 2 -2 2 2 -0.000504 0.000000 + -2 2 -2 3 2 0.000000 -0.000000 + -2 2 -2 1 3 0.000000 0.000000 + -2 2 -2 2 3 0.000000 0.000000 + -2 2 -2 3 3 -0.000504 -0.000000 + -2 2 -1 1 1 -0.000300 -0.000000 + -2 2 -1 2 1 -0.000000 -0.000000 + -2 2 -1 3 1 0.000000 -0.000000 + -2 2 -1 1 2 -0.000000 0.000000 + -2 2 -1 2 2 -0.000300 0.000000 + -2 2 -1 3 2 -0.000000 0.000000 + -2 2 -1 1 3 -0.000000 0.000000 + -2 2 -1 2 3 -0.000000 -0.000000 + -2 2 -1 3 3 -0.004359 -0.000000 + -2 2 0 1 1 0.000729 -0.000000 + -2 2 0 2 1 -0.000000 -0.000000 + -2 2 0 3 1 0.000000 -0.000000 + -2 2 0 1 2 -0.000000 0.000000 + -2 2 0 2 2 0.000729 0.000000 + -2 2 0 3 2 0.000000 0.000000 + -2 2 0 1 3 0.000000 0.000000 + -2 2 0 2 3 0.000000 -0.000000 + -2 2 0 3 3 -0.026537 0.000000 + -2 2 1 1 1 -0.000300 0.000000 + -2 2 1 2 1 -0.000000 -0.000000 + -2 2 1 3 1 -0.000000 -0.000000 + -2 2 1 1 2 -0.000000 0.000000 + -2 2 1 2 2 -0.000300 -0.000000 + -2 2 1 3 2 -0.000000 0.000000 + -2 2 1 1 3 0.000000 0.000000 + -2 2 1 2 3 -0.000000 -0.000000 + -2 2 1 3 3 -0.004359 0.000000 + -2 2 2 1 1 -0.000504 0.000000 + -2 2 2 2 1 -0.000000 -0.000000 + -2 2 2 3 1 0.000000 -0.000000 + -2 2 2 1 2 -0.000000 0.000000 + -2 2 2 2 2 -0.000504 0.000000 + -2 2 2 3 2 0.000000 -0.000000 + -2 2 2 1 3 0.000000 0.000000 + -2 2 2 2 3 0.000000 0.000000 + -2 2 2 3 3 -0.000504 -0.000000 + -1 -2 -2 1 1 -0.000300 0.000000 + -1 -2 -2 2 1 -0.000000 -0.000000 + -1 -2 -2 3 1 -0.000000 -0.000000 + -1 -2 -2 1 2 0.000000 -0.000000 + -1 -2 -2 2 2 -0.004359 0.000000 + -1 -2 -2 3 2 -0.000000 -0.000000 + -1 -2 -2 1 3 0.000000 -0.000000 + -1 -2 -2 2 3 0.000000 0.000000 + -1 -2 -2 3 3 -0.000300 0.000000 + -1 -2 -1 1 1 0.000007 0.000000 + -1 -2 -1 2 1 -0.000000 -0.000000 + -1 -2 -1 3 1 0.000000 0.000000 + -1 -2 -1 1 2 0.000000 -0.000000 + -1 -2 -1 2 2 -0.002849 0.000000 + -1 -2 -1 3 2 0.001254 0.000000 + -1 -2 -1 1 3 -0.000000 0.000000 + -1 -2 -1 2 3 0.001254 -0.000000 + -1 -2 -1 3 3 -0.002849 0.000000 + -1 -2 0 1 1 0.000074 -0.000000 + -1 -2 0 2 1 -0.000000 -0.000000 + -1 -2 0 3 1 -0.000000 -0.000000 + -1 -2 0 1 2 0.000000 -0.000000 + -1 -2 0 2 2 0.006086 -0.000000 + -1 -2 0 3 2 -0.000000 0.000000 + -1 -2 0 1 3 -0.000000 -0.000000 + -1 -2 0 2 3 0.000000 0.000000 + -1 -2 0 3 3 -0.025260 0.000000 + -1 -2 1 1 1 0.000007 -0.000000 + -1 -2 1 2 1 -0.000000 0.000000 + -1 -2 1 3 1 -0.000000 -0.000000 + -1 -2 1 1 2 -0.000000 0.000000 + -1 -2 1 2 2 -0.002849 0.000000 + -1 -2 1 3 2 -0.001254 -0.000000 + -1 -2 1 1 3 -0.000000 0.000000 + -1 -2 1 2 3 -0.001254 0.000000 + -1 -2 1 3 3 -0.002849 0.000000 + -1 -2 2 1 1 -0.000300 0.000000 + -1 -2 2 2 1 -0.000000 -0.000000 + -1 -2 2 3 1 -0.000000 -0.000000 + -1 -2 2 1 2 0.000000 -0.000000 + -1 -2 2 2 2 -0.004359 0.000000 + -1 -2 2 3 2 -0.000000 -0.000000 + -1 -2 2 1 3 0.000000 -0.000000 + -1 -2 2 2 3 0.000000 0.000000 + -1 -2 2 3 3 -0.000300 0.000000 + -1 -1 -2 1 1 -0.002849 -0.000000 + -1 -1 -2 2 1 0.001254 0.000000 + -1 -1 -2 3 1 0.000000 -0.000000 + -1 -1 -2 1 2 0.001254 -0.000000 + -1 -1 -2 2 2 -0.002849 -0.000000 + -1 -1 -2 3 2 -0.000000 0.000000 + -1 -1 -2 1 3 -0.000000 -0.000000 + -1 -1 -2 2 3 -0.000000 0.000000 + -1 -1 -2 3 3 0.000007 0.000000 + -1 -1 -1 1 1 -0.005822 0.000000 + -1 -1 -1 2 1 0.003000 0.000000 + -1 -1 -1 3 1 0.003000 0.000000 + -1 -1 -1 1 2 0.003000 -0.000000 + -1 -1 -1 2 2 -0.005822 -0.000000 + -1 -1 -1 3 2 0.003000 0.000000 + -1 -1 -1 1 3 0.003000 -0.000000 + -1 -1 -1 2 3 0.003000 -0.000000 + -1 -1 -1 3 3 -0.005822 0.000000 + -1 -1 0 1 1 0.005960 -0.000000 + -1 -1 0 2 1 0.009224 0.000000 + -1 -1 0 3 1 -0.000000 0.000000 + -1 -1 0 1 2 0.009224 -0.000000 + -1 -1 0 2 2 0.005960 0.000000 + -1 -1 0 3 2 -0.000000 -0.000000 + -1 -1 0 1 3 0.000000 -0.000000 + -1 -1 0 2 3 0.000000 -0.000000 + -1 -1 0 3 3 -0.084345 -0.000000 + -1 -1 1 1 1 -0.005822 -0.000000 + -1 -1 1 2 1 0.003000 0.000000 + -1 -1 1 3 1 -0.003000 -0.000000 + -1 -1 1 1 2 0.003000 -0.000000 + -1 -1 1 2 2 -0.005822 0.000000 + -1 -1 1 3 2 -0.003000 -0.000000 + -1 -1 1 1 3 -0.003000 -0.000000 + -1 -1 1 2 3 -0.003000 0.000000 + -1 -1 1 3 3 -0.005822 -0.000000 + -1 -1 2 1 1 -0.002849 -0.000000 + -1 -1 2 2 1 0.001254 0.000000 + -1 -1 2 3 1 0.000000 -0.000000 + -1 -1 2 1 2 0.001254 -0.000000 + -1 -1 2 2 2 -0.002849 -0.000000 + -1 -1 2 3 2 -0.000000 0.000000 + -1 -1 2 1 3 -0.000000 -0.000000 + -1 -1 2 2 3 -0.000000 0.000000 + -1 -1 2 3 3 0.000007 0.000000 + -1 0 -2 1 1 -0.025260 -0.000000 + -1 0 -2 2 1 -0.000000 -0.000000 + -1 0 -2 3 1 0.000000 0.000000 + -1 0 -2 1 2 0.000000 0.000000 + -1 0 -2 2 2 0.006086 0.000000 + -1 0 -2 3 2 -0.000000 -0.000000 + -1 0 -2 1 3 0.000000 0.000000 + -1 0 -2 2 3 0.000000 0.000000 + -1 0 -2 3 3 0.000074 -0.000000 + -1 0 -1 1 1 -0.084345 0.000000 + -1 0 -1 2 1 -0.000000 -0.000000 + -1 0 -1 3 1 0.000000 0.000000 + -1 0 -1 1 2 -0.000000 -0.000000 + -1 0 -1 2 2 0.005960 0.000000 + -1 0 -1 3 2 0.009224 -0.000000 + -1 0 -1 1 3 0.000000 0.000000 + -1 0 -1 2 3 0.009224 -0.000000 + -1 0 -1 3 3 0.005960 -0.000000 + -1 0 0 1 1 -0.257628 -0.000000 + -1 0 0 2 1 -0.000000 -0.000000 + -1 0 0 3 1 0.000000 0.000000 + -1 0 0 1 2 0.000000 0.000000 + -1 0 0 2 2 -0.026297 0.000000 + -1 0 0 3 2 -0.000000 0.000000 + -1 0 0 1 3 -0.000000 0.000000 + -1 0 0 2 3 0.000000 0.000000 + -1 0 0 3 3 -0.257628 -0.000000 + -1 0 1 1 1 -0.084345 -0.000000 + -1 0 1 2 1 -0.000000 0.000000 + -1 0 1 3 1 -0.000000 -0.000000 + -1 0 1 1 2 0.000000 -0.000000 + -1 0 1 2 2 0.005960 -0.000000 + -1 0 1 3 2 -0.009224 -0.000000 + -1 0 1 1 3 0.000000 0.000000 + -1 0 1 2 3 -0.009224 -0.000000 + -1 0 1 3 3 0.005960 -0.000000 + -1 0 2 1 1 -0.025260 -0.000000 + -1 0 2 2 1 -0.000000 -0.000000 + -1 0 2 3 1 0.000000 0.000000 + -1 0 2 1 2 0.000000 0.000000 + -1 0 2 2 2 0.006086 0.000000 + -1 0 2 3 2 -0.000000 -0.000000 + -1 0 2 1 3 0.000000 0.000000 + -1 0 2 2 3 0.000000 0.000000 + -1 0 2 3 3 0.000074 -0.000000 + -1 1 -2 1 1 -0.002849 -0.000000 + -1 1 -2 2 1 -0.001254 0.000000 + -1 1 -2 3 1 0.000000 -0.000000 + -1 1 -2 1 2 -0.001254 -0.000000 + -1 1 -2 2 2 -0.002849 0.000000 + -1 1 -2 3 2 -0.000000 -0.000000 + -1 1 -2 1 3 -0.000000 -0.000000 + -1 1 -2 2 3 0.000000 -0.000000 + -1 1 -2 3 3 0.000007 0.000000 + -1 1 -1 1 1 -0.005822 -0.000000 + -1 1 -1 2 1 -0.003000 0.000000 + -1 1 -1 3 1 -0.003000 0.000000 + -1 1 -1 1 2 -0.003000 -0.000000 + -1 1 -1 2 2 -0.005822 0.000000 + -1 1 -1 3 2 0.003000 0.000000 + -1 1 -1 1 3 -0.003000 0.000000 + -1 1 -1 2 3 0.003000 -0.000000 + -1 1 -1 3 3 -0.005822 0.000000 + -1 1 0 1 1 0.005960 0.000000 + -1 1 0 2 1 -0.009224 0.000000 + -1 1 0 3 1 -0.000000 0.000000 + -1 1 0 1 2 -0.009224 -0.000000 + -1 1 0 2 2 0.005960 -0.000000 + -1 1 0 3 2 0.000000 0.000000 + -1 1 0 1 3 0.000000 -0.000000 + -1 1 0 2 3 -0.000000 0.000000 + -1 1 0 3 3 -0.084345 -0.000000 + -1 1 1 1 1 -0.005822 0.000000 + -1 1 1 2 1 -0.003000 0.000000 + -1 1 1 3 1 0.003000 0.000000 + -1 1 1 1 2 -0.003000 -0.000000 + -1 1 1 2 2 -0.005822 -0.000000 + -1 1 1 3 2 -0.003000 -0.000000 + -1 1 1 1 3 0.003000 -0.000000 + -1 1 1 2 3 -0.003000 0.000000 + -1 1 1 3 3 -0.005822 -0.000000 + -1 1 2 1 1 -0.002849 -0.000000 + -1 1 2 2 1 -0.001254 0.000000 + -1 1 2 3 1 0.000000 -0.000000 + -1 1 2 1 2 -0.001254 -0.000000 + -1 1 2 2 2 -0.002849 0.000000 + -1 1 2 3 2 -0.000000 -0.000000 + -1 1 2 1 3 -0.000000 -0.000000 + -1 1 2 2 3 0.000000 -0.000000 + -1 1 2 3 3 0.000007 0.000000 + -1 2 -2 1 1 -0.000300 0.000000 + -1 2 -2 2 1 -0.000000 -0.000000 + -1 2 -2 3 1 -0.000000 -0.000000 + -1 2 -2 1 2 0.000000 -0.000000 + -1 2 -2 2 2 -0.004359 0.000000 + -1 2 -2 3 2 -0.000000 -0.000000 + -1 2 -2 1 3 0.000000 -0.000000 + -1 2 -2 2 3 0.000000 0.000000 + -1 2 -2 3 3 -0.000300 0.000000 + -1 2 -1 1 1 0.000007 0.000000 + -1 2 -1 2 1 -0.000000 -0.000000 + -1 2 -1 3 1 0.000000 0.000000 + -1 2 -1 1 2 0.000000 -0.000000 + -1 2 -1 2 2 -0.002849 0.000000 + -1 2 -1 3 2 0.001254 0.000000 + -1 2 -1 1 3 -0.000000 0.000000 + -1 2 -1 2 3 0.001254 -0.000000 + -1 2 -1 3 3 -0.002849 0.000000 + -1 2 0 1 1 0.000074 -0.000000 + -1 2 0 2 1 -0.000000 -0.000000 + -1 2 0 3 1 -0.000000 -0.000000 + -1 2 0 1 2 0.000000 -0.000000 + -1 2 0 2 2 0.006086 -0.000000 + -1 2 0 3 2 -0.000000 0.000000 + -1 2 0 1 3 -0.000000 -0.000000 + -1 2 0 2 3 0.000000 0.000000 + -1 2 0 3 3 -0.025260 0.000000 + -1 2 1 1 1 0.000007 -0.000000 + -1 2 1 2 1 -0.000000 0.000000 + -1 2 1 3 1 -0.000000 -0.000000 + -1 2 1 1 2 -0.000000 0.000000 + -1 2 1 2 2 -0.002849 0.000000 + -1 2 1 3 2 -0.001254 -0.000000 + -1 2 1 1 3 -0.000000 0.000000 + -1 2 1 2 3 -0.001254 0.000000 + -1 2 1 3 3 -0.002849 0.000000 + -1 2 2 1 1 -0.000300 0.000000 + -1 2 2 2 1 -0.000000 -0.000000 + -1 2 2 3 1 -0.000000 -0.000000 + -1 2 2 1 2 0.000000 -0.000000 + -1 2 2 2 2 -0.004359 0.000000 + -1 2 2 3 2 -0.000000 -0.000000 + -1 2 2 1 3 0.000000 -0.000000 + -1 2 2 2 3 0.000000 0.000000 + -1 2 2 3 3 -0.000300 0.000000 + 0 -2 -2 1 1 0.000729 -0.000000 + 0 -2 -2 2 1 -0.000000 -0.000000 + 0 -2 -2 3 1 0.000000 -0.000000 + 0 -2 -2 1 2 -0.000000 0.000000 + 0 -2 -2 2 2 -0.026537 0.000000 + 0 -2 -2 3 2 0.000000 -0.000000 + 0 -2 -2 1 3 0.000000 0.000000 + 0 -2 -2 2 3 0.000000 0.000000 + 0 -2 -2 3 3 0.000729 0.000000 + 0 -2 -1 1 1 0.000074 -0.000000 + 0 -2 -1 2 1 0.000000 0.000000 + 0 -2 -1 3 1 0.000000 -0.000000 + 0 -2 -1 1 2 -0.000000 0.000000 + 0 -2 -1 2 2 -0.025260 0.000000 + 0 -2 -1 3 2 0.000000 -0.000000 + 0 -2 -1 1 3 -0.000000 0.000000 + 0 -2 -1 2 3 0.000000 0.000000 + 0 -2 -1 3 3 0.006086 0.000000 + 0 -2 0 1 1 0.000272 0.000000 + 0 -2 0 2 1 -0.000000 -0.000000 + 0 -2 0 3 1 0.000000 -0.000000 + 0 -2 0 1 2 -0.000000 0.000000 + 0 -2 0 2 2 0.011148 0.000000 + 0 -2 0 3 2 0.000000 0.000000 + 0 -2 0 1 3 0.000000 0.000000 + 0 -2 0 2 3 0.000000 -0.000000 + 0 -2 0 3 3 0.011148 0.000000 + 0 -2 1 1 1 0.000074 0.000000 + 0 -2 1 2 1 -0.000000 -0.000000 + 0 -2 1 3 1 -0.000000 -0.000000 + 0 -2 1 1 2 0.000000 -0.000000 + 0 -2 1 2 2 -0.025260 -0.000000 + 0 -2 1 3 2 0.000000 -0.000000 + 0 -2 1 1 3 0.000000 0.000000 + 0 -2 1 2 3 0.000000 0.000000 + 0 -2 1 3 3 0.006086 -0.000000 + 0 -2 2 1 1 0.000729 -0.000000 + 0 -2 2 2 1 -0.000000 -0.000000 + 0 -2 2 3 1 0.000000 -0.000000 + 0 -2 2 1 2 -0.000000 0.000000 + 0 -2 2 2 2 -0.026537 0.000000 + 0 -2 2 3 2 0.000000 -0.000000 + 0 -2 2 1 3 0.000000 0.000000 + 0 -2 2 2 3 0.000000 0.000000 + 0 -2 2 3 3 0.000729 0.000000 + 0 -1 -2 1 1 0.006086 -0.000000 + 0 -1 -2 2 1 -0.000000 0.000000 + 0 -1 -2 3 1 0.000000 0.000000 + 0 -1 -2 1 2 0.000000 -0.000000 + 0 -1 -2 2 2 -0.025260 -0.000000 + 0 -1 -2 3 2 0.000000 -0.000000 + 0 -1 -2 1 3 -0.000000 -0.000000 + 0 -1 -2 2 3 0.000000 0.000000 + 0 -1 -2 3 3 0.000074 0.000000 + 0 -1 -1 1 1 0.005960 -0.000000 + 0 -1 -1 2 1 -0.000000 -0.000000 + 0 -1 -1 3 1 0.009224 0.000000 + 0 -1 -1 1 2 0.000000 0.000000 + 0 -1 -1 2 2 -0.084345 -0.000000 + 0 -1 -1 3 2 -0.000000 0.000000 + 0 -1 -1 1 3 0.009224 0.000000 + 0 -1 -1 2 3 0.000000 0.000000 + 0 -1 -1 3 3 0.005960 -0.000000 + 0 -1 0 1 1 -0.026297 0.000000 + 0 -1 0 2 1 -0.000000 0.000000 + 0 -1 0 3 1 0.000000 0.000000 + 0 -1 0 1 2 0.000000 -0.000000 + 0 -1 0 2 2 -0.257628 0.000000 + 0 -1 0 3 2 0.000000 0.000000 + 0 -1 0 1 3 -0.000000 -0.000000 + 0 -1 0 2 3 0.000000 -0.000000 + 0 -1 0 3 3 -0.257628 0.000000 + 0 -1 1 1 1 0.005960 -0.000000 + 0 -1 1 2 1 0.000000 -0.000000 + 0 -1 1 3 1 -0.009224 -0.000000 + 0 -1 1 1 2 0.000000 0.000000 + 0 -1 1 2 2 -0.084345 0.000000 + 0 -1 1 3 2 -0.000000 0.000000 + 0 -1 1 1 3 -0.009224 -0.000000 + 0 -1 1 2 3 0.000000 0.000000 + 0 -1 1 3 3 0.005960 0.000000 + 0 -1 2 1 1 0.006086 -0.000000 + 0 -1 2 2 1 -0.000000 0.000000 + 0 -1 2 3 1 0.000000 0.000000 + 0 -1 2 1 2 0.000000 -0.000000 + 0 -1 2 2 2 -0.025260 -0.000000 + 0 -1 2 3 2 0.000000 -0.000000 + 0 -1 2 1 3 -0.000000 -0.000000 + 0 -1 2 2 3 0.000000 0.000000 + 0 -1 2 3 3 0.000074 0.000000 + 0 0 -2 1 1 0.011148 0.000000 + 0 0 -2 2 1 -0.000000 -0.000000 + 0 0 -2 3 1 0.000000 0.000000 + 0 0 -2 1 2 -0.000000 0.000000 + 0 0 -2 2 2 0.011148 0.000000 + 0 0 -2 3 2 0.000000 -0.000000 + 0 0 -2 1 3 0.000000 -0.000000 + 0 0 -2 2 3 0.000000 0.000000 + 0 0 -2 3 3 0.000272 0.000000 + 0 0 -1 1 1 -0.257628 0.000000 + 0 0 -1 2 1 -0.000000 -0.000000 + 0 0 -1 3 1 0.000000 0.000000 + 0 0 -1 1 2 -0.000000 0.000000 + 0 0 -1 2 2 -0.257628 0.000000 + 0 0 -1 3 2 -0.000000 -0.000000 + 0 0 -1 1 3 0.000000 0.000000 + 0 0 -1 2 3 0.000000 0.000000 + 0 0 -1 3 3 -0.026297 0.000000 + 0 0 0 1 1 12.895041 0.000000 + 0 0 0 2 1 -0.000000 -0.000000 + 0 0 0 3 1 0.000000 0.000000 + 0 0 0 1 2 -0.000000 0.000000 + 0 0 0 2 2 12.895041 0.000000 + 0 0 0 3 2 0.000000 0.000000 + 0 0 0 1 3 0.000000 -0.000000 + 0 0 0 2 3 0.000000 -0.000000 + 0 0 0 3 3 12.895043 0.000000 + 0 0 1 1 1 -0.257628 -0.000000 + 0 0 1 2 1 -0.000000 -0.000000 + 0 0 1 3 1 0.000000 -0.000000 + 0 0 1 1 2 -0.000000 0.000000 + 0 0 1 2 2 -0.257628 -0.000000 + 0 0 1 3 2 0.000000 -0.000000 + 0 0 1 1 3 0.000000 -0.000000 + 0 0 1 2 3 -0.000000 0.000000 + 0 0 1 3 3 -0.026297 -0.000000 + 0 0 2 1 1 0.011148 -0.000000 + 0 0 2 2 1 -0.000000 -0.000000 + 0 0 2 3 1 0.000000 0.000000 + 0 0 2 1 2 -0.000000 0.000000 + 0 0 2 2 2 0.011148 -0.000000 + 0 0 2 3 2 0.000000 -0.000000 + 0 0 2 1 3 0.000000 -0.000000 + 0 0 2 2 3 0.000000 0.000000 + 0 0 2 3 3 0.000272 -0.000000 + 0 1 -2 1 1 0.006086 0.000000 + 0 1 -2 2 1 0.000000 0.000000 + 0 1 -2 3 1 -0.000000 0.000000 + 0 1 -2 1 2 -0.000000 -0.000000 + 0 1 -2 2 2 -0.025260 0.000000 + 0 1 -2 3 2 0.000000 -0.000000 + 0 1 -2 1 3 0.000000 -0.000000 + 0 1 -2 2 3 0.000000 0.000000 + 0 1 -2 3 3 0.000074 -0.000000 + 0 1 -1 1 1 0.005960 0.000000 + 0 1 -1 2 1 0.000000 -0.000000 + 0 1 -1 3 1 -0.009224 0.000000 + 0 1 -1 1 2 0.000000 0.000000 + 0 1 -1 2 2 -0.084345 -0.000000 + 0 1 -1 3 2 0.000000 -0.000000 + 0 1 -1 1 3 -0.009224 0.000000 + 0 1 -1 2 3 -0.000000 -0.000000 + 0 1 -1 3 3 0.005960 -0.000000 + 0 1 0 1 1 -0.026297 -0.000000 + 0 1 0 2 1 0.000000 0.000000 + 0 1 0 3 1 -0.000000 0.000000 + 0 1 0 1 2 -0.000000 -0.000000 + 0 1 0 2 2 -0.257628 -0.000000 + 0 1 0 3 2 0.000000 0.000000 + 0 1 0 1 3 0.000000 -0.000000 + 0 1 0 2 3 0.000000 -0.000000 + 0 1 0 3 3 -0.257628 -0.000000 + 0 1 1 1 1 0.005960 0.000000 + 0 1 1 2 1 0.000000 -0.000000 + 0 1 1 3 1 0.009224 -0.000000 + 0 1 1 1 2 -0.000000 0.000000 + 0 1 1 2 2 -0.084345 0.000000 + 0 1 1 3 2 0.000000 -0.000000 + 0 1 1 1 3 0.009224 -0.000000 + 0 1 1 2 3 -0.000000 -0.000000 + 0 1 1 3 3 0.005960 0.000000 + 0 1 2 1 1 0.006086 0.000000 + 0 1 2 2 1 0.000000 0.000000 + 0 1 2 3 1 -0.000000 0.000000 + 0 1 2 1 2 -0.000000 -0.000000 + 0 1 2 2 2 -0.025260 0.000000 + 0 1 2 3 2 0.000000 -0.000000 + 0 1 2 1 3 0.000000 -0.000000 + 0 1 2 2 3 0.000000 0.000000 + 0 1 2 3 3 0.000074 -0.000000 + 0 2 -2 1 1 0.000729 -0.000000 + 0 2 -2 2 1 -0.000000 -0.000000 + 0 2 -2 3 1 0.000000 -0.000000 + 0 2 -2 1 2 -0.000000 0.000000 + 0 2 -2 2 2 -0.026537 0.000000 + 0 2 -2 3 2 0.000000 -0.000000 + 0 2 -2 1 3 0.000000 0.000000 + 0 2 -2 2 3 0.000000 0.000000 + 0 2 -2 3 3 0.000729 0.000000 + 0 2 -1 1 1 0.000074 -0.000000 + 0 2 -1 2 1 0.000000 0.000000 + 0 2 -1 3 1 0.000000 -0.000000 + 0 2 -1 1 2 -0.000000 0.000000 + 0 2 -1 2 2 -0.025260 0.000000 + 0 2 -1 3 2 0.000000 -0.000000 + 0 2 -1 1 3 -0.000000 0.000000 + 0 2 -1 2 3 0.000000 0.000000 + 0 2 -1 3 3 0.006086 0.000000 + 0 2 0 1 1 0.000272 -0.000000 + 0 2 0 2 1 -0.000000 -0.000000 + 0 2 0 3 1 0.000000 -0.000000 + 0 2 0 1 2 -0.000000 0.000000 + 0 2 0 2 2 0.011148 -0.000000 + 0 2 0 3 2 0.000000 0.000000 + 0 2 0 1 3 0.000000 0.000000 + 0 2 0 2 3 0.000000 -0.000000 + 0 2 0 3 3 0.011148 -0.000000 + 0 2 1 1 1 0.000074 0.000000 + 0 2 1 2 1 -0.000000 -0.000000 + 0 2 1 3 1 -0.000000 -0.000000 + 0 2 1 1 2 0.000000 -0.000000 + 0 2 1 2 2 -0.025260 -0.000000 + 0 2 1 3 2 0.000000 -0.000000 + 0 2 1 1 3 0.000000 0.000000 + 0 2 1 2 3 0.000000 0.000000 + 0 2 1 3 3 0.006086 -0.000000 + 0 2 2 1 1 0.000729 -0.000000 + 0 2 2 2 1 -0.000000 -0.000000 + 0 2 2 3 1 0.000000 -0.000000 + 0 2 2 1 2 -0.000000 0.000000 + 0 2 2 2 2 -0.026537 0.000000 + 0 2 2 3 2 0.000000 -0.000000 + 0 2 2 1 3 0.000000 0.000000 + 0 2 2 2 3 0.000000 0.000000 + 0 2 2 3 3 0.000729 0.000000 + 1 -2 -2 1 1 -0.000300 -0.000000 + 1 -2 -2 2 1 0.000000 0.000000 + 1 -2 -2 3 1 0.000000 0.000000 + 1 -2 -2 1 2 -0.000000 0.000000 + 1 -2 -2 2 2 -0.004359 -0.000000 + 1 -2 -2 3 2 0.000000 -0.000000 + 1 -2 -2 1 3 -0.000000 0.000000 + 1 -2 -2 2 3 -0.000000 0.000000 + 1 -2 -2 3 3 -0.000300 -0.000000 + 1 -2 -1 1 1 0.000007 0.000000 + 1 -2 -1 2 1 -0.000000 -0.000000 + 1 -2 -1 3 1 -0.000000 -0.000000 + 1 -2 -1 1 2 -0.000000 -0.000000 + 1 -2 -1 2 2 -0.002849 -0.000000 + 1 -2 -1 3 2 -0.001254 -0.000000 + 1 -2 -1 1 3 -0.000000 0.000000 + 1 -2 -1 2 3 -0.001254 0.000000 + 1 -2 -1 3 3 -0.002849 -0.000000 + 1 -2 0 1 1 0.000074 0.000000 + 1 -2 0 2 1 0.000000 0.000000 + 1 -2 0 3 1 -0.000000 0.000000 + 1 -2 0 1 2 -0.000000 0.000000 + 1 -2 0 2 2 0.006086 0.000000 + 1 -2 0 3 2 0.000000 -0.000000 + 1 -2 0 1 3 -0.000000 0.000000 + 1 -2 0 2 3 -0.000000 -0.000000 + 1 -2 0 3 3 -0.025260 -0.000000 + 1 -2 1 1 1 0.000007 -0.000000 + 1 -2 1 2 1 0.000000 0.000000 + 1 -2 1 3 1 -0.000000 -0.000000 + 1 -2 1 1 2 -0.000000 0.000000 + 1 -2 1 2 2 -0.002849 -0.000000 + 1 -2 1 3 2 0.001254 0.000000 + 1 -2 1 1 3 0.000000 -0.000000 + 1 -2 1 2 3 0.001254 -0.000000 + 1 -2 1 3 3 -0.002849 -0.000000 + 1 -2 2 1 1 -0.000300 -0.000000 + 1 -2 2 2 1 0.000000 0.000000 + 1 -2 2 3 1 0.000000 0.000000 + 1 -2 2 1 2 -0.000000 0.000000 + 1 -2 2 2 2 -0.004359 -0.000000 + 1 -2 2 3 2 0.000000 -0.000000 + 1 -2 2 1 3 -0.000000 0.000000 + 1 -2 2 2 3 -0.000000 0.000000 + 1 -2 2 3 3 -0.000300 -0.000000 + 1 -1 -2 1 1 -0.002849 0.000000 + 1 -1 -2 2 1 -0.001254 0.000000 + 1 -1 -2 3 1 -0.000000 0.000000 + 1 -1 -2 1 2 -0.001254 -0.000000 + 1 -1 -2 2 2 -0.002849 -0.000000 + 1 -1 -2 3 2 0.000000 0.000000 + 1 -1 -2 1 3 0.000000 0.000000 + 1 -1 -2 2 3 -0.000000 0.000000 + 1 -1 -2 3 3 0.000007 -0.000000 + 1 -1 -1 1 1 -0.005822 -0.000000 + 1 -1 -1 2 1 -0.003000 0.000000 + 1 -1 -1 3 1 0.003000 0.000000 + 1 -1 -1 1 2 -0.003000 -0.000000 + 1 -1 -1 2 2 -0.005822 0.000000 + 1 -1 -1 3 2 -0.003000 -0.000000 + 1 -1 -1 1 3 0.003000 -0.000000 + 1 -1 -1 2 3 -0.003000 0.000000 + 1 -1 -1 3 3 -0.005822 0.000000 + 1 -1 0 1 1 0.005960 -0.000000 + 1 -1 0 2 1 -0.009224 0.000000 + 1 -1 0 3 1 0.000000 0.000000 + 1 -1 0 1 2 -0.009224 -0.000000 + 1 -1 0 2 2 0.005960 0.000000 + 1 -1 0 3 2 -0.000000 -0.000000 + 1 -1 0 1 3 -0.000000 -0.000000 + 1 -1 0 2 3 0.000000 -0.000000 + 1 -1 0 3 3 -0.084345 0.000000 + 1 -1 1 1 1 -0.005822 0.000000 + 1 -1 1 2 1 -0.003000 0.000000 + 1 -1 1 3 1 -0.003000 -0.000000 + 1 -1 1 1 2 -0.003000 -0.000000 + 1 -1 1 2 2 -0.005822 -0.000000 + 1 -1 1 3 2 0.003000 0.000000 + 1 -1 1 1 3 -0.003000 -0.000000 + 1 -1 1 2 3 0.003000 -0.000000 + 1 -1 1 3 3 -0.005822 -0.000000 + 1 -1 2 1 1 -0.002849 0.000000 + 1 -1 2 2 1 -0.001254 0.000000 + 1 -1 2 3 1 -0.000000 0.000000 + 1 -1 2 1 2 -0.001254 -0.000000 + 1 -1 2 2 2 -0.002849 -0.000000 + 1 -1 2 3 2 0.000000 0.000000 + 1 -1 2 1 3 0.000000 0.000000 + 1 -1 2 2 3 -0.000000 0.000000 + 1 -1 2 3 3 0.000007 -0.000000 + 1 0 -2 1 1 -0.025260 0.000000 + 1 0 -2 2 1 0.000000 -0.000000 + 1 0 -2 3 1 0.000000 -0.000000 + 1 0 -2 1 2 -0.000000 0.000000 + 1 0 -2 2 2 0.006086 -0.000000 + 1 0 -2 3 2 0.000000 -0.000000 + 1 0 -2 1 3 0.000000 -0.000000 + 1 0 -2 2 3 -0.000000 0.000000 + 1 0 -2 3 3 0.000074 0.000000 + 1 0 -1 1 1 -0.084345 0.000000 + 1 0 -1 2 1 0.000000 0.000000 + 1 0 -1 3 1 0.000000 -0.000000 + 1 0 -1 1 2 -0.000000 -0.000000 + 1 0 -1 2 2 0.005960 0.000000 + 1 0 -1 3 2 -0.009224 0.000000 + 1 0 -1 1 3 -0.000000 0.000000 + 1 0 -1 2 3 -0.009224 0.000000 + 1 0 -1 3 3 0.005960 0.000000 + 1 0 0 1 1 -0.257628 0.000000 + 1 0 0 2 1 0.000000 -0.000000 + 1 0 0 3 1 -0.000000 -0.000000 + 1 0 0 1 2 -0.000000 0.000000 + 1 0 0 2 2 -0.026297 -0.000000 + 1 0 0 3 2 0.000000 -0.000000 + 1 0 0 1 3 0.000000 -0.000000 + 1 0 0 2 3 -0.000000 -0.000000 + 1 0 0 3 3 -0.257628 0.000000 + 1 0 1 1 1 -0.084345 -0.000000 + 1 0 1 2 1 -0.000000 0.000000 + 1 0 1 3 1 0.000000 -0.000000 + 1 0 1 1 2 -0.000000 0.000000 + 1 0 1 2 2 0.005960 -0.000000 + 1 0 1 3 2 0.009224 0.000000 + 1 0 1 1 3 0.000000 -0.000000 + 1 0 1 2 3 0.009224 0.000000 + 1 0 1 3 3 0.005960 0.000000 + 1 0 2 1 1 -0.025260 0.000000 + 1 0 2 2 1 0.000000 -0.000000 + 1 0 2 3 1 0.000000 -0.000000 + 1 0 2 1 2 -0.000000 0.000000 + 1 0 2 2 2 0.006086 -0.000000 + 1 0 2 3 2 0.000000 -0.000000 + 1 0 2 1 3 0.000000 -0.000000 + 1 0 2 2 3 -0.000000 0.000000 + 1 0 2 3 3 0.000074 0.000000 + 1 1 -2 1 1 -0.002849 0.000000 + 1 1 -2 2 1 0.001254 0.000000 + 1 1 -2 3 1 -0.000000 0.000000 + 1 1 -2 1 2 0.001254 -0.000000 + 1 1 -2 2 2 -0.002849 0.000000 + 1 1 -2 3 2 -0.000000 -0.000000 + 1 1 -2 1 3 0.000000 0.000000 + 1 1 -2 2 3 -0.000000 -0.000000 + 1 1 -2 3 3 0.000007 -0.000000 + 1 1 -1 1 1 -0.005822 0.000000 + 1 1 -1 2 1 0.003000 0.000000 + 1 1 -1 3 1 -0.003000 0.000000 + 1 1 -1 1 2 0.003000 -0.000000 + 1 1 -1 2 2 -0.005822 -0.000000 + 1 1 -1 3 2 -0.003000 -0.000000 + 1 1 -1 1 3 -0.003000 0.000000 + 1 1 -1 2 3 -0.003000 0.000000 + 1 1 -1 3 3 -0.005822 0.000000 + 1 1 0 1 1 0.005960 0.000000 + 1 1 0 2 1 0.009224 0.000000 + 1 1 0 3 1 0.000000 0.000000 + 1 1 0 1 2 0.009224 -0.000000 + 1 1 0 2 2 0.005960 -0.000000 + 1 1 0 3 2 0.000000 0.000000 + 1 1 0 1 3 -0.000000 -0.000000 + 1 1 0 2 3 -0.000000 0.000000 + 1 1 0 3 3 -0.084345 0.000000 + 1 1 1 1 1 -0.005822 -0.000000 + 1 1 1 2 1 0.003000 0.000000 + 1 1 1 3 1 0.003000 0.000000 + 1 1 1 1 2 0.003000 -0.000000 + 1 1 1 2 2 -0.005822 0.000000 + 1 1 1 3 2 0.003000 0.000000 + 1 1 1 1 3 0.003000 -0.000000 + 1 1 1 2 3 0.003000 -0.000000 + 1 1 1 3 3 -0.005822 -0.000000 + 1 1 2 1 1 -0.002849 0.000000 + 1 1 2 2 1 0.001254 0.000000 + 1 1 2 3 1 -0.000000 0.000000 + 1 1 2 1 2 0.001254 -0.000000 + 1 1 2 2 2 -0.002849 0.000000 + 1 1 2 3 2 -0.000000 -0.000000 + 1 1 2 1 3 0.000000 0.000000 + 1 1 2 2 3 -0.000000 -0.000000 + 1 1 2 3 3 0.000007 -0.000000 + 1 2 -2 1 1 -0.000300 -0.000000 + 1 2 -2 2 1 0.000000 0.000000 + 1 2 -2 3 1 0.000000 0.000000 + 1 2 -2 1 2 -0.000000 0.000000 + 1 2 -2 2 2 -0.004359 -0.000000 + 1 2 -2 3 2 0.000000 -0.000000 + 1 2 -2 1 3 -0.000000 0.000000 + 1 2 -2 2 3 -0.000000 0.000000 + 1 2 -2 3 3 -0.000300 -0.000000 + 1 2 -1 1 1 0.000007 0.000000 + 1 2 -1 2 1 -0.000000 -0.000000 + 1 2 -1 3 1 -0.000000 -0.000000 + 1 2 -1 1 2 -0.000000 -0.000000 + 1 2 -1 2 2 -0.002849 -0.000000 + 1 2 -1 3 2 -0.001254 -0.000000 + 1 2 -1 1 3 -0.000000 0.000000 + 1 2 -1 2 3 -0.001254 0.000000 + 1 2 -1 3 3 -0.002849 -0.000000 + 1 2 0 1 1 0.000074 0.000000 + 1 2 0 2 1 0.000000 0.000000 + 1 2 0 3 1 -0.000000 0.000000 + 1 2 0 1 2 -0.000000 0.000000 + 1 2 0 2 2 0.006086 0.000000 + 1 2 0 3 2 0.000000 -0.000000 + 1 2 0 1 3 -0.000000 0.000000 + 1 2 0 2 3 -0.000000 -0.000000 + 1 2 0 3 3 -0.025260 -0.000000 + 1 2 1 1 1 0.000007 -0.000000 + 1 2 1 2 1 0.000000 0.000000 + 1 2 1 3 1 -0.000000 -0.000000 + 1 2 1 1 2 -0.000000 0.000000 + 1 2 1 2 2 -0.002849 -0.000000 + 1 2 1 3 2 0.001254 0.000000 + 1 2 1 1 3 0.000000 -0.000000 + 1 2 1 2 3 0.001254 -0.000000 + 1 2 1 3 3 -0.002849 -0.000000 + 1 2 2 1 1 -0.000300 -0.000000 + 1 2 2 2 1 0.000000 0.000000 + 1 2 2 3 1 0.000000 0.000000 + 1 2 2 1 2 -0.000000 0.000000 + 1 2 2 2 2 -0.004359 -0.000000 + 1 2 2 3 2 0.000000 -0.000000 + 1 2 2 1 3 -0.000000 0.000000 + 1 2 2 2 3 -0.000000 0.000000 + 1 2 2 3 3 -0.000300 -0.000000 + 2 -2 -2 1 1 -0.000504 0.000000 + 2 -2 -2 2 1 -0.000000 -0.000000 + 2 -2 -2 3 1 0.000000 -0.000000 + 2 -2 -2 1 2 -0.000000 0.000000 + 2 -2 -2 2 2 -0.000504 0.000000 + 2 -2 -2 3 2 0.000000 -0.000000 + 2 -2 -2 1 3 0.000000 0.000000 + 2 -2 -2 2 3 0.000000 0.000000 + 2 -2 -2 3 3 -0.000504 -0.000000 + 2 -2 -1 1 1 -0.000300 -0.000000 + 2 -2 -1 2 1 -0.000000 -0.000000 + 2 -2 -1 3 1 0.000000 -0.000000 + 2 -2 -1 1 2 -0.000000 0.000000 + 2 -2 -1 2 2 -0.000300 0.000000 + 2 -2 -1 3 2 -0.000000 0.000000 + 2 -2 -1 1 3 -0.000000 0.000000 + 2 -2 -1 2 3 -0.000000 -0.000000 + 2 -2 -1 3 3 -0.004359 -0.000000 + 2 -2 0 1 1 0.000729 -0.000000 + 2 -2 0 2 1 -0.000000 -0.000000 + 2 -2 0 3 1 0.000000 -0.000000 + 2 -2 0 1 2 -0.000000 0.000000 + 2 -2 0 2 2 0.000729 0.000000 + 2 -2 0 3 2 0.000000 0.000000 + 2 -2 0 1 3 0.000000 0.000000 + 2 -2 0 2 3 0.000000 -0.000000 + 2 -2 0 3 3 -0.026537 0.000000 + 2 -2 1 1 1 -0.000300 0.000000 + 2 -2 1 2 1 -0.000000 -0.000000 + 2 -2 1 3 1 -0.000000 -0.000000 + 2 -2 1 1 2 -0.000000 0.000000 + 2 -2 1 2 2 -0.000300 -0.000000 + 2 -2 1 3 2 -0.000000 0.000000 + 2 -2 1 1 3 0.000000 0.000000 + 2 -2 1 2 3 -0.000000 -0.000000 + 2 -2 1 3 3 -0.004359 0.000000 + 2 -2 2 1 1 -0.000504 0.000000 + 2 -2 2 2 1 -0.000000 -0.000000 + 2 -2 2 3 1 0.000000 -0.000000 + 2 -2 2 1 2 -0.000000 0.000000 + 2 -2 2 2 2 -0.000504 0.000000 + 2 -2 2 3 2 0.000000 -0.000000 + 2 -2 2 1 3 0.000000 0.000000 + 2 -2 2 2 3 0.000000 0.000000 + 2 -2 2 3 3 -0.000504 -0.000000 + 2 -1 -2 1 1 -0.004359 -0.000000 + 2 -1 -2 2 1 -0.000000 0.000000 + 2 -1 -2 3 1 0.000000 0.000000 + 2 -1 -2 1 2 0.000000 -0.000000 + 2 -1 -2 2 2 -0.000300 -0.000000 + 2 -1 -2 3 2 -0.000000 -0.000000 + 2 -1 -2 1 3 -0.000000 -0.000000 + 2 -1 -2 2 3 0.000000 0.000000 + 2 -1 -2 3 3 -0.000300 -0.000000 + 2 -1 -1 1 1 -0.002849 -0.000000 + 2 -1 -1 2 1 -0.000000 0.000000 + 2 -1 -1 3 1 0.001254 0.000000 + 2 -1 -1 1 2 0.000000 0.000000 + 2 -1 -1 2 2 0.000007 0.000000 + 2 -1 -1 3 2 0.000000 -0.000000 + 2 -1 -1 1 3 0.001254 0.000000 + 2 -1 -1 2 3 -0.000000 -0.000000 + 2 -1 -1 3 3 -0.002849 -0.000000 + 2 -1 0 1 1 0.006086 -0.000000 + 2 -1 0 2 1 -0.000000 0.000000 + 2 -1 0 3 1 0.000000 0.000000 + 2 -1 0 1 2 0.000000 -0.000000 + 2 -1 0 2 2 0.000074 0.000000 + 2 -1 0 3 2 0.000000 0.000000 + 2 -1 0 1 3 -0.000000 -0.000000 + 2 -1 0 2 3 0.000000 -0.000000 + 2 -1 0 3 3 -0.025260 -0.000000 + 2 -1 1 1 1 -0.002849 0.000000 + 2 -1 1 2 1 -0.000000 -0.000000 + 2 -1 1 3 1 -0.001254 -0.000000 + 2 -1 1 1 2 0.000000 -0.000000 + 2 -1 1 2 2 0.000007 -0.000000 + 2 -1 1 3 2 0.000000 -0.000000 + 2 -1 1 1 3 -0.001254 0.000000 + 2 -1 1 2 3 -0.000000 -0.000000 + 2 -1 1 3 3 -0.002849 0.000000 + 2 -1 2 1 1 -0.004359 -0.000000 + 2 -1 2 2 1 -0.000000 0.000000 + 2 -1 2 3 1 0.000000 0.000000 + 2 -1 2 1 2 0.000000 -0.000000 + 2 -1 2 2 2 -0.000300 -0.000000 + 2 -1 2 3 2 -0.000000 -0.000000 + 2 -1 2 1 3 -0.000000 -0.000000 + 2 -1 2 2 3 0.000000 0.000000 + 2 -1 2 3 3 -0.000300 -0.000000 + 2 0 -2 1 1 -0.026537 0.000000 + 2 0 -2 2 1 -0.000000 -0.000000 + 2 0 -2 3 1 0.000000 0.000000 + 2 0 -2 1 2 -0.000000 0.000000 + 2 0 -2 2 2 0.000729 0.000000 + 2 0 -2 3 2 0.000000 -0.000000 + 2 0 -2 1 3 0.000000 -0.000000 + 2 0 -2 2 3 0.000000 0.000000 + 2 0 -2 3 3 0.000729 -0.000000 + 2 0 -1 1 1 -0.025260 -0.000000 + 2 0 -1 2 1 -0.000000 -0.000000 + 2 0 -1 3 1 0.000000 0.000000 + 2 0 -1 1 2 0.000000 -0.000000 + 2 0 -1 2 2 0.000074 -0.000000 + 2 0 -1 3 2 -0.000000 0.000000 + 2 0 -1 1 3 0.000000 0.000000 + 2 0 -1 2 3 -0.000000 -0.000000 + 2 0 -1 3 3 0.006086 0.000000 + 2 0 0 1 1 0.011148 -0.000000 + 2 0 0 2 1 -0.000000 -0.000000 + 2 0 0 3 1 0.000000 0.000000 + 2 0 0 1 2 -0.000000 0.000000 + 2 0 0 2 2 0.000272 -0.000000 + 2 0 0 3 2 0.000000 0.000000 + 2 0 0 1 3 0.000000 -0.000000 + 2 0 0 2 3 0.000000 -0.000000 + 2 0 0 3 3 0.011148 -0.000000 + 2 0 1 1 1 -0.025260 0.000000 + 2 0 1 2 1 0.000000 0.000000 + 2 0 1 3 1 0.000000 -0.000000 + 2 0 1 1 2 -0.000000 0.000000 + 2 0 1 2 2 0.000074 0.000000 + 2 0 1 3 2 -0.000000 0.000000 + 2 0 1 1 3 0.000000 -0.000000 + 2 0 1 2 3 -0.000000 -0.000000 + 2 0 1 3 3 0.006086 -0.000000 + 2 0 2 1 1 -0.026537 0.000000 + 2 0 2 2 1 -0.000000 -0.000000 + 2 0 2 3 1 0.000000 0.000000 + 2 0 2 1 2 -0.000000 0.000000 + 2 0 2 2 2 0.000729 0.000000 + 2 0 2 3 2 0.000000 -0.000000 + 2 0 2 1 3 0.000000 -0.000000 + 2 0 2 2 3 0.000000 0.000000 + 2 0 2 3 3 0.000729 -0.000000 + 2 1 -2 1 1 -0.004359 0.000000 + 2 1 -2 2 1 0.000000 0.000000 + 2 1 -2 3 1 -0.000000 0.000000 + 2 1 -2 1 2 -0.000000 -0.000000 + 2 1 -2 2 2 -0.000300 0.000000 + 2 1 -2 3 2 0.000000 -0.000000 + 2 1 -2 1 3 0.000000 -0.000000 + 2 1 -2 2 3 -0.000000 0.000000 + 2 1 -2 3 3 -0.000300 0.000000 + 2 1 -1 1 1 -0.002849 -0.000000 + 2 1 -1 2 1 0.000000 0.000000 + 2 1 -1 3 1 -0.001254 -0.000000 + 2 1 -1 1 2 -0.000000 0.000000 + 2 1 -1 2 2 0.000007 0.000000 + 2 1 -1 3 2 -0.000000 0.000000 + 2 1 -1 1 3 -0.001254 0.000000 + 2 1 -1 2 3 0.000000 0.000000 + 2 1 -1 3 3 -0.002849 -0.000000 + 2 1 0 1 1 0.006086 0.000000 + 2 1 0 2 1 0.000000 0.000000 + 2 1 0 3 1 -0.000000 0.000000 + 2 1 0 1 2 -0.000000 -0.000000 + 2 1 0 2 2 0.000074 -0.000000 + 2 1 0 3 2 0.000000 0.000000 + 2 1 0 1 3 0.000000 -0.000000 + 2 1 0 2 3 0.000000 -0.000000 + 2 1 0 3 3 -0.025260 0.000000 + 2 1 1 1 1 -0.002849 0.000000 + 2 1 1 2 1 0.000000 -0.000000 + 2 1 1 3 1 0.001254 -0.000000 + 2 1 1 1 2 -0.000000 -0.000000 + 2 1 1 2 2 0.000007 -0.000000 + 2 1 1 3 2 -0.000000 0.000000 + 2 1 1 1 3 0.001254 -0.000000 + 2 1 1 2 3 0.000000 0.000000 + 2 1 1 3 3 -0.002849 0.000000 + 2 1 2 1 1 -0.004359 0.000000 + 2 1 2 2 1 0.000000 0.000000 + 2 1 2 3 1 -0.000000 0.000000 + 2 1 2 1 2 -0.000000 -0.000000 + 2 1 2 2 2 -0.000300 0.000000 + 2 1 2 3 2 0.000000 -0.000000 + 2 1 2 1 3 0.000000 -0.000000 + 2 1 2 2 3 -0.000000 0.000000 + 2 1 2 3 3 -0.000300 0.000000 + 2 2 -2 1 1 -0.000504 0.000000 + 2 2 -2 2 1 -0.000000 -0.000000 + 2 2 -2 3 1 0.000000 -0.000000 + 2 2 -2 1 2 -0.000000 0.000000 + 2 2 -2 2 2 -0.000504 0.000000 + 2 2 -2 3 2 0.000000 -0.000000 + 2 2 -2 1 3 0.000000 0.000000 + 2 2 -2 2 3 0.000000 0.000000 + 2 2 -2 3 3 -0.000504 -0.000000 + 2 2 -1 1 1 -0.000300 -0.000000 + 2 2 -1 2 1 -0.000000 -0.000000 + 2 2 -1 3 1 0.000000 -0.000000 + 2 2 -1 1 2 -0.000000 0.000000 + 2 2 -1 2 2 -0.000300 0.000000 + 2 2 -1 3 2 -0.000000 0.000000 + 2 2 -1 1 3 -0.000000 0.000000 + 2 2 -1 2 3 -0.000000 -0.000000 + 2 2 -1 3 3 -0.004359 -0.000000 + 2 2 0 1 1 0.000729 -0.000000 + 2 2 0 2 1 -0.000000 -0.000000 + 2 2 0 3 1 0.000000 -0.000000 + 2 2 0 1 2 -0.000000 0.000000 + 2 2 0 2 2 0.000729 0.000000 + 2 2 0 3 2 0.000000 0.000000 + 2 2 0 1 3 0.000000 0.000000 + 2 2 0 2 3 0.000000 -0.000000 + 2 2 0 3 3 -0.026537 0.000000 + 2 2 1 1 1 -0.000300 0.000000 + 2 2 1 2 1 -0.000000 -0.000000 + 2 2 1 3 1 -0.000000 -0.000000 + 2 2 1 1 2 -0.000000 0.000000 + 2 2 1 2 2 -0.000300 -0.000000 + 2 2 1 3 2 -0.000000 0.000000 + 2 2 1 1 3 0.000000 0.000000 + 2 2 1 2 3 -0.000000 -0.000000 + 2 2 1 3 3 -0.004359 0.000000 + 2 2 2 1 1 -0.000504 0.000000 + 2 2 2 2 1 -0.000000 -0.000000 + 2 2 2 3 1 0.000000 -0.000000 + 2 2 2 1 2 -0.000000 0.000000 + 2 2 2 2 2 -0.000504 0.000000 + 2 2 2 3 2 0.000000 -0.000000 + 2 2 2 1 3 0.000000 0.000000 + 2 2 2 2 3 0.000000 0.000000 + 2 2 2 3 3 -0.000504 -0.000000 diff --git a/v4.0.0/_downloads/e0e8c552f0930992e8848c8956202f74/null_solver.py b/v4.0.0/_downloads/e0e8c552f0930992e8848c8956202f74/null_solver.py new file mode 100644 index 00000000..f8d95e69 --- /dev/null +++ b/v4.0.0/_downloads/e0e8c552f0930992e8848c8956202f74/null_solver.py @@ -0,0 +1,86 @@ +# +# DCore -- Integrated DMFT software for correlated electrons +# Copyright (C) 2017 The University of Tokyo +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + + +from dcore._dispatcher import * + +from ..tools import make_block_gf, launch_mpi_subprocesses, extract_H0 +from .base import SolverBase + + +class NullSolver(SolverBase): + + def __init__(self, beta, gf_struct, u_mat, n_iw=1025): + """ + Initialize the solver. + """ + + super(NullSolver, self).__init__(beta, gf_struct, u_mat, n_iw) + + def solve(self, rot, mpirun_command, params_kw): + """ + In addition to the parameters described in the docstring of SolverBase, + one can pass solver-dependent parameters using params_kw. For example, + exec_path : str, path to an executable, mandatory + dry_run : bool, actual computation is not performed if dry_run is True, optional + """ + return + + # (1) Set configuration for the impurity solver + # input: + # self.beta + # self.set_G0_iw + # self.u_mat + # + # Additionally, the following variables may be used: + # self.n_orb + # self.n_flavor + # self.gf_struct + # self.use_spin_orbit + + # (1a) If H0 is necessary: + # Non-interacting part of the local Hamiltonian including chemical potential + # Make sure H0 is hermite. + # Ordering of index in H0 is spin1, spin1, ..., spin2, spin2, ... + H0 = extract_H0(self._G0_iw, self.block_names) + + # (1b) If Delta(iw) and/or Delta(tau) are necessary: + # Compute the hybridization function from G0: + # Delta(iwn_n) = iw_n - H0 - G0^{-1}(iw_n) + # H0 is extracted from the tail of the Green's function. + self._Delta_iw = delta(self._G0_iw) + Delta_tau = make_block_gf(GfImTime, self.gf_struct, self.beta) + for name, block in self._Delta_iw: + Delta_tau[name] << Fourier(self._Delta_iw[name]) + + # (1c) Set U_{ijkl} for the solver + # for i, j, k, l in product(range(self.n_flavors), repeat=4): + # self.u_mat[i, j, k, l] + + # (2) Run a working horse + with open('./output', 'w') as output_f: + launch_mpi_subprocesses(mpirun_command, [exec_path, 'input.ini'], output_f) + + # (3) Copy results into + # self._Sigma_iw + # self._Gimp_iw + # Only _Sigma_iw is used for updating Delta(iw), but _Gimp_iw is also required. + # _Gimp_iw used for, e.g., checking the self-consistency condition. + + def name(self): + return "null" diff --git a/v4.0.0/_downloads/e10fb35b0c2ca5e981350e32076f2c59/dmft_square_ctseg.ini b/v4.0.0/_downloads/e10fb35b0c2ca5e981350e32076f2c59/dmft_square_ctseg.ini new file mode 100644 index 00000000..554b498e --- /dev/null +++ b/v4.0.0/_downloads/e10fb35b0c2ca5e981350e32076f2c59/dmft_square_ctseg.ini @@ -0,0 +1,39 @@ +[model] +seedname = square +lattice = square +norb = 1 +nelec = 1.0 +t = -1.0 +kanamori = [(4.0, 0.0, 0.0)] +nk = 8 + +[system] +beta = 10.0 +n_iw = 1000 +prec_mu = 0.001 +fix_mu = True +mu = 2 + +[impurity_solver] +name = ALPS/cthyb-seg +exec_path{str} =/path/to/alps_cthyb +cthyb.TEXT_OUTPUT{int} = 1 +cthyb.MEASUREMENT_freq{int} = 1 +MEASURE_gw{int} = 1 +MAX_TIME{int} = 100 +cthyb.N_MEAS{int} = 50 +cthyb.THERMALIZATION{int}=1000 +cthyb.SWEEPS{int}=100000000 + +[control] +max_step = 20 +sigma_mix = 1.0 +time_reversal = True + +[tool] +broadening = 0.4 +knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)] +nk_line = 100 +omega_max =6.0 +omega_min =-5.0 +Nomega = 400 diff --git a/v4.0.0/_downloads/e7ce6a1c83ef95fcbe392f6296abd452/pw2wan_srvo3.in b/v4.0.0/_downloads/e7ce6a1c83ef95fcbe392f6296abd452/pw2wan_srvo3.in new file mode 100644 index 00000000..bf226cff --- /dev/null +++ b/v4.0.0/_downloads/e7ce6a1c83ef95fcbe392f6296abd452/pw2wan_srvo3.in @@ -0,0 +1,11 @@ +&inputpp + outdir = './' + prefix = 'srvo3' + seedname = 'srvo3' + spin_component = 'none' + write_mmn = .true. + write_amn = .true. + write_unk = .true. + write_dmn = .true. + wan_mode = 'standalone' +/ diff --git a/v4.0.0/_downloads/f5004a655513f71ac3586bee0d7b700c/mk_hr_2.py b/v4.0.0/_downloads/f5004a655513f71ac3586bee0d7b700c/mk_hr_2.py new file mode 100644 index 00000000..2c0c5004 --- /dev/null +++ b/v4.0.0/_downloads/f5004a655513f71ac3586bee0d7b700c/mk_hr_2.py @@ -0,0 +1,62 @@ +from __future__ import print_function +from datetime import datetime +from itertools import product +import numpy + +# spatial dimension: 1, 2, or 3 +dim = 2 + +# Size of unit cell +L = 2 +nrpts = 3**dim +t = 1 +filename = 'afm_dim{}_hr.dat'.format(dim) + +num_sites = L**dim + + +Lx = 2 if dim>=1 else 1 +Ly = 2 if dim>=2 else 1 +Lz = 2 if dim>=3 else 1 + +HamR_full = numpy.zeros([nrpts, num_sites, num_sites]) +irvec = numpy.empty((nrpts, 3), dtype=int) +pos_in_unit_cell = numpy.array([ [i,j,k] for i, j, k in product(range(Lx), range(Ly), range(Lz))]) + +ndgen = numpy.ones((nrpts,), dtype=int) + +Rx = 1 if dim>=1 else 0 +Ry = 1 if dim>=2 else 0 +Rz = 1 if dim>=3 else 0 + +primitive_vecs = numpy.array([[Rx*2, 0, 0], [0, Ry*2, 0], [0, 0, Rz*2]]) + +for ir, (X, Y, Z) in enumerate(product(range(-Rx,Rx+1), range(-Ry,Ry+1), range(-Rz,Rz+1))): + irvec[ir, :] = (X, Y, Z) + + # <0 |H| R> + for i_lsite, i_rsite in product(range(num_sites), repeat=2): + pos_lsite = pos_in_unit_cell[i_lsite] + pos_rsite = pos_in_unit_cell[i_rsite] + X * primitive_vecs[0] + Y * primitive_vecs[1] + Z * primitive_vecs[2] + + if numpy.sum((pos_lsite - pos_rsite)**2) == 1: + HamR_full[ir, i_lsite, i_rsite] = - t + +print('Use the following line for input of DCore') +print('corr_to_inequiv = ', ", ".join([str(numpy.sum(p)%2) for p in pos_in_unit_cell])) + +# Write data to *_hr.dat +with open(filename, 'w') as f: + print(datetime.now(), file=f) + print(num_sites, file=f) + print(nrpts, file=f) + for k in range(nrpts): + print(ndgen[k], file=f, end=' ') + if k % 15 == 14 or k == nrpts - 1: + print('', file=f) + + for k in range(nrpts): + for j, i in product(range(num_sites), repeat=2): + print("{} {} {} {} {} {} {}".format( + irvec[k, 0], irvec[k, 1], irvec[k, 2], + i + 1, j + 1, HamR_full[k, i, j], 0.0), file=f) diff --git a/v4.0.0/_downloads/fbf4aa10c0a8f5d138fa99ae99efb2de/scf_srvo3.in b/v4.0.0/_downloads/fbf4aa10c0a8f5d138fa99ae99efb2de/scf_srvo3.in new file mode 100644 index 00000000..8edfef02 --- /dev/null +++ b/v4.0.0/_downloads/fbf4aa10c0a8f5d138fa99ae99efb2de/scf_srvo3.in @@ -0,0 +1,29 @@ +&CONTROL + calculation = 'scf' + outdir = './' + pseudo_dir = './' + prefix = 'srvo3' +/ +&SYSTEM + ibrav = 1 + celldm(1) = 7.29738 + ntyp = 3 + nat = 5 + ecutwfc = 50.0 + ecutrho = 400.0 + occupations = "tetrahedra_opt" +/ +&ELECTRONS +/ +ATOMIC_SPECIES + Sr 87.6200000000 Sr.pbe-spn-kjpaw_psl.0.2.3.upf + V 50.9415000000 V.pbe-spn-kjpaw_psl.0.2.3.upf + O 15.9994000000 O.pbe-n-kjpaw_psl.0.1.upf +ATOMIC_POSITIONS crystal + Sr 0.00000000000000 0.00000000000000 0.00000000000000 + V 0.50000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.00000000000000 0.50000000000000 + O 0.00000000000000 0.50000000000000 0.50000000000000 + O 0.50000000000000 0.50000000000000 0.00000000000000 +K_POINTS automatic + 8 8 8 0 0 0 diff --git a/v4.0.0/_downloads/fe6ab51628368b87c407fbbc52cae95f/sigma-PRL101-166405.txt b/v4.0.0/_downloads/fe6ab51628368b87c407fbbc52cae95f/sigma-PRL101-166405.txt new file mode 100644 index 00000000..8777c980 --- /dev/null +++ b/v4.0.0/_downloads/fe6ab51628368b87c407fbbc52cae95f/sigma-PRL101-166405.txt @@ -0,0 +1,33 @@ + 0.18964536192848813 + 0.41640446746265436 + 0.5710277522493601 + 0.7015645852323669 + 0.8114992054475043 + 0.9042933910826694 + 0.9902314028858448 + 1.0658739235170693 + 1.1312097225523758 + 1.193094973823753 + 1.258419542435093 + 1.2997924243303391 + 1.3445597018696787 + 1.3756370925929737 + 1.4203819092843788 + 1.4446255870236195 + 1.4688468039149258 + 1.4930567903822651 + 1.513816229085675 + 1.5380262155530142 + 1.538318206576162 + 1.55223270187155 + 1.559324714606851 + 1.5697998925622771 + 1.5769031357215453 + 1.5805782919648188 + 1.5842309873601577 + 1.5878612219075625 + 1.5846802043188466 + 1.5883104388662512 + 1.5919631342615903 + 1.5921877427409348 + diff --git a/v4.0.0/_images/QMCparam.png b/v4.0.0/_images/QMCparam.png new file mode 100644 index 00000000..9ab86096 Binary files /dev/null and b/v4.0.0/_images/QMCparam.png differ diff --git a/v4.0.0/_images/akw.png b/v4.0.0/_images/akw.png new file mode 100644 index 00000000..cbe25236 Binary files /dev/null and b/v4.0.0/_images/akw.png differ diff --git a/v4.0.0/_images/akw1.png b/v4.0.0/_images/akw1.png new file mode 100644 index 00000000..9c78ba53 Binary files /dev/null and b/v4.0.0/_images/akw1.png differ diff --git a/v4.0.0/_images/akw2.png b/v4.0.0/_images/akw2.png new file mode 100644 index 00000000..ee840e2b Binary files /dev/null and b/v4.0.0/_images/akw2.png differ diff --git a/v4.0.0/_images/akw_ctseg.png b/v4.0.0/_images/akw_ctseg.png new file mode 100644 index 00000000..821ea2c0 Binary files /dev/null and b/v4.0.0/_images/akw_ctseg.png differ diff --git a/v4.0.0/_images/akw_srvo3.png b/v4.0.0/_images/akw_srvo3.png new file mode 100644 index 00000000..153249a0 Binary files /dev/null and b/v4.0.0/_images/akw_srvo3.png differ diff --git a/v4.0.0/_images/akw_srvo31.png b/v4.0.0/_images/akw_srvo31.png new file mode 100644 index 00000000..73c4975f Binary files /dev/null and b/v4.0.0/_images/akw_srvo31.png differ diff --git a/v4.0.0/_images/akw_srvo32.png b/v4.0.0/_images/akw_srvo32.png new file mode 100644 index 00000000..73c4975f Binary files /dev/null and b/v4.0.0/_images/akw_srvo32.png differ diff --git a/v4.0.0/_images/akw_srvo33.png b/v4.0.0/_images/akw_srvo33.png new file mode 100644 index 00000000..c4d20ff1 Binary files /dev/null and b/v4.0.0/_images/akw_srvo33.png differ diff --git a/v4.0.0/_images/band_srvo3.png b/v4.0.0/_images/band_srvo3.png new file mode 100644 index 00000000..05807f1a Binary files /dev/null and b/v4.0.0/_images/band_srvo3.png differ diff --git a/v4.0.0/_images/dos.png b/v4.0.0/_images/dos.png new file mode 100644 index 00000000..f4cef9d0 Binary files /dev/null and b/v4.0.0/_images/dos.png differ diff --git a/v4.0.0/_images/dos1.png b/v4.0.0/_images/dos1.png new file mode 100644 index 00000000..be70a9d7 Binary files /dev/null and b/v4.0.0/_images/dos1.png differ diff --git a/v4.0.0/_images/iter_mu.png b/v4.0.0/_images/iter_mu.png new file mode 100644 index 00000000..3e2b04b4 Binary files /dev/null and b/v4.0.0/_images/iter_mu.png differ diff --git a/v4.0.0/_images/iter_sigma-ish0.png b/v4.0.0/_images/iter_sigma-ish0.png new file mode 100644 index 00000000..47699ee2 Binary files /dev/null and b/v4.0.0/_images/iter_sigma-ish0.png differ diff --git a/v4.0.0/_images/iter_sigma-ish01.png b/v4.0.0/_images/iter_sigma-ish01.png new file mode 100644 index 00000000..54bb7815 Binary files /dev/null and b/v4.0.0/_images/iter_sigma-ish01.png differ diff --git a/v4.0.0/_images/iter_sigma-ish02.png b/v4.0.0/_images/iter_sigma-ish02.png new file mode 100644 index 00000000..c2027f70 Binary files /dev/null and b/v4.0.0/_images/iter_sigma-ish02.png differ diff --git a/v4.0.0/_images/iter_sigma-ish03.png b/v4.0.0/_images/iter_sigma-ish03.png new file mode 100644 index 00000000..52ed5224 Binary files /dev/null and b/v4.0.0/_images/iter_sigma-ish03.png differ diff --git a/v4.0.0/_images/iter_sigma-ish04.png b/v4.0.0/_images/iter_sigma-ish04.png new file mode 100644 index 00000000..4e5d7642 Binary files /dev/null and b/v4.0.0/_images/iter_sigma-ish04.png differ diff --git a/v4.0.0/_images/iter_sigma-ish1.png b/v4.0.0/_images/iter_sigma-ish1.png new file mode 100644 index 00000000..34952574 Binary files /dev/null and b/v4.0.0/_images/iter_sigma-ish1.png differ diff --git a/v4.0.0/_images/iter_spin-ish0.png b/v4.0.0/_images/iter_spin-ish0.png new file mode 100644 index 00000000..b8b2784b Binary files /dev/null and b/v4.0.0/_images/iter_spin-ish0.png differ diff --git a/v4.0.0/_images/iter_spin-ish1.png b/v4.0.0/_images/iter_spin-ish1.png new file mode 100644 index 00000000..e6a05f1e Binary files /dev/null and b/v4.0.0/_images/iter_spin-ish1.png differ diff --git a/v4.0.0/_images/legendre.png b/v4.0.0/_images/legendre.png new file mode 100644 index 00000000..e49fe866 Binary files /dev/null and b/v4.0.0/_images/legendre.png differ diff --git a/v4.0.0/_images/legendre_sigma.png b/v4.0.0/_images/legendre_sigma.png new file mode 100644 index 00000000..21180c3f Binary files /dev/null and b/v4.0.0/_images/legendre_sigma.png differ diff --git a/v4.0.0/_images/model.png b/v4.0.0/_images/model.png new file mode 100644 index 00000000..aeb41f64 Binary files /dev/null and b/v4.0.0/_images/model.png differ diff --git a/v4.0.0/_images/pade.png b/v4.0.0/_images/pade.png new file mode 100644 index 00000000..17789ed7 Binary files /dev/null and b/v4.0.0/_images/pade.png differ diff --git a/v4.0.0/_images/renorm.png b/v4.0.0/_images/renorm.png new file mode 100644 index 00000000..f51e2fb2 Binary files /dev/null and b/v4.0.0/_images/renorm.png differ diff --git a/v4.0.0/_images/sigma.png b/v4.0.0/_images/sigma.png new file mode 100644 index 00000000..f8cbab9b Binary files /dev/null and b/v4.0.0/_images/sigma.png differ diff --git a/v4.0.0/_images/sigma_ave.png b/v4.0.0/_images/sigma_ave.png new file mode 100644 index 00000000..d6e5dba0 Binary files /dev/null and b/v4.0.0/_images/sigma_ave.png differ diff --git a/v4.0.0/_images/spm.png b/v4.0.0/_images/spm.png new file mode 100644 index 00000000..5cb15fe4 Binary files /dev/null and b/v4.0.0/_images/spm.png differ diff --git a/v4.0.0/_images/struct_srvo3.png b/v4.0.0/_images/struct_srvo3.png new file mode 100644 index 00000000..02f3a2b4 Binary files /dev/null and b/v4.0.0/_images/struct_srvo3.png differ diff --git a/v4.0.0/_images/structure.png b/v4.0.0/_images/structure.png new file mode 100644 index 00000000..552f937d Binary files /dev/null and b/v4.0.0/_images/structure.png differ diff --git a/v4.0.0/_images/structure_post.png b/v4.0.0/_images/structure_post.png new file mode 100644 index 00000000..7e51fb5b Binary files /dev/null and b/v4.0.0/_images/structure_post.png differ diff --git a/v4.0.0/_images/tailfit.png b/v4.0.0/_images/tailfit.png new file mode 100644 index 00000000..a57a426e Binary files /dev/null and b/v4.0.0/_images/tailfit.png differ diff --git a/v4.0.0/_images/vesta_2d_data_display.png b/v4.0.0/_images/vesta_2d_data_display.png new file mode 100644 index 00000000..bf03a986 Binary files /dev/null and b/v4.0.0/_images/vesta_2d_data_display.png differ diff --git a/v4.0.0/_images/vesta_slice.png b/v4.0.0/_images/vesta_slice.png new file mode 100644 index 00000000..8f01c886 Binary files /dev/null and b/v4.0.0/_images/vesta_slice.png differ diff --git a/v4.0.0/_sources/about.rst.txt b/v4.0.0/_sources/about.rst.txt new file mode 100644 index 00000000..846e7a2f --- /dev/null +++ b/v4.0.0/_sources/about.rst.txt @@ -0,0 +1,95 @@ +.. index:: DFTTools + +.. module:: dcore + +About DCore +=========== + +License +------- + +The DCore package is published under the +`GNU General Public License, version 3 `_. + +The following files are from the TRIQS (Toolbox for Research on Interacting Quantum Systems). + +- https://github.com/issp-center-dev/DCore/blob/develop/python/impurity_solvers/triqs_hubbard_I_impl.py +- https://github.com/issp-center-dev/DCore/tree/develop/python/converters + +We would like to express our sincere gratitude to TRIQS's developers. + +This package of ver.1.0 was developed under the support of "Project for advancement of software usability in materials science" by The Institute for Solid State Physics, The University of Tokyo. The copyright of DCore ver.1.0 belongs to The University of Tokyo. + +.. _dcore_paper: + +Citing DCore +------------------- +If we has used DCore in your research, and you would like to acknowledge the project in your academic publication, +please cite the following paper: + +- `Hiroshi Shinaoka, Junya Otsuki, Mitsuaki Kawamura, Nayuta Takemori, Kazuyoshi Yoshimi, SciPost Phys. 10, 117 (2021) `_ + +- BiBTex:: + + @Article{10.21468/SciPostPhys.10.5.117, + title={{DCore: Integrated DMFT software for correlated electrons}}, + author={Hiroshi Shinaoka and Junya Otsuki and Mitsuaki Kawamura and Nayuta Takemori and Kazuyoshi Yoshimi}, + journal={SciPost Phys.}, + volume={10}, + issue={5}, + pages={117}, + year={2021}, + publisher={SciPost}, + doi={10.21468/SciPostPhys.10.5.117}, + url={https://scipost.org/10.21468/SciPostPhys.10.5.117}, + } + +Authors & Quotation +------------------- + +**Developers**: + + +- ver. 2.0- + + H. Shinaoka, J. Otsuki, K. Yoshimi, M. Kawamura, N. Takemori, Y. Motoyama + +- ver. 1.1 (released on 2019/1/25) + +- ver. 1.0 (released on 2018/3/24) + + H. Shinaoka, J. Otsuki, K. Yoshimi, M. Kawamura, T. Kato + +**Related papers**: + +This package depends on TRIQS libraries and applications. +Please cite relevant papers for these original libraries. + +* `TRIQS libraries `_ +* `TRIQS/DFTTools `_ + +In addition to the above two libraries, you may use impurity solvers listed below. + +* `TRIQS/cthyb `_ +* `TRIQS/hubbardI `_ +* `ALPS/CT-HYB `_ +* `ALPS/CT-HYB-SEGMENT `_ + +For some of them, they provide a BibTeX entry for each paper in the above cites. + +When you use the SpM method for analytic continuation, please cite the following paper: + +* `Junya Otsuki, Masayuki Ohzeki, Hiroshi Shinaoka, and Kazuyoshi Yoshimi, Phys. Rev. E 95, 061302(R) (2017) `_ + +GitHub repository +----------------- + +You can download the source code of **DCore** from https://github.com/issp-center-dev/DCore. + +Disclaimer +---------- + +The program is provided as is, i.e. WITHOUT ANY WARRANTY of any kind, as +stated in the license. In particular, its authors and contributors will take +no responsibility for any possible bugs or any improper use of these programs, +including those resulting in incorrect scientific publications. diff --git a/v4.0.0/_sources/analytic_continuation.rst.txt b/v4.0.0/_sources/analytic_continuation.rst.txt new file mode 100644 index 00000000..b438f62d --- /dev/null +++ b/v4.0.0/_sources/analytic_continuation.rst.txt @@ -0,0 +1,19 @@ +Analytic continuation +===================== + +The analytic continuation is a method to obtain the real-frequency Green's function from the imaginary-frequency Green's function. +The program ``dcore_anacont`` performs the analytic continuation with the Pade approximation and the sparse-modeling method. + +.. toctree:: + :maxdepth: 1 + + analytic_continuation/pade + analytic_continuation/spm + + +Users can also use external codes for the analytic continuation. + +.. toctree:: + :maxdepth: 1 + + analytic_continuation/external_code diff --git a/v4.0.0/_sources/analytic_continuation/external_code.rst.txt b/v4.0.0/_sources/analytic_continuation/external_code.rst.txt new file mode 100644 index 00000000..7fefda0d --- /dev/null +++ b/v4.0.0/_sources/analytic_continuation/external_code.rst.txt @@ -0,0 +1,55 @@ +How to use an external AC code +=============================== + +You can use an external code to perform AC of the self-energy from the Matsubara frequency to the real frequency. +The only thing the code needs to do is to write the self-energy in the real frequency as a NumPy binary file, ``post/sigma_w.npz`` +from the Matsubara frequency self-energy stored in ``seedname_sigma_iw.npz``. + +Input file: ``seedname_sigma_iw.npz`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``seedname_sigma_iw.npz`` is a NumPy binary file, so you can load it with ``numpy.load`` function. + +.. code-block:: python3 + + import numpy as np + npz = np.load("./seedname_sigma_iw.npz") + +The returned object, ``npz``, is a dictionary. The keys are as follows: + +.. csv-table:: + :header: Key, Type, Description + :widths: 5, 10, 20 + + "beta", float, "Inverse temperature" + "iwn", array of complex, "Matsubara frequency" + "data#", array of complex, "Self-energy of #-th inequivalent shell" + "hartree\_fock#", array of complex, "Hartree-Fock term of #-th inequivalent shell" + +Here, "#" is 0, 1, 2, ... . + +"data#" is a :math:`N_{i\omega} \times N_\text{orb} \times N_\text{orb}` array, where :math:`N_{i\omega}` is the number of Matsubara frequencies, and :math:`N_\text{orb}` is the number of orbitals. + +"hartree\_fock#" is a Hartree-Fock term of "#"-th inequivalent shell, :math:`H^\text{f}`. + +.. math:: + + H^\text{f}_{ik} = \sum_{jl} U_{ijkl} \left\langle c^\dagger_j c_l \right\rangle + +The data format is a :math:`N_\text{orb} \times N_\text{orb}` array, where :math:`N_\text{orb}` is the number of orbitals. + +Output file: ``post/sigma_w.npz`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output file, ``post/sigma_w.npz``, is also a NumPy binary file storing one dictionary with the following keys: + +.. csv-table:: + :header: Key, Type, Description + :widths: 5, 10, 20 + + "omega", array of real, "frequency" + "data#", array of complex, "Self-energy of #-th inequivalent shell" + +Here, "#" is 0, 1, 2, ... . + +"data#" is a :math:`N_{\omega} \times N_\text{orb} \times N_\text{orb}` array, where :math:`N_{\omega}` is the number of frequencies, and :math:`N_\text{orb}` is the number of orbitals. \ No newline at end of file diff --git a/v4.0.0/_sources/analytic_continuation/pade.rst.txt b/v4.0.0/_sources/analytic_continuation/pade.rst.txt new file mode 100644 index 00000000..03fc7d03 --- /dev/null +++ b/v4.0.0/_sources/analytic_continuation/pade.rst.txt @@ -0,0 +1,63 @@ +Analytic continuation with the Pade approximation +==================================================== + +The Pade approximation is a simple and widely used method for the analytic continuation. +The Pade approximation is based on the assumption that the Green's function can be approximated by a rational function of the frequency. +The Pade approximation is implemented in the ``dcore_anacont`` program. + +The common parameters of ``dcore_anacont`` is specified in the ``[post.anacont]`` block as follows: + +.. code-block:: + + [post.anacont] + solver = pade + omega_min = -6.0 + omega_max = 6.0 + Nomega = 101 + show_result = false + save_result = true + +``solver`` specifies the method for the analytic continuation. +``omega_min``, ``omega_max``, and ``Nomega`` specify the frequency range and the number of frequency points for the output; +the frequency points are linearly spaced between ``omega_min`` and ``omega_max``. +``show_result`` specifies whether the obtained self-energies :math:`\mathrm{Re}\Sigma_{ij}(\omega)` and :math:`\mathrm{Im}\Sigma_{ij}(\omega)` are displayed on the screen by using Matplotlib. +``save_result`` specifies whether the plots of the obtained self-energies are saved in the ``work/post`` directory as ``sigma_w_{ish}_{iorb}_{jorb}.png``, +where ``ish`` is the shell index, and ``iorb`` and ``jorb`` are the orbital indices. +The output directory ``work/post`` can be changed by the parameter ``dir_work`` in the ``[post]`` block. + + +The parameters for the Pade approximation are specified in the ``[post.anacont.pade]`` block as follows: + +.. code-block:: + + [post.anacont.pade] + iomega_max = 10000 + n_min = 0 + n_max = 100 + eta = 0.01 + +``iomega_max``, ``n_min``, and ``n_max`` specify how many Matsubara frequencies are used. +First, ``iomega_max`` specifies the cutoff of Matsubara frequency, :math:`\omega_m`. +When ``iomega_max > 0``, solve :math:`\omega_N = \pi/\beta (2N+1) \le \omega_m < \omega_{N+1}` and obtain :math:`N`. +If :math:`N < N_\text{min}` or :math:`N > N_\text{max}`, :math:`N` is replaced by :math:`N_\text{min}` or :math:`N_\text{max}`. +Otherwise (``iomega_max == 0``, default value), :math:`N = N_\text{max}`. +Then, the Matsubara frequencies :math:`\omega_n` for :math:`0 \le n \le N` are used. +When the number of self-energies calculated by the DMFT loop is less than :math:`N`, all the data are used. + +``eta`` is the imaginary frequency shift for the analytic continuation, that is, the analytic continuation is performed as :math:`i\omega_n \to \omega + i\eta`. + +Example +-------- + +The following input file is used to perform a DMFT calculation of a Hubbard model on a square lattice with the Pomerol solver and an analytic continuation of the self-energy with the Pade approximation: + +:download:`pade.ini ` + +.. literalinclude:: pade.ini + :language: ini + +The figure below shows the self-energy in real frequency obtained by analytic continuation (``work/post/sigma_w_0_0_0.png``). + +.. image:: pade.png + :width: 700 + :align: center diff --git a/v4.0.0/_sources/analytic_continuation/spm.rst.txt b/v4.0.0/_sources/analytic_continuation/spm.rst.txt new file mode 100644 index 00000000..9cb9cc5b --- /dev/null +++ b/v4.0.0/_sources/analytic_continuation/spm.rst.txt @@ -0,0 +1,60 @@ +Analytic continuation with the sparse-modeling method +======================================================== + +The sparse-modeling (SpM) method is a method for the analytic continuation of the self-energy by solving the integral equation + +.. math:: + + \Sigma(\tau) = \int_{-\infty}^{\infty} d\omega \frac{e^{-\tau \omega}}{1+e^{-\beta\omega}} \rho(\omega) + +where :math:`\Sigma(\tau)` is the self-energy in imaginary time and :math:`\rho(\omega) = -\mathrm{Im}\Sigma(\omega)/\pi` is the spectral function in real frequency. +The real part of the self-energy is obtained by the Kramers-Kronig transformation from the imaginary part. + +In `the SpM method `_, the kernel matrix of the integral equation, :math:`e^{-\tau\omega}/(1+e^{-\beta\omega})` is decomposed by the singular value decomposition (SVD), +and the self-energies :math:`\Sigma(\tau)` and :math:`\Sigma(\omega)` are transformed by the left and right singular vectors, respectively. + +The SpM method is implemented in the ``dcore_anacont`` program. +While the SpM method in the original paper uses the ADMM for optimization, the SpM method in the ``dcore_anacont`` program can use more solvers via `the CVXPY package `_. + +The common parameters of ``dcore_anacont`` is described in :doc:`the section of the Pade approximation `. +The SpM method is specified by ``solver = spm`` in the ``[post.anacont]`` block. +The parameters for the SpM method are specified in the ``[post.anacont.spm]`` block as follows: + +.. code-block:: + + [post.anacont.spm] + solver = ECOS + n_matsubara = 1000 + n_tau = 101 + n_tail = 5 + n_sv = 30 + lambda = 1e-5 + +``n_matsubara`` is the number of Matsubara frequencies used. When it is larger than the number of the data obtained by the DMFT calculation, the number of the data is used. +``n_tau`` is the number of imaginary time points. +``n_tail`` is the number of the last Matsubara frequencies used for the tail fitting, :math:`\Sigma(i\omega_n) \sim a/i\omega_n`. +``n_sv`` is the number of singular values used after truncation. +``lambda`` is the coefficient of the L1 regularization term in the optimization. +``solver`` specifies the solver for the optimization. + +The parameter of the solver can be specified in the ``[post.anacont.spm.solver]`` block. +In this block, the format of ``name{type} = value`` should be used, for example, ``max_iters{int} = 100``. +Available types are ``int``, ``float``, and ``str``. +Available parameters depend on the solver used. +For details of solvers, see `the CVXPY documentation `_. + +Example +-------- + +The following input file is used to perform a DMFT calculation of a Hubbard model on a square lattice with the Pomerol solver and an analytic continuation of the self-energy with the SpM method: + +:download:`spm.ini ` + +.. literalinclude:: spm.ini + :language: ini + +The figure below shows the self-energy in real frequency obtained by analytic continuation (``work/post/sigma_w_0_0_0.png``). + +.. image:: spm.png + :width: 700 + :align: center diff --git a/v4.0.0/_sources/basicnotions/structure.rst.txt b/v4.0.0/_sources/basicnotions/structure.rst.txt new file mode 100644 index 00000000..b12d6134 --- /dev/null +++ b/v4.0.0/_sources/basicnotions/structure.rst.txt @@ -0,0 +1,56 @@ +.. _structure: + +Minimum introduction: Structure of DCore +======================================== + +Data flow +--------- + +**DCore** contains a set of programs which perform dynamical mean-field theory (DMFT) calculations for models and materials. +The structure of programs and data flow for the DMFT calculation is summarized below. + +.. image:: images/structure.png + :width: 700 + :align: center + +The DMFT calculation includes two **DCore** programs: (i) ``dcore_pre`` and (ii) ``dcore`` as described later. + +After the DMFT loop (``dcore``) is finished, one can compute dynamical physical quantities such as the density of states and the momentum-resolved spectrum functions using the post-processing tool. +The structure of the post-processing is shown below. + +.. image:: images/structure_post.png + :width: 700 + :align: center + +The post-processing tool consists of two **DCore** programs: (iii) ``dcore_anacont`` and (iv) ``dcore_spectrum``. + +(i) The interface layer ``dcore_pre`` +------------------------------------- + +``dcore_pre`` generates a HDF5 file necessary for the DMFT loop. +Users specify parameters defining a model such as hopping parameters on a certain lattice, and interactions. +The hopping parameters are given either for **preset models** (e.g., square lattice, Bethe lattice) or using **Wannier90 format** + +(ii) DMFT loop ``dcore`` +------------------------ + +``dcore`` is the main program for the DMFT calculations. +The effective impurity problem is solved repeatedly to fulfill the self-consistency condition of the DMFT. +For solving the impurity problem, ``dcore`` calls an external program such as the continuous-time quantum Monte Carlo method and the Hubbard-I approximation. + +(iii) Analytical continuation ``dcore_anacont`` +--------------------------------------------------- + +The DMFT loop provides the self-energy in the Matsubara frequency domain. +To obtain physical quantities in the real frequency domain, we need to perform the analytical continuation (AC). +``dcore_anacont`` performs the analytical continuation using the Pade approximation or the SpM method. +Note that users can perform AC by using an external program. + +(iv) Spectrum calculation ``dcore_spectrum`` +--------------------------------------------------- + +``dcore_spectrum`` computes some physical quantities from the converged solution of the DMFT loop. +Currently, the following quantities can be calculated: + +* (projected) density of states +* Correlated band structures (momentum-resolved single-particle excitation spectrum) diff --git a/v4.0.0/_sources/impuritysolvers.rst.txt b/v4.0.0/_sources/impuritysolvers.rst.txt new file mode 100644 index 00000000..939ca72d --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers.rst.txt @@ -0,0 +1,13 @@ +Impurity solvers +================ + +.. toctree:: + :maxdepth: 1 + + impuritysolvers/alpscore_cthyb/cthyb + impuritysolvers/triqs_cthyb/cthyb + impuritysolvers/alpscore_ctseg/ctseg + impuritysolvers/triqs_hubbard_one/hubbard_one + impuritysolvers/pomerol/pomerol + impuritysolvers/null + impuritysolvers/how_to_integrate diff --git a/v4.0.0/_sources/impuritysolvers/alpscore_cthyb/cthyb.rst.txt b/v4.0.0/_sources/impuritysolvers/alpscore_cthyb/cthyb.rst.txt new file mode 100644 index 00000000..1cf61403 --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/alpscore_cthyb/cthyb.rst.txt @@ -0,0 +1,39 @@ +.. _howtoalpscthyb: + +CT-QMC: ``ALPS/CT-HYB`` +======================= + +`ALPS/CT-HYB solver `_ implements the CT-HYB QMC algorithm and is developed by H. Shinaoka, E. Gull and P. Werner. +The spin-orbit coupling is supported by default. +One can call ALPS/CT-HYB from DCore through the "ALPS/cthyb" interface. +For the moment, this interface is the first choice for QMC solvers in DCore +as it is used by developers of DCore on a regular basis. + +The old triqs_interface for DCore v1.x has retired. +The new interface involved in DCore 2.x requires only the installation of ALPS/CT-HYB 1.x. +Please follow `the instruction on the official site `_. + +A minimum working example is the following. +We assumed that the executable is installed at "$HOME/opt/CT-HYB/bin/hybmat". +The solver runs for 300 seconds. + +.. code-block:: ini + + [impurity_solver] + name = ALPS/cthyb + timelimit{int} = 300 + exec_path{str} = $HOME/opt/CT-HYB/bin/hybmat + +ALPS/CT-HYB have many input parameters. +Please refer to `the reference manual `_ for a list of available input parameters. +The DCore interface supports support all of them. +For instance, one can enable verbose model as follows. +Note that one must specify type for input parameters of ALPS/CT-HYB. + +.. code-block:: ini + + [impurity_solver] + verbose{int} = 1 + +The DCore interface generates input files for ALPS/CT-HYB into a working directory at work/imp_shell_ite (ish is the index of the shell and ite is the iteration). +Then, ALPS/CT-HYB is excecuted in the working directory. diff --git a/v4.0.0/_sources/impuritysolvers/alpscore_ctseg/ctseg.rst.txt b/v4.0.0/_sources/impuritysolvers/alpscore_ctseg/ctseg.rst.txt new file mode 100644 index 00000000..4203507d --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/alpscore_ctseg/ctseg.rst.txt @@ -0,0 +1,47 @@ +CT-QMC with segment implementation: ``ALPS/CT-HYB-SEGMENT`` +=========================================================== + +`ALPS/CT-HYB-SEGMENT solver `_ implements the CT-HYB QMC algorithm and is developed by H. Hafermann, P. Werner, E. Gull. +Only density-density interactions are taken into account. + +A minimum working example is the following. Please be sure to turn on density_density option in model block (otherwise the simulation fails). +We assumed that the executable is installed at "$HOME/opt/CT-HYB/bin/alps_cthyb". +The solver terminates after MAX_TIME (300 seconds in the following example) or the total number of SWEEPS has been reached. + + +.. code-block:: ini + + [model] + density_density = True + [impurity_solver] + name = ALPS/cthyb-seg + exec_path{str} = $HOME/opt/CT-HYB/bin/alps_cthyb + MAX_TIME{int} = 300 + cthyb.N_MEAS{int} = 50 + cthyb.THERMALIZATION{int}=1000 + cthyb.SWEEPS{int}=100000000 + cthyb.TEXT_OUTPUT{bool} = False + +ALPS/CT-HYB-SEGMENT has many input parameters. +A complete list of the parameters can be obtained by the help command + +.. code-block:: bash + + $HOME/opt/CT-HYB/bin/alps_cthyb --help + +The following optional parameters may be useful: + +.. code-block:: ini + + [impurity_solver] + cthyb.MEASURE_nn{bool} = True # static density-density correlation functions + cthyb.MEASURE_nnw{bool} = True # density-density correlation functions in frequency domain + cthyb.MEASURE_nnt{bool} = True # density-density correlation functions + cthyb.MEASURE_g2w{bool} = True # measure two-particle Green's function in frequency space + +Please also refer to `the wiki page `_ for some descriptions on parameters. + +The DCore interface generates input files for ALPS/CT-HYB-SEGMENT into a working directory at work/imp_shell_ite (ish is the index of the shell and ite is the iteration). +Then, ALPS/CT-HYB-SEGMENT is executed in the working directory, and numerical results are stored there. +For example, the occupation number and the double occupancy are saved in the file 'observables.dat'. + diff --git a/v4.0.0/_sources/impuritysolvers/how_to_integrate.rst.txt b/v4.0.0/_sources/impuritysolvers/how_to_integrate.rst.txt new file mode 100644 index 00000000..fe1613ab --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/how_to_integrate.rst.txt @@ -0,0 +1,128 @@ +How to integrate your own solver +================================ + +You can use your own impurity solver from DCore by wrapping the executable as appropriate. +The null solver serves as a template of wrapper code. + + :download:`null_solver.py <../../src/dcore/impurity_solvers/null_solver.py>` + +Follow the instructions below. + +.. + .. literalinclude:: ../../src/dcore/impurity_solvers/null_solver.py + :language: python + +Copy the template +----------------- + +In directory **python/impurity_solvers**, copy the template + +:: + + $ cp null_solver.py your_solver.py + +Edit the template +----------------- + +- Change the class name + + .. code-block:: python + + class NullSolver(SolverBase): + + Let's say you changed the class name into **YourSolver**. + +- Set the solver name + + .. code-block:: python + + def name(self): + return "null" + +- Set input to the solver + + .. code-block:: python + + # (1) Set configuration for the impurity solver + # input: + # self.beta + # self.set_G0_iw + # self.u_mat + # + # Additionally, the following variables may be used: + # self.n_orb + # self.n_flavor + # self.gf_struct + # self.n_tau + # self.use_spin_orbit + + # (1a) If H0 is necessary: + # Non-interacting part of the local Hamiltonian including chemical potential + # Make sure H0 is hermite. + # Ordering of index in H0 is spin1, spin1, ..., spin2, spin2, ... + H0 = extract_H0(self._G0_iw, self.block_names) + + # (1b) If Delta(iw) and/or Delta(tau) are necessary: + # Compute the hybridization function from G0: + # Delta(iwn_n) = iw_n - H0 - G0^{-1}(iw_n) + # H0 is extracted from the tail of the Green's function. + self._Delta_iw = delta(self._G0_iw) + Delta_tau = make_block_gf(GfImTime, self.gf_struct, self.beta, self.n_tau) + for name, block in self._Delta_iw: + Delta_tau[name] << Fourier(self._Delta_iw[name]) + + # (1c) Set U_{ijkl} for the solver + # for i, j, k, l in product(range(self.n_flavors), repeat=4): + # self.u_mat[i, j, k, l] + + Here, you generate **all** necessary input files to run your program. + +- Run the solver + + .. code-block:: python + + # (2) Run a working horse + with open('./output', 'w') as output_f: + launch_mpi_subprocesses(mpirun_command, [exec_path, 'input.ini'], output_f) + + The second argument to the function ``launch_mpi_subprocesses`` is the actual command and arguments used for invoking MPI processes from **DCore**. + These options and arguments to the solver must be given as a list (refer to ``subprocess`` module in Python). + +- Convert output of the solver + + .. code-block:: python + + # (3) Copy results into + # self._Sigma_iw + # self._Gimp_iw + + Read output files generated by the solver, and set them into **DCore** variables. + The self-energy and the Green's function are stored as ``BlockGf`` class of **TRIQS** library. + See other wrappers or `the TRIQS documentation `_. + +Register your solver +-------------------- + +Finally, you register your own solver to **DCore**. +Edit **python/impurity_solvers/__init__.py** +to import your class + +.. code-block:: python + + from .your_solver import YourSolver + +and add it to the dictionary variable ``solver_classes`` as + +.. code-block:: python + + solver_classes = { + ... + 'your_solver': YourSolver, + } + +Then, you can invoke your solver from **DCore** by + +.. code-block:: python + + [impurity_solver] + name = your_solver diff --git a/v4.0.0/_sources/impuritysolvers/null.rst.txt b/v4.0.0/_sources/impuritysolvers/null.rst.txt new file mode 100644 index 00000000..96a270c6 --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/null.rst.txt @@ -0,0 +1,19 @@ +Non-interacting limit: ``null`` +=============================== + +This impurity solver returns zero self-energy, which allows to check the non-interacting limit. + +How to invoke: + +:: + + [impurity_solver] + name = null + +In material calculations, we recommend users to use null solver first to check agreement with the DFT calculation. +Note that, since self-energy is zero, one should introduce an artificial broadening to the excitation spectra to make delta functions visible. This can be done by + +:: + + [post.spectrum] + broadening = 0.001 diff --git a/v4.0.0/_sources/impuritysolvers/pomerol/pomerol.rst.txt b/v4.0.0/_sources/impuritysolvers/pomerol/pomerol.rst.txt new file mode 100644 index 00000000..737e2279 --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/pomerol/pomerol.rst.txt @@ -0,0 +1,72 @@ +Exact diagonalization solver: ``pomerol`` +========================================= + +``pomerol`` is an exact diagonalization (ED) library implemented in c++. +``DCore`` provides an interface to ``pomerol`` library to compute an approximate solution of DMFT with discritized hybridization function. + +Features +-------- + +- Arbitrary temperature + +- All interactions available in ``DCore`` are supported. + +- [experimental] two-particle Green's function + +- [todo] tail evaluation of Gf + +Install +------- + +The following library/program needs to be installed: + +- `pomerol library `_ + +- `pomerol2dcore `_ + +How to use +---------- + +Mandatory parameters: + +:: + + [impurity_solver] + name = pomerol + exec_path{str} = /install_directory/bin/pomerol2dcore + +Optional parameters: + +:: + + n_bath{int} = 3 # 0 for default + fit_gtol{float} = 1e-6 # 1e-5 for default + +The default value of ``n_bath`` is 0, namely, no bath site is taken into account (Hubbard-I approximation). +For ``n_bath>0``, hybridization function Delta(iw) is fitted by + +.. math:: + + \Delta^{n_\mathrm{bath}}_{o_1 o_2}(i\omega) = \sum_{l=1}^{n_\mathrm{bath}} \frac{V_{o_1 l} V_{l o_2}}{i\omega - \epsilon_l} + +Then, the finite-size system consisting of the impurity site and ``n_bath`` bath sites are solve by ED method. +The size of the Hilbert space increases exponentially according to :math:`2^{n_\textrm{spn-orb}}` where :math:`n_\textrm{spn-orb}=2*n_\mathrm{orb} + 2*n_\mathrm{bath}`. +Because of storage limitation, :math:`n_\textrm{spn-orb} \simeq 16` is the limits in this solver. + +Example +------- + +:doc:`The square-lattice model in tutorial <../../tutorial/square/square>` is solved by the pomerol solver using the following input parameter set: + +:download:`dmft_square_pomerol.ini ` + +.. literalinclude:: dmft_square_pomerol.ini + :language: ini + +It is recommended to set ``convergence_tol`` parameter in [control] block to stop the DMFT loop automatically. +The figure below shows the renormalization factor as a function of ``n_bath``. +Convergence to the CTHYB result is obtained around ``n_bath=3``. + +.. image:: renorm.png + :width: 700 + :align: center diff --git a/v4.0.0/_sources/impuritysolvers/triqs_cthyb/cthyb.rst.txt b/v4.0.0/_sources/impuritysolvers/triqs_cthyb/cthyb.rst.txt new file mode 100644 index 00000000..2888098d --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/triqs_cthyb/cthyb.rst.txt @@ -0,0 +1,362 @@ +.. _howtocthyb: + +CT-QMC: ``TRIQS/cthyb`` +======================= + + +Install +------- + +Follow the installation guide in `TRIQS/cthyb `_. + +.. note:: + + - Be sure to use the same C++ compiler as the one used to build the ``TRIQS`` library. + + - If you want to treat the spin-orbit coupling in ``TRIQS/cthyb`` solver, + it must be built with the following CMake options: + + :: + + -DLocal_hamiltonian_is_complex=ON -DHybridisation_is_complex=ON + +Basic parameters for QMC +------------------------ + +The accuracy of the TRIQS/cthyb calculation depends on mainly the following +three parameters. + + * ``n_cycles{int}`` + + The number of QMC cycles for computing any quantities. + The numerical noise can be reduced by increasing this parameter. + + When we use the MPI parallelism, the total number of QMC cycle + ( ``number-of-processes * n_cycles``) affects the accuracy. + Therefore, + **n_cycles in inverse proportion to the number of MPI processes keeps the accuracy**. + + * ``n_warmup_cycles{int}`` + + The number of QMC cycles for the thermalization before the above main calculation. + If it is insufficient, the state to be computed may be different from the + equilibrium state. + + **This parameter is independent of the MPI parallelism.** + + * ``length_cycle{int}`` + + Each QMC cycles have sub-cycles. + The length of this sub-cycle should be long enough to escape from the auto-correlation. + + **This parameter is independent of the MPI parallelism.** + +The computational time is proportional to ``length_cycle*(n_cycles+n_warmup_cycles)``. +The following script is an example to describe the procedure for searching appropriate QMC parameter. + +.. code-block:: bash + + #!/bin/bash + + cat > pre.ini < dmft.ini + mpiexec -np 4 dcore dmft.ini + dcore_check dmft.ini --output bethe.pdf + mv bethe_sigma.dat cyc${n_cycles[i]}_warm${n_warmup_cycles[i]}_len${length_cycle[i]}.dat + done + +Then, we use gnuplot as + +.. code-block:: gnuplot + + plot [0:10][-0.6:0] \ + "cyc3000_warm5000_len50.dat" u 1:3 w l lw 3, \ + "cyc10000_warm5000_len50.dat" u 1:3 w l lw 3, \ + "cyc30000_warm5000_len50.dat" u 1:3 w l lw 3, \ + "cyc100000_warm5000_len50.dat" u 1:3 w l lw 3, \ + "cyc300000_warm5000_len50.dat" u 1:3 w l lw 3, \ + "cyc300000_warm5000_len100.dat" u 1:3 w l lw 3 + +and obtain + +.. image:: QMCparam.png + :width: 500 + :align: center + +From this plot, we can see that both parameter settings are insufficient and +we have to increase ``n_cycles`` or ``length_cycle`` or both of them +(In almost cases, ``n_warmup_cycles`` has minor effect). + + +High-frequency tail fit +----------------------- + +The self energy computed with QMC becomes noisy at the high frequency region. +This high-frequency tail can be fitted by using the following function: + +.. math:: + + \Sigma_{\rm tail}(i \omega) \approx \frac{a_1}{\omega} + \frac{a_2}{\omega^2} + + \frac{a_3}{\omega^3} + \cdots + +We show the procedure for using this technique. +The original input file (without tail-fit) is as follows (dmft.ini): + +.. code-block:: ini + + [model] + seedname = bethe + lattice = bethe + norb = 1 + nelec = 1.0 + t = 1.0 + kanamori = [(4.0, 0.0, 0.0)] + + [system] + beta = 40.0 + nk = 100 + + [impurity_solver] + name = TRIQS/cthyb + n_warmup_cycles{int} = 10000 + n_cycles{int} = 100000 + length_cycle{int} = 50 + + [control] + max_step = 1 + + [post.check] + omega_check = 30.0 + +We first execute the ordinary DMFT calculation: + +.. code-block:: bash + + $ dcore_pre dmft.ini + $ mpiexec -np 4 dcore dmft.ini + $ dcore_check dmft.ini --output bethe.pdf + +Then, looking at the figure in bethe.pdf, +we choose the energy range where the tail-fit is performed. + +.. _tailfit: + +.. image:: tailfit.png + :align: center + +In this case, we choose energy range from 6 to 15 [red box in (a) in the above figure], and +add the following parameters at the ``[system]`` block in the input file +(not the +`solver parameter `_ +for the tail fit): + +.. code-block:: ini + + [system] + beta = 40.0 + nk = 100 + perform_tail_fit = True + fit_max_moment = 2 + fit_min_w = 6.0 + fit_max_w = 15.0 + +We run ``dcore_check`` again, and obtain the result as (b) in the above figure. +If necessary, we repeat editing the input file and running ``dcore_check`` to refine the energy range. +After the energy range is fixed, we again perform the QMC calculation by ``dcore``. The final result looks like (c) in the +above figure. + +Multi-band system +----------------- + +For the multi-band systems, **we have to include the two-pairs insertion/removal move** +in the QMC cycles as + +.. code-block:: ini + + [impurity_solver] + name = TRIQS/cthyb + move_double{bool} = True + +because these moves are disabled in the default setting. + +Pade approximation for DOS and spectrum function +------------------------------------------------ + +To obtain spectral functions, we need to perform analytical continuation from Matsubara frequency to real frequency. +Currently, the Pade approximation is the only choice for the analytical continuation. + +There is one control parameter for Pade approximation, ``iomega_max`` in the ``[post.anacont.pade]`` block. It specifies an energy cutoff for Matsubara frequency. +A reasonable choice of ``iomega_max`` is the maximum frequency +before the self energy becomes noisy. +For example, in the case of figure (a) above, we can find that ``iomega_max=4.0`` is reasonable. + +Legendre filter +--------------- + +.. warning:: + + Do not use it together with the tail-fit. + +This is another technique to reduce the high-frequency noise. +In this method, we expand the Green's function at the imaginary time with a series of +the Legendre polynomials, and ignore the higher order polynomials. + +This scheme is activated when we specify the input parameter ``n_l`` +(the number of polynomial included) in the ``[system]`` block as + +.. code-block:: ini + + [system] + beta = 40.0 + nk = 100 + n_l = 30 + +When we use the Legendre filter, we should check that how many polynomials +have to be included. +For this purpose, we first perform a calculation with a large number of Legendre +polynomials (e.g. ``n_l=80``) and check how the coefficient decays. + +For examples, we run the bash script as + +.. code-block:: bash + + #!/bin/bash + + cat > pre.ini < dmft.ini + mpiexec -np 4 dcore dmft.ini + dcore_check dmft.ini --output bethe.pdf + mv bethe_legendre.dat l_cyc${n_cycles[i]}_warm${n_warmup_cycles[i]}_len${length_cycle[i]}.dat + done + +Then, we use GnuPlot as + +.. .. code-block:: gnuplot +.. code-block:: guess + + set xlabel "Order of polynomial" + set ylabel "Coefficient" + set logscale y + plot \ + "l_cyc3000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \ + "l_cyc10000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \ + "l_cyc30000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \ + "l_cyc100000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \ + "l_cyc300000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \ + "l_cyc300000_warm5000_len100.dat" u 1:(abs($2)) w l lw 3 + +and obtain + +.. image:: legendre.png + :width: 500 + :align: center + +Finally, we choose the following setting: + +.. code-block:: ini + + [model] + seedname = bethe + lattice = bethe + norb = 1 + nelec = 1.0 + t = 1.0 + kanamori = [(4.0, 0.0, 0.0)] + + [system] + beta = 40.0 + nk = 100 + n_l = 30 + + [impurity_solver] + name = TRIQS/cthyb + n_warmup_cycles{int} = 5000 + n_cycles{int} = 300000 + length_cycle{int} = 100 + + [control] + max_step = 1 + + [post.check] + omega_check = 30.0 + +and obtain + +.. image:: legendre_sigma.png + :width: 500 + :align: center + + diff --git a/v4.0.0/_sources/impuritysolvers/triqs_hubbard_one/hubbard_one.rst.txt b/v4.0.0/_sources/impuritysolvers/triqs_hubbard_one/hubbard_one.rst.txt new file mode 100644 index 00000000..66694b5c --- /dev/null +++ b/v4.0.0/_sources/impuritysolvers/triqs_hubbard_one/hubbard_one.rst.txt @@ -0,0 +1,18 @@ +Hubbard-I approximation: ``TRIQS/hubbard-I`` +============================================ + +This impurity solver implements the Hubbard-I approximation. +For installation, follow +https://triqs.github.io/hubbardI/latest/ + +.. note:: + + Be sure to use the same C++ compiler as the one used to build the ``TRIQS`` library. + +To invoke the Hubbard-I solver, set parameters as + +:: + + [impurity_solver] + name = TRIQS/hubbard-I + diff --git a/v4.0.0/_sources/index.rst.txt b/v4.0.0/_sources/index.rst.txt new file mode 100644 index 00000000..897a0764 --- /dev/null +++ b/v4.0.0/_sources/index.rst.txt @@ -0,0 +1,24 @@ +DCore +======= + +**DCore** = Integrated **D**\ MFT software for **Cor**\ related **e**\ lectrons. + +DCore is aimed at model calculations and ab-initio calculations by the dynamical mean-field theory (DMFT). This package consists of programs with text-based and hdf5-based interface. These programs enable users to perform DMFT calculations and analyze results without writing computer code. + +Table of Contents +---------------------- + +.. toctree:: + :maxdepth: 2 + + about + install + tutorial + reference + support + +.. note:: + + Some pages are not completed yet in this beta version. + Those will be updated by the next major release. + :doc:`TODO list (for developers) ` diff --git a/v4.0.0/_sources/install.rst.txt b/v4.0.0/_sources/install.rst.txt new file mode 100644 index 00000000..abdc7bc1 --- /dev/null +++ b/v4.0.0/_sources/install.rst.txt @@ -0,0 +1,127 @@ + +.. highlight:: bash + +.. _installation: + +Installation +============ + +Prerequisites +------------- + +#. Python3 (>=3.8) + +#. You will also need at least one impurity solver. + + For example, the following programs are supported: + + * :doc:`Hubbard-I solver` + * :doc:`ALPS/CT-HYB` + * :doc:`ALPS/CT-HYB-SEGMENT` + * :doc:`TRIQS/cthyb` + * :doc:`Pomerol solver` + + We recommend to use the Hubbard-I solver for tests because this is fast. + See :doc:`impuritysolvers` for a complete list of supported impurity solvers and their user manuals. + +#. [OPTIONAL] `TRIQS 3.x `_ and `TRIQS/DFTTools 3.x `_. + + TRIQS can improve the performance of DCore. + The current version of DCore supports TRIQS 3.x. + Please make sure that the triqs and triqs_dft_tools modules are loadable in your Python environment. + You may use `MateriAppsInstaller `_, a collection of install scripts, to install prerequisites (TRIQS). + If you want to use TRIQS, please set an environment variable ``DCORE_TRIQS_COMPAT`` to 0. + + .. code-block:: bash + + $ export DCORE_TRIQS_COMPAT=0 + + +Installation +------------------ + +(NOTE: Using a virtual environment such as `venv `_ is recommended to avoid conflicts with other Python packages.) + +You can install the latest version of DCore using ``pip`` command as follows. + + :: + + $ pip3 install dcore -U + +Here, ``-U`` stands for ''Upgrade''. The installed packages are upgraded to the latest version, if you already have packages installed. + + +Installation (only for developers) +-------------------------------------- + +You can download the source files in two ways. + +- **[Release version]** + + Go to the `release page `_ and download the latest tar or zip file. + You can unpack, for example, the tar file by + + .. code-block:: bash + + $ tar zxvf v3.x.x.tar.gz + +- **[Develop version]** + + Newly implemented features are available in the source code in GitHub repository. You can clone the repository by + + .. code-block:: bash + + $ git clone https://github.com/issp-center-dev/DCore.git dcore.src + + The master branch basically corresponds to the latest released package, and the develop branch includes new features. + Note that develop branches may not be well tested and contains some bugs. + + + Please execute the following command in the source directory to install DCore. + + .. code-block:: bash + + $ pip3 install . + + If both of them did not work, you could build a binary package and install it as follows + + .. code-block:: bash + + $ rm -rf dist + $ python3 setup.py bdist_wheel + $ pip3 install dist/dcore-*.whl + + One can run unit tests using the installed DCore by executing the following commands. + + Non-MPI tests can be run as follows. + + .. code-block:: bash + + $ pip3 install pytest + $ pytest tests/non-mpi/*/*.py + + MPI tests can be run as follows. + + .. code-block:: bash + + $ pytest tests/mpi/*/*.py + + MPI tests invoke MPI parallelized impourity solvers. + If your system MPI command is not "mpirun", please provide the name of the correct one to DCore at runtime in an input file. + The default value is "mpirun -np #" (# is replaced by the number of processors). + For instance, if the MPI command of your system is "mpijob", please set the environment variable "DCORE_MPIRUN_COMMAND" as folows. + + .. code-block:: bash + + $ export DCORE_MPIRUN_COMMAND="mpijob -np #" + + Note that it is not allowed to run MPI programs interactively on some system. + In this case, please run MPI tests as a parallel job with one process. + + You can build documentations as follows. + + .. code-block:: bash + + $ pip3 install sphinx wild_sphinx_theme matplotlib + $ python3 -m dcore.option_tables doc/reference + $ sphinx-build -b html doc html diff --git a/v4.0.0/_sources/presentation.rst.txt b/v4.0.0/_sources/presentation.rst.txt new file mode 100644 index 00000000..41f82feb --- /dev/null +++ b/v4.0.0/_sources/presentation.rst.txt @@ -0,0 +1,11 @@ +.. _presentation: + +Presentation +============ + +- 2018/7/30: DCore講習会 + + 1. :download:`Overview ` + 2. :download:`Install ` + 3. :download:`DFT+DMFT ` + 4. :download:`Exercise ` diff --git a/v4.0.0/_sources/reference.rst.txt b/v4.0.0/_sources/reference.rst.txt new file mode 100644 index 00000000..1d43f4e2 --- /dev/null +++ b/v4.0.0/_sources/reference.rst.txt @@ -0,0 +1,12 @@ +Reference Manual +================ + +.. toctree:: + :maxdepth: 2 + + reference/programs + reference/input + reference/output + impuritysolvers + analytic_continuation + tools diff --git a/v4.0.0/_sources/reference/gf_format.rst.txt b/v4.0.0/_sources/reference/gf_format.rst.txt new file mode 100644 index 00000000..85856cd8 --- /dev/null +++ b/v4.0.0/_sources/reference/gf_format.rst.txt @@ -0,0 +1,13 @@ +File format for Green's function and self-energy +================================================== + +The structure of the HDF5 dataset for Green's function and self-energy are as follows. + + +.. csv-table:: + :header: Data set, datatype, description + :widths: 8, 10, 20 + + __version, H5T_STRING, DCore_GfImFreq_v1 + data, "H5T_IEEE_F64LE (2*niw, N, N, 2)", "The first index runs from -niw to niw. The last one indices the real and imaginary parts" + wn, "H5T_IEEE_F64LE (2*niw)", "Imaginary frequenceis wn = (2*n+1)*pi*T for n = -niw, -niw+1, ..., niw-1" diff --git a/v4.0.0/_sources/reference/input.rst.txt b/v4.0.0/_sources/reference/input.rst.txt new file mode 100644 index 00000000..f91fe90b --- /dev/null +++ b/v4.0.0/_sources/reference/input.rst.txt @@ -0,0 +1,166 @@ +Input-file format +================= + +The input file consists of several parameter blocks. + +The following table shows which blocks are used by each program. + +.. csv-table:: + :header: "Block name", ``dcore_pre``, ``dcore``, ``dcore_check``, ``dcore_anacont``, ``dcore_spectrum`` + :widths: 10, 5, 5, 5, 5, 5 + + [model] , Yes, Yes, Yes, Yes, Yes + [pre] , Yes, , , , + [system] , , Yes, Yes, Yes, Yes + [impurity_solver] , , Yes, , , Yes + [control] , , Yes + [post] , , , Yes, Yes, Yes + [post.check] , , , Yes, , + [post.anacont] , , , , Yes, + [post.anacont.pade] , , , , Yes, + [post.anacont.spm] , , , , Yes, + [post.spectrum] , , , , , Yes + [mpi] , , Yes, , , Yes + +For example, we can see that ``dcore_pre`` reads only [model] and [pre] blocks. Therefore, ``dcore_pre`` needs to be re-executed only when the parameters in [model] and [pre] blocks are changed. + +The parameters included in each block are explained below. + +.. contents:: + :local: + +[model] block +------------- + +This block includes parameters for defining a model to be solved. + +.. ``dcore_pre``, ``dcore_check`` and ``dcore_post`` read this block. + +.. include:: model_desc.txt + + +See separate pages from the link below for detailed descriptions of some parameters. + +:doc:`lattice` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:doc:`interaction` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:doc:`slater_basis` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:doc:`local_potential` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +[pre] block +-------------- + +This block includes parameters that controls the behavior of ``dcore_pre``. + +.. include:: pre_desc.txt + +[system] block +-------------- + +This block includes thermodynamic parameters and some technical parameters such as the number of Matsubara frequencies. + +.. ``dcore`` read this block. + +.. include:: system_desc.txt + +If the parameter ``with_dc`` is specified to ``True``, +the following part of the self-energy is subtracted to avoid the double-counting error of +the self-energy. + +.. math:: + + \Sigma_{i, \alpha \sigma \beta \sigma'}^{\rm dc-imp} + = \delta_{\sigma \sigma'} \sum_{\gamma \delta \sigma_1} + U_{\alpha \gamma \beta \delta} + \langle c_{\gamma \sigma_1}^\dagger c_{\delta \sigma_1}\rangle_0 + - \sum_{\gamma \delta} + U_{\alpha \gamma \delta \beta} + \langle c_{\gamma \sigma'}^\dagger c_{\delta \sigma}\rangle_0, + +where :math:`\langle \cdots \rangle_0` indicates the expectation value at the initial (Kohn-Sham) state. + +[impurity_solver] block +----------------------- + +This block specifies an impurity solver to be used and necessary parameters for running the solver program. + +.. ``dcore`` and ``dcore_post`` read this block. + +.. include:: impurity_solver_desc.txt + +Additionally, we have to specify solver-dependent parameters in the way like ``n_cycles{int} = 500000``. +For details, see :doc:`the reference manual for each solver <../impuritysolvers>`. + +.. + `TRIQS/cthyb `_, + `ALPS/cthyb `_, etc.. + +[control] block +--------------- + +This block includes parameters that control the self-consistency loop of DMFT. + +.. ``dcore`` reads this block. + +.. include:: control_desc.txt + +[post] block +------------ + +This block includes parameters that are solely used by ``dcore_anacont`` and ``dcore_spectrum``. + +.. ``dcore_check`` and ``dcore_post`` read this block. + +.. include:: post_desc.txt + +[post.anacont] block +----------------------- + +This block includes parameters that are solely used by ``dcore_anacont``. + +.. include:: post.anacont_desc.txt + +[post.anacont.pade] block +--------------------------- + +This block includes parameters that are solely used by ``dcore_anacont``. + +.. include:: post.anacont.pade_desc.txt + +[post.anacont.spm] block +--------------------------- + +This block includes parameters that are solely used by ``dcore_anacont``. + +.. include:: post.anacont.spm_desc.txt + +[post.spectrum] block +----------------------- + +This block includes parameters that are solely used by ``dcore_spectrum``. + +.. include:: post.spectrum_desc.txt + +[post.check] block +----------------------- + +This block includes parameters that are solely used by ``dcore_check``. + +.. include:: post.check_desc.txt + +[mpi] block +------------ + +This block includes parameters which are read by ``dcore`` and ``dcore_post``. + +.. include:: mpi_desc.txt + +When an option ``-DMPIEXEC=`` is passed to the ``cmake`` command, +The default value of ``command`` will be replaced with ````. diff --git a/v4.0.0/_sources/reference/interaction.rst.txt b/v4.0.0/_sources/reference/interaction.rst.txt new file mode 100644 index 00000000..f0e47b4a --- /dev/null +++ b/v4.0.0/_sources/reference/interaction.rst.txt @@ -0,0 +1,222 @@ +:orphan: + +``interaction`` parameter +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Model Hamiltonian is defined as + +.. math:: + + {\hat H} = \sum_{i j} \sum_{\alpha \beta}^{N_{\rm band}} \sum_{\sigma=\uparrow, \downarrow} + t_{i \alpha j \beta} c_{i \alpha \sigma}^\dagger c_{j \beta \sigma} + +h.c. + {\hat H}_{\rm int}, + +where + +.. math:: + :label: H_int + + {\hat H}_{\rm int} = \frac{1}{2} + \sum_{i, \alpha \beta \gamma \delta,\sigma \sigma'} + U^{i}_{\alpha \beta \gamma \delta} + c_{i \alpha \sigma}^\dagger c_{i \beta \sigma'}^\dagger c_{i \delta \sigma'} c_{i \gamma \sigma}. + +The interaction matrix :math:`U^{i}_{\alpha \beta \gamma \delta}` is specified by the parameter ``interaction``. + +.. contents:: + :local: + + +``interaction = kanamori`` +------------------------------------ + +In this case, the Kanamori-type interaction is used, i.e. + +.. math:: + \begin{align} + U_{\alpha \alpha \alpha \alpha} &= U, + \\ + U_{\alpha \beta \alpha \beta} &= U' \qquad (\alpha \neq \beta), + \\ + U_{\alpha \beta \beta \alpha} &= J \qquad (\alpha \neq \beta), + \\ + U_{\alpha \alpha \beta \beta} &= J \qquad (\alpha \neq \beta), + \end{align} + +where :math:`U, U', J` at each correlated shell are specified by the parameter ``kanamori`` as + +:: + + interaction = kanamori + kanamori = [(U_1, U'_1, J_1), (U_2, U'_2, J_2), ... ] + +For example, if there are two correlated shells that have +:math:`(U, U', J) = (4, 2, 1)` and :math:`(U, U', J) = (6, 3, 1.5)`, respectively, +you need to set the input parameters as + +:: + + interaction = kanamori + kanamori = [(4.0, 2.0, 1.0), (6.0, 3.0, 1.5)] + + +``interaction = slater_f`` +------------------------------------ + +In this case, the fully rotationally invariant Slater interaction is used. The interaction matrix is constructed by the effective Slater integrals +:math:`F_0, F_2, F_4, F_6`. +These Slater integrals and the angular momentum at each correlated shell +are specified by the parameter ``slater_f`` as follows + +:: + + interaction = slater_f + slater_f = [(angular_momentum, F_0, F_2, F_4, F_6), ... ] + +For example, if there are two correlated shells, +one has d-orbital with :math:`(F_0, F_2, F_4) = (2, 1, 0.5)` and +the other has p-orbital with :math:`(F_0, F_2) = (3, 1.5)`, +you need to set the input parameter as + +:: + + interaction = slater_f + slater_f = [(2, 2.0, 1.0, 0.5, 0.0), (1, 3.0, 1.5 0.0, 0.0)] + +.. note:: + + You must specify all of :math:`F_0, F_2, F_4, F_6`. + +The basis can be specified by ``slater_basis`` parameter. See :doc:`slater_basis` for details. + + +``interaction = slater_uj`` +------------------------------------ + +The Slater interaction is used as in the case with ``interaction = slater_f``, but a conventional intuitive parameterization is implemented. +The effective Slater integrals :math:`F_0, F_2, F_4, F_6` are evaluated from parameters :math:`U` and :math:`J`. The explicit formulas are given as follows: + +* :math:`l = 1` + +.. math:: + + F_0 = U, \quad + F_2 = 5 J + +* :math:`l=2` + +.. math:: + + F_0 = U, \quad + F_2 = \frac{14 J}{1.0 + 0.63},\quad + F_4 = 0.63 F_2 + +* :math:`l=3` + +.. math:: + + F_0 = U, \quad + F_2 = \frac{6435 J}{286 + 195 \times 451 / 675 + 250 \times 1001 / 2025},\quad + F_4 = \frac{451 F_2}{675},\quad + F_6 = \frac{1001 F_2}{2025} + +The :math:`U`, :math:`J` and the angular momentum at each correlated shell +are specified by the parameter ``slater_uj`` as + +:: + + interaction = slater_uj + slater_uj = [(angular_momentum1, U1, J1), (angular_momentum2, U2, J2), ... ] + +The basis can be specified by ``slater_basis`` parameter. See :doc:`slater_basis` for details. + + +``interaction = respack`` +------------------------------------ + +Use the output by `RESPACK `_. +**Under construction.** + +``interaction = file`` +------------------------------------ + +One can set the U tensor :math:`U^{i}_{\alpha \beta \gamma \delta}` from an external file. +The input parameters for this are + +:: + + interaction = file + interaction_file = ['file1.npy', 'file2.npy',] + +The filenames for all inequivalent shells are listed in ``interaction_file`` parameter. +The suppored formats are + +- **NumPy .npy format (binary file)**: Four dimensional NumPy array corresponding to :math:`U^{i}_{\alpha \beta \gamma \delta}` for shell :math:`i` is save by ``numpy.save`` command. + +- **text file**: :math:`U^{i}_{\alpha \beta \gamma \delta}` for each shell :math:`i` is written in a one dimansional manner as follows (example for ``norb=3`` without spin-orbit coupling) + + :: + + Re(U[0,0,0,0]) + Re(U[0,0,0,1]) + Re(U[0,0,0,2]) + Re(U[0,0,1,0]) + ... + + or + + :: + + Re(U[0,0,0,0]) Im(U[0,0,0,0]) + Re(U[0,0,0,1]) Im(U[0,0,0,1]) + Re(U[0,0,0,2]) Im(U[0,0,0,2]) + Re(U[0,0,1,0]) Im(U[0,0,1,0]) + ... + + No blank line should be put between consecutive elements. Lines beginning with `#` are skipped. + +The definition of the U tensor depends on the ``spin_orbit`` parameter. +For ``spin_orbit=False``, :math:`U^{i}_{\alpha \beta \gamma \delta}` is defined by Eq. :eq:`H_int`. The shape of the U tensor is ``(norb, norb, norb, norb)``. + +For ``spin_orbit=True``, on the other hand, :math:`U^{i}_{\alpha \beta \gamma \delta}` is defined by + +.. math:: + {\hat H}_{\rm int} = \frac{1}{2} + \sum_{i, \alpha \beta \gamma \delta} + U^{i}_{\alpha \beta \gamma \delta} + c_{i \alpha}^\dagger c_{i \beta}^\dagger c_{i \delta} c_{i \gamma}. + +In this case, the indices :math:`\alpha, \beta, \gamma, \delta` include spin. +The shape of the U tensor is therefore ``(2*norb, 2*norb, 2*norb, 2*norb)``. + + +``density_density`` option +------------------------------------ + +If you want to treat only the density-density part + +.. math:: + + {\hat H}_{\rm int} = \frac{1}{2} + \sum_{i, \alpha, \sigma \sigma'} + U^{i}_{\alpha \alpha \alpha \alpha} + c_{i \alpha \sigma}^\dagger c_{i \beta \sigma'}^\dagger c_{i \beta \sigma'} c_{i \alpha \sigma} + + \frac{1}{2} + \sum_{i, \alpha \neq \beta, \sigma \sigma'} + U^{i}_{\alpha \beta \alpha \beta} + c_{i \alpha \sigma}^\dagger c_{i \beta \sigma'}^\dagger c_{i \beta \sigma'} c_{i \alpha \sigma} + + \frac{1}{2} + \sum_{i, \alpha \neq \beta, \sigma} + U^{i}_{\alpha \beta \beta \alpha} + c_{i \alpha \sigma}^\dagger c_{i \beta \sigma}^\dagger c_{i \alpha \sigma} c_{i \beta \sigma}, + +you specify the parameter ``density_density`` as + +:: + + density_density = True + +.. note:: + + It can not be used in conjunction to the Hubbard-I solver or + the double-counting correction. \ No newline at end of file diff --git a/v4.0.0/_sources/reference/lattice.rst.txt b/v4.0.0/_sources/reference/lattice.rst.txt new file mode 100644 index 00000000..49df4ffe --- /dev/null +++ b/v4.0.0/_sources/reference/lattice.rst.txt @@ -0,0 +1,60 @@ +:orphan: + +``lattice`` parameter +^^^^^^^^^^^^^^^^^^^^^^ + +.. You can choose the type of lattice by setting ``lattice``. + +Predefined models +----------------- + +For model calculations, the following preset models are defined + +:: + + lattice = chain + lattice = square + lattice = cubic + lattice = bethe + +The first three models use tight-binding parameters up to second nearest neighbors. One can specify them by + +:: + + t = 1 + t' = -0.1 + +The last one, ``bethe``, use only parameter ``t``, which defines the width (4t) of the semicircular density of states. + +.. image:: model.png + :width: 700 + :align: center + + +Wannier90 format +---------------- + +For DFT+DMFT calculations and model calculations of other lattice structures, hopping parameters in the Wannier90 format can be imported by + +:: + + lattice = wannier90 + +Place the Wannier90 file in the current directory with the name *seedname*\_hr.dat. For details of the Wannier90 format, see :ref:`SciPost 2021 `. + + +Connection to external programs +------------------------------- + +For experts, the lattice data may be prepared by your own. In this case, use + +:: + + lattice = external + +In this mode, you should make all necessary data in ``dft_input`` group in *seedname*.h5. +The data structure follows **DFTTools**. For details, see +`the reference manual of DFTTools `_. + + +The pre-process ``dcore_pre`` does not touch the data in ``dft_input`` group, and write only additional data such as interactions into ``DCore`` group. diff --git a/v4.0.0/_sources/reference/local_potential.rst.txt b/v4.0.0/_sources/reference/local_potential.rst.txt new file mode 100644 index 00000000..44c75a32 --- /dev/null +++ b/v4.0.0/_sources/reference/local_potential.rst.txt @@ -0,0 +1,27 @@ +:orphan: + +``local_potential_*`` parameters +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +An arbitrary local potential can be implemented using parameters ``local_potential_*``. +The format looks like + +:: + + [model] + local_potential_matrix = {0: 'pot0.txt', 1: 'pot1.txt'} + local_potential_factor = 0.01 + +Here, ``local_potential_matrix`` describes, in the python dictionary format, a set of the inequivalent shell index *ish* and the filename which defines the local potential matrix. +The parameter ``local_potential_factor`` defines a prefactor to the potential matrix. + +For example, the Zeeman term along z-axis for S=1/2 is represented by + +:: + + $ cat pot0.txt + # spin orb1 orb2 Re Im + 0 0 0 0.5 0. + 1 0 0 -0.5 0. + +and the magnetic field is specified by ``local_potential_factor``. diff --git a/v4.0.0/_sources/reference/output.rst.txt b/v4.0.0/_sources/reference/output.rst.txt new file mode 100644 index 00000000..3a6fcc12 --- /dev/null +++ b/v4.0.0/_sources/reference/output.rst.txt @@ -0,0 +1,191 @@ +Output-file format +================== + +The output files generated by each program are summarized in the table below: + +.. csv-table:: + :header: Program, Output, Reference + :widths: 5, 20, 10 + + ``dcore_pre``, "*seedname*.h5" + ``dcore``, *seedname*.out.h5 + , *seedname*\_sigma\_iw.npz, :doc:`../analytic_continuation/external_code` + , work/imp_shell#\_iter#/*solver_dependent_output* + ``dcore_check``, check/iter\_mu.dat + , check/iter\_mu.png, :doc:`programs` + , check/iter\_sigma-ish0.dat + , check/iter\_sigma-ish0.png, :doc:`programs` + , check/iter\_occup-ish0.dat + , check/iter\_occup-ish0.png, :doc:`programs` + , check/iter\_spin-ish0.dat + , check/iter\_spin-ish0.png, :doc:`programs` + , check/sigma.dat + , check/sigma\_ave.png, :doc:`programs` + ``dcore_anacont``, post/sigma\_w.npz, :doc:`../analytic_continuation/external_code` + , post/sigma\_w.npz + ``dcore_spectrum``, post/dos.dat + , post/akw.dat + , post/akw.gp, :doc:`programs` + , post/momdist.dat + +Files that have empty Reference in this table are explained in the following. + +``dcore_pre`` +~~~~~~~~~~~~~ + +- *seedname*.h5 + + It has two groups, ``dft_input`` and ``Dcore``. + See `DFTTools `_ for the details of the data structure in ``dft_input`` group. + The data included in ``Dcore`` group is list below: + + .. include:: dcore_pre.txt + +``dcore`` +~~~~~~~~~ + +- *seedname*.out.h5 + + All data are stored in ``dmft_out`` group. + The following list summarizes data structure in the ``dmft_out`` group: + See :doc:`gf_format` for the data structure of the Green's function and self-energy. + + .. include:: dcore_out.txt + + The latest data list can be obtained by ``h5ls`` command. + + :: + + h5ls [seedname].out.h5/dmft_out + +- solver_dependent_output + + All solver-dependent output are stored in the working directory such as **work/imp_shell#_iter#** (#'s are replaced with numbers). + See :doc:`../impuritysolvers` for details. + +``dcore_check`` +~~~~~~~~~~~~~~~ + +- **check/iter_mu.dat** + + The chemical potential as a function of the iteration number. + This is the data corresponding to the figure iter_mu.png (see :ref:`program_dcore_check`). + + .. tutorial for 2D Hubbard model + + :: + + 1 0.0000000000e+00 + 2 1.4197880094e-01 + 3 4.6478279315e-01 + 4 6.3732253182e-01 + 5 6.4637277925e-01 + 6 6.8031573871e-01 + 7 7.0882955968e-01 + +- **check/iter_sigma-ish0.dat** + + The renormalization factor as a function of the iteration number. + This is the data corresponding to the figure iter_sigma-ish0.png (see :ref:`program_dcore_check`). + + :: + + 1 0.6674359500130874 0.6674359500130874 + 2 0.5208316972639336 0.5208316972639336 + 3 0.31558993009526837 0.31558993009526837 + 4 0.17496815990309889 0.17496815990309889 + 5 0.13950821208253136 0.13950821208253136 + 6 0.11496910148099888 0.11496910148099888 + 7 0.09665012984893595 0.09665012984893595 + +- **check/iter_occup-ish0.dat** + + The spin- and orbital-dependent occupation numbers as a function of the iteration number. + This is the data corresponding to the figure iter_occup-ish0.png (see :ref:`program_dcore_check`). + + .. todo:: + numerical data + +- **check/iter_spin-ish0.dat** + + The spin moments as a function of the iteration number. + This is the data corresponding to the figure iter_spin-ish0.png (see :ref:`program_dcore_check`). + + .. todo:: + numerical data + +- **check/sigma.dat** + + The local self energy at the final step. + + :: + + # Local self energy at imaginary frequency + # [Column] Data + # [1] Frequency + # [2] Re(Sigma_{shell=0, spin=up, 0, 0}) + # [3] Im(Sigma_{shell=0, spin=up, 0, 0}) + # [4] Re(Sigma_{shell=0, spin=down, 0, 0}) + # [5] Im(Sigma_{shell=0, spin=down, 0, 0}) + -157.001093 0.994751 0.006358 0.994751 0.006358 + -156.844013 0.994751 0.006365 0.994751 0.006365 + -156.686934 0.994751 0.006371 0.994751 0.006371 + : + +``dcore_spectrum`` +~~~~~~~~~~~~~~~~~~~~ + +- **post/dos.dat** + + The k-integrated single-particle excitation spectrum :math:`A(\omega)` (density of states). + + :: + + # [1] Energy + # [2] Total DOS of spin up + # [3] Total DOS of spin down + # [4] PDOS of shell0,spin up,band0 + # [5] PDOS of shell0,spin down,band0 + -5.000000 0.010048 0.010048 0.010048 0.010048 + -4.972431 0.010299 0.010299 0.010299 0.010299 + -4.944862 0.010562 0.010562 0.010562 0.010562 + -4.917293 0.010837 0.010837 0.010837 0.010837 + -4.889724 0.011126 0.011126 0.011126 0.011126 + : + +- **post/akw.dat** + + The single-particle excitation spectrum :math:`A(\boldsymbol{k}, \omega)` on the given k-path. + See :ref:`program_dcore_spectrum` for how to plot this data. + + :: + + 0.000000 -5.000000 0.092677 + 0.000000 -4.972431 0.097063 + 0.000000 -4.944862 0.101755 + 0.000000 -4.917293 0.106779 + 0.000000 -4.889724 0.112165 + 0.000000 -4.862155 0.117947 + 0.000000 -4.834586 0.124162 + 0.000000 -4.807018 0.130850 + 0.000000 -4.779449 0.138058 + 0.000000 -4.751880 0.145834 + : + +- **post/momdist.dat** + + The momentum distribution function. + + :: + + # Momentum distribution + # [Column] Data + # [1] Distance along k-path + # [2] Re(MomDist_{spin=up, 0, 0}) + # [3] Im(MomDist_{spin=up, 0, 0}) + # [4] Re(MomDist_{spin=down, 0, 0}) + # [5] Im(MomDist_{spin=down, 0, 0}) + 0.000000 0.948389 -0.000000 0.948389 -0.000000 + 0.005000 0.948368 -0.000000 0.948368 -0.000000 + 0.010000 0.948303 -0.000000 0.948303 -0.000000 + : diff --git a/v4.0.0/_sources/reference/programs.rst.txt b/v4.0.0/_sources/reference/programs.rst.txt new file mode 100644 index 00000000..062b57ef --- /dev/null +++ b/v4.0.0/_sources/reference/programs.rst.txt @@ -0,0 +1,203 @@ +Programs +======== + +**DCore** consists of five main programs, ``dcore_pre``, ``dcore``, ``dcore_check``, ``dcore_anacont``, and ``dcore_spectrum``. +All programs read a single input file (say *input.ini*) which contains parameters classified into blocks. +It is also possible to pass multiple input files to the program. Parameters from all input files are merged. Duplicate paramegers are overwritten by the later one. +See :doc:`input`, for the list of parameters and detailed descriptions. + +In the following, brief explanations are given for each program. + +Pre-processing : ``dcore_pre`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This program generates model HDF5 file (*seedname*.h5). +You need to execute this program before running the main program, ``dcore``. + +.. + by reading parameters defined in ``[model]`` and ``[system]`` blocks. + +:: + + $ dcore_pre input.ini + +Main program : ``dcore`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +This is the main program, which performs DMFT cycle and output the self energy etc. into a HDF5 +file (*seedname*.out.h5). + +:: + + $ dcore input.ini --np 4 + +Please invoke ``dcore`` **in a single process**, specifying the process number with ``--np`` option. +In the above case, ``dcore`` will lauch four MPI processes internally using the command specified by the parameter ``command`` in the [mpi] block. + +The solver is executed in the working directory named **work/imp_shell0_iter1** (in the case with shell number 0 and iteration number 1). +All output generated by the solver are stored in this working directory. + +This program should be executed repeatedly until convergence is reached. +You can resume the DMFT iteration using the previous results by specifying ``restart = True`` in the [control] block (default is ``False``). + +.. See :doc:`input` for details of ``restart`` option. + +The output file, *seedname*.out.h5, is created, updated, or backed up depending on +whether the previous run exists and also on the ``restart`` parameter. +The behavior is summarized below. + +.. csv-table:: + :header: *seedname*.out.h5, ``restart``, behavior + :widths: 5, 5, 20 + + not exists, "True, False", "A new file is created" + exists, False, "The file is backed up with the name *seedname*.out.h5.bak, and a new file is created" + exists, True, "The iteration is resumed, and the file is updated" + + +.. _program_dcore_check: + +Convergence-check : ``dcore_check`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This program is used to check the convergence of the DMFT loop. + +.. + by reading parameters defined in ``[model]`` and ``[tool]`` blocks. + +:: + + $ dcore_check input.ini [--prefix PREFIX] [--ext EXT] + +Here ``PREFIX`` is the prefix for all output files, +and ``EXT`` is the file extension of output figures (png, pdf, eps, jpg, etc). +The default values are ``PREFIX=check/`` and ``EXT=png``. +All results are stored in **check** directory without specified. + +.. + ``dcore_check`` shows the history of the calculation of the chemical potential and the average of the self energy for imaginary frequencies, + +Three kinds of figures will be included: + +- **iter_mu.png** + + The chemical potential as a function of iteration number. + + .. image:: iter_mu.png + :width: 500 + :align: center + +- **iter_sigma-ish0.png** + + The renormalization factor as a function of iteration number. + + .. image:: iter_sigma-ish0.png + :width: 500 + :align: center + +- **iter_occup-ish0.png** + + The spin- and orbital-dependent occupation numbers as a function of the iteration number. + + .. todo:: + figure + +- **iter_spin-ish0.png** + + The spin moments as a function of the iteration number. + + .. todo:: + figure + +- **sigma_ave.png** + + The averaged self-energy at the last seven iterations. + + .. image:: sigma_ave.png + :width: 500 + :align: center + + Here, the average is taken as follows: + + .. math:: + + \Sigma_{\rm Ave} (i \omega_n) = + \left[\sum_i^{\rm shell} \sum_{\alpha \beta}^{N_{\rm orb}^i} \Sigma_{\alpha \beta}(i\omega)\right] + /\left[\sum_i^{\rm shell} N_{\rm orb}^{i}\right], + + The maximum frequency of this plot is specified with the parameter ``omega_check`` + in the ``[post.check]`` block. + +.. Here, the average is taken over the shell index *i* and the orbital indices *a*, *b*. + +.. .. image:: ../tutorial/square/convergence.png + + +.. _program_dcore_anacont: + +Analytic continuation : ``dcore_anacont`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This program performs the analytic continuation of the self-energy of Matsubara frequencies to the real frequency. +The self-energy of Matsubara frequencies is stored in the NumPy binary file *seedname*\_sigma\_iw.npz, which is one of the output files of the main program ``dcore``. + +.. code-block:: bash + + $ dcore_anacont input.ini + +The obtained self-energy on the real axis is stored in the NumPy binary file sigma\_w.npz in the ``post`` directory; the name of the directory can be changed by the parameter ``dir_post`` in the ``[post]`` block. + +.. _program_dcore_spectrum: + +Spectral functions : ``dcore_spectrum`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This program computes the total DOS (post/dos.dat) and momenum-resolved spectral function (post/akw.dat) reading the self-energy on the real axis stored in post/sigma\_w.npz. + +.. code-block:: bash + + $ dcore_spectrum input.ini --np 4 + +Here, please specify the number of MPI processes. +The output files are saved in the directory ``post``; the name of the directory can be changed by the parameter ``dir_post`` in the ``[post]`` block. +The computed spectral function can be drawn by + +.. code-block:: bash + + $ cd post + $ gnuplot akw.gp + +Using this gnuplot script, you can also see the original (DFT) band structure as follows if either +*seedname*\_band.dat (Wannier90 output) or dir-wan/dat.iband (RESPACK output) exists. + +.. image:: ../tutorial/srvo3/akw_srvo3.png + :width: 500 + :align: center + +"+" indicates the original band structure. +The original band structure is shifted by the chemical potential specified by ``mu`` in ``[system]`` block. + +Online help +~~~~~~~~~~~ + +For all programs, online help is available by ``-h`` or ``--help`` option. +For example, the help of the main program ``dcore`` looks like + +:: + + $ dcore -h + usage: dcore.py [-h] --np NP [--version] + [path_input_files [path_input_files ...]] + + Main script in DCore + + positional arguments: + path_input_files Input filename(s) + + optional arguments: + -h, --help show this help message and exit + --np NP Number of MPI processes + --version show program's version number and exit + +Additionally, the complete list of the input parameters are shown. +It would help readers to make use of the latest features in the **develop** branch that are not documented in this manual. diff --git a/v4.0.0/_sources/reference/slater_basis.rst.txt b/v4.0.0/_sources/reference/slater_basis.rst.txt new file mode 100644 index 00000000..abfec118 --- /dev/null +++ b/v4.0.0/_sources/reference/slater_basis.rst.txt @@ -0,0 +1,454 @@ +:orphan: + +``slater_basis`` parameter +================================================ + +The basis for the Slater interactions can be specified by ``slater_basis`` parameter. The format is ``slater_basis=[(basis, order), (basis, order),]``. One needs to specify *basis* and *order* for each inequivalent shell as in ``slater_f`` and ``slater_uj`` parameters. The details of *basis* and *order* are described below. + +- *basis* + + - ``'cubic'`` : cubic harmonics (default) + - ``'spherical'`` : spherical harmonics in L-S basis + - ``'spherical_j'`` : spherical harmonics in J-Jz basis + +- *order* + + - The order of basis is specified by index numbers. + - The basis can be truncted if the number of indices is fewer than `2*l+1` + - Special word such as 'eg' and 't2g' can be used. + - If not specified, all bases are used in the default order + + +Examples +----------------------------------------------- + +General examples:: + + slater_basis = [('spherical',), ('spherical', 4, 3, 2, 1, 0), ('spherical', 2, 1, 0)] + + slater_basis = [('cubic',), ('cubic', 2, 4), ('cubic', 1, 0, 2)] + slater_basis = [('cubic',), ('cubic', 'eg'), ('cubic', 1, 0, 2)] # Equivalent + + slater_basis = [('spherical_j',), ('spherical_j',), ('spherical',)] + + slater_basis = 'cubic' # Default + slater_basis = [('cubic',), ('cubic',), ('cubic',)] # Equivalent + +More specific examples are shown below. + +.. contents:: + :local: + + +cubic harmonics for p orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 3 + interaction = slater_uj + slater_uj = [(1, 4.0, 0.9)] + slater_basis = 'cubic' + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(1, 4.0, 0.9)] + slater_basis(basis) = ['cubic'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 1 + | F_2m = [4. 4.5] + | basis/sp = ['x' 'y' 'z'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['x' 'y' 'z'] + | basis(dn) = ['x' 'y' 'z'] + + +cubic harmonics for d orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 5 + interaction = slater_uj + slater_uj = [(2, 4.0, 0.9)] + slater_basis = 'cubic' + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(2, 4.0, 0.9)] + slater_basis(basis) = ['cubic'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 2 + | F_2m = [4. 7.73006135 4.86993865] + | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2'] + | basis(dn) = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2'] + + +cubic harmonics for f orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 7 + interaction = slater_uj + slater_uj = [(3, 4.0, 0.9)] + slater_basis = 'cubic' + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(3, 4.0, 0.9)] + slater_basis(basis) = ['cubic'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 3 + | F_2m = [ 4. 10.72759974 7.1676259 5.3028777 ] + | basis/sp = ['x(x^2-3y^2)' 'z(x^2-y^2)' 'xz^2' 'z^3' 'yz^2' 'xyz' 'y(3x^2-y^2)'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['x(x^2-3y^2)' 'z(x^2-y^2)' 'xz^2' 'z^3' 'yz^2' 'xyz' 'y(3x^2-y^2)'] + | basis(dn) = ['x(x^2-3y^2)' 'z(x^2-y^2)' 'xz^2' 'z^3' 'yz^2' 'xyz' 'y(3x^2-y^2)'] + + +d-eg orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 2 + interaction = slater_uj + slater_uj = [(2, 4.0, 0.9)] + slater_basis = [('cubic', 'eg'),] + # slater_basis = [('cubic', 2, 4),] equivalent + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(2, 4.0, 0.9)] + slater_basis = [('cubic', 'eg')] + slater_basis(basis) = ['cubic'] + slater_basis(order) = [['eg']] + + Slater interactions + ish = 0 + | l = 2 + | F_2m = [4. 7.73006135 4.86993865] + | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['z^2' 'x^2-y^2'] + | basis(dn) = ['z^2' 'x^2-y^2'] + + +d-t2g orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 3 + interaction = slater_uj + slater_uj = [(2, 4.0, 0.9)] + slater_basis = [('cubic', 't2g'),] + # slater_basis = [('cubic', 0, 1, 3),] equivalent + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(2, 4.0, 0.9)] + slater_basis = [('cubic', 't2g')] + slater_basis(basis) = ['cubic'] + slater_basis(order) = [['t2g']] + + Slater interactions + ish = 0 + | l = 2 + | F_2m = [4. 7.73006135 4.86993865] + | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['xy' 'yz' 'xz'] + | basis(dn) = ['xy' 'yz' 'xz'] + + +d-(`xy`, `x^2-y^2`) orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 2 + interaction = slater_uj + slater_uj = [(2, 4.0, 0.9)] + slater_basis = [('cubic', 0, 4),] + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(2, 4.0, 0.9)] + slater_basis = [('cubic', 0, 4)] + slater_basis(basis) = ['cubic'] + slater_basis(order) = [[0, 4]] + + Slater interactions + ish = 0 + | l = 2 + | F_2m = [4. 7.73006135 4.86993865] + | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['xy' 'x^2-y^2'] + | basis(dn) = ['xy' 'x^2-y^2'] + + +spherical harmonics for p orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 3 + interaction = slater_uj + slater_uj = [(1, 4.0, 0.9)] + slater_basis = 'spherical' + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(1, 4.0, 0.9)] + slater_basis(basis) = ['spherical'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 1 + | F_2m = [4. 4.5] + | basis/sp = ['p-1' 'p+0' 'p+1'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['p-1' 'p+0' 'p+1'] + | basis(dn) = ['p-1' 'p+0' 'p+1'] + + +spherical harmonics for d orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 5 + interaction = slater_uj + slater_uj = [(2, 4.0, 0.9)] + slater_basis = 'spherical' + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(2, 4.0, 0.9)] + slater_basis(basis) = ['spherical'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 2 + | F_2m = [4. 7.73006135 4.86993865] + | basis/sp = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2'] + | basis(dn) = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2'] + + +spherical harmonics for f orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 7 + interaction = slater_uj + slater_uj = [(3, 4.0, 0.9)] + slater_basis = 'spherical' + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(3, 4.0, 0.9)] + slater_basis(basis) = ['spherical'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 3 + | F_2m = [ 4. 10.72759974 7.1676259 5.3028777 ] + | basis/sp = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3'] + | basis(dn) = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3'] + + +j-jz basis for p orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 3 + interaction = slater_uj + slater_uj = [(1, 4.0, 0.9)] + slater_basis = 'spherical_j' + spin_orbit = True + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(1, 4.0, 0.9)] + slater_basis(basis) = ['spherical_j'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 1 + | F_2m = [4. 4.5] + | basis/sp = ['p-1' 'p+0' 'p+1'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['j1/2-1/2' 'j3/2-3/2' 'j3/2-1/2'] + | basis(dn) = ['j1/2+1/2' 'j3/2+3/2' 'j3/2+1/2'] + + +j-jz basis for d orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 5 + interaction = slater_uj + slater_uj = [(2, 4.0, 0.9)] + slater_basis = 'spherical_j' + spin_orbit = True + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(2, 4.0, 0.9)] + slater_basis(basis) = ['spherical_j'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 2 + | F_2m = [4. 7.73006135 4.86993865] + | basis/sp = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['j3/2-3/2' 'j3/2-1/2' 'j5/2-5/2' 'j5/2-3/2' 'j5/2-1/2'] + | basis(dn) = ['j3/2+3/2' 'j3/2+1/2' 'j5/2+5/2' 'j5/2+3/2' 'j5/2+1/2'] + + +j-jz basis for f orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 7 + interaction = slater_uj + slater_uj = [(3, 4.0, 0.9)] + slater_basis = 'spherical_j' + spin_orbit = True + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(3, 4.0, 0.9)] + slater_basis(basis) = ['spherical_j'] + slater_basis(order) = [None] + + Slater interactions + ish = 0 + | l = 3 + | F_2m = [ 4. 10.72759974 7.1676259 5.3028777 ] + | basis/sp = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['j5/2-5/2' 'j5/2-3/2' 'j5/2-1/2' 'j7/2-7/2' 'j7/2-5/2' 'j7/2-3/2' 'j7/2-1/2'] + | basis(dn) = ['j5/2+5/2' 'j5/2+3/2' 'j5/2+1/2' 'j7/2+7/2' 'j7/2+5/2' 'j7/2+3/2' 'j7/2+1/2'] + + +`j=5/2` for f orbitals +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + [model] + norb = 3 + interaction = slater_uj + slater_uj = [(3, 4.0, 0.9)] + slater_basis = [('spherical_j', 0, 1, 2),] + spin_orbit = True + +Output of ``dcore_pre`` : + +:: + + Generating U-matrix + slater_uj = [(3, 4.0, 0.9)] + slater_basis = [('spherical_j', 0, 1, 2)] + slater_basis(basis) = ['spherical_j'] + slater_basis(order) = [[0, 1, 2]] + + Slater interactions + ish = 0 + | l = 3 + | F_2m = [ 4. 10.72759974 7.1676259 5.3028777 ] + | basis/sp = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3'] + | + | in SO rep (after transformed, reordered, or truncated) + | basis(up) = ['j5/2-5/2' 'j5/2-3/2' 'j5/2-1/2'] + | basis(dn) = ['j5/2+5/2' 'j5/2+3/2' 'j5/2+1/2'] + diff --git a/v4.0.0/_sources/support.rst.txt b/v4.0.0/_sources/support.rst.txt new file mode 100644 index 00000000..5bd6b3b1 --- /dev/null +++ b/v4.0.0/_sources/support.rst.txt @@ -0,0 +1,8 @@ +Support +======= + +.. toctree:: + :maxdepth: 2 + + support/faqs + support/issues diff --git a/v4.0.0/_sources/support/faqs.rst.txt b/v4.0.0/_sources/support/faqs.rst.txt new file mode 100644 index 00000000..337150a1 --- /dev/null +++ b/v4.0.0/_sources/support/faqs.rst.txt @@ -0,0 +1,179 @@ +.. Frequently-Asked Questions +.. ========================== + +FAQ/Troubleshooting +=================== + +.. contents:: + :local: + :depth: 2 + + +General +------- + +Can **DCore** compute the double occupancy? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +It depends on impurity solvers. +For example, ALPS/CT-HYB-SEGMENT supports it, but other CT-QMC codes do not at present. + +In general, capability of computing **local** physical quantities totally depends on impurity solvers. +See the documentation of each solver for which local quantities can be computed. + + +Can **DCore** compute the internal energy? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +No, it is not implemented yet. + +If you want to compute it, you need to access to G(k,iw) in HDF5 file, and take summation over k and iw in an appropiate way. + + +.. + Installation + ------------ + + + + + + +``dcore_pre`` +------------- + +When should I re-execute ``dcore_pre``? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When you change any parameters in **[model] block**. +``dcore_pre`` will re-construct the model database in *seedname*.h5. + +For changes of parameters other than [model] block, on the other hand, you can restart ``dcore``, skipping ``dcore_pre``. + + +``dcore`` +--------- + +How should I judge convergence of the DMFT loop? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The most reliable way is to use the ``dcore_check`` and look at the generated figures that plot some physical quantities as a function of iterations. + +Automatic convergence check is also available. Use ``converge_tol`` parameter in [control] block. For QMC calculations, we rocommend to use ``n_converge`` parameter simultaneously to exclude possibility that the convergence criteria is satisfied accidentally. An appropriate value would be ``n_converge=3`` or larger. + +.. + We do not implement automatic convergence check, because results by QMC solvers include statistical errors and simple convergence criteria does not work. + +The DMFT loop does not converge +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If the chemical potential and/or self-energy look oscillating as a function of the iteration number, decrease ``sigma_mix`` parameter in [control] block. + +You might also need to improve the accuracy of QMC sampling by increasing the measurement time. + +If the oscillation persists, consider expanding the unitcell to address a symmetry broken solution. + + +Can I enforce zero magnetic moment? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yes. Use ``time_reversal`` flag in [control] block. +See :doc:`../reference/input`. + + +Can I fix the sign of the magnetic moment in ordered states? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yes. Set the initial static self-energy using ``initial_static_self_energy`` parameter in [control] block. +This works as a local potential in the first iteration. +See :doc:`../reference/input` for details. + + +Can I set an initial self-energy for the DMFT loop? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yes. Use ``initial_self_energy`` parameter in [control] block. +See :doc:`../reference/input`. + +Let's say you want to start the DMFT loop using results obtained for different parameter set. +To do this, you perform ``dcore_check`` after convergence, and copy **sigma.dat** into a new working directory (with the name sigma_init.dat below). +Then, assign this file to ``initial_self_energy`` parameter as + +:: + + [control] + initial_self_energy = sigma_init.dat + + + +``dcore_check`` +--------------- + +Can I change the file format for figures? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yes. Use ``--ext`` option to specify the file extension. +If you prefer PDF, for example, the command reads + +:: + + $ dcore_check input.init --ext pdf + +The argument of ``--ext`` can be png, pdf, eps, jpg, ... (the ones supported by ``matplotlib`` module). + + + +Impurity solvers +---------------- + +What is the difference between ALPS/CT-HYB and TRIQS/cthyb? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +``ALPS/CT-HYB`` is developed by one of the main developers of DCore, H. Shinaoka. +Both of ``ALPS/CT-HYB`` and ``TRIQS/cthyb`` implement the hybridization-expansion continuous-time quantum Monte Carlo method. +The main difference is the reliability of measurement of the single-particle Green's function. +ALPS/CT-HYB uses a more elaborate algorithm (worm sampling). +The non-worm conventional sampling, which is implemented in ``TRIQS/cthyb``, +may give wrong results in some situations (e.g. SOI coupling with orbital-diagonal bath). + +Solver-dependent parameter is not recognized +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The variable type should be specified to be recognized as a solver parameter. +For example, integer variable with name *num* is written as + +:: + + [impurity_solver] + num{int} = 100 + +The type can be int, str, and float. + +Can I use my impurity solver? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Yes. Follow the instruction in :doc:`../impuritysolvers/how_to_integrate` + + +.. + ``dcore`` crashes abnormally when using cthyb + --------------------------------------------- + + Please retry. + + +Others +------- + +DCore is slow even with MPI parallelization +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +One of the reasons is that the number of threads of each MPI process is not set properly. +Unfortunately, the environment variable to set the number of threads is different among environments/libraries (OpenBLAS, Intel MKL, etc.). +The followings are the environment variables to set the number of threads for some libraries. + +* OMP_NUM_THREADS +* OPENBLAS_NUM_THREADS +* MKL_NUM_THREADS +* VECLIB_MAXIMUM_THREADS +* NUMEXPR_NUM_THREADS diff --git a/v4.0.0/_sources/support/issues.rst.txt b/v4.0.0/_sources/support/issues.rst.txt new file mode 100644 index 00000000..9ca6fcbb --- /dev/null +++ b/v4.0.0/_sources/support/issues.rst.txt @@ -0,0 +1,22 @@ + +Reporting issues +================ + +Please report all problems and bugs directly at the github issue page +``_. In order to make it easier +for us to solve the issue please follow these guidelines: + +#. In all cases specify which version of the application you are using. You can + find the version number in the file :file:`README.md` at the root of the + application sources. + +#. If you have a problem during the installation, give us information about + your operating system and the compiler you are using. Include the outputs of + the ``cmake`` and ``make`` commands as well as the ``CMakeCache.txt`` file + which is in the build directory. Please include these outputs in a + `gist `_ file referenced in the issue. + +#. If you are experiencing a problem during the execution of the application, provide + a script which allows to quickly reproduce the problem. + +Thanks! diff --git a/v4.0.0/_sources/todolist.rst.txt b/v4.0.0/_sources/todolist.rst.txt new file mode 100644 index 00000000..3160551d --- /dev/null +++ b/v4.0.0/_sources/todolist.rst.txt @@ -0,0 +1,4 @@ +TODO list +--------- + +.. todolist:: diff --git a/v4.0.0/_sources/tools.rst.txt b/v4.0.0/_sources/tools.rst.txt new file mode 100644 index 00000000..e4e4767a --- /dev/null +++ b/v4.0.0/_sources/tools.rst.txt @@ -0,0 +1,7 @@ +Tools +================ + +.. toctree:: + :maxdepth: 1 + + tools/akw_converter/akw diff --git a/v4.0.0/_sources/tools/akw_converter/akw.rst.txt b/v4.0.0/_sources/tools/akw_converter/akw.rst.txt new file mode 100644 index 00000000..93a1636d --- /dev/null +++ b/v4.0.0/_sources/tools/akw_converter/akw.rst.txt @@ -0,0 +1,112 @@ +A(k,w) converter +========================================= + +DCore can generate four-dimensional data of :math:`A(\boldsymbol{k},\omega)` on a linear grid. +An auxiliary tool ``akw_converter`` converts these data into three-dimensional volumeric data with a fixed value of :math:`\omega` that is suitable for reading with existing 3D graphic softwares such as VESTA. + +How to use +---------- + +The following steps should be done after all calculations are finished, namely, self-consistent calculation by ``dcore`` and even post calculations by ``dcore_spectrum``. + +#. **Modifying ini file** + + To change the output directory from the default value (``post``), ``dir_post`` is added to the ini file as + + :: + + [post] + dir_post = post_grd + + Then, to activate the grid calculation, the following block is added to the ini file + + :: + + [post.spectrum] + nk_mesh = 100 + + This parameter activates a grid calculation. + :math:`A(\boldsymbol{k},\omega)` is to be computed on a four-dimensional grid of size :math:`100^3 \times N_{\omega}`. + In order to reduce the data size, one could instead specify a set of 3 parameters as + + :: + + [post.spectrum] + nk0_mesh = 100 + nk1_mesh = 100 + nk2_mesh = 4 + + In this case, :math:`k_z` is computed on 0, pi/2, pi and 3pi/3. + Note that the k-grid is generated in the *primitive* reciprocal space. + It is also highly recommended to reduce the number of frequency points. For example, if only the Fermi surface is of interest, one can set + + :: + + [post.anacont] + Nomega = 3 + omega_max = 1.0 + omega_min = -1.0 + + Then, :math:`\omega=0` and two additional points are selected (``Nomega = 1`` is not allowed). + In this way, the data points are reduced to :math:`100^2 \times 4 \times 3`. + +#. **Executing dcore\_anacont and dcore\_spectrum** + + Now, ``dcore_anacont`` and ``dcore_spectrum`` are (re-)executed by + + :: + + dcore_anacont square.ini + dcore_spectrum --np 4 square.ini + + The number of processes in the ``--np`` option (4 above) should be changed according to your environment. + In this case, the data are saved in 'post_grd' directory. + We recommend to use this option to have k-path data and k-grid data in separate directories. + + The four-dimensional grid data are save in a file '*seed*\_akw\_mesh\_*sp*.dat', where *seed* is the seed name given in the ini file, and *sp* is the spin index ('up' and 'down' if spin-orbit coupling is not considered and 'ud' otherwise). + +#. **Executing akw\_converter.py** + + Finally, ``akw_converter`` is executed. + ``akw_converter.py`` is installed in bin directory, where other executables such as ``dcore`` and ``dcore_post`` are installed. + + :: + + akw_converter.py --omega 0.0 post_grd/square_akw_mesh_up.dat post_grd/akw_up.grd + + The value of :math:`\omega` is given by the ``--omega`` option. If data do not exist just on this :math:`\omega`, :math:`A(\boldsymbol{k},\omega)` is interpolated using 2 points nearby (depending on the kind of interpolation method). + The first argument is the path to the four-dimensional data generated by ``dcore_spectrum``. The second argument is the output file name. The default format is **GRD**, and the output filename should have extension 'grd'. + + The full option of ``akw_converter`` can be seen by the command + :: + + akw_converter.py -h + + +Example +--------- + +As an example, we solve +:doc:`the square-lattice model in tutorial <../../tutorial/square/square>`. +The ini file is changed as below. + +:download:`dmft_square_akw.ini ` + +We use the CT-HYB solver to obtain a better spectrum. +The occupation number is changed from n=1 to n=0.8 to break the particle-hole symmetry. + +A GRD file generated by the converter is opened by VESTA. +A two-dimensional plot is made by "Utilities --> 2D Data Display". +The plot clearly shows the Fermi surface in the square-lattice mode: + +.. image:: vesta_2d_data_display.png + :width: 600 + :align: center + +We note that one needs to change some configuration to have the above plot. +One goes to "Slice" and change (1) "Distance from origin" from 0.5 to 0 to select :math:`k_z=0` plane, and (2) "Ranges of fractional coordinates" from [0:1] to [-0.5:0.5] to shift the Gamma point to the center of the plot. +The figure below shows the Slice panel: + +.. image:: vesta_slice.png + :width: 300 + :align: center diff --git a/v4.0.0/_sources/tutorial.rst.txt b/v4.0.0/_sources/tutorial.rst.txt new file mode 100644 index 00000000..c3f75a55 --- /dev/null +++ b/v4.0.0/_sources/tutorial.rst.txt @@ -0,0 +1,27 @@ +Tutorial +======== + +**Preface** + +.. toctree:: + :maxdepth: 1 + + basicnotions/structure + +**Part-I: Model calculations** + +.. toctree:: + :maxdepth: 2 + + tutorial/square/square + tutorial/bethe-t2g/bethe + tutorial/afm/afm + +**Part-II: DFT+DMFT** + +.. toctree:: + :maxdepth: 2 + + tutorial/srvo3/srvo3.rst + +More examples are found in the directory "examples". diff --git a/v4.0.0/_sources/tutorial/afm.bak/afm.rst.txt b/v4.0.0/_sources/tutorial/afm.bak/afm.rst.txt new file mode 100644 index 00000000..4b6a9a84 --- /dev/null +++ b/v4.0.0/_sources/tutorial/afm.bak/afm.rst.txt @@ -0,0 +1,97 @@ +Antiferromagnetic state in 3D Hubbard model +============================================ + +In this tutorial, you will learn the following: + +* How to define a lattice model using the Wannier90 interface +* How to calculate antiferromagnetic states +* How to set an initial guess for the self-energy + +As a particular example, we consider the Hubbard model on a cubic lattice with nearest neighbor hopping of :math:`t=1`. +Within the single-site DMFT approximation, the model shows an antiferromagnetic transition at low temperature. +The transition temperature was estimated as :math:`T_\mathrm{c}/t\simeq 0.5` in `a previous study `_. +In this tutorial, we compute the antiferromagetic state below :math:`T_\mathrm{c}` using the ALPS/CT-HYB solver. +The complete input file is shown below. + +.. literalinclude:: cubic.ini + :language: ini + +Define lattice model +--------------------------- + +First, we define the hopping matrix of the 3D Hubbard model with a 2x2x2 unit cell. +Running :download:`mk_hr.py ` generates a text file (cubic_hr.dat) in the Wannier90 format. +The unit cell contains eight sites whose internal coordinates are (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1). + +We now assume an antiferromagnetic order at :math:`q=(\pi, \pi, \pi)`. +To this end, we assign the eight sites (correlated shells) to two inequivalent shells by using the `corr_to_inequiv` parameter in the model section. + +.. code-block:: bash + + python mk_hr.py + +Generate initial guess for self-energy +-------------------------------------- + +Second, we generate intial guesses for the (static) self-energies on the two inequivalent shells. +Running :download:`mk_init_se.py ` generates `init_se_up.txt` and `init_se_down.txt`. + +.. code-block:: bash + + python mk_init_se.py + +Self-consistent calculations +------------------------------ +Now, DMFT calculations can be done as usual. + +.. code-block:: bash + + export MPIRUN="mpirun" + dcore_pre cubic.ini > output-pre + dcore cubic.ini --np 48 > output + dcore_post cubic.ini --np 48 > output-post + + +In the standard output of `dcore`, you will see that the magnetic moments converge to :math:`\simeq 0.43` (86 % of the saturated moment). + +.. code-block:: bash + + Density Matrix + + Inequivalent Shell 0 + + Spin up + 0.929-0.000j + Eigenvalues: [0.92877164] + + Spin down + 0.072-0.000j + Eigenvalues: [0.07229858] + + Magnetic moment (only spin contribution, S=1/2 gives 0.5) + mx, my, mz : 0.0 0.0 0.428236533178 + + Inequivalent Shell 1 + + Spin up + 0.078-0.000j + Eigenvalues: [0.0779467] + + Spin down + 0.930-0.000j + Eigenvalues: [0.92994248] + + Magnetic moment (only spin contribution, S=1/2 gives 0.5) + mx, my, mz : 0.0 0.0 -0.425997888424 + +Inequivalent shell0 + +.. image:: check/iter_sigma-ish0.png + :width: 800 + :align: center + +Inequivalent shell1 + +.. image:: check/iter_sigma-ish1.png + :width: 800 + :align: center diff --git a/v4.0.0/_sources/tutorial/afm/afm.rst.txt b/v4.0.0/_sources/tutorial/afm/afm.rst.txt new file mode 100644 index 00000000..93cc575d --- /dev/null +++ b/v4.0.0/_sources/tutorial/afm/afm.rst.txt @@ -0,0 +1,136 @@ +Antiferromagnetic state +============================================ + +In this tutorial, you will learn the following: + +* How to define a lattice model using the Wannier90 interface +* How to calculate antiferromagnetic states +* How to set an initial guess for the self-energy + +As a particular example, we consider the Hubbard model on a square lattice (:doc:`/tutorial/square/square`). +Within the single-site DMFT approximation, the model shows an antiferromagnetic transition at low temperature (the Mermin-Wagner theorem is not fulfilled in DMFT). +The transition temperature was estimated as :math:`T_\mathrm{c}/t\simeq 0.23` for :math:`U=4`. +This means that the parameter set used in [:doc:`/tutorial/square/square`] is actually in the antiferromagnetic phase. +In this tutorial, we compute the antiferromagetic solution below :math:`T_\mathrm{c}` using a CT-HYB solver. + +.. in `a previous study `_. + +The complete input file is shown below: + +:download:`square_afm.ini` + +.. literalinclude:: square_afm.ini + :language: ini + +Note that ``/path/to/alps_cthyb`` for ``[impurity_solver] exec_path{str}`` parameter needs to be replaced with a full path to ``alps_cthyb`` executable in your environment. + +Define lattice model +--------------------------- + +.. + First, we define the hopping matrix of the 3D Hubbard model with a 2x2x2 unit cell. + Running :download:`mk_hr.py ` generates a text file (cubic_hr.dat) in the Wannier90 format. + The unit cell contains four sites whose internal coordinates are (0, 0), (0, 1), (1, 0), (1, 1). + + We now assume an antiferromagnetic order characterized by the wave vector :math:`q=(\pi, \pi)`. + To this end, we assign the four sites (correlated shells) to two inequivalent shells by using the ``corr_to_inequiv`` parameter in the model section. + +First, we define the hopping matrix of the 2D Hubbard model with a 2x2 unit cell. +Running the script :download:`mk_hr_2.py` as + +.. code-block:: bash + + python mk_hr_2.py + +a text file in the Wannier90 format is generated (:download:`afm_dim2_hr.dat`). +The unit cell contains four sites whose internal coordinates are (0, 0), (0, 1), (1, 0), (1, 1). + +We now assume an antiferromagnetic order characterized by the wave vector :math:`q=(\pi, \pi)`. +To this end, we assign the four sites (correlated shells) to two inequivalent shells by using the ``corr_to_inequiv`` parameter in the model section. + + +Generate initial guess for self-energy +-------------------------------------- + +.. + Second, we generate intial guesses for the (static) self-energies on the two inequivalent shells. + Running :download:`mk_init_se.py ` generates `init_se_up.txt` and `init_se_down.txt`. + + .. code-block:: bash + + python mk_init_se.py + +Second, we set up intial guesses for the (static) self-energies on the two inequivalent shells. +For one shell, we use the text file :download:`init_se_up.txt` containing + +.. code-block:: bash + + 0 0 0 -1.0 0.0 + 1 0 0 1.0 0.0 + +and for the other, we use :download:`init_se_down.txt` containing + +.. code-block:: bash + + 0 0 0 1.0 0.0 + 1 0 0 -1.0 0.0 + +Thus, spin moments tend to turn up on inequivalent shell0 and turn down on shell1. + + +Self-consistent calculations +------------------------------ +Now, DMFT calculations can be done as usual. + +.. code-block:: bash + + export MPIRUN="mpirun" + dcore_pre cubic.ini > output-pre + dcore cubic.ini --np 48 > output + dcore_anacont cubic.ini > output-anacont + dcore_spectrum cubic.ini --np 48 > output-spectrum + + +In the standard output of ``dcore``, you will see that the magnetic moments converge to :math:`\simeq 0.28` (57 % of the saturated moment). + +.. code-block:: bash + + Density Matrix + + Inequivalent Shell 0 + + Spin up + 0.784-0.000j + Eigenvalues: [0.7837032] + + Spin down + 0.218+0.000j + Eigenvalues: [0.2182982] + + Magnetic moment (only spin contribution, S=1/2 gives 0.5) + mx,my,mz= 0.0 0.0 0.282702499302 + + Inequivalent Shell 1 + + Spin up + 0.218-0.000j + Eigenvalues: [0.21842138] + + Spin down + 0.784-0.000j + Eigenvalues: [0.78360972] + + Magnetic moment (only spin contribution, S=1/2 gives 0.5) + mx,my,mz= 0.0 0.0 -0.282594174364 + +The graph below is one of the figures generated by ``dcore_check``, which shows the convergence of the spin moment for inequivalent shell0: + +.. image:: check/iter_spin-ish0.png + :width: 80% + :align: center + +For inequivalent shell1, the spin moment points the opposite directions: + +.. image:: check/iter_spin-ish1.png + :width: 80% + :align: center diff --git a/v4.0.0/_sources/tutorial/bethe-t2g/bethe.rst.txt b/v4.0.0/_sources/tutorial/bethe-t2g/bethe.rst.txt new file mode 100644 index 00000000..bc7fee1b --- /dev/null +++ b/v4.0.0/_sources/tutorial/bethe-t2g/bethe.rst.txt @@ -0,0 +1,153 @@ +Multiorbital model by a QMC solver +================================== + +:download:`dmft_bethe.ini ` + +An interesting phenomena called spin-freezing transition occurs in multi-orbital models +[`P. Werner, E. Gull, M. Troyer and A. J. Millis, PRL 101, 166405 (2008) `_]. +The spin-freezing phenomena is signaled by a peculiar frequency dependence of the self-energy: :math:`\mathrm{Im}\Sigma(i\omega_n) \propto \omega_n^{0.5}`. +In this tutorial, we solve the three-orbital model on a Bethe lattice to reproduce the results in the above reference. + +.. literalinclude:: dmft_bethe.ini + :language: ini + +Pre-process : ``dcore_pre`` +--------------------------- + +.. First, we have to generate the lattice model as +.. The h5 file stores information of the model including the lattice structure, hopping parameters, interaction parameters. + +We first generate a h5 file that is necessary for DMFT calculations. +The script ``dcore_pre`` is invoked for this purpose: + +.. code-block:: bash + + $ dcore_pre dmft_bethe.ini + +.. Then it outputs model HDF5 file (``bethe.h5``). +.. Parameters in [model] and [system] blocks are reads in the input file. + +If successful, a h5 file named *seedname*.h5 (``bethe.h5`` in the present case) is generated. + +DMFT loop : ``dcore`` +--------------------- + +The DMFT loop is performed by ``dcore`` program. +In this tutorial, we use continuous-time QMC implementation of ALPS/CT-HYB. +The runtime of the impurity solver is set to 300 sec. +You should not use the Hubbard-I solver for a metallic system. +One can run the program with 24 MPI processes as follows. +For solving the same model with TRIQS/cthyb, use +:download:`this input file ` instead. + + +.. code-block:: bash + + $ export MPIRUN="mpirun" + $ dcore dmft_bethe.ini --np 24 + +.. Then it generates the result HDF5 file. + +Any environment variables in ``command`` of the mpi section and ``exec_path`` of the impurity_solver section are expanded at runtime. +In addition, ``#`` in ``command`` of the mpi section is replaced by the number of processes specified at runtime (24 in this case). +In the above example, we defined the environment varible ``MPIRUN``. + +Note that ``dcore`` must be lauched without using the mpirun command as +it launches MPI processes internally for heavy tasks. +The QMC solver is executed with the number of MPI processes as well. + +Each self-consistent step takes around 5 min, +most of which is spent for solving an effective impurity problem by QMC. +40 iterations take around 200 min. +Results for the self-energy and Green's function in each iteration are accumulated into a h5 file named *seedname*.out.h5 (``bethe.out.h5`` in the present case). + +One can check the convergence of DMFT iterations by using ``dcore_check`` program as follows. + +.. code-block:: bash + + $ dcore_check dmft_bethe.ini + +.. We can find the following standard output. + +``dcore_check`` program prints the value of the chemical potential at each iteration on the standard output: + +:: + + @ Reading dmft_bethe.ini ... + Loading Sigma_iw... + Loading dc_imp and dc_energ... + Total number of Iteration: 40 + + Iter Chemical-potential + 1 -0.751277456949 + 2 0.434702172833 + 3 1.24052366776 + 4 1.87430591459 + 5 2.3902083604 + 6 2.80560950907 + 7 3.15120273079 + 8 3.39906953401 + 9 3.59109395044 + 10 3.77841000694 + 11 3.94933085606 + 12 4.04565623891 + 13 4.14089310218 + 14 4.21761388235 + 15 4.19672207134 + 16 4.22954996706 + 17 4.21218913905 + 18 4.23609175782 + 19 4.29360816707 + 20 4.30206162285 + 21 4.30581583599 + 22 4.31236778925 + 23 4.3507968933 + 24 4.34734048538 + 25 4.34881158874 + 26 4.35435696735 + 27 4.32563489267 + 28 4.3284996731 + 29 4.32645567868 + 30 4.31936571106 + 31 4.30926807535 + 32 4.34097777828 + 33 4.3454259465 + 34 4.29481990383 + 35 4.32541999195 + 36 4.33632971069 + 37 4.38081434746 + 38 4.38713422713 + 39 4.34154680207 + 40 4.38279281529 + Output check/sigma.dat + Output check/sigma_ave.png + Output check/iter_mu.dat + Output check/iter_mu.png + Output check/iter_sigma-ish0.png + Output check/iter_sigma.dat + + Done + +.. We also can see the imaginary-time self-energy at last seven iterations. + +``dcore_check`` generates several figures as well as data files in text format. +For instance, ``check/iter_sigma-ish0.png`` shows how the renormalization factor converges for each orbital. + +.. image:: check/iter_sigma-ish0.png + :width: 800 + :align: center + +If those results are not converged, one can restart DMFT iterations. + +You can plot the data for positive Matsubara frequencies as follows (like Fig. 3 of PRL 101, 166405 (2008)) using +:download:`a gnuplot command file `. + + +The reference data extracted from PRL 101, 166405 (2008) are available +:download:`here `. +The plot should look like the following. + +.. image:: sigma.png + :width: 600 + :align: center + diff --git a/v4.0.0/_sources/tutorial/spin_orbit/spin_orbit.rst.txt b/v4.0.0/_sources/tutorial/spin_orbit/spin_orbit.rst.txt new file mode 100644 index 00000000..3e920292 --- /dev/null +++ b/v4.0.0/_sources/tutorial/spin_orbit/spin_orbit.rst.txt @@ -0,0 +1,4 @@ +Spin-Orbit Coupling +=================== + +.. todo:: tutorial for spin-orbit coupling diff --git a/v4.0.0/_sources/tutorial/square.bak/square.rst.txt b/v4.0.0/_sources/tutorial/square.bak/square.rst.txt new file mode 100644 index 00000000..f5aa01fc --- /dev/null +++ b/v4.0.0/_sources/tutorial/square.bak/square.rst.txt @@ -0,0 +1,141 @@ +The first example: 2D Hubbard model +=================================== + +The first example is the two-dimensional Hubbard model. +We use the Hubbard-I approximation for solving the effective impurity problem and see the emergence of the Mott gap. +The input file is given below. + +:download:`dmft_square.ini ` + +.. literalinclude:: dmft_square.ini + :language: ini + +Pre-process : ``dcore_pre`` +--------------------------- + +.. First, we have to generate the lattice model as +.. The h5 file stores information of the model including the lattice structure, hopping parameters, interaction parameters. + +We first generate an HDF5 file that is necessary for DMFT calculations. +The script ``dcore_pre`` is invoked for this purpose: + +.. code-block:: bash + + $ dcore_pre dmft_square.ini + +.. Then it outputs model HDF5 file (``square.h5``). +.. Parameters in [model] and [system] blocks are reads in the input file. + +Then, an HDF5 file named *seedname*.h5 (``square.h5`` in the present case) will be generated. + +DMFT loop : ``dcore`` +--------------------- + +One can perform a DMFT self-consistent calculation with ``dcore`` program. +In this tutorial, we use the Hubbard-I solver just for simplicity. +One can run the program by + +.. code-block:: bash + + $ dcore dmft_square.ini --np 1 + +with a single process. + +It takes several minutes. You may run it with MPI to reduce the computational time. +Results for the self-energy and Green's function in each iteration are accumulated into an HDF5 file named *seedname*.out.h5 (``square.out.h5`` in the present case). + + +One can check the convergence of DMFT iterations by using ``dcore_check`` program as follows. + +.. code-block:: bash + + $ dcore_check dmft_square.ini + +``dcore_check`` program prints the value of the chemical potential at each iteration on the standard output: + +:: + + @ Reading dmft_square.ini ... + Loading Sigma_iw... + Loading dc_imp and dc_energ... + Total number of Iteration: 5 + + Iter Chemical-potential + 1 0.0 + 2 0.141978800943 + 3 0.597913733347 + 4 0.700078346042 + 5 0.742275654406 + Output check/sigma.dat + Output check/sigma_ave.png + Output check/iter_mu.dat + Output check/iter_mu.png + Output check/iter_sigma-ish0.png + Output check/iter_sigma.dat + + Done + +.. We also can see the imaginary-time self-energy at last seven iterations. + +``dcore_check`` generates several figures as well as data files in text format. +For instance, ``check/iter_sigma-ish0.png`` shows how the renormalization factor converges for each orbital. + +.. image:: check/iter_sigma-ish0.png + :width: 800 + :align: center + +Spectral function : ``dcore_post`` +---------------------------------- +We can calculate the density of states and the momentum-dependent single-particle excitations using ``dcore_post`` program. +In the Hubbard-I solver, the self-energy on the real-frequency axis can be directly computed (no analytical continuation is required). +Hence, the impurity problem is solved once more in ``dcore_post``. + +The calculation is done by the following command: + +.. code-block:: bash + + $ dcore_post dmft_square.ini --np 1 + +After finishing the calculation, +``square_akw.dat``, ``square_akw.gp`` and ``square_dos.dat`` are generated. +The data of momentum-resolved spectral functions are output into ``square_akw.dat``. +We can easily plot the result by using the script file ``square_akw.gp`` for gnuplot: + +.. code-block:: bash + + $ gnuplot square_akw.gp + +In the plot shown below, the left and right panels correspond to up and down spins, respectively. + +.. image:: akw.png + :width: 700 + :align: center + +The result for the density of states is output into ``square_dos.dat``. +We can plot it using gnuplot as follows: + +.. code-block:: gnuplot + + set xlabel "Energy" + set ylabel "DOS" + plot "square_dos.dat" w l + +.. image:: dos.png + :width: 700 + :align: center + +Another impurity solver: CTHYB-SEG +---------------------------------- + +The input file for ALPS/cthyb-seg is given as below. + +:download:`dmft_square_ctseg.ini ` + +.. literalinclude:: dmft_square_ctseg.ini + :language: ini + +The computed momentum-resolved spectral functions are shown below. + +.. image:: akw_ctseg.png + :width: 700 + :align: center diff --git a/v4.0.0/_sources/tutorial/square/square.rst.txt b/v4.0.0/_sources/tutorial/square/square.rst.txt new file mode 100644 index 00000000..50b025db --- /dev/null +++ b/v4.0.0/_sources/tutorial/square/square.rst.txt @@ -0,0 +1,191 @@ +The first example: 2D Hubbard model +=================================== + +The first example is the two-dimensional Hubbard model. +We first use the exact diagonalization solver :doc:`pomerol ` and see the influence of the Coulomb repulsion U on the single-particle excitations. A better result can be obtained using the CT-QMC solver, which will be explained later. + +The file below shows the full input file for solving the 2D Hubbard model: + +:download:`dmft_square_pomerol.ini ` + +.. literalinclude:: dmft_square_pomerol.ini + :language: ini + +The parameter ``exec_path{str}`` in ``[impurity_solver]`` block needs to be edited, if ``pomerol2dcore`` executable is not in your path: Please specify the full path to ``pomerol2dcore``. + +Pre-process : ``dcore_pre`` +--------------------------- + +.. First, we have to generate the lattice model as +.. The h5 file stores information of the model including the lattice structure, hopping parameters, interaction parameters. + +We first generate an HDF5 file that is necessary for DMFT calculations. +The script ``dcore_pre`` is invoked for this purpose: + +.. code-block:: bash + + $ dcore_pre dmft_square.ini + +.. Then it outputs model HDF5 file (``square.h5``). +.. Parameters in [model] and [system] blocks are reads in the input file. + +Then, an HDF5 file named *seedname*.h5 (``square.h5`` in the present case) is generated. + +DMFT loop : ``dcore`` +--------------------- + +One can perform a DMFT self-consistent calculation with ``dcore`` program. +In this tutorial, we use the exact diagonalization solver just for simplicity. +One can run the program by + +.. code-block:: bash + + $ dcore dmft_square.ini --np 1 + +with a single process. + +It takes several minutes. You may run it with MPI to reduce the computational time. +Results for the self-energy and Green's function in each iteration are accumulated into an HDF5 file named *seedname*.out.h5 (``square.out.h5`` in the present case). + + +One can check the convergence of DMFT iterations using ``dcore_check`` program as follows: + +.. code-block:: bash + + $ dcore_check dmft_square.ini + +``dcore_check`` program prints the value of the chemical potential at each iteration on the standard output: + +:: + + @ Reading dmft_square_pomerol.ini ... + Loading dc_imp and dc_energ... + Loading Sigma_iw... + Total number of Iteration: 13 + + Iter Chemical-potential + 1 2.0 + 2 2.0 + 3 2.0 + 4 2.0 + 5 2.0 + 6 2.0 + 7 2.0 + 8 2.0 + 9 2.0 + 10 2.0 + 11 2.0 + 12 2.0 + 13 2.0 + Output check_test/sigma.dat + Output check_test/sigma_ave.png + Output check_test/iter_mu.dat + Output check_test/iter_mu.png + Output check_test/iter_sigma-ish0.png + Output check_test/iter_sigma.dat + + Done + +.. We also can see the imaginary-time self-energy at last seven iterations. + +The value of the chemical potential does not change now because ``fix_mu = True`` is specified. ``dcore_check`` generates several figures as well as data files in text format. +For instance, ``check/iter_sigma-ish0.png`` shows how the renormalization factor converges for each orbital. + +.. image:: pomerol/check/iter_sigma-ish0.png + :width: 80% + :align: center + +The iteration is terminated when the diff (lower figure) reaches ``converge_tol = 1e-5`` at the 13th iteration. + +Analytical continuation of the self-energy : ``dcore_anacont`` +--------------------------------------------------------------------- + +The self-energy is calculated in the imaginary-time domain in the DMFT loop and saved as ``seedname_sigma_iw.npz``. +The analytical continuation from Matsubara frequency to real frequencies is required to calculate the spectral function. +DCore provides a program ``dcore_anacont`` for this purpose. +Parameters for the analytical continuation are specified in the ``[post.anacont]`` block in the input file. +``omega_min`` and ``omega_max`` is the minimum and maximum frequency for the output. +``Nomega`` is the number of frequency points. +``solver`` is the solver for the analytical continuation; "pade" is the Pade approximation and "spm" is the sparse modeling method. +Hyperparameters for the solver can be specified in the ``[post.anacont.pade]`` or ``[post.anacont.spm]`` block. + +.. code-block:: bash + + $ dcore_anacont dmft_square.ini + +The result is stored in ``post/sigma_w.npz``. + +Spectral function : ``dcore_spectrum`` +--------------------------------------- + +After calculating the self-energy on the real-frequency axis, we can also calculate other real-frequency quantities such as the density of states and the momentum-dependent single-particle excitations using ``dcore_spectrum`` program. + +.. In the Hubbard-I solver, the self-energy on the real-frequency axis can be directly computed (no analytical continuation is required). +.. Hence, the impurity problem is solved once more in ``dcore_post``. + +The calculation is done by the following command: + +.. code-block:: bash + + $ dcore_spectrum dmft_square.ini --np 1 + +After finishing the calculation, +results are stored in ``post`` directory. +The data of momentum-resolved spectral functions are output into ``akw.dat``. +We can easily plot the result by using the script file ``akw.gp`` for gnuplot: + +.. ``square_akw.dat``, ``square_akw.gp`` and ``square_dos.dat`` are generated. + +.. code-block:: bash + + $ cd post + $ gnuplot akw.gp + +In the graph shown below, the left and right panels correspond to up-spin and down-spin components, respectively. + +.. image:: pomerol/post/akw.png + :width: 80% + :align: center + +Here, we have tuned the range of the coloar bar by the command ``set cbrange[0:0.8]`` to get better figure. +The band width seems reduced than the noninteracting one, 8, but the artificial structure around E=1 and -1 makes it difficult to judge. + +The numerical result for the density of states is stored in ``dos.dat``. +We can plot it using gnuplot as follows: + +.. code-block:: gnuplot + + set xlabel "Energy" + set ylabel "DOS" + plot "dos.dat" w l + +The result is shown below. + +.. image:: pomerol/post/dos.png + :width: 80% + :align: center + +Another impurity solver: CTHYB-SEG +---------------------------------- + +The spectrum presented above shows some artificial features due to a limited number of the bath sites. The infinite limit of the baths (a continuous hybridization function) can be treated with the CT-QMC method. Here, we use the hybridization expansion CT-QMC solver :doc:`ALPS/cthyb-seg `. + +The file below shows the input file for ALPS/cthyb-seg: + +:download:`dmft_square_ctseg.ini ` + +.. literalinclude:: dmft_square_ctseg.ini + :language: ini + +``/path/to/alps_cthyb`` in ``[impurity_solver] exec_path{str}`` should be replaced with a full path to ``alps_cthyb`` executable in your environment. +Unlike in the ED solver, we do not use ``converge_tol`` parameter, since the automatic convergence check requires a special care for QMC solvers. + +The figure below shows the momentum-resolved spectral functions computed after the self-consistent calculations using 8 processes: + +.. image:: ctseg/post/akw.png + :width: 700 + :align: center + +The artificial features observed in the ED solver has gone. This graph shows characteristics for correlated bands such as renormalized band width, low-energy quasiparticles (sharp peak), and broadening away from the Fermi level. + +We note that spectra computed using the Pade analytical continuation is extremely sensitive to statistical errors. For this reason, this figure might not be reproduced even with the same input. In such cases, try improving the QMC accuracy by increasing the number of MPI processes or by increasing ``MAX_TIME{int}`` parameter. diff --git a/v4.0.0/_sources/tutorial/srvo3/openmx/openmx.rst.txt b/v4.0.0/_sources/tutorial/srvo3/openmx/openmx.rst.txt new file mode 100644 index 00000000..fb7e91b8 --- /dev/null +++ b/v4.0.0/_sources/tutorial/srvo3/openmx/openmx.rst.txt @@ -0,0 +1,78 @@ +Wanniernization using OpenMX +================================ + +OpenMX is a first-principles program package based on +the numerical localized basis set and pseudopotentials. +OpenMX itself can generate hopping parameter in the wannier90 format. +In this tutorial, we demonstrate the calculation of SrVO\ :sub:`3`. + +.. note:: + + This tutorial requires large computational resources or long simulation time. + +SCF computation and Wannier with OpenMX +--------------------------------------- + +:download:`scf.dat ` + +.. literalinclude:: scf.dat + +.. code-block:: bash + + $ openmx scf.dat + +Then, convert the OpenMX output to the wannier90 format. +It can be performed with ``openmx2dcore`` utility as: + +.. code-block:: bash + + $ openmx2dcore.py SrVO3 srvo3 + +DMFT calculation +---------------- + +:download:`srvo3.ini ` + +.. literalinclude:: srvo3_openmx.ini + :language: ini + +Please see :ref:`howtocthyb` for the details of the parameter setting. + +.. note:: + + The parameter ``n_cycles{int}`` should be tuned in inverse proportion to the number of MPI processes. + The following result is obtained with 432 MPI processes at ``n_cycles{int} = 10000`` + (70 seconds per DMFT cycle on ISSP system B). + If we want to compute by using 32 MPI processes at the same accuracy, + ``n_cycles{int}`` should be 10000\*432/32=135000. + +DMFT setup: dcore_pre +~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_pre srvo3.ini + +Running self-consistent DMFT calculation: dcore +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore srvo3.ini + +Post-processing and data analysis: dcore_anacont and dcore_spectrum +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_anacont srvo3.ini + $ dcore_spectrum srvo3.ini + $ cd post + $ sed -e "s/every 10/every 1/g" akw.gp + $ gnuplot akw.gp + +.. image:: akw_srvo3.png + :width: 500 + :align: center + +"+" indicates the original band structure. diff --git a/v4.0.0/_sources/tutorial/srvo3/qe/qe.rst.txt b/v4.0.0/_sources/tutorial/srvo3/qe/qe.rst.txt new file mode 100644 index 00000000..39bec7b5 --- /dev/null +++ b/v4.0.0/_sources/tutorial/srvo3/qe/qe.rst.txt @@ -0,0 +1,121 @@ +.. _qesrvo3: + +Wanniernization using Quantum ESPRESSO +======================================= + +SCF calculation of Quantum ESPRESSO +----------------------------------- + +:download:`scf_srvo3.in ` + +.. literalinclude:: scf_srvo3.in + +The pseudopotentials are downloaded from +`Sr.pbe-spn-kjpaw_psl.0.2.3.upf `_, +`V.pbe-spn-kjpaw_psl.0.2.3.upf `_, and +`O.pbe-n-kjpaw_psl.0.1.upf `_. + +.. code-block:: bash + + $ mpirun -np 4 pw.x -in scf_srvo3.in + +Wannierization +-------------- + +Generate Bloch orbitals for the Wannier +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Perform non-scf calculation for generating Bloch orbitals that are used +in the wannierization. + +:download:`nscf_srvo3.in ` + +.. literalinclude:: nscf_srvo3.in + +This *k*\ -grid is generated as follows: + +.. code-block:: bash + + $ kmesh.pl 4 4 4 + +where ``kmesh.pl`` is located in the `utility/` directory of Wannier90. + +Then, run ``pw.x`` as + +.. code-block:: bash + + $ mpirun -np 4 pw.x -in nscf_srvo3.in + +Pre-process for Wannier90 +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Pre-process with wannier90 program. +It is always required before pw2wannier.x runs. + +:download:`srvo3.win ` + +.. literalinclude:: srvo3.win + +This *k* grid is generated as follows: + +.. code-block:: bash + + $ kmesh.pl 4 4 4 wan + +.. code-block:: bash + + $ wannier90.x -pp srvo3 + +QE to wannier90 interface +~~~~~~~~~~~~~~~~~~~~~~~~~ + +:download:`pw2wan_srvo3.in ` + +.. literalinclude:: pw2wan_srvo3.in + +.. code-block:: bash + + $ mpirun -np 4 pw2wan.x -in pw2wan_srvo3.in + +Wannier90 +~~~~~~~~~ + +Execute ``wannier90.x`` for the actual wannierization. +The input file is the same as that for the pre-processing run. + +.. code-block:: bash + + $ wannier90.x srvo3 + +(Optional) Check wannierization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you want to check the quality of the wannierization, +you can plot the original and the wannier-interpolated band structure simultaneously. + +First, compute the band structure with the following input file: + +:download:`band_srvo3.in ` + +.. literalinclude:: band_srvo3.in + +.. code-block:: bash + + $ mpiexec -np 4 pw.x -in band_srvo3.in + +:download:`bands_srvo3.in ` + +.. literalinclude:: bands_srvo3.in + +.. code-block:: bash + + $ mpiexec -np 4 bands.x -in bands_srvo3.in + +.. .. code-block:: gnuplot +.. code-block:: guess + + plot [][11:18] "bands.out.gnu" u 1:2 w p tit "Orig", 12.3116 tit "E_F", "srvo3_band.dat" u ($1*0.6146):2 tit "Wannier" w l + +.. image:: band_srvo3.png + :width: 500 + :align: center diff --git a/v4.0.0/_sources/tutorial/srvo3/srvo3.rst.txt b/v4.0.0/_sources/tutorial/srvo3/srvo3.rst.txt new file mode 100644 index 00000000..ea0bd703 --- /dev/null +++ b/v4.0.0/_sources/tutorial/srvo3/srvo3.rst.txt @@ -0,0 +1,77 @@ +.. _srvo3: + +SrVO\ :sub:`3` +============== + +.. note:: + + This tutorial requires parallel computing. + +Crystal structure of SrVO\ :sub:`3` (drawn by `VESTA `_). + +.. image:: struct_srvo3.png + :width: 200 + :align: center + +Construction of Wannier functions +----------------------------------- + +Maximally localized Wannier functions for the *t*\ :sub:`2g` manifold can be constructed by using DFT code. +Please download precomputed data for Wannier functions + +:download:`srvo3_hr.dat ` + +and save it to your working directly. This data was computed by using Quantum ESPRESSO and Wannier90. +The procedure of Wanniernization is detailed in :doc:`qe/qe` and :doc:`openmx/openmx`. + +DMFT calculation +---------------- + +:download:`srvo3.ini ` + +.. literalinclude:: srvo3.ini + :language: ini + +To use TRIQS/cthyb, please use + +.. literalinclude:: srvo3_triqs_cthyb.ini + :language: ini + +instead. +Please see :ref:`howtocthyb` for the details of the parameter setting for TRIQS/cthyb. + +To generate reference data, we used 48 MPI processes (ISSP system B). +The total computational time for 12 iterations is around 30 mins. + +The accuracy of QMC results can be improved by setting a longer simulation time (ALPS/CT-HYB) or a larger n_cycles (TRIQS/cthyb). +For ALPS/CT-HYB, the parameter time_limit is given in seconds. + +DMFT setup: dcore_pre +~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_pre srvo3.ini + +Running self-consistent DMFT calculation: dcore +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore srvo3.ini --np 48 + +Post-processing and data analysis: dcore_anacont and dcore_spectrum +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_anacont srvo3.ini + $ dcore_spectrum srvo3.ini --np 48 + $ cd post + $ gnuplot akw.gp + +.. image:: akw_srvo3.png + :width: 500 + :align: center + +The left and right panels show results for up and down spins, respectively. diff --git a/v4.0.0/_sources/tutorial/srvo3_openmx/openmx.rst.txt b/v4.0.0/_sources/tutorial/srvo3_openmx/openmx.rst.txt new file mode 100644 index 00000000..19adeead --- /dev/null +++ b/v4.0.0/_sources/tutorial/srvo3_openmx/openmx.rst.txt @@ -0,0 +1,80 @@ +OpenMX +====== + +.. include:: ../../warning_compatibility.rst + +OpenMX is a first-principles program package based on +the numerical localized basis set and pseudopotentials. +OpenMX itself can generate hopping parameter in the wannier90 format. +In this tutorial, we demonstrate the calculation of SrVO\ :sub:`3`. + +.. note:: + + This tutorial requires large computational resources or long simulation time. + +SCF computation and Wannier with OpenMX +--------------------------------------- + +:download:`scf.dat ` + +.. literalinclude:: scf.dat + +.. code-block:: bash + + $ openmx scf.dat + +Then, convert the OpenMX output to the wannier90 format. +It can be performed with ``openmx2dcore`` utility as: + +.. code-block:: bash + + $ openmx2dcore.py SrVO3 srvo3 + +DMFT calculation +---------------- + +:download:`srvo3.ini ` + +.. literalinclude:: srvo3_openmx.ini + :language: ini + +Please see :ref:`howtocthyb` for the details of the parameter setting. + +.. note:: + + The parameter ``n_cycles{int}`` should be tuned in inverse proportion to the number of MPI processes. + The following result is obtained with 432 MPI processes at ``n_cycles{int} = 10000`` + (70 seconds per DMFT cycle on ISSP system B). + If we want to compute by using 32 MPI processes at the same accuracy, + ``n_cycles{int}`` should be 10000\*432/32=135000. + +DMFT setup: dcore_pre +~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_pre srvo3.ini + +Running self-consistent DMFT calculation: dcore +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore srvo3.ini + +Post-processing and data analysis: dcore_anacont and dcore_spectrum +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_anacont srvo3.ini + $ dcore_spectrum srvo3.ini + $ cd post + $ sed -e "s/every 10/every 1/g" akw.gp + $ gnuplot akw.gp + +.. image:: akw_srvo3.png + :width: 500 + :align: center + +"+" indicates the original band structure. diff --git a/v4.0.0/_sources/tutorial/srvo3_respack/respack.rst.txt b/v4.0.0/_sources/tutorial/srvo3_respack/respack.rst.txt new file mode 100644 index 00000000..fd519f9f --- /dev/null +++ b/v4.0.0/_sources/tutorial/srvo3_respack/respack.rst.txt @@ -0,0 +1,187 @@ +.. _respacksrvo3: + +Downfolding with RESPACK (SrVO\ :sub:`3`) +========================================= + +.. include:: ../../warning_compatibility.rst + +.. note:: + + This tutorial requires large computational resources or the long simulation time. + +Crystal structure of SrVO\ :sub:`3` (drawn by `VESTA `_). + +.. image:: ../srvo3/struct_srvo3.png + :width: 200 + :align: center + +SCF calculation of Quantum ESPRESSO +----------------------------------- + +:download:`scf_srvo3_r.in ` + +.. literalinclude:: scf_srvo3_r.in + +The pseudopotentials are downloaded from + +http://www.quantum-simulation.org/potentials/sg15_oncv/upf/O_ONCV_PBE-1.0.upf + +http://www.quantum-simulation.org/potentials/sg15_oncv/upf/Sr_ONCV_PBE-1.0.upf + +http://www.quantum-simulation.org/potentials/sg15_oncv/upf/V_ONCV_PBE-1.0.upf + +They are part of +`The SG15 Optimized Norm-Conserving Vanderbilt (ONCV) pseudopotentials `_. +For the downfolding with RESPACK, we should use the norm-conserving pseudopotentials rather than +the ultrasoft pseudopotentials or PAW. + +The SCF calculation of the electronic charge is performed as follows: + +.. code-block:: bash + + $ mpirun -np 4 pw.x -in scf_srvo3.in + +Wannierization +-------------- + +Next, we perform non-scf calculation for generating Bloch orbitals that are used +in the wannierization. + +:download:`nscf_respack.in ` + +.. literalinclude:: nscf_respack.in + +Then, run ``pw.x`` as + +.. code-block:: bash + + $ mpirun -np 4 pw.x -in nscf_respack.in + +and convert outputs so that RESPACK can read them. + +.. code-block:: bash + + $ qe2respack.sh srvo3.save/ + +This program locates in the ``util/qe2respack/`` directory of RESPACK. + +Execute ``calc_wannier`` (in ``src/wannier/`` of RESPACK) for the actual wannierization. +with the following input file: + +:download:`respack.in ` + +.. literalinclude:: respack.in + +.. code-block:: bash + + $ calc_wannier < respack.in + +(Optional) Check wannierization +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you want to check the quality of the wannierization, +you can plot the original and the wannier-interpolated band structure simultaneously. + +First, compute the band structure with the following input file: + +:download:`band_srvo3_r.in ` + +.. literalinclude:: band_srvo3_r.in + +.. code-block:: bash + + $ mpiexec -np 4 pw.x -in band_srvo3_r.in + +:download:`bands_srvo3.in <../srvo3/qe/bands_srvo3.in>` + +.. literalinclude:: ../srvo3/qe/bands_srvo3.in + +.. code-block:: bash + + $ mpiexec -np 4 bands.x -in bands_srvo3.in + +.. .. code-block:: gnuplot +.. code-block:: guess + + plot [][11:18] "bands.out.gnu" u 1:2 w p tit "Orig", 12.3116 tit "E_F", "dir-wan/dat.iband" u ($1*2.5731):2 tit "Wannier" w l + +.. image:: ../srvo3/qe/band_srvo3.png + :width: 500 + :align: center + +Dielectric matrix and Effective interaction +------------------------------------------- + +Next, we move on the calculation of the dielectric matrix with cRPA. +We use the program ``calc_chiqw`` (in ``src/calc_chiqw`` in RESPACK) as + +.. code-block:: bash + + $ mpiexec calc_chiqw < respack.in + +where the input file is the same as above. + +After we compute the dielectric matrix, we calculate the effective interaction :math:`U` and :math:`J` as + +.. code-block:: bash + + $ calc_w3d < respack.in + $ calc_j3d < respack.in + +The output of these program should be transformed into the wannier90 format by using the utility program +``respack2wan90.py`` in ``bin/`` directory of triqs. + +.. code-block:: bash + + $ respack2wan90.py srvo3 + +The command-line argument (``"srvo3"`` in this case) must be the same as ``seedname`` in the DCore input. + +DMFT calculation +---------------- + +:download:`srvo3.ini ` + +.. literalinclude:: srvo3_respack.ini + :language: ini + +Please see :ref:`howtocthyb` for the details of the parameter setting. + +.. note:: + + The parameter ``n_cycles{int}`` should be tuned in inverse proportion to the number of MPI processes. + The following result is obtained with 432 MPI processes at ``n_cycles{int} = 10000`` + (70 seconds per DMFT cycle on ISSP system B). + If we want to compute by using 32 MPI processes at the same accuracy, + ``n_cycles{int}`` should be 10000\*432/32=135000. + +DMFT setup: dcore_pre +~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_pre srvo3_respack.ini + +Running the DMFT calculation: dcore +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore srvo3_respack.ini + +Post-processing and data analysis: dcore_anacont and dcore_spectrum +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block :: bash + + $ dcore_anacont srvo3_respack.ini + $ dcore_spectrum srvo3_respack.ini + $ cd post + $ sed -e "s/every 10/every 3/g" akw.gp + $ gnuplot akw.gp + +.. image:: akw_srvo3.png + :width: 500 + :align: center + +"x" indicates the original band structure. diff --git a/v4.0.0/_sources/warning_compatibility.rst.txt b/v4.0.0/_sources/warning_compatibility.rst.txt new file mode 100644 index 00000000..03b71bf7 --- /dev/null +++ b/v4.0.0/_sources/warning_compatibility.rst.txt @@ -0,0 +1,4 @@ +.. warning:: + + This document was written for ver.1.x, and might include descriptions incompatible with the latest version. + If you encounter some problem, see the release note of ver.2.0 and check the differences between ver.1.x and ver.2.0. diff --git a/v4.0.0/_static/basic.css b/v4.0.0/_static/basic.css new file mode 100644 index 00000000..cfc60b86 --- /dev/null +++ b/v4.0.0/_static/basic.css @@ -0,0 +1,921 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/v4.0.0/_static/dcore.css b/v4.0.0/_static/dcore.css new file mode 100644 index 00000000..aea577e1 --- /dev/null +++ b/v4.0.0/_static/dcore.css @@ -0,0 +1,52 @@ +/* + Style sheet for DCore document +*/ + +/* background */ +/* +body { + background-image: url(yoshimi10_2.png); + background-color: #ffeedd +} +*/ + +/* ------------------------------------------------------- */ +/* override definitions in 'wild_sphinx_theme' */ + +/* header +div.related { + background-color: #6BA81E; + line-height: 32px; + color: #fff; + text-shadow: 0px 1px 0 #444; + font-size: 0.9em; +} +*/ +div.related { + /* steelblue */ + /* background-color: #4682b4; */ + /* darkcyan */ + /* background-color: #008b8b; */ + /* seagreen */ + background-color: #2e8b57; +} + +/* text color on the header +div.related a { + color: #E2F3CC; +} +*/ + +/* +body { + font-family: Arial, sans-serif; + font-size: 100%; + background-color: #111; + color: #555; + margin: 0; + padding: 0; +} +*/ +body { + background-color: #f0f8ff; +} diff --git a/v4.0.0/_static/doctools.js b/v4.0.0/_static/doctools.js new file mode 100644 index 00000000..d06a71d7 --- /dev/null +++ b/v4.0.0/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/v4.0.0/_static/documentation_options.js b/v4.0.0/_static/documentation_options.js new file mode 100644 index 00000000..b57ae3b8 --- /dev/null +++ b/v4.0.0/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/v4.0.0/_static/file.png b/v4.0.0/_static/file.png new file mode 100644 index 00000000..a858a410 Binary files /dev/null and b/v4.0.0/_static/file.png differ diff --git a/v4.0.0/_static/language_data.js b/v4.0.0/_static/language_data.js new file mode 100644 index 00000000..250f5665 --- /dev/null +++ b/v4.0.0/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/v4.0.0/_static/logo.html b/v4.0.0/_static/logo.html new file mode 100644 index 00000000..2b47b162 --- /dev/null +++ b/v4.0.0/_static/logo.html @@ -0,0 +1,21 @@ + + + + + + +
DCore
+ +
DCore
+ + diff --git a/v4.0.0/_static/logo_dcore1.png b/v4.0.0/_static/logo_dcore1.png new file mode 100644 index 00000000..0ba1a2a5 Binary files /dev/null and b/v4.0.0/_static/logo_dcore1.png differ diff --git a/v4.0.0/_static/minus.png b/v4.0.0/_static/minus.png new file mode 100644 index 00000000..d96755fd Binary files /dev/null and b/v4.0.0/_static/minus.png differ diff --git a/v4.0.0/_static/plot_directive.css b/v4.0.0/_static/plot_directive.css new file mode 100644 index 00000000..d45593c9 --- /dev/null +++ b/v4.0.0/_static/plot_directive.css @@ -0,0 +1,16 @@ +/* + * plot_directive.css + * ~~~~~~~~~~~~ + * + * Stylesheet controlling images created using the `plot` directive within + * Sphinx. + * + * :copyright: Copyright 2020-* by the Matplotlib development team. + * :license: Matplotlib, see LICENSE for details. + * + */ + +img.plot-directive { + border: 0; + max-width: 100%; +} diff --git a/v4.0.0/_static/plus.png b/v4.0.0/_static/plus.png new file mode 100644 index 00000000..7107cec9 Binary files /dev/null and b/v4.0.0/_static/plus.png differ diff --git a/v4.0.0/_static/pygments.css b/v4.0.0/_static/pygments.css new file mode 100644 index 00000000..0e1cdf3f --- /dev/null +++ b/v4.0.0/_static/pygments.css @@ -0,0 +1,85 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #49483e } +.highlight { background: #272822; color: #f8f8f2 } +.highlight .c { color: #959077 } /* Comment */ +.highlight .err { color: #ed007e; background-color: #1e0010 } /* Error */ +.highlight .esc { color: #f8f8f2 } /* Escape */ +.highlight .g { color: #f8f8f2 } /* Generic */ +.highlight .k { color: #66d9ef } /* Keyword */ +.highlight .l { color: #ae81ff } /* Literal */ +.highlight .n { color: #f8f8f2 } /* Name */ +.highlight .o { color: #ff4689 } /* Operator */ +.highlight .x { color: #f8f8f2 } /* Other */ +.highlight .p { color: #f8f8f2 } /* Punctuation */ +.highlight .ch { color: #959077 } /* Comment.Hashbang */ +.highlight .cm { color: #959077 } /* Comment.Multiline */ +.highlight .cp { color: #959077 } /* Comment.Preproc */ +.highlight .cpf { color: #959077 } /* Comment.PreprocFile */ +.highlight .c1 { color: #959077 } /* Comment.Single */ +.highlight .cs { color: #959077 } /* Comment.Special */ +.highlight .gd { color: #ff4689 } /* Generic.Deleted */ +.highlight .ge { color: #f8f8f2; font-style: italic } /* Generic.Emph */ +.highlight .ges { color: #f8f8f2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #f8f8f2 } /* Generic.Error */ +.highlight .gh { color: #f8f8f2 } /* Generic.Heading */ +.highlight .gi { color: #a6e22e } /* Generic.Inserted */ +.highlight .go { color: #66d9ef } /* Generic.Output */ +.highlight .gp { color: #ff4689; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { color: #f8f8f2; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #959077 } /* Generic.Subheading */ +.highlight .gt { color: #f8f8f2 } /* Generic.Traceback */ +.highlight .kc { color: #66d9ef } /* Keyword.Constant */ +.highlight .kd { color: #66d9ef } /* Keyword.Declaration */ +.highlight .kn { color: #ff4689 } /* Keyword.Namespace */ +.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ +.highlight .kr { color: #66d9ef } /* Keyword.Reserved */ +.highlight .kt { color: #66d9ef } /* Keyword.Type */ +.highlight .ld { color: #e6db74 } /* Literal.Date */ +.highlight .m { color: #ae81ff } /* Literal.Number */ +.highlight .s { color: #e6db74 } /* Literal.String */ +.highlight .na { color: #a6e22e } /* Name.Attribute */ +.highlight .nb { color: #f8f8f2 } /* Name.Builtin */ +.highlight .nc { color: #a6e22e } /* Name.Class */ +.highlight .no { color: #66d9ef } /* Name.Constant */ +.highlight .nd { color: #a6e22e } /* Name.Decorator */ +.highlight .ni { color: #f8f8f2 } /* Name.Entity */ +.highlight .ne { color: #a6e22e } /* Name.Exception */ +.highlight .nf { color: #a6e22e } /* Name.Function */ +.highlight .nl { color: #f8f8f2 } /* Name.Label */ +.highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +.highlight .nx { color: #a6e22e } /* Name.Other */ +.highlight .py { color: #f8f8f2 } /* Name.Property */ +.highlight .nt { color: #ff4689 } /* Name.Tag */ +.highlight .nv { color: #f8f8f2 } /* Name.Variable */ +.highlight .ow { color: #ff4689 } /* Operator.Word */ +.highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +.highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ +.highlight .mf { color: #ae81ff } /* Literal.Number.Float */ +.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ +.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ +.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ +.highlight .sa { color: #e6db74 } /* Literal.String.Affix */ +.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ +.highlight .sc { color: #e6db74 } /* Literal.String.Char */ +.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ +.highlight .sd { color: #e6db74 } /* Literal.String.Doc */ +.highlight .s2 { color: #e6db74 } /* Literal.String.Double */ +.highlight .se { color: #ae81ff } /* Literal.String.Escape */ +.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ +.highlight .si { color: #e6db74 } /* Literal.String.Interpol */ +.highlight .sx { color: #e6db74 } /* Literal.String.Other */ +.highlight .sr { color: #e6db74 } /* Literal.String.Regex */ +.highlight .s1 { color: #e6db74 } /* Literal.String.Single */ +.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ +.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #a6e22e } /* Name.Function.Magic */ +.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ +.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ +.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ +.highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ +.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/v4.0.0/_static/searchtools.js b/v4.0.0/_static/searchtools.js new file mode 100644 index 00000000..97d56a74 --- /dev/null +++ b/v4.0.0/_static/searchtools.js @@ -0,0 +1,566 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/v4.0.0/_static/sphinx_highlight.js b/v4.0.0/_static/sphinx_highlight.js new file mode 100644 index 00000000..aae669d7 --- /dev/null +++ b/v4.0.0/_static/sphinx_highlight.js @@ -0,0 +1,144 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + parent.insertBefore( + span, + parent.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(SphinxHighlight.highlightSearchWords); +_ready(SphinxHighlight.initEscapeListener); diff --git a/v4.0.0/_static/wild.css b/v4.0.0/_static/wild.css new file mode 100644 index 00000000..b24a6ced --- /dev/null +++ b/v4.0.0/_static/wild.css @@ -0,0 +1,239 @@ +/* + * wild.css_t + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- wild theme (based on nature theme). + * Wild theme looks like nature theme but allows you change pygments_style in theme.conf + * since this stylesheet doesn't override background colors. + * + * :copyright: R. Hardouin for Wild theme. Nature theme: Copyright 2007-2011 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + */ + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Arial, sans-serif; + font-size: 100%; + background-color: #111; + color: #555; + margin: 0; + padding: 0; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 230px; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.document { + background-color: #eee; +} + +div.body { + background-color: #ffffff; + color: #3E4349; + padding: 0 30px 30px 30px; + font-size: 0.9em; +} + +div.footer { + color: #555; + width: 100%; + padding: 13px 0; + text-align: center; + font-size: 75%; +} + +div.footer a { + color: #444; + text-decoration: underline; +} + +div.related { + background-color: #6BA81E; + line-height: 32px; + color: #fff; + text-shadow: 0px 1px 0 #444; + font-size: 0.9em; +} + +div.related a { + color: #E2F3CC; +} + +div.sphinxsidebar { + font-size: 0.75em; + line-height: 1.5em; +} + +div.sphinxsidebarwrapper{ + padding: 20px 0; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Arial, sans-serif; + color: #222; + font-size: 1.2em; + font-weight: normal; + margin: 0; + padding: 5px 10px; + background-color: #ddd; + text-shadow: 1px 1px 0 white +} + +div.sphinxsidebar h4{ + font-size: 1.1em; +} + +div.sphinxsidebar h3 a { + color: #444; +} + + +div.sphinxsidebar p { + color: #888; + padding: 5px 20px; +} + +div.sphinxsidebar p.topless { +} + +div.sphinxsidebar ul { + margin: 10px 20px; + padding: 0; + color: #000; +} + +div.sphinxsidebar a { + color: #444; +} + +div.sphinxsidebar input { + border: 1px solid #ccc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar input[type=text]{ + margin-left: 20px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #005B81; + text-decoration: none; +} + +a:hover { + color: #E32E00; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Arial, sans-serif; + background-color: #BED4EB; + font-weight: normal; + color: #212224; + margin: 30px 0px 10px 0px; + padding: 5px 0 5px 10px; + text-shadow: 0px 1px 0 white +} + +div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; } +div.body h2 { font-size: 150%; background-color: #C8D5E3; } +div.body h3 { font-size: 120%; background-color: #D8DEE3; } +div.body h4 { font-size: 110%; background-color: #D8DEE3; } +div.body h5 { font-size: 100%; background-color: #D8DEE3; } +div.body h6 { font-size: 100%; background-color: #D8DEE3; } + +a.headerlink { + color: #c60f0f; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: #c60f0f; + color: white; +} + +div.body p, div.body dd, div.body li { + line-height: 1.5em; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +div.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre { + padding: 10px; + line-height: 1.2em; + font-size: 1.1em; + margin: 1.5em 0 1.5em 0; + -webkit-box-shadow: 1px 1px 1px #d8d8d8; + -moz-box-shadow: 1px 1px 1px #d8d8d8; +} + +tt { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ + font-size: 1.1em; + font-family: monospace; +} + +.viewcode-back { + font-family: Arial, sans-serif; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} \ No newline at end of file diff --git a/v4.0.0/_static/yoshimi10_2.png b/v4.0.0/_static/yoshimi10_2.png new file mode 100644 index 00000000..b3ca5303 Binary files /dev/null and b/v4.0.0/_static/yoshimi10_2.png differ diff --git a/v4.0.0/about.html b/v4.0.0/about.html new file mode 100644 index 00000000..c23fc1a6 --- /dev/null +++ b/v4.0.0/about.html @@ -0,0 +1,191 @@ + + + + + + + + About DCore — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

About DCore

+
+

License

+

The DCore package is published under the +GNU General Public License, version 3.

+

The following files are from the TRIQS (Toolbox for Research on Interacting Quantum Systems).

+ +

We would like to express our sincere gratitude to TRIQS’s developers.

+

This package of ver.1.0 was developed under the support of “Project for advancement of software usability in materials science” by The Institute for Solid State Physics, The University of Tokyo. The copyright of DCore ver.1.0 belongs to The University of Tokyo.

+
+
+

Citing DCore

+

If we has used DCore in your research, and you would like to acknowledge the project in your academic publication, +please cite the following paper:

+ +
+
+

Authors & Quotation

+

Developers:

+
    +
  • ver. 2.0-

    +
      +
    1. Shinaoka, J. Otsuki, K. Yoshimi, M. Kawamura, N. Takemori, Y. Motoyama

    2. +
    +
  • +
  • ver. 1.1 (released on 2019/1/25)

  • +
  • ver. 1.0 (released on 2018/3/24)

    +
      +
    1. Shinaoka, J. Otsuki, K. Yoshimi, M. Kawamura, T. Kato

    2. +
    +
  • +
+

Related papers:

+

This package depends on TRIQS libraries and applications. +Please cite relevant papers for these original libraries.

+ +

In addition to the above two libraries, you may use impurity solvers listed below.

+ +

For some of them, they provide a BibTeX entry for each paper in the above cites.

+

When you use the SpM method for analytic continuation, please cite the following paper:

+ +
+
+

GitHub repository

+

You can download the source code of DCore from https://github.com/issp-center-dev/DCore.

+
+
+

Disclaimer

+

The program is provided as is, i.e. WITHOUT ANY WARRANTY of any kind, as +stated in the license. In particular, its authors and contributors will take +no responsibility for any possible bugs or any improper use of these programs, +including those resulting in incorrect scientific publications.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/analytic_continuation.html b/v4.0.0/analytic_continuation.html new file mode 100644 index 00000000..ecbe0a46 --- /dev/null +++ b/v4.0.0/analytic_continuation.html @@ -0,0 +1,125 @@ + + + + + + + + Analytic continuation — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

Analytic continuation

+

The analytic continuation is a method to obtain the real-frequency Green’s function from the imaginary-frequency Green’s function. +The program dcore_anacont performs the analytic continuation with the Pade approximation and the sparse-modeling method.

+ +

Users can also use external codes for the analytic continuation.

+ +
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/analytic_continuation/external_code.html b/v4.0.0/analytic_continuation/external_code.html new file mode 100644 index 00000000..b18bc28e --- /dev/null +++ b/v4.0.0/analytic_continuation/external_code.html @@ -0,0 +1,192 @@ + + + + + + + + How to use an external AC code — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

How to use an external AC code

+

You can use an external code to perform AC of the self-energy from the Matsubara frequency to the real frequency. +The only thing the code needs to do is to write the self-energy in the real frequency as a NumPy binary file, post/sigma_w.npz +from the Matsubara frequency self-energy stored in seedname_sigma_iw.npz.

+
+

Input file: seedname_sigma_iw.npz

+

seedname_sigma_iw.npz is a NumPy binary file, so you can load it with numpy.load function.

+
import numpy as np
+npz = np.load("./seedname_sigma_iw.npz")
+
+
+

The returned object, npz, is a dictionary. The keys are as follows:

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +

Key

Type

Description

beta

float

Inverse temperature

iwn

array of complex

Matsubara frequency

data#

array of complex

Self-energy of #-th inequivalent shell

hartree_fock#

array of complex

Hartree-Fock term of #-th inequivalent shell

+

Here, “#” is 0, 1, 2, … .

+

“data#” is a \(N_{i\omega} \times N_\text{orb} \times N_\text{orb}\) array, where \(N_{i\omega}\) is the number of Matsubara frequencies, and \(N_\text{orb}\) is the number of orbitals.

+

“hartree_fock#” is a Hartree-Fock term of “#”-th inequivalent shell, \(H^\text{f}\).

+
+\[H^\text{f}_{ik} = \sum_{jl} U_{ijkl} \left\langle c^\dagger_j c_l \right\rangle\]
+

The data format is a \(N_\text{orb} \times N_\text{orb}\) array, where \(N_\text{orb}\) is the number of orbitals.

+
+
+

Output file: post/sigma_w.npz

+

The output file, post/sigma_w.npz, is also a NumPy binary file storing one dictionary with the following keys:

+ +++++ + + + + + + + + + + + + + + + + +

Key

Type

Description

omega

array of real

frequency

data#

array of complex

Self-energy of #-th inequivalent shell

+

Here, “#” is 0, 1, 2, … .

+

“data#” is a \(N_{\omega} \times N_\text{orb} \times N_\text{orb}\) array, where \(N_{\omega}\) is the number of frequencies, and \(N_\text{orb}\) is the number of orbitals.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/analytic_continuation/pade.html b/v4.0.0/analytic_continuation/pade.html new file mode 100644 index 00000000..e676058f --- /dev/null +++ b/v4.0.0/analytic_continuation/pade.html @@ -0,0 +1,198 @@ + + + + + + + + Analytic continuation with the Pade approximation — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Analytic continuation with the Pade approximation

+

The Pade approximation is a simple and widely used method for the analytic continuation. +The Pade approximation is based on the assumption that the Green’s function can be approximated by a rational function of the frequency. +The Pade approximation is implemented in the dcore_anacont program.

+

The common parameters of dcore_anacont is specified in the [post.anacont] block as follows:

+
[post.anacont]
+solver = pade
+omega_min = -6.0
+omega_max = 6.0
+Nomega = 101
+show_result = false
+save_result = true
+
+
+

solver specifies the method for the analytic continuation. +omega_min, omega_max, and Nomega specify the frequency range and the number of frequency points for the output; +the frequency points are linearly spaced between omega_min and omega_max. +show_result specifies whether the obtained self-energies \(\mathrm{Re}\Sigma_{ij}(\omega)\) and \(\mathrm{Im}\Sigma_{ij}(\omega)\) are displayed on the screen by using Matplotlib. +save_result specifies whether the plots of the obtained self-energies are saved in the work/post directory as sigma_w_{ish}_{iorb}_{jorb}.png, +where ish is the shell index, and iorb and jorb are the orbital indices. +The output directory work/post can be changed by the parameter dir_work in the [post] block.

+

The parameters for the Pade approximation are specified in the [post.anacont.pade] block as follows:

+
[post.anacont.pade]
+iomega_max = 10000
+n_min = 0
+n_max = 100
+eta = 0.01
+
+
+

iomega_max, n_min, and n_max specify how many Matsubara frequencies are used. +First, iomega_max specifies the cutoff of Matsubara frequency, \(\omega_m\). +When iomega_max > 0, solve \(\omega_N = \pi/\beta (2N+1) \le \omega_m < \omega_{N+1}\) and obtain \(N\). +If \(N < N_\text{min}\) or \(N > N_\text{max}\), \(N\) is replaced by \(N_\text{min}\) or \(N_\text{max}\). +Otherwise (iomega_max == 0, default value), \(N = N_\text{max}\). +Then, the Matsubara frequencies \(\omega_n\) for \(0 \le n \le N\) are used. +When the number of self-energies calculated by the DMFT loop is less than \(N\), all the data are used.

+

eta is the imaginary frequency shift for the analytic continuation, that is, the analytic continuation is performed as \(i\omega_n \to \omega + i\eta\).

+
+

Example

+

The following input file is used to perform a DMFT calculation of a Hubbard model on a square lattice with the Pomerol solver and an analytic continuation of the self-energy with the Pade approximation:

+

pade.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(4.0, 0.0, 0.0)]
+nk0 = 8
+nk1 = 8
+nk2 = 1
+
+[system]
+T = 0.1
+n_iw = 1000
+fix_mu = True
+mu = 2.0
+
+[impurity_solver]
+name = pomerol
+exec_path{str} = pomerol2dcore
+n_bath{int} = 3
+fit_gtol{float} = 1e-6
+
+[control]
+max_step = 100
+sigma_mix = 0.5
+time_reversal = true
+converge_tol = 1e-5
+
+[post.anacont]
+solver = pade
+show_result = false
+save_result = true
+omega_max = 6.0
+omega_min = -6.0
+Nomega = 401
+
+[post.anacont.pade]
+eta = 0.1
+
+
+

The figure below shows the self-energy in real frequency obtained by analytic continuation (work/post/sigma_w_0_0_0.png).

+../_images/pade.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/analytic_continuation/spm.html b/v4.0.0/analytic_continuation/spm.html new file mode 100644 index 00000000..ae335619 --- /dev/null +++ b/v4.0.0/analytic_continuation/spm.html @@ -0,0 +1,202 @@ + + + + + + + + Analytic continuation with the sparse-modeling method — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Analytic continuation with the sparse-modeling method

+

The sparse-modeling (SpM) method is a method for the analytic continuation of the self-energy by solving the integral equation

+
+\[\Sigma(\tau) = \int_{-\infty}^{\infty} d\omega \frac{e^{-\tau \omega}}{1+e^{-\beta\omega}} \rho(\omega)\]
+

where \(\Sigma(\tau)\) is the self-energy in imaginary time and \(\rho(\omega) = -\mathrm{Im}\Sigma(\omega)/\pi\) is the spectral function in real frequency. +The real part of the self-energy is obtained by the Kramers-Kronig transformation from the imaginary part.

+

In the SpM method, the kernel matrix of the integral equation, \(e^{-\tau\omega}/(1+e^{-\beta\omega})\) is decomposed by the singular value decomposition (SVD), +and the self-energies \(\Sigma(\tau)\) and \(\Sigma(\omega)\) are transformed by the left and right singular vectors, respectively.

+

The SpM method is implemented in the dcore_anacont program. +While the SpM method in the original paper uses the ADMM for optimization, the SpM method in the dcore_anacont program can use more solvers via the CVXPY package.

+

The common parameters of dcore_anacont is described in the section of the Pade approximation. +The SpM method is specified by solver = spm in the [post.anacont] block. +The parameters for the SpM method are specified in the [post.anacont.spm] block as follows:

+
[post.anacont.spm]
+solver = ECOS
+n_matsubara = 1000
+n_tau = 101
+n_tail = 5
+n_sv = 30
+lambda = 1e-5
+
+
+

n_matsubara is the number of Matsubara frequencies used. When it is larger than the number of the data obtained by the DMFT calculation, the number of the data is used. +n_tau is the number of imaginary time points. +n_tail is the number of the last Matsubara frequencies used for the tail fitting, \(\Sigma(i\omega_n) \sim a/i\omega_n\). +n_sv is the number of singular values used after truncation. +lambda is the coefficient of the L1 regularization term in the optimization. +solver specifies the solver for the optimization.

+

The parameter of the solver can be specified in the [post.anacont.spm.solver] block. +In this block, the format of name{type} = value should be used, for example, max_iters{int} = 100. +Available types are int, float, and str. +Available parameters depend on the solver used. +For details of solvers, see the CVXPY documentation.

+
+

Example

+

The following input file is used to perform a DMFT calculation of a Hubbard model on a square lattice with the Pomerol solver and an analytic continuation of the self-energy with the SpM method:

+

spm.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(4.0, 0.0, 0.0)]
+nk0 = 8
+nk1 = 8
+nk2 = 1
+
+[system]
+T = 0.1
+n_iw = 1000
+fix_mu = True
+mu = 2.0
+
+[impurity_solver]
+name = pomerol
+exec_path{str} = pomerol2dcore
+n_bath{int} = 3
+fit_gtol{float} = 1e-6
+
+[control]
+max_step = 100
+sigma_mix = 0.5
+time_reversal = true
+converge_tol = 1e-5
+
+[post.anacont]
+solver = spm
+show_result = false
+save_result = true
+omega_max = 6.0
+omega_min = -6.0
+Nomega = 401
+
+[post.anacont.spm]
+n_matsubara = 1000
+n_tau = 101
+n_tail = 5
+n_sv = 30
+lambda = 1e-5
+solver = ECOS
+
+[post.anacont.spm.solver]
+max_iters{int} = 100
+
+
+

The figure below shows the self-energy in real frequency obtained by analytic continuation (work/post/sigma_w_0_0_0.png).

+../_images/spm.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/basicnotions/structure.html b/v4.0.0/basicnotions/structure.html new file mode 100644 index 00000000..f6d18978 --- /dev/null +++ b/v4.0.0/basicnotions/structure.html @@ -0,0 +1,149 @@ + + + + + + + + Minimum introduction: Structure of DCore — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

Minimum introduction: Structure of DCore

+
+

Data flow

+

DCore contains a set of programs which perform dynamical mean-field theory (DMFT) calculations for models and materials. +The structure of programs and data flow for the DMFT calculation is summarized below.

+../_images/structure.png +

The DMFT calculation includes two DCore programs: (i) dcore_pre and (ii) dcore as described later.

+

After the DMFT loop (dcore) is finished, one can compute dynamical physical quantities such as the density of states and the momentum-resolved spectrum functions using the post-processing tool. +The structure of the post-processing is shown below.

+../_images/structure_post.png +

The post-processing tool consists of two DCore programs: (iii) dcore_anacont and (iv) dcore_spectrum.

+
+
+

(i) The interface layer dcore_pre

+

dcore_pre generates a HDF5 file necessary for the DMFT loop. +Users specify parameters defining a model such as hopping parameters on a certain lattice, and interactions. +The hopping parameters are given either for preset models (e.g., square lattice, Bethe lattice) or using Wannier90 format

+
+
+

(ii) DMFT loop dcore

+

dcore is the main program for the DMFT calculations. +The effective impurity problem is solved repeatedly to fulfill the self-consistency condition of the DMFT. +For solving the impurity problem, dcore calls an external program such as the continuous-time quantum Monte Carlo method and the Hubbard-I approximation.

+
+
+

(iii) Analytical continuation dcore_anacont

+

The DMFT loop provides the self-energy in the Matsubara frequency domain. +To obtain physical quantities in the real frequency domain, we need to perform the analytical continuation (AC). +dcore_anacont performs the analytical continuation using the Pade approximation or the SpM method. +Note that users can perform AC by using an external program.

+
+
+

(iv) Spectrum calculation dcore_spectrum

+

dcore_spectrum computes some physical quantities from the converged solution of the DMFT loop. +Currently, the following quantities can be calculated:

+
    +
  • (projected) density of states

  • +
  • Correlated band structures (momentum-resolved single-particle excitation spectrum)

  • +
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers.html b/v4.0.0/impuritysolvers.html new file mode 100644 index 00000000..8d68e383 --- /dev/null +++ b/v4.0.0/impuritysolvers.html @@ -0,0 +1,122 @@ + + + + + + + + Impurity solvers — DCore documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/alpscore_cthyb/cthyb.html b/v4.0.0/impuritysolvers/alpscore_cthyb/cthyb.html new file mode 100644 index 00000000..fda489fb --- /dev/null +++ b/v4.0.0/impuritysolvers/alpscore_cthyb/cthyb.html @@ -0,0 +1,141 @@ + + + + + + + + CT-QMC: ALPS/CT-HYB — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

CT-QMC: ALPS/CT-HYB

+

ALPS/CT-HYB solver implements the CT-HYB QMC algorithm and is developed by H. Shinaoka, E. Gull and P. Werner. +The spin-orbit coupling is supported by default. +One can call ALPS/CT-HYB from DCore through the “ALPS/cthyb” interface. +For the moment, this interface is the first choice for QMC solvers in DCore +as it is used by developers of DCore on a regular basis.

+

The old triqs_interface for DCore v1.x has retired. +The new interface involved in DCore 2.x requires only the installation of ALPS/CT-HYB 1.x. +Please follow the instruction on the official site.

+

A minimum working example is the following. +We assumed that the executable is installed at “$HOME/opt/CT-HYB/bin/hybmat”. +The solver runs for 300 seconds.

+
[impurity_solver]
+name = ALPS/cthyb
+timelimit{int} = 300
+exec_path{str} = $HOME/opt/CT-HYB/bin/hybmat
+
+
+

ALPS/CT-HYB have many input parameters. +Please refer to the reference manual for a list of available input parameters. +The DCore interface supports support all of them. +For instance, one can enable verbose model as follows. +Note that one must specify type for input parameters of ALPS/CT-HYB.

+
[impurity_solver]
+verbose{int} = 1
+
+
+

The DCore interface generates input files for ALPS/CT-HYB into a working directory at work/imp_shell<ish>_ite<ite> (ish is the index of the shell and ite is the iteration). +Then, ALPS/CT-HYB is excecuted in the working directory.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/alpscore_ctseg/ctseg.html b/v4.0.0/impuritysolvers/alpscore_ctseg/ctseg.html new file mode 100644 index 00000000..1ef739b9 --- /dev/null +++ b/v4.0.0/impuritysolvers/alpscore_ctseg/ctseg.html @@ -0,0 +1,147 @@ + + + + + + + + CT-QMC with segment implementation: ALPS/CT-HYB-SEGMENT — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

CT-QMC with segment implementation: ALPS/CT-HYB-SEGMENT

+

ALPS/CT-HYB-SEGMENT solver implements the CT-HYB QMC algorithm and is developed by H. Hafermann, P. Werner, E. Gull. +Only density-density interactions are taken into account.

+

A minimum working example is the following. Please be sure to turn on density_density option in model block (otherwise the simulation fails). +We assumed that the executable is installed at “$HOME/opt/CT-HYB/bin/alps_cthyb”. +The solver terminates after MAX_TIME (300 seconds in the following example) or the total number of SWEEPS has been reached.

+
[model]
+density_density = True
+[impurity_solver]
+name = ALPS/cthyb-seg
+exec_path{str} = $HOME/opt/CT-HYB/bin/alps_cthyb
+MAX_TIME{int} = 300
+cthyb.N_MEAS{int} = 50
+cthyb.THERMALIZATION{int}=1000
+cthyb.SWEEPS{int}=100000000
+cthyb.TEXT_OUTPUT{bool} = False
+
+
+

ALPS/CT-HYB-SEGMENT has many input parameters. +A complete list of the parameters can be obtained by the help command

+
$HOME/opt/CT-HYB/bin/alps_cthyb --help
+
+
+

The following optional parameters may be useful:

+
[impurity_solver]
+cthyb.MEASURE_nn{bool} = True   # static density-density correlation functions
+cthyb.MEASURE_nnw{bool} = True  # density-density correlation functions in frequency domain
+cthyb.MEASURE_nnt{bool} = True  # density-density correlation functions <n(0) n(t)>
+cthyb.MEASURE_g2w{bool} = True  # measure two-particle Green's function in frequency space
+
+
+

Please also refer to the wiki page for some descriptions on parameters.

+

The DCore interface generates input files for ALPS/CT-HYB-SEGMENT into a working directory at work/imp_shell<ish>_ite<ite> (ish is the index of the shell and ite is the iteration). +Then, ALPS/CT-HYB-SEGMENT is executed in the working directory, and numerical results are stored there. +For example, the occupation number and the double occupancy are saved in the file ‘observables.dat’.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/how_to_integrate.html b/v4.0.0/impuritysolvers/how_to_integrate.html new file mode 100644 index 00000000..0e4bef97 --- /dev/null +++ b/v4.0.0/impuritysolvers/how_to_integrate.html @@ -0,0 +1,219 @@ + + + + + + + + How to integrate your own solver — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

How to integrate your own solver

+

You can use your own impurity solver from DCore by wrapping the executable as appropriate. +The null solver serves as a template of wrapper code.

+
+
+

Follow the instructions below.

+
+

Copy the template

+

In directory python/impurity_solvers, copy the template

+
$ cp null_solver.py your_solver.py
+
+
+
+
+

Edit the template

+
    +
  • Change the class name

    +
    class NullSolver(SolverBase):
    +
    +
    +

    Let’s say you changed the class name into YourSolver.

    +
  • +
  • Set the solver name

    +
    def name(self):
    +    return "null"
    +
    +
    +
  • +
  • Set input to the solver

    +
    # (1) Set configuration for the impurity solver
    +# input:
    +#   self.beta
    +#   self.set_G0_iw
    +#   self.u_mat
    +#
    +# Additionally, the following variables may be used:
    +#   self.n_orb
    +#   self.n_flavor
    +#   self.gf_struct
    +#   self.n_tau
    +#   self.use_spin_orbit
    +
    +# (1a) If H0 is necessary:
    +# Non-interacting part of the local Hamiltonian including chemical potential
    +# Make sure H0 is hermite.
    +# Ordering of index in H0 is spin1, spin1, ..., spin2, spin2, ...
    +H0 = extract_H0(self._G0_iw, self.block_names)
    +
    +# (1b) If Delta(iw) and/or Delta(tau) are necessary:
    +# Compute the hybridization function from G0:
    +#     Delta(iwn_n) = iw_n - H0 - G0^{-1}(iw_n)
    +# H0 is extracted from the tail of the Green's function.
    +self._Delta_iw = delta(self._G0_iw)
    +Delta_tau = make_block_gf(GfImTime, self.gf_struct, self.beta, self.n_tau)
    +for name, block in self._Delta_iw:
    +    Delta_tau[name] << Fourier(self._Delta_iw[name])
    +
    +# (1c) Set U_{ijkl} for the solver
    +# for i, j, k, l in product(range(self.n_flavors), repeat=4):
    +#     self.u_mat[i, j, k, l]
    +
    +
    +

    Here, you generate all necessary input files to run your program.

    +
  • +
  • Run the solver

    +
    # (2) Run a working horse
    +with open('./output', 'w') as output_f:
    +    launch_mpi_subprocesses(mpirun_command, [exec_path, 'input.ini'], output_f)
    +
    +
    +

    The second argument to the function launch_mpi_subprocesses is the actual command and arguments used for invoking MPI processes from DCore. +These options and arguments to the solver must be given as a list (refer to subprocess module in Python).

    +
  • +
  • Convert output of the solver

    +
    # (3) Copy results into
    +#   self._Sigma_iw
    +#   self._Gimp_iw
    +
    +
    +

    Read output files generated by the solver, and set them into DCore variables. +The self-energy and the Green’s function are stored as BlockGf class of TRIQS library. +See other wrappers or the TRIQS documentation.

    +
  • +
+
+
+

Register your solver

+

Finally, you register your own solver to DCore. +Edit python/impurity_solvers/__init__.py +to import your class

+
from .your_solver import YourSolver
+
+
+

and add it to the dictionary variable solver_classes as

+
solver_classes = {
+    ...
+    'your_solver': YourSolver,
+}
+
+
+

Then, you can invoke your solver from DCore by

+
[impurity_solver]
+name = your_solver
+
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/null.html b/v4.0.0/impuritysolvers/null.html new file mode 100644 index 00000000..ac1ecb46 --- /dev/null +++ b/v4.0.0/impuritysolvers/null.html @@ -0,0 +1,125 @@ + + + + + + + + Non-interacting limit: null — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

Non-interacting limit: null

+

This impurity solver returns zero self-energy, which allows to check the non-interacting limit.

+

How to invoke:

+
[impurity_solver]
+name = null
+
+
+

In material calculations, we recommend users to use null solver first to check agreement with the DFT calculation. +Note that, since self-energy is zero, one should introduce an artificial broadening to the excitation spectra to make delta functions visible. This can be done by

+
[post.spectrum]
+broadening = 0.001
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/pomerol/pomerol.html b/v4.0.0/impuritysolvers/pomerol/pomerol.html new file mode 100644 index 00000000..157baf14 --- /dev/null +++ b/v4.0.0/impuritysolvers/pomerol/pomerol.html @@ -0,0 +1,201 @@ + + + + + + + + Exact diagonalization solver: pomerol — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Exact diagonalization solver: pomerol

+

pomerol is an exact diagonalization (ED) library implemented in c++. +DCore provides an interface to pomerol library to compute an approximate solution of DMFT with discritized hybridization function.

+
+

Features

+
    +
  • Arbitrary temperature

  • +
  • All interactions available in DCore are supported.

  • +
  • [experimental] two-particle Green’s function

  • +
  • [todo] tail evaluation of Gf

  • +
+
+
+

Install

+

The following library/program needs to be installed:

+ +
+
+

How to use

+

Mandatory parameters:

+
[impurity_solver]
+name = pomerol
+exec_path{str} = /install_directory/bin/pomerol2dcore
+
+
+

Optional parameters:

+
n_bath{int} = 3  # 0 for default
+fit_gtol{float} = 1e-6  # 1e-5 for default
+
+
+

The default value of n_bath is 0, namely, no bath site is taken into account (Hubbard-I approximation). +For n_bath>0, hybridization function Delta(iw) is fitted by

+
+\[\Delta^{n_\mathrm{bath}}_{o_1 o_2}(i\omega) = \sum_{l=1}^{n_\mathrm{bath}} \frac{V_{o_1 l} V_{l o_2}}{i\omega - \epsilon_l}\]
+

Then, the finite-size system consisting of the impurity site and n_bath bath sites are solve by ED method. +The size of the Hilbert space increases exponentially according to \(2^{n_\textrm{spn-orb}}\) where \(n_\textrm{spn-orb}=2*n_\mathrm{orb} + 2*n_\mathrm{bath}\). +Because of storage limitation, \(n_\textrm{spn-orb} \simeq 16\) is the limits in this solver.

+
+
+

Example

+

The square-lattice model in tutorial is solved by the pomerol solver using the following input parameter set:

+

dmft_square_pomerol.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(4.0, 0.0, 0.0)]
+nk = 8
+
+[system]
+T = 0.1
+n_iw = 1000
+mu = 2.0
+fix_mu = True
+
+[impurity_solver]
+name = pomerol
+exec_path{str} = pomerol2dcore
+n_bath{int} = 3
+fit_gtol{float} = 1e-6
+
+[control]
+max_step = 100
+sigma_mix = 0.5
+time_reversal = True
+converge_tol = 1e-5
+
+[post.spectrum]
+broadening = 0.4
+knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
+nk_line = 100
+
+[post.anacont]
+omega_max =6.0
+omega_min =-5.0
+Nomega = 400
+
+
+

It is recommended to set convergence_tol parameter in [control] block to stop the DMFT loop automatically. +The figure below shows the renormalization factor as a function of n_bath. +Convergence to the CTHYB result is obtained around n_bath=3.

+../../_images/renorm.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/triqs_cthyb/cthyb.html b/v4.0.0/impuritysolvers/triqs_cthyb/cthyb.html new file mode 100644 index 00000000..74f78c5d --- /dev/null +++ b/v4.0.0/impuritysolvers/triqs_cthyb/cthyb.html @@ -0,0 +1,417 @@ + + + + + + + + CT-QMC: TRIQS/cthyb — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CT-QMC: TRIQS/cthyb

+
+

Install

+

Follow the installation guide in TRIQS/cthyb.

+
+

Note

+
    +
  • Be sure to use the same C++ compiler as the one used to build the TRIQS library.

  • +
  • If you want to treat the spin-orbit coupling in TRIQS/cthyb solver, +it must be built with the following CMake options:

    +
    -DLocal_hamiltonian_is_complex=ON -DHybridisation_is_complex=ON
    +
    +
    +
  • +
+
+
+
+

Basic parameters for QMC

+

The accuracy of the TRIQS/cthyb calculation depends on mainly the following +three parameters.

+
+
    +
  • n_cycles{int}

    +

    The number of QMC cycles for computing any quantities. +The numerical noise can be reduced by increasing this parameter.

    +

    When we use the MPI parallelism, the total number of QMC cycle +( number-of-processes * n_cycles) affects the accuracy. +Therefore, +n_cycles in inverse proportion to the number of MPI processes keeps the accuracy.

    +
  • +
  • n_warmup_cycles{int}

    +

    The number of QMC cycles for the thermalization before the above main calculation. +If it is insufficient, the state to be computed may be different from the +equilibrium state.

    +

    This parameter is independent of the MPI parallelism.

    +
  • +
  • length_cycle{int}

    +

    Each QMC cycles have sub-cycles. +The length of this sub-cycle should be long enough to escape from the auto-correlation.

    +

    This parameter is independent of the MPI parallelism.

    +
  • +
+
+

The computational time is proportional to length_cycle*(n_cycles+n_warmup_cycles). +The following script is an example to describe the procedure for searching appropriate QMC parameter.

+
#!/bin/bash
+
+cat > pre.ini <<EOF
+[model]
+seedname = bethe
+lattice = bethe
+norb = 1
+nelec = 1.0
+t = 1.0
+kanamori = [(4.0, 0.0, 0.0)]
+
+[system]
+beta = 40.0
+nk = 100
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_warmup_cycles{int} = 10000
+n_cycles{int} = 10000
+length_cycle{int} = 100
+
+[control]
+max_step = 1
+EOF
+
+dcore_pre pre.ini
+
+n_cycles[0]=3000;   n_warmup_cycles[0]=5000; length_cycle[0]=50
+n_cycles[1]=10000;  n_warmup_cycles[1]=5000; length_cycle[1]=50
+n_cycles[2]=30000;  n_warmup_cycles[2]=5000; length_cycle[2]=50
+n_cycles[3]=100000; n_warmup_cycles[3]=5000; length_cycle[3]=50
+n_cycles[4]=300000; n_warmup_cycles[4]=5000; length_cycle[4]=50
+n_cycles[5]=300000; n_warmup_cycles[5]=5000; length_cycle[5]=100
+
+for i in `seq 0 5`
+do
+    sed -e "/n_cycles/c n_cycles{int} = ${n_cycles[i]}" \
+        -e "/n_wamup_cycles/c n_warmup_cycles{int} = ${n_wamup_cycles[i]}" \
+        -e "/length_cycle/c length_cycle{int} = ${length_cycle[i]}" \
+    pre.ini > dmft.ini
+    mpiexec -np 4 dcore dmft.ini
+    dcore_check dmft.ini --output bethe.pdf
+    mv bethe_sigma.dat cyc${n_cycles[i]}_warm${n_warmup_cycles[i]}_len${length_cycle[i]}.dat
+done
+
+
+

Then, we use gnuplot as

+
plot [0:10][-0.6:0] \
+"cyc3000_warm5000_len50.dat" u 1:3 w l lw 3, \
+"cyc10000_warm5000_len50.dat" u 1:3 w l lw 3, \
+"cyc30000_warm5000_len50.dat" u 1:3 w l lw 3, \
+"cyc100000_warm5000_len50.dat" u 1:3 w l lw 3, \
+"cyc300000_warm5000_len50.dat" u 1:3 w l lw 3, \
+"cyc300000_warm5000_len100.dat" u 1:3 w l lw 3
+
+
+

and obtain

+../../_images/QMCparam.png +

From this plot, we can see that both parameter settings are insufficient and +we have to increase n_cycles or length_cycle or both of them +(In almost cases, n_warmup_cycles has minor effect).

+
+
+

High-frequency tail fit

+

The self energy computed with QMC becomes noisy at the high frequency region. +This high-frequency tail can be fitted by using the following function:

+
+\[\Sigma_{\rm tail}(i \omega) \approx \frac{a_1}{\omega} + \frac{a_2}{\omega^2} + +\frac{a_3}{\omega^3} + \cdots\]
+

We show the procedure for using this technique. +The original input file (without tail-fit) is as follows (dmft.ini):

+
[model]
+seedname = bethe
+lattice = bethe
+norb = 1
+nelec = 1.0
+t = 1.0
+kanamori = [(4.0, 0.0, 0.0)]
+
+[system]
+beta = 40.0
+nk = 100
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_warmup_cycles{int} = 10000
+n_cycles{int} = 100000
+length_cycle{int} = 50
+
+[control]
+max_step = 1
+
+[post.check]
+omega_check = 30.0
+
+
+

We first execute the ordinary DMFT calculation:

+
$ dcore_pre dmft.ini
+$ mpiexec -np 4 dcore dmft.ini
+$ dcore_check dmft.ini --output bethe.pdf
+
+
+

Then, looking at the figure in bethe.pdf, +we choose the energy range where the tail-fit is performed.

+../../_images/tailfit.png +

In this case, we choose energy range from 6 to 15 [red box in (a) in the above figure], and +add the following parameters at the [system] block in the input file +(not the +solver parameter +for the tail fit):

+
[system]
+beta = 40.0
+nk = 100
+perform_tail_fit = True
+fit_max_moment = 2
+fit_min_w = 6.0
+fit_max_w = 15.0
+
+
+

We run dcore_check again, and obtain the result as (b) in the above figure. +If necessary, we repeat editing the input file and running dcore_check to refine the energy range. +After the energy range is fixed, we again perform the QMC calculation by dcore. The final result looks like (c) in the +above figure.

+
+
+

Multi-band system

+

For the multi-band systems, we have to include the two-pairs insertion/removal move +in the QMC cycles as

+
[impurity_solver]
+name = TRIQS/cthyb
+move_double{bool} = True
+
+
+

because these moves are disabled in the default setting.

+
+
+

Pade approximation for DOS and spectrum function

+

To obtain spectral functions, we need to perform analytical continuation from Matsubara frequency to real frequency. +Currently, the Pade approximation is the only choice for the analytical continuation.

+

There is one control parameter for Pade approximation, iomega_max in the [post.anacont.pade] block. It specifies an energy cutoff for Matsubara frequency. +A reasonable choice of iomega_max is the maximum frequency +before the self energy becomes noisy. +For example, in the case of figure (a) above, we can find that iomega_max=4.0 is reasonable.

+
+
+

Legendre filter

+
+

Warning

+

Do not use it together with the tail-fit.

+
+

This is another technique to reduce the high-frequency noise. +In this method, we expand the Green’s function at the imaginary time with a series of +the Legendre polynomials, and ignore the higher order polynomials.

+

This scheme is activated when we specify the input parameter n_l +(the number of polynomial included) in the [system] block as

+
[system]
+beta = 40.0
+nk = 100
+n_l = 30
+
+
+

When we use the Legendre filter, we should check that how many polynomials +have to be included. +For this purpose, we first perform a calculation with a large number of Legendre +polynomials (e.g. n_l=80) and check how the coefficient decays.

+

For examples, we run the bash script as

+
#!/bin/bash
+
+cat > pre.ini <<EOF
+[model]
+seedname = bethe
+lattice = bethe
+norb = 1
+nelec = 1.0
+t = 1.0
+kanamori = [(4.0, 0.0, 0.0)]
+
+[system]
+beta = 40.0
+nk = 100
+n_l = 30
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_warmup_cycles{int} = 10000
+n_cycles{int} = 10000
+length_cycle{int} = 100
+
+[control]
+max_step = 1
+EOF
+
+dcore_pre pre.ini
+
+n_cycles[0]=3000;   n_warmup_cycles[0]=5000; length_cycle[0]=50
+n_cycles[1]=10000;  n_warmup_cycles[1]=5000; length_cycle[1]=50
+n_cycles[2]=30000;  n_warmup_cycles[2]=5000; length_cycle[2]=50
+n_cycles[3]=100000; n_warmup_cycles[3]=5000; length_cycle[3]=50
+n_cycles[4]=300000; n_warmup_cycles[4]=5000; length_cycle[4]=50
+n_cycles[5]=300000; n_warmup_cycles[5]=5000; length_cycle[5]=100
+
+for i in `seq 0 5`
+do
+    sed -e "/n_cycles/c n_cycles{int} = ${n_cycles[i]}" \
+        -e "/n_wamup_cycles/c n_warmup_cycles{int} = ${n_wamup_cycles[i]}" \
+        -e "/length_cycle/c length_cycle{int} = ${length_cycle[i]}" \
+    pre.ini > dmft.ini
+    mpiexec -np 4 dcore dmft.ini
+    dcore_check dmft.ini --output bethe.pdf
+    mv bethe_legendre.dat l_cyc${n_cycles[i]}_warm${n_warmup_cycles[i]}_len${length_cycle[i]}.dat
+done
+
+
+

Then, we use GnuPlot as

+
set xlabel "Order of polynomial"
+set ylabel "Coefficient"
+set logscale y
+plot \
+"l_cyc3000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \
+"l_cyc10000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \
+"l_cyc30000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \
+"l_cyc100000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \
+"l_cyc300000_warm5000_len50.dat" u 1:(abs($2)) w l lw 3, \
+"l_cyc300000_warm5000_len100.dat" u 1:(abs($2)) w l lw 3
+
+
+

and obtain

+../../_images/legendre.png +

Finally, we choose the following setting:

+
[model]
+seedname = bethe
+lattice = bethe
+norb = 1
+nelec = 1.0
+t = 1.0
+kanamori = [(4.0, 0.0, 0.0)]
+
+[system]
+beta = 40.0
+nk = 100
+n_l = 30
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_warmup_cycles{int} = 5000
+n_cycles{int} = 300000
+length_cycle{int} = 100
+
+[control]
+max_step = 1
+
+[post.check]
+omega_check = 30.0
+
+
+

and obtain

+../../_images/legendre_sigma.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/impuritysolvers/triqs_hubbard_one/hubbard_one.html b/v4.0.0/impuritysolvers/triqs_hubbard_one/hubbard_one.html new file mode 100644 index 00000000..d3abd3dd --- /dev/null +++ b/v4.0.0/impuritysolvers/triqs_hubbard_one/hubbard_one.html @@ -0,0 +1,125 @@ + + + + + + + + Hubbard-I approximation: TRIQS/hubbard-I — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

Hubbard-I approximation: TRIQS/hubbard-I

+

This impurity solver implements the Hubbard-I approximation. +For installation, follow +https://triqs.github.io/hubbardI/latest/

+
+

Note

+

Be sure to use the same C++ compiler as the one used to build the TRIQS library.

+
+

To invoke the Hubbard-I solver, set parameters as

+
[impurity_solver]
+name = TRIQS/hubbard-I
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/index.html b/v4.0.0/index.html new file mode 100644 index 00000000..aabce4a8 --- /dev/null +++ b/v4.0.0/index.html @@ -0,0 +1,140 @@ + + + + + + + + DCore — DCore documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

DCore

+

DCore = Integrated DMFT software for Correlated electrons.

+

DCore is aimed at model calculations and ab-initio calculations by the dynamical mean-field theory (DMFT). This package consists of programs with text-based and hdf5-based interface. These programs enable users to perform DMFT calculations and analyze results without writing computer code.

+
+

Table of Contents

+ +
+

Note

+

Some pages are not completed yet in this beta version. +Those will be updated by the next major release. +TODO list (for developers)

+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/install.html b/v4.0.0/install.html new file mode 100644 index 00000000..2bdcd7c9 --- /dev/null +++ b/v4.0.0/install.html @@ -0,0 +1,201 @@ + + + + + + + + Installation — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

Installation

+
+

Prerequisites

+
    +
  1. Python3 (>=3.8)

  2. +
  3. You will also need at least one impurity solver.

    +

    For example, the following programs are supported:

    + +

    We recommend to use the Hubbard-I solver for tests because this is fast. +See Impurity solvers for a complete list of supported impurity solvers and their user manuals.

    +
  4. +
  5. [OPTIONAL] TRIQS 3.x and TRIQS/DFTTools 3.x.

    +

    TRIQS can improve the performance of DCore. +The current version of DCore supports TRIQS 3.x. +Please make sure that the triqs and triqs_dft_tools modules are loadable in your Python environment. +You may use MateriAppsInstaller, a collection of install scripts, to install prerequisites (TRIQS). +If you want to use TRIQS, please set an environment variable DCORE_TRIQS_COMPAT to 0.

    +
    $ export DCORE_TRIQS_COMPAT=0
    +
    +
    +
  6. +
+
+
+

Installation

+

(NOTE: Using a virtual environment such as venv is recommended to avoid conflicts with other Python packages.)

+

You can install the latest version of DCore using pip command as follows.

+
+
$ pip3 install dcore -U
+
+
+
+

Here, -U stands for ‘’Upgrade’’. The installed packages are upgraded to the latest version, if you already have packages installed.

+
+
+

Installation (only for developers)

+

You can download the source files in two ways.

+
    +
  • [Release version]

    +

    Go to the release page and download the latest tar or zip file. +You can unpack, for example, the tar file by

    +
    $ tar zxvf v3.x.x.tar.gz
    +
    +
    +
  • +
  • [Develop version]

    +

    Newly implemented features are available in the source code in GitHub repository. You can clone the repository by

    +
    $ git clone https://github.com/issp-center-dev/DCore.git dcore.src
    +
    +
    +

    The master branch basically corresponds to the latest released package, and the develop branch includes new features. +Note that develop branches may not be well tested and contains some bugs.

    +

    Please execute the following command in the source directory to install DCore.

    +
    $ pip3 install .
    +
    +
    +

    If both of them did not work, you could build a binary package and install it as follows

    +
    $ rm -rf dist
    +$ python3 setup.py bdist_wheel
    +$ pip3 install dist/dcore-*.whl
    +
    +
    +

    One can run unit tests using the installed DCore by executing the following commands.

    +

    Non-MPI tests can be run as follows.

    +
    $ pip3 install pytest
    +$ pytest tests/non-mpi/*/*.py
    +
    +
    +

    MPI tests can be run as follows.

    +
    $ pytest tests/mpi/*/*.py
    +
    +
    +

    MPI tests invoke MPI parallelized impourity solvers. +If your system MPI command is not “mpirun”, please provide the name of the correct one to DCore at runtime in an input file. +The default value is “mpirun -np #” (# is replaced by the number of processors). +For instance, if the MPI command of your system is “mpijob”, please set the environment variable “DCORE_MPIRUN_COMMAND” as folows.

    +
    $ export DCORE_MPIRUN_COMMAND="mpijob -np #"
    +
    +
    +

    Note that it is not allowed to run MPI programs interactively on some system. +In this case, please run MPI tests as a parallel job with one process.

    +

    You can build documentations as follows.

    +
    $ pip3 install sphinx wild_sphinx_theme matplotlib
    +$ python3 -m dcore.option_tables doc/reference
    +$ sphinx-build -b html doc html
    +
    +
    +
  • +
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/objects.inv b/v4.0.0/objects.inv new file mode 100644 index 00000000..943e8840 Binary files /dev/null and b/v4.0.0/objects.inv differ diff --git a/v4.0.0/presentation.html b/v4.0.0/presentation.html new file mode 100644 index 00000000..3712a82a --- /dev/null +++ b/v4.0.0/presentation.html @@ -0,0 +1,87 @@ + + + + + + + + Presentation — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

Presentation

+
    +
  • 2018/7/30: DCore講習会

    +
      +
    1. Overview

    2. +
    3. Install

    4. +
    5. DFT+DMFT

    6. +
    7. Exercise

    8. +
    +
  • +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference.html b/v4.0.0/reference.html new file mode 100644 index 00000000..120fb0c5 --- /dev/null +++ b/v4.0.0/reference.html @@ -0,0 +1,164 @@ + + + + + + + + Reference Manual — DCore documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v4.0.0/reference/gf_format.html b/v4.0.0/reference/gf_format.html new file mode 100644 index 00000000..a39b972e --- /dev/null +++ b/v4.0.0/reference/gf_format.html @@ -0,0 +1,105 @@ + + + + + + + + File format for Green’s function and self-energy — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

File format for Green’s function and self-energy

+

The structure of the HDF5 dataset for Green’s function and self-energy are as follows.

+ +++++ + + + + + + + + + + + + + + + + + + + + +

Data set

datatype

description

__version

H5T_STRING

DCore_GfImFreq_v1

data

H5T_IEEE_F64LE (2*niw, N, N, 2)

The first index runs from -niw to niw. The last one indices the real and imaginary parts

wn

H5T_IEEE_F64LE (2*niw)

Imaginary frequenceis wn = (2*n+1)*pi*T for n = -niw, -niw+1, …, niw-1

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/input.html b/v4.0.0/reference/input.html new file mode 100644 index 00000000..8f9cbd7f --- /dev/null +++ b/v4.0.0/reference/input.html @@ -0,0 +1,797 @@ + + + + + + + + Input-file format — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Input-file format

+

The input file consists of several parameter blocks.

+

The following table shows which blocks are used by each program.

+ ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Block name

dcore_pre

dcore

dcore_check

dcore_anacont

dcore_spectrum

[model]

Yes

Yes

Yes

Yes

Yes

[pre]

Yes

[system]

Yes

Yes

Yes

Yes

[impurity_solver]

Yes

Yes

[control]

Yes

[post]

Yes

Yes

Yes

[post.check]

Yes

[post.anacont]

Yes

[post.anacont.pade]

Yes

[post.anacont.spm]

Yes

[post.spectrum]

Yes

[mpi]

Yes

Yes

+

For example, we can see that dcore_pre reads only [model] and [pre] blocks. Therefore, dcore_pre needs to be re-executed only when the parameters in [model] and [pre] blocks are changed.

+

The parameters included in each block are explained below.

+ +
+

[model] block

+

This block includes parameters for defining a model to be solved.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

seedname

String

dcore

Name of the system. The model HDF5 file will be seedname.h5.

lattice

String

chain

Chosen from “chain”, “square”, “cubic”, “bethe”, “wannier90”, and “external”

t

Float

1.0

Transfer integral (Nearest neighbor)

t’

Float

0.0

Transfer integral (Second nearest)

nelec

Float

1.0

Number of electrons per unit cell.

norb

String

1

Number of orbitals at each inequivalent shell (integers separated by commas or spaces.)

ncor

Integer

1

Number of correlated shells in a unit cell (for lattice = wannier90).

corr_to_inequiv

String

None

Mapping from correlated shells to equivalent shells (for lattice = wannier90)

bvec

String

[(1.0,0.0,0.0),(0.0,1.0,0.0),(0.0,0.0,1.0)]

Reciprocal lattice vectors in arbitrary unit.

nk

Integer

8

Number of k along each line. This automatically sets nk0=nk1=nk2=nk. This parameter and (nk0, nk1, nk2) are mutually exclusive.

nk0

Integer

0

Number of k along b_0 (for lattice = wannier90, external)

nk1

Integer

0

Number of k along b_1 (for lattice = wannier90, external)

nk2

Integer

0

Number of k along b_2 (for lattice = wannier90, external)

spin_orbit

Bool

False

Whether the spin-orbit case.

interaction

String

kanamori

Chosen from “slater_uj”, “slater_f”, “kanamori”, “respack”, “file” (See below)

density_density

Bool

False

If true, only the density-density part of the interaction is used (See below).

kanamori

String

None

U (Diagonal Coulomb pot.), U’ (Off-diagonal Coulomb pot.) and J (Hund coupling) (See below).

slater_f

String

None

Angular momentum, Slater integrals F (See below).

slater_uj

String

None

Angular momentum, Slater integrals in U and J (See below).

slater_basis

String

cubic

Basis of the Slater interaction (See below).

interaction_file

String

None

list of filenames that contain U tensor for each inequivalent shell

local_potential_matrix

String

None

dict of {ish: ‘filename’} to specify local potential matrix of ish-th shell

local_potential_factor

String

1.0

Prefactors to the local potential matrix (float or list with len=ncor)

+

See separate pages from the link below for detailed descriptions of some parameters.

+
+

lattice parameter

+
+
+

interaction parameter

+
+
+

slater_basis parameter

+
+
+

local_potential_* parameters

+
+
+
+

[pre] block

+

This block includes parameters that controls the behavior of dcore_pre.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

skip_lattice

Bool

False

Skip generation of lattice model including H(k) in dcore_pre. If True, data in seedname.h5/dft_input are kept.

skip_umat

Bool

False

Skip generation of U matrix in dcore_pre. If True, data in seedname.h5/DCore/Umat are kept.

skip_local_potential

Bool

False

Skip generation of local potential in dcore_pre. If True, data in seedname.h5/DCore/LocalPotential are kept.

overwrite

Bool

True

Whether seedname.h5 is overwritten. If False, the existing seedname.h5 is repalced.

+
+
+

[system] block

+

This block includes thermodynamic parameters and some technical parameters such as the number of Matsubara frequencies.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

beta

Float

1.0

Inverse temperature. This parameter is overwritten, if T is given.

T

Float

-1.0

Temperature. If this parameter is given, beta is overwritten by 1/T.

n_iw

Integer

2048

Number of Matsubara frequencies

fix_mu

Bool

False

Whether or not to fix chemical potential to a given value.

mu

Float

0.0

Initial chemical potential.

prec_mu

Float

0.0001

Threshold for calculating chemical potential with the bisection method.

with_dc

Bool

False

Whether or not to use double-counting (DC) correction (See below)

dc_type

String

HF_DFT

Chosen from ‘HF_DFT’ (default), ‘HF_imp’, ‘FLL’

dc_orbital_average

Bool

False

If true, the DC correction is averaged over orbitals in each shell. Off-diagonal components are dropped.

no_tail_fit

Bool

False

Compute Matsubara summation without fitting high-frequency moments.

+

If the parameter with_dc is specified to True, +the following part of the self-energy is subtracted to avoid the double-counting error of +the self-energy.

+
+\[\Sigma_{i, \alpha \sigma \beta \sigma'}^{\rm dc-imp} += \delta_{\sigma \sigma'} \sum_{\gamma \delta \sigma_1} +U_{\alpha \gamma \beta \delta} +\langle c_{\gamma \sigma_1}^\dagger c_{\delta \sigma_1}\rangle_0 +- \sum_{\gamma \delta} +U_{\alpha \gamma \delta \beta} +\langle c_{\gamma \sigma'}^\dagger c_{\delta \sigma}\rangle_0,\]
+

where \(\langle \cdots \rangle_0\) indicates the expectation value at the initial (Kohn-Sham) state.

+
+
+

[impurity_solver] block

+

This block specifies an impurity solver to be used and necessary parameters for running the solver program.

+ + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

name

String

null

Name of impurity solver. Available options are null, TRIQS/cthyb, TRIQS/hubbard-I, ALPS/cthyb, ALPS/cthyb-seg, pomerol.

basis_rotation

String

None

You can specify either ‘Hloc’, ‘None’, or the location of a file.

+

Additionally, we have to specify solver-dependent parameters in the way like n_cycles{int} = 500000. +For details, see the reference manual for each solver.

+
+
+

[control] block

+

This block includes parameters that control the self-consistency loop of DMFT.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

max_step

Integer

100

Maximum steps of DMFT loops

sigma_mix

Float

0.5

Mixing parameter for self-energy

restart

Bool

False

Whether or not restart from a previous calculation stored in a HDF file.

initial_static_self_energy

String

None

dict of {ish: ‘filename’} to specify initial value of the self-energy of ish-th shell. The file format is the same as local_potential_matrix.

initial_self_energy

String

None

Filename containing initial self-energy in the same format as sigma.dat generated by dcore_check.

time_reversal

Bool

False

If true, an average over spin components are taken to set Sz = 0.

time_reversal_transverse

Bool

False

If true, the self-energy is symmetrized so that Sx=Sy=0.

symmetry_generators

String

None

Generators for symmetrization of self-energy.

n_converge

Integer

1

The DMFT loop is terminated if the convergence criterion defined with converge_tol is satisfied n_converge times consecutively.

converge_tol

Float

0.0

Tolerance in the convergence check. The chemical potential and the renormalization factor are examined.

+
+
+

[post] block

+

This block includes parameters that are solely used by dcore_anacont and dcore_spectrum.

+ + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

dir_post

String

post

Directory to which results of dcore_post are stored.

dir_work

String

work/post

Directory to which temporary files of dcore_post are stored.

+
+
+

[post.anacont] block

+

This block includes parameters that are solely used by dcore_anacont.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

solver

String

algorithm

Algorithm for analytic continuation

omega_min

Float

-1.0

Minimum value of real frequency

omega_max

Float

1.0

Max value of real frequency

Nomega

Integer

100

Number of real frequencies

show_result

Bool

False

plot result of analytic continuation

save_result

Bool

False

plot result of analytic continuation

+
+
+

[post.anacont.pade] block

+

This block includes parameters that are solely used by dcore_anacont.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

iomega_max

Float

0.0

Cut-off frequency of the Matsubara frequency

n_min

Integer

0

lower bound of the number of used Matsubara frequency

n_max

Integer

100000000

upper bound of the number of used Matsubara frequency

eta

Float

0.01

Imaginary Frequency shift to avoid divergence

+
+
+

[post.anacont.spm] block

+

This block includes parameters that are solely used by dcore_anacont.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

Type

Default

Description

n_matsubara

Integer

100000

number of tau points

n_tau

Integer

-1

number of tau points

n_tail

Integer

10

number of matsubara points for tail-fitting

n_sv

Integer

50

number of singular values to be used

lambda

Float

1e-05

coefficient of L1 regularization

solver

String

ECOS

solver to be used

verbose_opt

Bool

False

show optimization progress

show_fit

Bool

False

plot result of tail-fitting

+
+
+

[post.spectrum] block

+

This block includes parameters that are solely used by dcore_spectrum.

+
+
+

[post.check] block

+

This block includes parameters that are solely used by dcore_check.

+ + + + + + + + + + + + + + + +

Name

Type

Default

Description

omega_check

Float

0.0

Maximum frequency for dcore_check. If not specified, a fixed number of Matsubara points are taken.

+
+
+

[mpi] block

+

This block includes parameters which are read by dcore and dcore_post.

+ + + + + + + + + + + + + + + +

Name

Type

Default

Description

command

String

mpirun -np #

Command for executing a MPI job. # will be relaced by the number of processes.

+

When an option -DMPIEXEC=<MPIRUN> is passed to the cmake command, +The default value of command will be replaced with <MPIRUN>.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/interaction.html b/v4.0.0/reference/interaction.html new file mode 100644 index 00000000..947a75aa --- /dev/null +++ b/v4.0.0/reference/interaction.html @@ -0,0 +1,256 @@ + + + + + + + + interaction parameter — DCore documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

interaction parameter

+

Model Hamiltonian is defined as

+
+\[{\hat H} = \sum_{i j} \sum_{\alpha \beta}^{N_{\rm band}} \sum_{\sigma=\uparrow, \downarrow} +t_{i \alpha j \beta} c_{i \alpha \sigma}^\dagger c_{j \beta \sigma} ++h.c. + {\hat H}_{\rm int},\]
+

where

+
+(1)\[{\hat H}_{\rm int} = \frac{1}{2} +\sum_{i, \alpha \beta \gamma \delta,\sigma \sigma'} +U^{i}_{\alpha \beta \gamma \delta} +c_{i \alpha \sigma}^\dagger c_{i \beta \sigma'}^\dagger c_{i \delta \sigma'} c_{i \gamma \sigma}.\]
+

The interaction matrix \(U^{i}_{\alpha \beta \gamma \delta}\) is specified by the parameter interaction.

+ +
+

interaction = kanamori

+

In this case, the Kanamori-type interaction is used, i.e.

+
+\[\begin{split}\begin{align} +U_{\alpha \alpha \alpha \alpha} &= U, +\\ +U_{\alpha \beta \alpha \beta} &= U' \qquad (\alpha \neq \beta), +\\ +U_{\alpha \beta \beta \alpha} &= J \qquad (\alpha \neq \beta), +\\ +U_{\alpha \alpha \beta \beta} &= J \qquad (\alpha \neq \beta), +\end{align}\end{split}\]
+

where \(U, U', J\) at each correlated shell are specified by the parameter kanamori as

+
interaction = kanamori
+kanamori = [(U_1, U'_1, J_1), (U_2, U'_2, J_2), ... ]
+
+
+

For example, if there are two correlated shells that have +\((U, U', J) = (4, 2, 1)\) and \((U, U', J) = (6, 3, 1.5)\), respectively, +you need to set the input parameters as

+
interaction = kanamori
+kanamori = [(4.0, 2.0, 1.0), (6.0, 3.0, 1.5)]
+
+
+
+
+

interaction = slater_f

+

In this case, the fully rotationally invariant Slater interaction is used. The interaction matrix is constructed by the effective Slater integrals +\(F_0, F_2, F_4, F_6\). +These Slater integrals and the angular momentum at each correlated shell +are specified by the parameter slater_f as follows

+
interaction = slater_f
+slater_f = [(angular_momentum, F_0, F_2, F_4, F_6), ... ]
+
+
+

For example, if there are two correlated shells, +one has d-orbital with \((F_0, F_2, F_4) = (2, 1, 0.5)\) and +the other has p-orbital with \((F_0, F_2) = (3, 1.5)\), +you need to set the input parameter as

+
interaction = slater_f
+slater_f = [(2, 2.0, 1.0, 0.5, 0.0), (1, 3.0, 1.5 0.0, 0.0)]
+
+
+
+

Note

+

You must specify all of \(F_0, F_2, F_4, F_6\).

+
+

The basis can be specified by slater_basis parameter. See slater_basis parameter for details.

+
+
+

interaction = slater_uj

+

The Slater interaction is used as in the case with interaction = slater_f, but a conventional intuitive parameterization is implemented. +The effective Slater integrals \(F_0, F_2, F_4, F_6\) are evaluated from parameters \(U\) and \(J\). The explicit formulas are given as follows:

+
    +
  • \(l = 1\)

  • +
+
+\[F_0 = U, \quad +F_2 = 5 J\]
+
    +
  • \(l=2\)

  • +
+
+\[F_0 = U, \quad +F_2 = \frac{14 J}{1.0 + 0.63},\quad +F_4 = 0.63 F_2\]
+
    +
  • \(l=3\)

  • +
+
+\[F_0 = U, \quad +F_2 = \frac{6435 J}{286 + 195 \times 451 / 675 + 250 \times 1001 / 2025},\quad +F_4 = \frac{451 F_2}{675},\quad +F_6 = \frac{1001 F_2}{2025}\]
+

The \(U\), \(J\) and the angular momentum at each correlated shell +are specified by the parameter slater_uj as

+
interaction = slater_uj
+slater_uj = [(angular_momentum1, U1, J1), (angular_momentum2, U2, J2), ... ]
+
+
+

The basis can be specified by slater_basis parameter. See slater_basis parameter for details.

+
+
+

interaction = respack

+

Use the output by RESPACK. +Under construction.

+
+
+

interaction = file

+

One can set the U tensor \(U^{i}_{\alpha \beta \gamma \delta}\) from an external file. +The input parameters for this are

+
interaction = file
+interaction_file = ['file1.npy', 'file2.npy',]
+
+
+

The filenames for all inequivalent shells are listed in interaction_file parameter. +The suppored formats are

+
    +
  • NumPy .npy format (binary file): Four dimensional NumPy array corresponding to \(U^{i}_{\alpha \beta \gamma \delta}\) for shell \(i\) is save by numpy.save command.

  • +
  • text file: \(U^{i}_{\alpha \beta \gamma \delta}\) for each shell \(i\) is written in a one dimansional manner as follows (example for norb=3 without spin-orbit coupling)

    +
    Re(U[0,0,0,0])
    +Re(U[0,0,0,1])
    +Re(U[0,0,0,2])
    +Re(U[0,0,1,0])
    +...
    +
    +
    +

    or

    +
    Re(U[0,0,0,0]) Im(U[0,0,0,0])
    +Re(U[0,0,0,1]) Im(U[0,0,0,1])
    +Re(U[0,0,0,2]) Im(U[0,0,0,2])
    +Re(U[0,0,1,0]) Im(U[0,0,1,0])
    +...
    +
    +
    +

    No blank line should be put between consecutive elements. Lines beginning with # are skipped.

    +
  • +
+

The definition of the U tensor depends on the spin_orbit parameter. +For spin_orbit=False, \(U^{i}_{\alpha \beta \gamma \delta}\) is defined by Eq. (1). The shape of the U tensor is (norb, norb, norb, norb).

+

For spin_orbit=True, on the other hand, \(U^{i}_{\alpha \beta \gamma \delta}\) is defined by

+
+\[{\hat H}_{\rm int} = \frac{1}{2} +\sum_{i, \alpha \beta \gamma \delta} +U^{i}_{\alpha \beta \gamma \delta} +c_{i \alpha}^\dagger c_{i \beta}^\dagger c_{i \delta} c_{i \gamma}.\]
+

In this case, the indices \(\alpha, \beta, \gamma, \delta\) include spin. +The shape of the U tensor is therefore (2*norb, 2*norb, 2*norb, 2*norb).

+
+
+

density_density option

+

If you want to treat only the density-density part

+
+\[{\hat H}_{\rm int} = \frac{1}{2} +\sum_{i, \alpha, \sigma \sigma'} +U^{i}_{\alpha \alpha \alpha \alpha} +c_{i \alpha \sigma}^\dagger c_{i \beta \sigma'}^\dagger c_{i \beta \sigma'} c_{i \alpha \sigma} ++ \frac{1}{2} +\sum_{i, \alpha \neq \beta, \sigma \sigma'} +U^{i}_{\alpha \beta \alpha \beta} +c_{i \alpha \sigma}^\dagger c_{i \beta \sigma'}^\dagger c_{i \beta \sigma'} c_{i \alpha \sigma} ++ \frac{1}{2} +\sum_{i, \alpha \neq \beta, \sigma} +U^{i}_{\alpha \beta \beta \alpha} +c_{i \alpha \sigma}^\dagger c_{i \beta \sigma}^\dagger c_{i \alpha \sigma} c_{i \beta \sigma},\]
+

you specify the parameter density_density as

+
density_density = True
+
+
+
+

Note

+

It can not be used in conjunction to the Hubbard-I solver or +the double-counting correction.

+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/lattice.html b/v4.0.0/reference/lattice.html new file mode 100644 index 00000000..7b2491ac --- /dev/null +++ b/v4.0.0/reference/lattice.html @@ -0,0 +1,113 @@ + + + + + + + + lattice parameter — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

lattice parameter

+
+

Predefined models

+

For model calculations, the following preset models are defined

+
lattice = chain
+lattice = square
+lattice = cubic
+lattice = bethe
+
+
+

The first three models use tight-binding parameters up to second nearest neighbors. One can specify them by

+
t = 1
+t' = -0.1
+
+
+

The last one, bethe, use only parameter t, which defines the width (4t) of the semicircular density of states.

+../_images/model.png +
+
+

Wannier90 format

+

For DFT+DMFT calculations and model calculations of other lattice structures, hopping parameters in the Wannier90 format can be imported by

+
lattice = wannier90
+
+
+

Place the Wannier90 file in the current directory with the name seedname_hr.dat. For details of the Wannier90 format, see SciPost 2021.

+
+
+

Connection to external programs

+

For experts, the lattice data may be prepared by your own. In this case, use

+
lattice = external
+
+
+

In this mode, you should make all necessary data in dft_input group in seedname.h5. +The data structure follows DFTTools. For details, see +the reference manual of DFTTools.

+

The pre-process dcore_pre does not touch the data in dft_input group, and write only additional data such as interactions into DCore group.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/local_potential.html b/v4.0.0/reference/local_potential.html new file mode 100644 index 00000000..e1c7547e --- /dev/null +++ b/v4.0.0/reference/local_potential.html @@ -0,0 +1,94 @@ + + + + + + + + local_potential_* parameters — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

local_potential_* parameters

+

An arbitrary local potential can be implemented using parameters local_potential_*. +The format looks like

+
[model]
+local_potential_matrix = {0: 'pot0.txt', 1: 'pot1.txt'}
+local_potential_factor = 0.01
+
+
+

Here, local_potential_matrix describes, in the python dictionary format, a set of the inequivalent shell index ish and the filename which defines the local potential matrix. +The parameter local_potential_factor defines a prefactor to the potential matrix.

+

For example, the Zeeman term along z-axis for S=1/2 is represented by

+
$ cat pot0.txt
+# spin orb1 orb2  Re Im
+0 0 0   0.5 0.
+1 0 0  -0.5 0.
+
+
+

and the magnetic field is specified by local_potential_factor.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/output.html b/v4.0.0/reference/output.html new file mode 100644 index 00000000..2b627d58 --- /dev/null +++ b/v4.0.0/reference/output.html @@ -0,0 +1,409 @@ + + + + + + + + Output-file format — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Output-file format

+

The output files generated by each program are summarized in the table below:

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Program

Output

Reference

dcore_pre

seedname.h5

dcore

seedname.out.h5

seedname_sigma_iw.npz

How to use an external AC code

work/imp_shell#_iter#/solver_dependent_output

dcore_check

check/iter_mu.dat

check/iter_mu.png

Programs

check/iter_sigma-ish0.dat

check/iter_sigma-ish0.png

Programs

check/iter_occup-ish0.dat

check/iter_occup-ish0.png

Programs

check/iter_spin-ish0.dat

check/iter_spin-ish0.png

Programs

check/sigma.dat

check/sigma_ave.png

Programs

dcore_anacont

post/sigma_w.npz

How to use an external AC code

post/sigma_w.npz

dcore_spectrum

post/dos.dat

post/akw.dat

post/akw.gp

Programs

post/momdist.dat

+

Files that have empty Reference in this table are explained in the following.

+
+

dcore_pre

+
    +
  • seedname.h5

    +

    It has two groups, dft_input and Dcore. +See DFTTools for the details of the data structure in dft_input group. +The data included in Dcore group is list below:

    + + + + + + + + + + + + + + + + + +

    Name

    Type

    Description

    Umat

    numpy.complex

    The values of \(U^i_{\alpha\beta\gamma\delta}\), where \(i\) corresponds to the kind of +correlated shell and \(\alpha, \beta, \gamma, \delta\) denote the spin-orbital indices at +each correlated shell.

    LocalPotential

    numpy.complex

    The values of \(V^i_{s, o1, o2}\), where \(s\) denotes the spin, and \(o1, o2\) +denote orbitals. If SO coupling is considered, the spin is included in the orbital indices.

    +
  • +
+
+
+

dcore

+
    +
  • seedname.out.h5

    +

    All data are stored in dmft_out group. +The following list summarizes data structure in the dmft_out group: +See File format for Green’s function and self-energy for the data structure of the Green’s function and self-energy.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Name

    Type

    Description

    iterations

    Int

    The total number of iteration steps.

    Sigma_iw

    Group

    The local self-energy in imaginary-frequency domain at each iteration step.

    chemical_potential

    Group

    The chemical potential at each iteration step.

    dc_energ

    Group

    The double-counting corrections to the energy at each iteration step.

    dc_imp

    Group

    The double-counting self-energy term at each iteration step.

    parameters

    Group

    All input parameters read from ini file.

    +

    The latest data list can be obtained by h5ls command.

    +
    h5ls [seedname].out.h5/dmft_out
    +
    +
    +
  • +
  • solver_dependent_output

    +

    All solver-dependent output are stored in the working directory such as work/imp_shell#_iter# (#’s are replaced with numbers). +See Impurity solvers for details.

    +
  • +
+
+
+

dcore_check

+
    +
  • check/iter_mu.dat

    +

    The chemical potential as a function of the iteration number. +This is the data corresponding to the figure iter_mu.png (see Convergence-check : dcore_check).

    +
    1 0.0000000000e+00
    +2 1.4197880094e-01
    +3 4.6478279315e-01
    +4 6.3732253182e-01
    +5 6.4637277925e-01
    +6 6.8031573871e-01
    +7 7.0882955968e-01
    +
    +
    +
  • +
  • check/iter_sigma-ish0.dat

    +

    The renormalization factor as a function of the iteration number. +This is the data corresponding to the figure iter_sigma-ish0.png (see Convergence-check : dcore_check).

    +
    1 0.6674359500130874 0.6674359500130874
    +2 0.5208316972639336 0.5208316972639336
    +3 0.31558993009526837 0.31558993009526837
    +4 0.17496815990309889 0.17496815990309889
    +5 0.13950821208253136 0.13950821208253136
    +6 0.11496910148099888 0.11496910148099888
    +7 0.09665012984893595 0.09665012984893595
    +
    +
    +
  • +
  • check/iter_occup-ish0.dat

    +

    The spin- and orbital-dependent occupation numbers as a function of the iteration number. +This is the data corresponding to the figure iter_occup-ish0.png (see Convergence-check : dcore_check).

    +
    +

    Todo

    +

    numerical data

    +
    +
  • +
  • check/iter_spin-ish0.dat

    +

    The spin moments as a function of the iteration number. +This is the data corresponding to the figure iter_spin-ish0.png (see Convergence-check : dcore_check).

    +
    +

    Todo

    +

    numerical data

    +
    +
  • +
  • check/sigma.dat

    +

    The local self energy at the final step.

    +
    # Local self energy at imaginary frequency
    +# [Column] Data
    +# [1] Frequency
    +# [2] Re(Sigma_{shell=0, spin=up, 0, 0})
    +# [3] Im(Sigma_{shell=0, spin=up, 0, 0})
    +# [4] Re(Sigma_{shell=0, spin=down, 0, 0})
    +# [5] Im(Sigma_{shell=0, spin=down, 0, 0})
    +-157.001093 0.994751 0.006358 0.994751 0.006358
    +-156.844013 0.994751 0.006365 0.994751 0.006365
    +-156.686934 0.994751 0.006371 0.994751 0.006371
    +:
    +
    +
    +
  • +
+
+
+

dcore_spectrum

+
    +
  • post/dos.dat

    +

    The k-integrated single-particle excitation spectrum \(A(\omega)\) (density of states).

    +
    # [1] Energy
    +# [2] Total DOS of spin up
    +# [3] Total DOS of spin down
    +# [4] PDOS of shell0,spin up,band0
    +# [5] PDOS of shell0,spin down,band0
    +-5.000000 0.010048 0.010048 0.010048 0.010048
    +-4.972431 0.010299 0.010299 0.010299 0.010299
    +-4.944862 0.010562 0.010562 0.010562 0.010562
    +-4.917293 0.010837 0.010837 0.010837 0.010837
    +-4.889724 0.011126 0.011126 0.011126 0.011126
    +:
    +
    +
    +
  • +
  • post/akw.dat

    +

    The single-particle excitation spectrum \(A(\boldsymbol{k}, \omega)\) on the given k-path. +See Spectral functions : dcore_spectrum for how to plot this data.

    +
    0.000000 -5.000000 0.092677
    +0.000000 -4.972431 0.097063
    +0.000000 -4.944862 0.101755
    +0.000000 -4.917293 0.106779
    +0.000000 -4.889724 0.112165
    +0.000000 -4.862155 0.117947
    +0.000000 -4.834586 0.124162
    +0.000000 -4.807018 0.130850
    +0.000000 -4.779449 0.138058
    +0.000000 -4.751880 0.145834
    +:
    +
    +
    +
  • +
  • post/momdist.dat

    +

    The momentum distribution function.

    +
    # Momentum distribution
    +# [Column] Data
    +# [1] Distance along k-path
    +# [2] Re(MomDist_{spin=up, 0, 0})
    +# [3] Im(MomDist_{spin=up, 0, 0})
    +# [4] Re(MomDist_{spin=down, 0, 0})
    +# [5] Im(MomDist_{spin=down, 0, 0})
    +0.000000 0.948389 -0.000000 0.948389 -0.000000
    +0.005000 0.948368 -0.000000 0.948368 -0.000000
    +0.010000 0.948303 -0.000000 0.948303 -0.000000
    +:
    +
    +
    +
  • +
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/programs.html b/v4.0.0/reference/programs.html new file mode 100644 index 00000000..94cdf84c --- /dev/null +++ b/v4.0.0/reference/programs.html @@ -0,0 +1,266 @@ + + + + + + + + Programs — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Programs

+

DCore consists of five main programs, dcore_pre, dcore, dcore_check, dcore_anacont, and dcore_spectrum. +All programs read a single input file (say input.ini) which contains parameters classified into blocks. +It is also possible to pass multiple input files to the program. Parameters from all input files are merged. Duplicate paramegers are overwritten by the later one. +See Input-file format, for the list of parameters and detailed descriptions.

+

In the following, brief explanations are given for each program.

+
+

Pre-processing : dcore_pre

+

This program generates model HDF5 file (seedname.h5). +You need to execute this program before running the main program, dcore.

+
$ dcore_pre input.ini
+
+
+
+
+

Main program : dcore

+

This is the main program, which performs DMFT cycle and output the self energy etc. into a HDF5 +file (seedname.out.h5).

+
$ dcore input.ini --np 4
+
+
+

Please invoke dcore in a single process, specifying the process number with --np option. +In the above case, dcore will lauch four MPI processes internally using the command specified by the parameter command in the [mpi] block.

+

The solver is executed in the working directory named work/imp_shell0_iter1 (in the case with shell number 0 and iteration number 1). +All output generated by the solver are stored in this working directory.

+

This program should be executed repeatedly until convergence is reached. +You can resume the DMFT iteration using the previous results by specifying restart = True in the [control] block (default is False).

+

The output file, seedname.out.h5, is created, updated, or backed up depending on +whether the previous run exists and also on the restart parameter. +The behavior is summarized below.

+ +++++ + + + + + + + + + + + + + + + + + + + + +

seedname.out.h5

restart

behavior

not exists

True, False

A new file is created

exists

False

The file is backed up with the name seedname.out.h5.bak, and a new file is created

exists

True

The iteration is resumed, and the file is updated

+
+
+

Convergence-check : dcore_check

+

This program is used to check the convergence of the DMFT loop.

+
$ dcore_check input.ini [--prefix PREFIX] [--ext EXT]
+
+
+

Here PREFIX is the prefix for all output files, +and EXT is the file extension of output figures (png, pdf, eps, jpg, etc). +The default values are PREFIX=check/ and EXT=png. +All results are stored in check directory without specified.

+

Three kinds of figures will be included:

+
    +
  • iter_mu.png

    +

    The chemical potential as a function of iteration number.

    +../_images/iter_mu.png +
  • +
  • iter_sigma-ish0.png

    +

    The renormalization factor as a function of iteration number.

    +../_images/iter_sigma-ish0.png +
  • +
  • iter_occup-ish0.png

    +

    The spin- and orbital-dependent occupation numbers as a function of the iteration number.

    +
    +

    Todo

    +

    figure

    +
    +
  • +
  • iter_spin-ish0.png

    +

    The spin moments as a function of the iteration number.

    +
    +

    Todo

    +

    figure

    +
    +
  • +
  • sigma_ave.png

    +

    The averaged self-energy at the last seven iterations.

    +../_images/sigma_ave.png +

    Here, the average is taken as follows:

    +
    +\[\Sigma_{\rm Ave} (i \omega_n) = +\left[\sum_i^{\rm shell} \sum_{\alpha \beta}^{N_{\rm orb}^i} \Sigma_{\alpha \beta}(i\omega)\right] +/\left[\sum_i^{\rm shell} N_{\rm orb}^{i}\right],\]
    +

    The maximum frequency of this plot is specified with the parameter omega_check +in the [post.check] block.

    +
  • +
+
+
+

Analytic continuation : dcore_anacont

+

This program performs the analytic continuation of the self-energy of Matsubara frequencies to the real frequency. +The self-energy of Matsubara frequencies is stored in the NumPy binary file seedname_sigma_iw.npz, which is one of the output files of the main program dcore.

+
$ dcore_anacont input.ini
+
+
+

The obtained self-energy on the real axis is stored in the NumPy binary file sigma_w.npz in the post directory; the name of the directory can be changed by the parameter dir_post in the [post] block.

+
+
+

Spectral functions : dcore_spectrum

+

This program computes the total DOS (post/dos.dat) and momenum-resolved spectral function (post/akw.dat) reading the self-energy on the real axis stored in post/sigma_w.npz.

+
$ dcore_spectrum input.ini --np 4
+
+
+

Here, please specify the number of MPI processes. +The output files are saved in the directory post; the name of the directory can be changed by the parameter dir_post in the [post] block. +The computed spectral function can be drawn by

+
$ cd post
+$ gnuplot akw.gp
+
+
+

Using this gnuplot script, you can also see the original (DFT) band structure as follows if either +seedname_band.dat (Wannier90 output) or dir-wan/dat.iband (RESPACK output) exists.

+../_images/akw_srvo3.png +

“+” indicates the original band structure. +The original band structure is shifted by the chemical potential specified by mu in [system] block.

+
+
+

Online help

+

For all programs, online help is available by -h or --help option. +For example, the help of the main program dcore looks like

+
$ dcore -h
+usage: dcore.py [-h] --np NP [--version]
+                [path_input_files [path_input_files ...]]
+
+Main script in DCore
+
+positional arguments:
+path_input_files  Input filename(s)
+
+optional arguments:
+-h, --help        show this help message and exit
+--np NP           Number of MPI processes
+--version         show program's version number and exit
+
+
+

Additionally, the complete list of the input parameters are shown. +It would help readers to make use of the latest features in the develop branch that are not documented in this manual.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/reference/slater_basis.html b/v4.0.0/reference/slater_basis.html new file mode 100644 index 00000000..5602530f --- /dev/null +++ b/v4.0.0/reference/slater_basis.html @@ -0,0 +1,489 @@ + + + + + + + + slater_basis parameter — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

slater_basis parameter

+

The basis for the Slater interactions can be specified by slater_basis parameter. The format is slater_basis=[(basis, order), (basis, order),]. One needs to specify basis and order for each inequivalent shell as in slater_f and slater_uj parameters. The details of basis and order are described below.

+
    +
  • basis

    +
      +
    • 'cubic' : cubic harmonics (default)

    • +
    • 'spherical' : spherical harmonics in L-S basis

    • +
    • 'spherical_j' : spherical harmonics in J-Jz basis

    • +
    +
  • +
  • order

    +
      +
    • The order of basis is specified by index numbers.

    • +
    • The basis can be truncted if the number of indices is fewer than 2*l+1

    • +
    • Special word such as ‘eg’ and ‘t2g’ can be used.

    • +
    • If not specified, all bases are used in the default order

    • +
    +
  • +
+
+

Examples

+

General examples:

+
slater_basis = [('spherical',), ('spherical', 4, 3, 2, 1, 0), ('spherical', 2, 1, 0)]
+
+slater_basis = [('cubic',), ('cubic', 2, 4), ('cubic', 1, 0, 2)]
+slater_basis = [('cubic',), ('cubic', 'eg'), ('cubic', 1, 0, 2)] # Equivalent
+
+slater_basis = [('spherical_j',), ('spherical_j',), ('spherical',)]
+
+slater_basis = 'cubic'  # Default
+slater_basis = [('cubic',), ('cubic',), ('cubic',)] # Equivalent
+
+
+

More specific examples are shown below.

+ +
+

cubic harmonics for p orbitals

+
[model]
+norb = 3
+interaction = slater_uj
+slater_uj = [(1, 4.0, 0.9)]
+slater_basis = 'cubic'
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(1, 4.0, 0.9)]
+slater_basis(basis) = ['cubic']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 1
+    | F_2m = [4.  4.5]
+    | basis/sp = ['x' 'y' 'z']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['x' 'y' 'z']
+    | basis(dn) = ['x' 'y' 'z']
+
+
+
+
+

cubic harmonics for d orbitals

+
[model]
+norb = 5
+interaction = slater_uj
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = 'cubic'
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis(basis) = ['cubic']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 2
+    | F_2m = [4.         7.73006135 4.86993865]
+    | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2']
+    | basis(dn) = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2']
+
+
+
+
+

cubic harmonics for f orbitals

+
[model]
+norb = 7
+interaction = slater_uj
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis = 'cubic'
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis(basis) = ['cubic']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 3
+    | F_2m = [ 4.         10.72759974  7.1676259   5.3028777 ]
+    | basis/sp = ['x(x^2-3y^2)' 'z(x^2-y^2)' 'xz^2' 'z^3' 'yz^2' 'xyz' 'y(3x^2-y^2)']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['x(x^2-3y^2)' 'z(x^2-y^2)' 'xz^2' 'z^3' 'yz^2' 'xyz' 'y(3x^2-y^2)']
+    | basis(dn) = ['x(x^2-3y^2)' 'z(x^2-y^2)' 'xz^2' 'z^3' 'yz^2' 'xyz' 'y(3x^2-y^2)']
+
+
+
+
+

d-eg orbitals

+
[model]
+norb = 2
+interaction = slater_uj
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = [('cubic', 'eg'),]
+# slater_basis = [('cubic', 2, 4),]  equivalent
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = [('cubic', 'eg')]
+slater_basis(basis) = ['cubic']
+slater_basis(order) = [['eg']]
+
+Slater interactions
+ish = 0
+    | l = 2
+    | F_2m = [4.         7.73006135 4.86993865]
+    | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['z^2' 'x^2-y^2']
+    | basis(dn) = ['z^2' 'x^2-y^2']
+
+
+
+
+

d-t2g orbitals

+
[model]
+norb = 3
+interaction = slater_uj
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = [('cubic', 't2g'),]
+# slater_basis = [('cubic', 0, 1, 3),]  equivalent
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = [('cubic', 't2g')]
+slater_basis(basis) = ['cubic']
+slater_basis(order) = [['t2g']]
+
+Slater interactions
+ish = 0
+    | l = 2
+    | F_2m = [4.         7.73006135 4.86993865]
+    | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['xy' 'yz' 'xz']
+    | basis(dn) = ['xy' 'yz' 'xz']
+
+
+
+
+

d-(xy, x^2-y^2) orbitals

+
[model]
+norb = 2
+interaction = slater_uj
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = [('cubic', 0, 4),]
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = [('cubic', 0, 4)]
+slater_basis(basis) = ['cubic']
+slater_basis(order) = [[0, 4]]
+
+Slater interactions
+ish = 0
+    | l = 2
+    | F_2m = [4.         7.73006135 4.86993865]
+    | basis/sp = ['xy' 'yz' 'z^2' 'xz' 'x^2-y^2']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['xy' 'x^2-y^2']
+    | basis(dn) = ['xy' 'x^2-y^2']
+
+
+
+
+

spherical harmonics for p orbitals

+
[model]
+norb = 3
+interaction = slater_uj
+slater_uj = [(1, 4.0, 0.9)]
+slater_basis = 'spherical'
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(1, 4.0, 0.9)]
+slater_basis(basis) = ['spherical']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 1
+    | F_2m = [4.  4.5]
+    | basis/sp = ['p-1' 'p+0' 'p+1']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['p-1' 'p+0' 'p+1']
+    | basis(dn) = ['p-1' 'p+0' 'p+1']
+
+
+
+
+

spherical harmonics for d orbitals

+
[model]
+norb = 5
+interaction = slater_uj
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = 'spherical'
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis(basis) = ['spherical']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 2
+    | F_2m = [4.         7.73006135 4.86993865]
+    | basis/sp = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2']
+    | basis(dn) = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2']
+
+
+
+
+

spherical harmonics for f orbitals

+
[model]
+norb = 7
+interaction = slater_uj
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis = 'spherical'
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis(basis) = ['spherical']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 3
+    | F_2m = [ 4.         10.72759974  7.1676259   5.3028777 ]
+    | basis/sp = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3']
+    | basis(dn) = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3']
+
+
+
+
+

j-jz basis for p orbitals

+
[model]
+norb = 3
+interaction = slater_uj
+slater_uj = [(1, 4.0, 0.9)]
+slater_basis = 'spherical_j'
+spin_orbit = True
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(1, 4.0, 0.9)]
+slater_basis(basis) = ['spherical_j']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 1
+    | F_2m = [4.  4.5]
+    | basis/sp = ['p-1' 'p+0' 'p+1']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['j1/2-1/2' 'j3/2-3/2' 'j3/2-1/2']
+    | basis(dn) = ['j1/2+1/2' 'j3/2+3/2' 'j3/2+1/2']
+
+
+
+
+

j-jz basis for d orbitals

+
[model]
+norb = 5
+interaction = slater_uj
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis = 'spherical_j'
+spin_orbit = True
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(2, 4.0, 0.9)]
+slater_basis(basis) = ['spherical_j']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 2
+    | F_2m = [4.         7.73006135 4.86993865]
+    | basis/sp = ['d-2' 'd-1' 'd+0' 'd+1' 'd+2']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['j3/2-3/2' 'j3/2-1/2' 'j5/2-5/2' 'j5/2-3/2' 'j5/2-1/2']
+    | basis(dn) = ['j3/2+3/2' 'j3/2+1/2' 'j5/2+5/2' 'j5/2+3/2' 'j5/2+1/2']
+
+
+
+
+

j-jz basis for f orbitals

+
[model]
+norb = 7
+interaction = slater_uj
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis = 'spherical_j'
+spin_orbit = True
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis(basis) = ['spherical_j']
+slater_basis(order) = [None]
+
+Slater interactions
+ish = 0
+    | l = 3
+    | F_2m = [ 4.         10.72759974  7.1676259   5.3028777 ]
+    | basis/sp = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['j5/2-5/2' 'j5/2-3/2' 'j5/2-1/2' 'j7/2-7/2' 'j7/2-5/2' 'j7/2-3/2' 'j7/2-1/2']
+    | basis(dn) = ['j5/2+5/2' 'j5/2+3/2' 'j5/2+1/2' 'j7/2+7/2' 'j7/2+5/2' 'j7/2+3/2' 'j7/2+1/2']
+
+
+
+
+

j=5/2 for f orbitals

+
[model]
+norb = 3
+interaction = slater_uj
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis = [('spherical_j', 0, 1, 2),]
+spin_orbit = True
+
+
+

Output of dcore_pre :

+
Generating U-matrix
+slater_uj = [(3, 4.0, 0.9)]
+slater_basis = [('spherical_j', 0, 1, 2)]
+slater_basis(basis) = ['spherical_j']
+slater_basis(order) = [[0, 1, 2]]
+
+Slater interactions
+ish = 0
+    | l = 3
+    | F_2m = [ 4.         10.72759974  7.1676259   5.3028777 ]
+    | basis/sp = ['f-3' 'f-2' 'f-1' 'f+0' 'f+1' 'f+2' 'f+3']
+    |
+    | in SO rep (after transformed, reordered, or truncated)
+    | basis(up) = ['j5/2-5/2' 'j5/2-3/2' 'j5/2-1/2']
+    | basis(dn) = ['j5/2+5/2' 'j5/2+3/2' 'j5/2+1/2']
+
+
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/search.html b/v4.0.0/search.html new file mode 100644 index 00000000..544933c2 --- /dev/null +++ b/v4.0.0/search.html @@ -0,0 +1,98 @@ + + + + + + + Search — DCore documentation + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + + +
+ + + +
+ +
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/searchindex.js b/v4.0.0/searchindex.js new file mode 100644 index 00000000..61ea017c --- /dev/null +++ b/v4.0.0/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["about", "analytic_continuation", "analytic_continuation/external_code", "analytic_continuation/pade", "analytic_continuation/spm", "basicnotions/structure", "impuritysolvers", "impuritysolvers/alpscore_cthyb/cthyb", "impuritysolvers/alpscore_ctseg/ctseg", "impuritysolvers/how_to_integrate", "impuritysolvers/null", "impuritysolvers/pomerol/pomerol", "impuritysolvers/triqs_cthyb/cthyb", "impuritysolvers/triqs_hubbard_one/hubbard_one", "index", "install", "presentation", "reference", "reference/gf_format", "reference/input", "reference/interaction", "reference/lattice", "reference/local_potential", "reference/output", "reference/programs", "reference/slater_basis", "support", "support/faqs", "support/issues", "todolist", "tools", "tools/akw_converter/akw", "tutorial", "tutorial/afm.bak/afm", "tutorial/afm/afm", "tutorial/bethe-t2g/bethe", "tutorial/spin_orbit/spin_orbit", "tutorial/square.bak/square", "tutorial/square/square", "tutorial/srvo3/openmx/openmx", "tutorial/srvo3/qe/qe", "tutorial/srvo3/srvo3", "tutorial/srvo3_openmx/openmx", "tutorial/srvo3_respack/respack", "warning_compatibility"], "filenames": ["about.rst", "analytic_continuation.rst", "analytic_continuation/external_code.rst", "analytic_continuation/pade.rst", "analytic_continuation/spm.rst", "basicnotions/structure.rst", "impuritysolvers.rst", "impuritysolvers/alpscore_cthyb/cthyb.rst", "impuritysolvers/alpscore_ctseg/ctseg.rst", "impuritysolvers/how_to_integrate.rst", "impuritysolvers/null.rst", "impuritysolvers/pomerol/pomerol.rst", "impuritysolvers/triqs_cthyb/cthyb.rst", "impuritysolvers/triqs_hubbard_one/hubbard_one.rst", "index.rst", "install.rst", "presentation.rst", "reference.rst", "reference/gf_format.rst", "reference/input.rst", "reference/interaction.rst", "reference/lattice.rst", "reference/local_potential.rst", "reference/output.rst", "reference/programs.rst", "reference/slater_basis.rst", "support.rst", "support/faqs.rst", "support/issues.rst", "todolist.rst", "tools.rst", "tools/akw_converter/akw.rst", "tutorial.rst", "tutorial/afm.bak/afm.rst", "tutorial/afm/afm.rst", "tutorial/bethe-t2g/bethe.rst", "tutorial/spin_orbit/spin_orbit.rst", "tutorial/square.bak/square.rst", "tutorial/square/square.rst", "tutorial/srvo3/openmx/openmx.rst", "tutorial/srvo3/qe/qe.rst", "tutorial/srvo3/srvo3.rst", "tutorial/srvo3_openmx/openmx.rst", "tutorial/srvo3_respack/respack.rst", "warning_compatibility.rst"], "titles": ["About DCore", "Analytic continuation", "How to use an external AC code", "Analytic continuation with the Pade approximation", "Analytic continuation with the sparse-modeling method", "Minimum introduction: Structure of DCore", "Impurity solvers", "CT-QMC: ALPS/CT-HYB", "CT-QMC with segment implementation: ALPS/CT-HYB-SEGMENT", "How to integrate your own solver", "Non-interacting limit: null", "Exact diagonalization solver: pomerol", "CT-QMC: TRIQS/cthyb", "Hubbard-I approximation: TRIQS/hubbard-I", "DCore", "Installation", "Presentation", "Reference Manual", "File format for Green\u2019s function and self-energy", "Input-file format", "interaction parameter", "lattice parameter", "local_potential_* parameters", "Output-file format", "Programs", "slater_basis parameter", "Support", "FAQ/Troubleshooting", "Reporting issues", "TODO list", "Tools", "A(k,w) converter", "Tutorial", "Antiferromagnetic state in 3D Hubbard model", "Antiferromagnetic state", "Multiorbital model by a QMC solver", "Spin-Orbit Coupling", "The first example: 2D Hubbard model", "The first example: 2D Hubbard model", "Wanniernization using OpenMX", "Wanniernization using Quantum ESPRESSO", "SrVO3", "OpenMX", "Downfolding with RESPACK (SrVO3)", "<no title>"], "terms": {"The": [0, 1, 2, 3, 4, 7, 8, 9, 11, 12, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 29, 31, 32, 33, 34, 35, 39, 40, 41, 42, 43], "packag": [0, 4, 14, 15, 39, 42], "i": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 19, 20, 22, 23, 24, 25, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "publish": 0, "under": [0, 20], "gnu": [0, 40, 43], "gener": [0, 5, 7, 8, 9, 19, 23, 24, 25, 26, 31, 32, 35, 37, 38, 39, 41, 42, 43], "public": 0, "version": [0, 14, 15, 24, 28, 42, 43, 44], "3": [0, 3, 4, 9, 11, 12, 14, 15, 20, 23, 25, 27, 31, 32, 35, 37, 38, 39, 40, 41, 42, 43], "follow": [0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 19, 20, 21, 23, 24, 27, 28, 31, 33, 34, 35, 37, 38, 39, 40, 42, 43], "file": [0, 3, 4, 5, 7, 8, 9, 12, 14, 15, 17, 21, 24, 28, 31, 33, 34, 35, 37, 38, 39, 40, 42, 43], "ar": [0, 2, 3, 4, 5, 8, 9, 11, 12, 14, 15, 18, 19, 20, 21, 23, 24, 25, 27, 28, 31, 32, 33, 34, 35, 37, 38, 40, 43], "from": [0, 1, 2, 4, 5, 7, 9, 12, 18, 19, 20, 23, 24, 31, 33, 35, 38, 40, 43], "triq": [0, 6, 9, 15, 17, 19, 35, 37, 39, 41, 42, 43], "toolbox": 0, "research": 0, "interact": [0, 5, 6, 8, 9, 11, 15, 17, 21, 25, 35], "quantum": [0, 5, 27, 41], "system": [0, 3, 4, 11, 15, 17, 24, 28, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "http": [0, 13, 15, 28, 43], "com": [0, 15, 28], "issp": [0, 15, 28, 39, 41, 42, 43], "center": [0, 15, 28, 31], "dev": [0, 15, 28], "blob": 0, "develop": [0, 7, 8, 14, 24, 27], "python": [0, 9, 15, 22, 33, 34], "impurity_solv": [0, 3, 4, 7, 8, 9, 10, 11, 12, 13, 17, 27, 33, 34, 35, 37, 38, 39, 41, 42, 43], "triqs_hubbard_i_impl": 0, "py": [0, 9, 15, 24, 31, 33, 34, 39, 42, 43], "tree": 0, "convert": [0, 9, 17, 30, 39, 42, 43], "we": [0, 5, 7, 8, 10, 12, 15, 19, 27, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "would": [0, 24, 27], "like": [0, 12, 19, 22, 24, 35], "express": 0, "our": 0, "sincer": 0, "gratitud": 0, "": [0, 1, 3, 8, 9, 11, 12, 22, 23, 24, 25, 27, 33, 34, 35, 37, 38, 39, 42, 43], "thi": [0, 4, 7, 10, 11, 12, 13, 14, 15, 19, 20, 21, 23, 24, 27, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44], "ver": [0, 42, 43, 44], "1": [0, 2, 3, 4, 7, 9, 11, 12, 18, 19, 20, 21, 22, 23, 24, 25, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44], "0": [0, 2, 3, 4, 8, 10, 11, 12, 15, 19, 20, 21, 22, 23, 24, 25, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44], "wa": [0, 33, 34, 41, 42, 43, 44], "support": [0, 7, 11, 14, 15, 27], "project": [0, 5, 40], "advanc": 0, "softwar": [0, 14, 31], "usabl": 0, "materi": [0, 5, 10], "scienc": 0, "institut": 0, "solid": 0, "state": [0, 5, 12, 14, 19, 21, 23, 32, 37, 38], "physic": [0, 5, 27], "univers": 0, "tokyo": 0, "copyright": 0, "belong": 0, "If": [0, 3, 9, 12, 15, 19, 20, 23, 25, 27, 28, 31, 35, 39, 40, 42, 43, 44], "ha": [0, 7, 8, 12, 20, 23, 38], "us": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 15, 17, 19, 20, 21, 22, 23, 24, 25, 28, 33, 34, 35, 37, 38, 41, 42, 43], "your": [0, 6, 15, 17, 21, 27, 28, 31, 34, 38, 41], "you": [0, 2, 9, 12, 15, 19, 20, 21, 24, 27, 28, 33, 34, 35, 37, 38, 40, 42, 43, 44], "acknowledg": 0, "academ": 0, "pleas": [0, 7, 8, 15, 24, 28, 38, 39, 41, 42, 43], "paper": [0, 4], "hiroshi": 0, "shinaoka": [0, 7, 27], "junya": 0, "otsuki": 0, "mitsuaki": 0, "kawamura": 0, "nayuta": 0, "takemori": 0, "kazuyoshi": 0, "yoshimi": 0, "scipost": [0, 21], "phy": 0, "10": [0, 12, 19, 25, 33, 35, 37, 38, 39, 41, 42, 43], "117": 0, "2021": [0, 21], "bibtex": 0, "articl": 0, "21468": 0, "scipostphi": 0, "5": [0, 3, 4, 11, 12, 19, 20, 22, 23, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "titl": 0, "integr": [0, 4, 6, 14, 17, 19, 20, 23, 27], "dmft": [0, 3, 4, 11, 12, 14, 16, 19, 21, 24, 32, 33, 34], "correl": [0, 5, 8, 12, 19, 20, 23, 33, 34, 38], "electron": [0, 19, 39, 40, 42, 43], "journal": 0, "volum": 0, "issu": [0, 14, 26], "page": [0, 8, 14, 15, 19, 28], "year": 0, "doi": 0, "url": 0, "org": [0, 43], "2": [0, 2, 3, 4, 7, 9, 11, 12, 18, 20, 22, 23, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44], "j": [0, 9, 19, 20, 35, 43], "k": [0, 9, 17, 19, 23, 27, 30, 40], "m": [0, 11, 15, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "n": [0, 3, 8, 18, 31, 40], "y": [0, 12], "motoyama": 0, "releas": [0, 14, 15, 42, 43, 44], "2019": 0, "25": [0, 35, 40], "2018": [0, 16], "24": [0, 35], "t": [0, 3, 4, 8, 11, 12, 18, 19, 21, 33, 34, 35, 37, 38, 41], "kato": 0, "relat": [0, 14], "depend": [0, 4, 12, 19, 20, 23, 24, 31, 35, 37, 38], "librari": [0, 9, 11, 12, 13, 27], "applic": [0, 28], "relev": 0, "origin": [0, 4, 12, 24, 29, 31, 39, 40, 42, 43], "dfttool": [0, 15, 21, 23], "In": [0, 4, 9, 10, 12, 15, 20, 21, 24, 27, 28, 31, 33, 34, 35, 37, 38, 39, 42], "addit": [0, 21, 31, 35], "abov": [0, 12, 24, 31, 35, 38, 43], "two": [0, 5, 8, 11, 12, 15, 20, 23, 31, 33, 34, 37, 38], "mai": [0, 8, 9, 12, 15, 21, 27, 37, 38], "impur": [0, 5, 9, 10, 11, 13, 14, 15, 17, 19, 23, 26, 32, 35], "solver": [0, 3, 4, 7, 8, 10, 12, 13, 14, 15, 17, 19, 20, 23, 24, 26, 31, 32, 33, 34], "list": [0, 7, 8, 9, 14, 15, 19, 20, 23, 24], "below": [0, 3, 4, 5, 9, 11, 19, 23, 24, 25, 27, 31, 33, 34, 37, 38], "cthyb": [0, 6, 7, 8, 11, 15, 17, 19, 32, 33, 34, 35, 39, 41, 42, 43], "hubbardi": [0, 13], "alp": [0, 6, 15, 17, 19, 33, 34, 35, 37, 38, 41], "ct": [0, 6, 15, 17, 31, 33, 34, 35, 38, 39, 41, 42, 43], "hyb": [0, 6, 15, 17, 31, 33, 34, 35, 41], "segment": [0, 6, 15, 17, 27], "For": [0, 4, 5, 7, 8, 11, 12, 13, 15, 19, 20, 21, 22, 24, 27, 31, 34, 35, 37, 38, 41, 43], "some": [0, 5, 8, 14, 15, 19, 27, 31, 38, 42, 43, 44], "them": [0, 7, 9, 12, 15, 21, 43], "thei": [0, 43], "provid": [0, 5, 11, 15, 28, 38], "entri": [0, 29], "each": [0, 12, 19, 20, 23, 24, 25, 27, 35, 37, 38], "when": [0, 3, 4, 12, 19, 38], "spm": [0, 4, 5, 17, 38], "method": [0, 1, 3, 5, 11, 12, 17, 19, 27, 31, 38], "analyt": [0, 12, 14, 17, 19, 32, 37], "continu": [0, 12, 14, 17, 19, 27, 32, 35, 37], "masayuki": 0, "ohzeki": 0, "rev": 0, "e": [0, 4, 5, 7, 8, 12, 14, 20, 27, 35, 38, 39, 42, 43], "95": 0, "061302": 0, "r": [0, 39, 40, 41, 42, 43], "2017": 0, "can": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 15, 19, 20, 21, 22, 23, 24, 25, 28, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "download": [0, 15, 40, 41, 43], "sourc": [0, 15, 28], "code": [0, 1, 9, 14, 15, 17, 23, 27, 41], "program": [0, 1, 3, 4, 5, 9, 11, 14, 15, 17, 19, 23, 29, 35, 37, 38, 39, 40, 42, 43], "without": [0, 12, 14, 19, 20, 24, 35], "ani": [0, 12, 27, 35], "warranti": 0, "kind": [0, 23, 24, 31], "particular": [0, 33, 34], "its": 0, "contributor": 0, "take": [0, 27, 35, 37, 38], "respons": 0, "possibl": [0, 24, 27], "bug": [0, 15, 28], "improp": 0, "includ": [0, 5, 9, 12, 15, 19, 20, 23, 24, 28, 42, 43, 44], "those": [0, 14, 35], "result": [0, 8, 9, 11, 12, 14, 19, 24, 27, 35, 37, 38, 39, 41, 42, 43], "incorrect": 0, "scientif": 0, "git_branch_nam": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "obtain": [1, 3, 4, 5, 8, 11, 12, 23, 24, 27, 31, 38, 39, 42, 43], "real": [1, 2, 3, 4, 5, 12, 18, 19, 24, 37, 38], "frequenc": [1, 2, 3, 4, 5, 8, 19, 23, 24, 31, 35, 37, 38], "green": [1, 3, 8, 9, 11, 12, 23, 27, 35, 37, 38], "function": [1, 2, 3, 4, 5, 8, 9, 10, 11, 17, 23, 27, 32, 35, 39, 42], "imaginari": [1, 3, 4, 12, 18, 19, 23, 38], "dcore_anacont": [1, 3, 4, 17, 19, 23, 31, 32, 34], "perform": [1, 2, 3, 4, 5, 12, 14, 15, 24, 27, 35, 37, 38, 39, 40, 42, 43], "pade": [1, 4, 5, 17, 38, 39, 41, 42, 43], "approxim": [1, 4, 5, 6, 11, 17, 33, 34, 37, 38], "spars": [1, 17, 38], "model": [1, 3, 5, 7, 8, 11, 12, 14, 17, 20, 22, 24, 25, 27, 31, 32, 39, 41, 42, 43], "user": [1, 5, 10, 14, 15, 39, 42], "also": [1, 2, 8, 15, 24, 27, 31, 38], "extern": [1, 5, 17, 19, 20, 23], "how": [1, 3, 6, 10, 12, 17, 23, 33, 34, 35, 37, 38], "an": [1, 3, 4, 5, 10, 11, 12, 15, 17, 19, 20, 22, 23, 31, 33, 34, 35, 37, 38], "ac": [1, 5, 17, 23], "self": [2, 3, 4, 5, 9, 10, 12, 19, 23, 24, 31, 32, 35, 37], "energi": [2, 3, 4, 5, 9, 10, 12, 19, 23, 24, 32, 35, 37], "matsubara": [2, 3, 4, 5, 12, 19, 24, 35, 38], "onli": [2, 7, 8, 12, 14, 19, 20, 21, 31, 33, 34], "thing": 2, "need": [2, 5, 11, 12, 15, 19, 20, 24, 25, 27, 31, 34, 38], "do": [2, 23, 24, 27, 31, 37, 38], "write": [2, 14, 21], "numpi": [2, 20, 23, 24], "binari": [2, 15, 20, 24], "store": [2, 8, 9, 19, 23, 24, 38], "so": [2, 19, 23, 25, 43], "load": [2, 35, 37, 38], "import": [2, 9, 21], "np": [2, 12, 15, 19, 24, 31, 33, 34, 35, 37, 38, 40, 41, 43], "return": [2, 9, 10], "object": 2, "dictionari": [2, 9, 22], "kei": 2, "type": [2, 4, 7, 19, 20, 23, 27, 39, 42], "descript": [2, 8, 18, 19, 23, 24, 42, 43, 44], "beta": [2, 3, 4, 9, 12, 14, 19, 20, 23, 24, 33, 35, 37, 39, 41, 42, 43], "float": [2, 3, 4, 11, 19, 27, 38], "invers": [2, 12, 19, 39, 42, 43], "temperatur": [2, 11, 19, 33, 34], "iwn": 2, "arrai": [2, 20], "complex": [2, 23], "data": [2, 3, 4, 18, 19, 21, 23, 29, 31, 35, 37, 38], "th": [2, 19], "inequival": [2, 19, 20, 22, 25, 33, 34], "shell": [2, 3, 7, 8, 19, 20, 22, 23, 24, 25, 33, 34], "hartree_fock": 2, "hartre": [2, 39, 42], "fock": 2, "term": [2, 4, 22, 23], "here": [2, 9, 15, 22, 24, 35, 38], "n_": [2, 3, 11, 20, 24, 31], "omega": [2, 3, 4, 11, 12, 23, 24, 31], "time": [2, 4, 5, 12, 19, 20, 27, 31, 35, 37, 38, 39, 41, 42, 43], "text": [2, 3, 14, 20, 33, 34, 35, 37, 38], "orb": [2, 11, 24], "where": [2, 3, 4, 11, 12, 19, 20, 23, 31, 40, 43], "number": [2, 3, 4, 8, 12, 15, 19, 23, 24, 25, 27, 28, 31, 33, 35, 37, 38, 39, 42, 43], "orbit": [2, 3, 7, 12, 19, 20, 23, 24, 27, 29, 31, 33, 35, 37, 38, 43], "h": [2, 7, 8, 19, 20, 24, 27, 31], "f": [2, 19], "_": [2, 3, 11, 20], "ik": 2, "sum_": [2, 11, 19, 20, 24], "jl": 2, "u_": [2, 9, 19, 20], "ijkl": [2, 9], "left": [2, 4, 24, 37, 38, 41], "langl": [2, 19], "c": [2, 11, 12, 13, 20, 33, 34, 39, 42], "dagger_j": 2, "c_l": 2, "right": [2, 4, 24, 37, 38, 41], "rangl": 2, "format": [2, 4, 5, 14, 17, 20, 22, 24, 25, 31, 33, 34, 35, 37, 38, 39, 42, 43], "one": [2, 5, 7, 10, 12, 13, 15, 18, 20, 21, 24, 27, 31, 34, 35, 38], "simpl": [3, 39, 42], "wide": 3, "base": [3, 14, 25, 39, 42], "assumpt": 3, "ration": 3, "implement": [3, 4, 6, 7, 11, 13, 15, 17, 20, 22, 27, 35], "common": [3, 4], "paramet": [3, 4, 5, 7, 8, 11, 13, 23, 24, 31, 33, 34, 38, 39, 41, 42, 43], "specifi": [3, 4, 5, 7, 12, 19, 20, 21, 22, 24, 25, 27, 28, 31, 35, 38], "post": [3, 4, 5, 10, 11, 12, 17, 23, 24, 31, 33, 34, 35, 38], "anacont": [3, 4, 11, 12, 17, 31, 34, 35, 38, 39, 41, 42, 43], "block": [3, 4, 8, 9, 11, 12, 17, 24, 27, 31, 38], "omega_min": [3, 4, 11, 19, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "6": [3, 4, 11, 12, 20, 23, 34, 35, 37, 38, 39, 42, 43], "omega_max": [3, 4, 11, 19, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "nomega": [3, 4, 11, 19, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "101": [3, 4, 35], "show_result": [3, 4, 19], "fals": [3, 4, 8, 19, 20, 24, 35], "save_result": [3, 4, 19], "true": [3, 4, 8, 11, 12, 19, 20, 24, 25, 33, 34, 37, 38, 39, 40, 41, 42, 43], "rang": [3, 9, 12, 31, 38], "point": [3, 4, 19, 31, 34, 38], "output": [3, 9, 12, 14, 17, 20, 24, 25, 28, 29, 31, 33, 34, 35, 37, 38, 39, 42, 43], "linearli": 3, "space": [3, 8, 11, 19, 31], "between": [3, 20, 42, 43, 44], "whether": [3, 19, 24], "mathrm": [3, 4, 11, 33, 34, 35], "re": [3, 19, 20, 22, 23, 31], "sigma_": [3, 12, 19, 23, 24], "ij": 3, "im": [3, 4, 20, 22, 23, 35], "displai": [3, 31], "screen": 3, "matplotlib": [3, 15, 27], "plot": [3, 12, 19, 23, 24, 27, 31, 35, 37, 38, 39, 40, 42, 43], "save": [3, 8, 20, 24, 31, 38, 41, 43], "work": [3, 4, 7, 8, 9, 15, 19, 23, 24, 27, 29, 41], "directori": [3, 7, 8, 9, 15, 19, 21, 23, 24, 27, 28, 31, 32, 38, 40, 43], "sigma_w_": 3, "ish": [3, 7, 8, 19, 22, 25], "iorb": 3, "jorb": 3, "png": [3, 4, 23, 24, 27, 35, 37, 38], "index": [3, 7, 8, 9, 18, 22, 25, 31], "indic": [3, 18, 19, 20, 23, 24, 25, 39, 42, 43], "chang": [3, 9, 19, 24, 31, 38], "dir_work": [3, 19], "iomega_max": [3, 12, 19, 38, 39, 41, 42, 43], "10000": [3, 12, 39, 41, 42, 43], "n_min": [3, 19, 38], "n_max": [3, 19, 38], "100": [3, 4, 11, 12, 19, 27, 31, 33, 34, 35, 37, 38, 43], "eta": [3, 19, 38], "01": [3, 19, 22, 23], "mani": [3, 7, 8, 12], "first": [3, 7, 10, 12, 14, 18, 21, 27, 31, 32, 33, 34, 35, 39, 40, 42, 43], "cutoff": [3, 12], "omega_m": 3, "solv": [3, 4, 5, 11, 19, 28, 31, 35, 37, 38], "omega_n": [3, 4, 24, 35], "pi": [3, 4, 18, 31, 33, 34], "2n": 3, "le": 3, "omega_": 3, "min": [3, 35, 39, 41, 42], "max": [3, 19, 39, 42], "replac": [3, 15, 19, 23, 34, 35, 38], "otherwis": [3, 8, 31], "default": [3, 7, 11, 12, 15, 19, 24, 25, 31, 39, 42], "valu": [3, 4, 11, 15, 19, 23, 24, 27, 31, 35, 37, 38], "Then": [3, 7, 8, 9, 11, 12, 27, 31, 37, 38, 39, 40, 42, 43], "calcul": [3, 4, 10, 12, 14, 19, 21, 27, 31, 32, 35, 37, 38], "loop": [3, 11, 19, 24, 32], "less": 3, "than": [3, 4, 25, 27, 38, 43], "all": [3, 7, 9, 11, 20, 21, 23, 24, 25, 28, 31], "shift": [3, 19, 24, 31], "input": [3, 4, 7, 8, 9, 11, 12, 14, 15, 17, 20, 23, 24, 27, 33, 34, 35, 37, 38, 40, 43], "hubbard": [3, 4, 5, 6, 11, 14, 15, 17, 19, 20, 32, 34, 35], "squar": [3, 4, 5, 11, 19, 21, 31, 34, 37, 38], "lattic": [3, 4, 5, 11, 12, 31, 32, 35, 37, 38, 39, 41, 42, 43], "pomerol": [3, 4, 6, 15, 17, 19, 38], "ini": [3, 4, 9, 11, 12, 23, 24, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "seednam": [3, 4, 11, 12, 19, 21, 23, 24, 27, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "norb": [3, 4, 11, 12, 19, 20, 25, 33, 34, 35, 37, 38, 39, 41, 42, 43], "nelec": [3, 4, 11, 12, 19, 33, 34, 35, 37, 38, 39, 41, 42, 43], "kanamori": [3, 4, 11, 12, 19, 33, 34, 35, 37, 38, 39, 41, 42], "4": [3, 4, 9, 11, 12, 20, 23, 24, 25, 29, 31, 34, 35, 37, 38, 39, 40, 42, 43], "nk0": [3, 4, 19, 38, 39, 41, 42, 43], "8": [3, 4, 11, 15, 19, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "nk1": [3, 4, 19, 38, 39, 41, 42, 43], "nk2": [3, 4, 19, 38, 39, 41, 42, 43], "n_iw": [3, 4, 11, 19, 34, 37, 38], "1000": [3, 4, 8, 11, 34, 35, 37, 38], "fix_mu": [3, 4, 11, 19, 33, 34, 37, 38], "mu": [3, 4, 11, 19, 24, 33, 34, 37, 38, 39, 41, 42, 43], "name": [3, 4, 7, 8, 9, 10, 11, 12, 13, 15, 19, 21, 23, 24, 27, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "exec_path": [3, 4, 7, 8, 9, 11, 33, 34, 35, 37, 38, 41], "str": [3, 4, 7, 8, 11, 27, 33, 34, 35, 37, 38, 41], "pomerol2dcor": [3, 4, 11, 38], "n_bath": [3, 4, 11, 38], "int": [3, 4, 7, 8, 11, 12, 19, 20, 23, 27, 33, 34, 35, 37, 38, 39, 41, 42, 43], "fit_gtol": [3, 4, 11, 38], "1e": [3, 4, 11, 19, 38], "control": [3, 4, 11, 12, 17, 24, 27, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "max_step": [3, 4, 11, 12, 19, 33, 34, 35, 37, 38, 39, 41, 42, 43], "sigma_mix": [3, 4, 11, 19, 27, 34, 35, 37, 38, 41], "time_revers": [3, 4, 11, 19, 27, 37, 38, 41], "converge_tol": [3, 4, 11, 19, 27, 38], "401": [3, 4, 34, 38], "figur": [3, 4, 11, 12, 23, 24, 29, 31, 34, 35, 37, 38], "show": [3, 4, 11, 12, 19, 24, 31, 33, 34, 35, 37, 38, 41], "sigma_w_0_0_0": [3, 4], "equat": 4, "sigma": [4, 19, 20, 23, 27, 35, 37, 38], "tau": [4, 9, 19], "int_": 4, "infti": 4, "d": [4, 14, 20], "frac": [4, 11, 12, 20, 39, 42], "rho": 4, "spectral": [4, 12, 17, 23, 32], "part": [4, 9, 18, 19, 20, 32, 43], "kramer": 4, "kronig": 4, "transform": [4, 25, 43], "kernel": 4, "matrix": [4, 19, 20, 22, 25, 33, 34], "decompos": 4, "singular": [4, 19], "decomposit": 4, "svd": 4, "vector": [4, 19, 34], "respect": [4, 20, 37, 38, 41], "while": 4, "admm": 4, "optim": [4, 19, 43], "more": [4, 25, 27, 32, 37], "via": 4, "cvxpy": 4, "describ": [4, 5, 12, 22, 25], "section": [4, 33, 34, 35], "eco": [4, 19], "n_matsubara": [4, 19], "n_tau": [4, 9, 19], "n_tail": [4, 19], "n_sv": [4, 19], "30": [4, 12, 16, 33, 34, 35, 39, 41, 42, 43], "lambda": [4, 19], "larger": [4, 27, 41], "last": [4, 18, 21, 24], "tail": [4, 9, 11, 19], "fit": [4, 11, 19], "sim": 4, "after": [4, 5, 8, 12, 25, 27, 31, 37, 38, 43], "truncat": [4, 25], "coeffici": [4, 12, 19], "l1": [4, 19], "regular": [4, 7, 19], "should": [4, 10, 12, 20, 21, 24, 31, 35, 38, 39, 42, 43], "max_it": 4, "avail": [4, 7, 11, 15, 19, 24, 27, 35], "detail": [4, 19, 20, 21, 23, 24, 25, 27, 39, 41, 42, 43], "see": [4, 9, 12, 15, 19, 20, 21, 23, 24, 27, 33, 34, 37, 38, 39, 41, 42, 43, 44], "document": [4, 9, 15, 24, 27, 42, 43, 44], "contain": [5, 15, 19, 24, 33, 34], "set": [5, 9, 11, 12, 13, 15, 18, 19, 20, 22, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43], "which": [5, 10, 19, 21, 22, 24, 27, 28, 34, 35, 38], "dynam": [5, 14], "mean": [5, 14, 34, 39, 42], "field": [5, 14, 22], "theori": [5, 14], "summar": [5, 23, 24], "later": [5, 24, 38], "finish": [5, 31, 37, 38], "comput": [5, 9, 11, 12, 14, 19, 24, 31, 33, 34, 37, 38, 40, 41, 43], "quantiti": [5, 12, 27, 38], "densiti": [5, 8, 19, 20, 21, 23, 33, 34, 37, 38], "momentum": [5, 19, 20, 23, 37, 38], "resolv": [5, 24, 37, 38], "process": [5, 9, 12, 15, 17, 19, 21, 27, 31, 32], "tool": [5, 14, 17, 31, 33, 37], "shown": [5, 24, 25, 33, 34, 37, 38], "consist": [5, 11, 14, 19, 24, 31, 32, 35, 37, 38], "hdf5": [5, 14, 18, 19, 24, 27, 37, 38], "necessari": [5, 9, 12, 19, 21, 35, 37, 38], "defin": [5, 19, 20, 21, 22, 32, 35], "hop": [5, 21, 33, 34, 39, 42], "certain": 5, "given": [5, 9, 19, 20, 23, 24, 31, 37, 41], "either": [5, 19, 24], "preset": [5, 21], "g": [5, 11, 12, 27, 33, 34, 37, 38, 39, 40, 41, 42, 43], "beth": [5, 12, 19, 21, 35], "wannier90": [5, 19, 24, 33, 34, 39, 41, 42, 43], "main": [5, 12, 17, 27, 29], "effect": [5, 12, 20, 35, 37], "problem": [5, 28, 35, 37, 42, 43, 44], "repeatedli": [5, 24], "fulfil": [5, 34], "condit": 5, "call": [5, 7, 35], "mont": [5, 27], "carlo": [5, 27], "domain": [5, 8, 23, 38], "To": [5, 12, 13, 27, 31, 33, 34, 41], "note": [5, 7, 10, 15, 31, 34, 35, 38, 42, 43, 44], "converg": [5, 11, 17, 19, 23, 33, 34, 35, 37, 38], "solut": [5, 11, 27, 34], "current": [5, 12, 15, 21], "band": [5, 20, 24, 38, 39, 40, 42, 43], "singl": [5, 23, 24, 27, 33, 34, 37, 38], "particl": [5, 8, 11, 23, 27, 31, 37, 38], "excit": [5, 10, 23, 37, 38], "qmc": [6, 14, 17, 27, 32, 38, 39, 41, 42, 43], "exact": [6, 17, 38], "diagon": [6, 17, 19, 27, 38], "non": [6, 9, 15, 17, 27, 40, 43], "limit": [6, 11, 17, 38], "null": [6, 9, 17, 19], "own": [6, 17, 21, 27], "algorithm": [7, 8, 19, 27], "gull": [7, 8, 35], "p": [7, 8, 20, 35, 40, 43], "werner": [7, 8, 35], "spin": [7, 12, 19, 20, 22, 23, 24, 29, 31, 33, 34, 35, 37, 38, 41], "coupl": [7, 12, 19, 20, 23, 27, 29, 31], "One": [7, 15, 20, 21, 25, 27, 31, 35, 37, 38], "dcore": [7, 8, 9, 11, 12, 15, 17, 19, 21, 26, 28, 29, 31, 32, 33, 34], "through": 7, "interfac": [7, 8, 11, 14, 33, 34], "moment": [7, 19, 23, 24, 33, 34], "choic": [7, 12], "basi": [7, 19, 20, 39, 42], "old": 7, "triqs_interfac": 7, "v1": 7, "x": [7, 11, 15, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44], "retir": 7, "new": [7, 15, 24, 27], "involv": 7, "requir": [7, 37, 38, 39, 40, 41, 42, 43], "instal": [7, 8, 13, 14, 16, 28, 31], "instruct": [7, 9, 27], "offici": 7, "site": [7, 11, 33, 34, 38], "A": [7, 8, 12, 17, 23, 24, 30, 35, 38], "minimum": [7, 8, 14, 19, 32, 38], "exampl": [7, 8, 12, 14, 15, 19, 20, 22, 24, 27, 32, 33, 34, 35], "assum": [7, 8, 33, 34], "execut": [7, 8, 9, 12, 15, 19, 24, 28, 31, 34, 35, 38, 40, 43], "home": [7, 8, 29, 33, 35], "opt": [7, 8, 33, 35], "bin": [7, 8, 11, 12, 31, 33, 35, 43], "hybmat": [7, 33, 35, 41], "run": [7, 9, 12, 15, 18, 19, 24, 33, 34, 35, 37, 38, 40], "300": [7, 8, 35], "second": [7, 8, 9, 19, 21, 31, 33, 34, 39, 41, 42, 43], "timelimit": [7, 33, 35, 41], "have": [7, 12, 15, 19, 20, 23, 28, 31, 38], "refer": [7, 8, 9, 14, 15, 19, 21, 23, 29, 35, 41], "manual": [7, 14, 15, 19, 21, 24], "instanc": [7, 15, 35, 37, 38], "enabl": [7, 14], "verbos": 7, "must": [7, 9, 12, 20, 35, 43], "imp_shel": [7, 8, 23], "_ite": [7, 8], "ite": [7, 8], "iter": [7, 8, 23, 24, 27, 35, 37, 38, 41], "excecut": 7, "hafermann": 8, "taken": [8, 11, 19, 24], "account": [8, 11], "sure": [8, 9, 12, 13, 15], "turn": [8, 34], "density_dens": [8, 19], "option": [8, 9, 11, 12, 15, 19, 24, 27, 31], "simul": [8, 39, 41, 42, 43], "fail": 8, "alps_cthyb": [8, 34, 37, 38], "termin": [8, 19, 38], "max_tim": [8, 34, 37, 38], "total": [8, 12, 23, 24, 27, 35, 37, 38, 41], "sweep": [8, 34, 37, 38], "been": 8, "reach": [8, 24, 38], "seg": [8, 19, 32, 34], "n_mea": [8, 34, 37, 38], "50": [8, 12, 19, 34, 35, 37, 38, 39, 40, 41, 42, 43], "thermal": [8, 12, 34, 37, 38], "100000000": [8, 19, 34, 37, 38], "text_output": [8, 34, 37, 38], "bool": [8, 12, 19, 39, 41, 42, 43], "complet": [8, 14, 15, 24, 33, 34], "help": [8, 17], "command": [8, 9, 15, 19, 20, 23, 24, 27, 28, 31, 33, 35, 37, 38, 41, 43], "measure_nn": 8, "static": [8, 27, 33, 34], "measure_nnw": 8, "measure_nnt": 8, "measure_g2w": 8, "measur": [8, 27], "wiki": 8, "numer": [8, 12, 23, 29, 38, 39, 42], "occup": [8, 23, 24, 31, 40, 43], "doubl": [8, 19, 20, 23], "observ": [8, 38], "dat": [8, 12, 19, 21, 23, 24, 27, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43], "wrap": 9, "appropri": [9, 12, 27], "serv": 9, "wrapper": 9, "null_solv": 9, "cp": 9, "your_solv": 9, "class": 9, "nullsolv": 9, "solverbas": 9, "let": [9, 27], "sai": [9, 24, 27], "yoursolv": 9, "def": 9, "configur": [9, 31], "set_g0_iw": 9, "u_mat": 9, "addition": [9, 19, 24], "variabl": [9, 15, 27, 35], "n_orb": 9, "n_flavor": 9, "gf_struct": 9, "use_spin_orbit": 9, "1a": 9, "h0": 9, "local": [9, 19, 22, 23, 27, 39, 41, 42], "hamiltonian": [9, 20], "chemic": [9, 19, 23, 24, 27, 35, 37, 38], "potenti": [9, 19, 22, 23, 24, 27, 35, 37, 38, 43], "make": [9, 10, 15, 21, 24, 28, 38], "hermit": 9, "order": [9, 12, 25, 28, 31, 33, 34], "spin1": 9, "spin2": 9, "extract_h0": 9, "_g0_iw": 9, "block_nam": 9, "1b": 9, "delta": [9, 10, 11, 19, 20, 23], "iw": [9, 11, 27], "hybrid": [9, 11, 27, 38], "g0": 9, "iwn_n": 9, "iw_n": 9, "extract": [9, 35], "_delta_iw": 9, "delta_tau": 9, "make_block_gf": 9, "gfimtim": 9, "fourier": 9, "1c": 9, "l": [9, 11, 12, 20, 25, 37, 38, 40, 43], "product": 9, "repeat": [9, 12], "hors": 9, "open": [9, 31], "w": [9, 12, 17, 30, 37, 38, 40, 43], "output_f": 9, "launch_mpi_subprocess": 9, "mpirun_command": 9, "argument": [9, 24, 27, 31, 43], "actual": [9, 34, 40, 43], "invok": [9, 10, 13, 15, 24, 35, 37, 38], "mpi": [9, 12, 15, 17, 24, 33, 35, 37, 38, 39, 41, 42, 43], "These": [9, 14, 20], "subprocess": 9, "modul": [9, 15, 27], "_sigma_iw": [9, 23, 24], "_gimp_iw": 9, "read": [9, 19, 23, 24, 27, 31, 35, 37, 38, 43], "blockgf": 9, "other": [9, 15, 20, 21, 26, 31, 34, 38], "final": [9, 12, 23, 31], "__init__": 9, "add": [9, 12], "solver_class": 9, "zero": 10, "allow": [10, 15, 28, 31], "check": [10, 12, 17, 23, 27, 35, 37, 38, 39, 41, 42, 44], "recommend": [10, 11, 15, 31], "agreement": 10, "dft": [10, 16, 21, 24, 32, 41], "sinc": [10, 38], "introduc": 10, "artifici": [10, 38], "broaden": [10, 11, 33, 34, 37, 38, 39, 41, 42, 43], "spectra": [10, 38], "visibl": 10, "done": [10, 12, 31, 33, 34, 35, 37, 38], "spectrum": [10, 11, 17, 23, 31, 34, 38, 39, 41, 42, 43], "001": [10, 37, 39, 42], "ed": [11, 38], "discrit": 11, "arbitrari": [11, 19, 22], "experiment": 11, "todo": [11, 14], "evalu": [11, 20], "gf": 11, "mandatori": 11, "install_directori": 11, "bath": [11, 27, 38], "o_1": 11, "o_2": 11, "v_": 11, "epsilon_l": 11, "finit": 11, "size": [11, 31], "hilbert": 11, "increas": [11, 12, 27, 38], "exponenti": 11, "accord": [11, 31], "textrm": 11, "spn": [11, 40], "becaus": [11, 12, 15, 38], "storag": 11, "simeq": [11, 33, 34], "16": [11, 33, 35, 39, 42, 43], "tutori": [11, 14, 29, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43], "dmft_square_pomerol": [11, 38], "nk": [11, 12, 19, 33, 34, 35, 37], "knode": [11, 33, 34, 37, 38, 39, 41, 42, 43], "nk_line": [11, 33, 34, 37, 38, 39, 41, 42, 43], "400": [11, 33, 37, 39, 40, 41, 42, 43], "It": [11, 12, 20, 23, 24, 27, 31, 37, 38, 39, 40, 42], "convergence_tol": 11, "stop": 11, "automat": [11, 19, 27, 38, 40, 43], "renorm": [11, 19, 23, 24, 35, 37, 38], "factor": [11, 19, 23, 24, 35, 37, 38], "around": [11, 35, 38, 41], "guid": 12, "Be": [12, 13], "same": [12, 13, 19, 35, 38, 39, 40, 42, 43], "compil": [12, 13, 28], "build": [12, 13, 15, 28], "want": [12, 15, 20, 27, 39, 40, 42, 43], "treat": [12, 20, 38], "built": 12, "cmake": [12, 19, 28], "dlocal_hamiltonian_is_complex": 12, "ON": 12, "dhybridisation_is_complex": 12, "accuraci": [12, 27, 38, 39, 41, 42, 43], "mainli": 12, "three": [12, 21, 24, 31, 35], "n_cycl": [12, 19, 39, 41, 42, 43], "cycl": [12, 24, 39, 42, 43], "nois": 12, "reduc": [12, 31, 37, 38], "parallel": [12, 15, 41], "affect": 12, "therefor": [12, 19, 20], "proport": [12, 39, 42, 43], "keep": 12, "n_warmup_cycl": [12, 39, 41, 42, 43], "befor": [12, 24, 40], "insuffici": 12, "differ": [12, 42, 43, 44], "equilibrium": 12, "independ": 12, "length_cycl": [12, 39, 41, 42, 43], "sub": 12, "length": 12, "long": [12, 39, 42, 43], "enough": 12, "escap": 12, "auto": 12, "script": [12, 15, 24, 28, 34, 35, 37, 38], "procedur": [12, 41], "search": 12, "bash": 12, "cat": [12, 22], "pre": [12, 17, 21, 32, 33, 34], "eof": 12, "40": [12, 35, 37, 39, 41, 42, 43], "dcore_pr": [12, 17, 19, 21, 25, 26, 32, 33, 34], "3000": 12, "5000": 12, "30000": 12, "100000": [12, 19, 34, 38], "300000": 12, "seq": 12, "sed": [12, 39, 42, 43], "n_wamup_cycl": 12, "mpiexec": [12, 40, 43], "dcore_check": [12, 17, 19, 26, 34, 35, 37, 38], "pdf": [12, 24, 27], "mv": 12, "bethe_sigma": 12, "cyc": 12, "_warm": 12, "_len": 12, "gnuplot": [12, 24, 35, 37, 38, 39, 41, 42, 43], "cyc3000_warm5000_len50": 12, "u": [12, 15, 19, 20, 23, 25, 28, 33, 34, 38, 40, 43], "lw": 12, "cyc10000_warm5000_len50": 12, "cyc30000_warm5000_len50": 12, "cyc100000_warm5000_len50": 12, "cyc300000_warm5000_len50": 12, "cyc300000_warm5000_len100": 12, "both": [12, 15, 27], "almost": 12, "case": [12, 15, 19, 20, 21, 24, 28, 31, 35, 37, 38, 43], "minor": 12, "becom": 12, "noisi": 12, "region": 12, "rm": [12, 15, 19, 20, 24], "approx": 12, "a_1": 12, "a_2": 12, "a_3": 12, "cdot": [12, 19], "techniqu": 12, "omega_check": [12, 19, 24, 39, 41, 42, 43], "ordinari": 12, "look": [12, 22, 24, 27, 35], "choos": 12, "15": [12, 35, 39, 40, 42, 43], "red": 12, "box": 12, "perform_tail_fit": [12, 39, 42, 43], "fit_max_mo": [12, 39, 42, 43], "fit_min_w": [12, 39, 42, 43], "fit_max_w": [12, 39, 42, 43], "again": 12, "b": [12, 15, 39, 41, 42, 43], "edit": [12, 38], "refin": 12, "fix": [12, 19, 31], "pair": 12, "insert": 12, "remov": 12, "move": [12, 43], "move_doubl": [12, 39, 41, 42, 43], "disabl": 12, "There": 12, "reason": [12, 27, 38], "maximum": [12, 19, 24, 38], "find": [12, 28], "togeth": 12, "anoth": [12, 32], "expand": [12, 27, 35], "seri": 12, "polynomi": 12, "ignor": 12, "higher": 12, "scheme": 12, "activ": [12, 31], "n_l": 12, "purpos": [12, 35, 37, 38], "larg": [12, 39, 42, 43], "80": 12, "decai": 12, "bethe_legendr": 12, "l_cyc": 12, "xlabel": [12, 37, 38], "ylabel": [12, 37, 38], "logscal": 12, "l_cyc3000_warm5000_len50": 12, "ab": [12, 14], "l_cyc10000_warm5000_len50": 12, "l_cyc30000_warm5000_len50": 12, "l_cyc100000_warm5000_len50": 12, "l_cyc300000_warm5000_len50": 12, "l_cyc300000_warm5000_len100": 12, "github": [13, 14, 15, 28], "io": 13, "latest": [13, 15, 23, 24, 42, 43, 44], "mft": 14, "cor": 14, "lectron": 14, "aim": 14, "initio": 14, "analyz": 14, "about": [14, 28], "licens": 14, "cite": 14, "author": 14, "quotat": 14, "repositori": [14, 15], "disclaim": 14, "prerequisit": 14, "introduct": [14, 32], "structur": [14, 18, 21, 23, 24, 32, 38, 39, 40, 41, 42, 43], "2d": [14, 31, 32, 34], "multiorbit": [14, 32], "antiferromagnet": [14, 32], "srvo": [14, 32, 39, 41, 42, 43], "faq": [14, 26], "troubleshoot": [14, 26], "report": [14, 26], "yet": [14, 27], "updat": [14, 24], "next": [14, 43], "major": 14, "python3": 15, "least": 15, "test": 15, "fast": 15, "improv": [15, 27, 38, 41], "triqs_dft_tool": 15, "loadabl": 15, "environ": [15, 27, 31, 34, 35, 38], "materiappsinstal": 15, "collect": 15, "dcore_triqs_compat": 15, "export": [15, 33, 34, 35], "virtual": 15, "venv": 15, "avoid": [15, 19], "conflict": 15, "pip": 15, "pip3": 15, "stand": 15, "upgrad": 15, "alreadi": 15, "wai": [15, 19, 27, 31], "go": 15, "tar": 15, "zip": 15, "unpack": 15, "zxvf": 15, "v3": 15, "gz": 15, "newli": 15, "featur": [15, 24, 38], "clone": 15, "git": 15, "src": [15, 43], "master": 15, "branch": [15, 24], "basic": 15, "correspond": [15, 20, 23, 37, 38], "well": [15, 28, 35, 37, 38], "did": 15, "could": [15, 31], "rf": 15, "dist": 15, "setup": 15, "bdist_wheel": 15, "whl": 15, "unit": [15, 19, 33, 34, 39, 42], "pytest": 15, "impour": 15, "mpirun": [15, 19, 33, 34, 35, 40, 41, 43], "correct": [15, 19, 20, 23], "runtim": [15, 35], "processor": 15, "mpijob": 15, "dcore_mpirun_command": 15, "folow": 15, "job": [15, 19], "sphinx": 15, "wild_sphinx_them": 15, "option_t": 15, "doc": [15, 29], "html": 15, "7": [16, 23, 25, 35, 38, 39, 40, 42, 43], "dcore\u8b1b\u7fd2\u4f1a": 16, "overview": 16, "exercis": 16, "dcore_spectrum": [17, 19, 31, 32, 34], "onlin": 17, "dataset": 18, "datatyp": 18, "__version": 18, "h5t_string": 18, "dcore_gfimfreq_v1": 18, "h5t_ieee_f64l": 18, "niw": 18, "wn": 18, "frequencei": 18, "sever": [19, 35, 37, 38], "tabl": [19, 23], "ye": [19, 27], "explain": [19, 23, 38], "string": 19, "h5": [19, 21, 23, 24, 27, 35, 37, 38], "chain": [19, 21], "chosen": 19, "cubic": [19, 21, 33, 34], "transfer": 19, "nearest": [19, 21, 33], "neighbor": [19, 21, 33], "per": [19, 39, 42, 43], "cell": [19, 33, 34], "integ": [19, 27], "separ": [19, 31], "comma": 19, "ncor": [19, 33, 34, 39, 41, 42, 43], "corr_to_inequiv": [19, 33, 34], "none": [19, 25, 40], "map": [19, 33], "equival": [19, 25], "bvec": [19, 39, 41, 42, 43], "reciproc": [19, 31], "along": [19, 22, 23], "line": [19, 20, 29, 43], "mutual": 19, "exclus": 19, "b_0": 19, "b_1": 19, "b_2": 19, "spin_orbit": [19, 20, 25, 29], "slater_uj": [19, 25], "slater_f": [19, 25], "respack": [19, 24], "coulomb": [19, 38], "pot": 19, "off": [19, 39, 42], "hund": 19, "angular": [19, 20], "slater": [19, 20, 25], "interaction_fil": [19, 20], "filenam": [19, 20, 22, 24, 31], "tensor": [19, 20], "local_potential_matrix": [19, 22], "dict": 19, "local_potential_factor": [19, 22], "prefactor": [19, 22], "len": 19, "link": 19, "behavior": [19, 24], "skip_lattic": 19, "skip": [19, 20, 27, 39, 42], "dft_input": [19, 21, 23], "kept": 19, "skip_umat": 19, "umat": [19, 23], "skip_local_potenti": 19, "localpotenti": [19, 23], "overwrit": 19, "overwritten": [19, 24], "exist": [19, 24, 31], "repalc": 19, "thermodynam": 19, "technic": 19, "2048": 19, "initi": [19, 32, 39, 42], "prec_mu": [19, 37], "0001": 19, "threshold": 19, "bisect": 19, "with_dc": [19, 39, 41, 42, 43], "count": [19, 20, 23], "dc": [19, 39, 42], "dc_type": 19, "hf_dft": 19, "hf_imp": 19, "fll": 19, "dc_orbital_averag": 19, "averag": [19, 24], "over": [19, 27], "compon": [19, 38], "drop": 19, "no_tail_fit": 19, "summat": [19, 27], "high": 19, "subtract": 19, "error": [19, 38], "alpha": [19, 20, 23, 24], "imp": 19, "delta_": 19, "gamma": [19, 20, 23, 31], "sigma_1": 19, "c_": [19, 20], "dagger": [19, 20], "rangle_0": 19, "expect": 19, "kohn": 19, "sham": 19, "basis_rot": 19, "hloc": 19, "locat": [19, 29, 40, 43], "500000": [19, 43], "step": [19, 23, 31, 35], "mix": [19, 39, 42], "restart": [19, 24, 27, 35, 39, 42], "previou": [19, 24, 33], "hdf": 19, "initial_static_self_energi": [19, 27, 33, 34], "initial_self_energi": [19, 27], "sz": 19, "time_reversal_transvers": 19, "symmetr": 19, "sx": 19, "sy": 19, "symmetry_gener": 19, "n_converg": [19, 27], "criterion": [19, 39, 42], "satisfi": [19, 27], "consecut": [19, 20], "toler": 19, "examin": 19, "sole": 19, "dir_post": [19, 24, 31], "dcore_post": [19, 31, 33], "temporari": 19, "cut": 19, "lower": [19, 38], "bound": 19, "upper": 19, "diverg": 19, "05": 19, "verbose_opt": 19, "progress": 19, "show_fit": 19, "relac": 19, "dmpiexec": 19, "pass": [19, 24], "hat": 20, "uparrow": 20, "downarrow": 20, "t_": [20, 33, 34], "begin": [20, 40], "align": 20, "qquad": 20, "neq": 20, "end": [20, 33, 34, 40], "u_1": 20, "_1": 20, "j_1": 20, "u_2": 20, "_2": 20, "j_2": 20, "fulli": 20, "rotation": 20, "invari": 20, "construct": [20, 27, 32], "f_0": 20, "f_2": 20, "f_4": 20, "f_6": 20, "angular_momentum": 20, "slater_basi": 20, "convent": [20, 27], "intuit": 20, "parameter": 20, "explicit": 20, "formula": 20, "quad": 20, "14": [20, 35, 43], "63": 20, "6435": 20, "286": 20, "195": 20, "451": 20, "675": 20, "250": 20, "1001": 20, "2025": 20, "angular_momentum1": 20, "u1": 20, "j1": [20, 25], "angular_momentum2": 20, "u2": 20, "j2": 20, "file1": 20, "npy": 20, "file2": 20, "suppor": 20, "four": [20, 24, 31, 34], "dimension": [20, 31, 37, 38], "written": [20, 27, 42, 43, 44], "dimansion": 20, "manner": 20, "No": [20, 27], "blank": 20, "put": 20, "element": 20, "definit": [20, 39, 42], "eq": 20, "shape": 20, "hand": [20, 27], "conjunct": 20, "tight": 21, "bind": 21, "up": [21, 23, 24, 25, 31, 33, 34, 37, 38, 41], "width": [21, 38], "4t": 21, "semicircular": 21, "place": 21, "_hr": 21, "expert": 21, "prepar": 21, "mode": [21, 31], "group": [21, 23], "doe": [21, 38], "touch": 21, "pot0": 22, "txt": [22, 28, 33, 34], "pot1": 22, "zeeman": 22, "z": [22, 25], "axi": [22, 24, 37, 38], "repres": 22, "orb1": 22, "orb2": 22, "magnet": [22, 33, 34], "out": [23, 24, 35, 37, 38, 40, 43], "npz": [23, 24, 38], "_iter": 23, "solver_dependent_output": 23, "iter_mu": [23, 24, 35, 37, 38], "iter_sigma": [23, 24, 35, 37, 38], "ish0": [23, 24, 35, 37, 38], "iter_occup": [23, 24], "iter_spin": [23, 24], "sigma_av": [23, 24, 35, 37, 38], "sigma_w": [23, 24, 38], "akw": [23, 24, 38, 39, 41, 42, 43], "gp": [23, 24, 37, 38, 39, 41, 42, 43], "momdist": 23, "empti": 23, "i_": 23, "denot": 23, "v": [23, 39, 40, 42, 43], "o1": 23, "o2": 23, "consid": [23, 27, 31, 33, 34], "dmft_out": 23, "sigma_iw": [23, 35, 37, 38], "chemical_potenti": 23, "dc_energ": [23, 35, 37, 38], "dc_imp": [23, 35, 37, 38], "h5l": 23, "0000000000e": 23, "00": 23, "4197880094e": 23, "6478279315e": 23, "3732253182e": 23, "4637277925e": 23, "8031573871e": 23, "0882955968e": 23, "6674359500130874": 23, "5208316972639336": 23, "31558993009526837": 23, "17496815990309889": 23, "13950821208253136": 23, "11496910148099888": 23, "09665012984893595": 23, "column": 23, "down": [23, 31, 33, 34, 37, 38, 41], "157": 23, "001093": 23, "994751": 23, "006358": 23, "156": 23, "844013": 23, "006365": 23, "686934": 23, "006371": 23, "pdo": 23, "shell0": [23, 33, 34], "band0": 23, "000000": [23, 43], "010048": 23, "972431": 23, "010299": 23, "944862": 23, "010562": 23, "917293": 23, "010837": 23, "889724": 23, "011126": 23, "boldsymbol": [23, 31], "path": [23, 31, 34, 37, 38, 39, 42], "092677": 23, "097063": 23, "101755": 23, "106779": 23, "112165": 23, "862155": 23, "117947": 23, "834586": 23, "124162": 23, "807018": 23, "130850": 23, "779449": 23, "138058": 23, "751880": 23, "145834": 23, "distribut": 23, "distanc": [23, 31], "momdist_": 23, "948389": 23, "005000": 23, "948368": 23, "010000": 23, "948303": 23, "five": 24, "classifi": 24, "multipl": 24, "merg": 24, "duplic": 24, "parameg": 24, "brief": 24, "explan": 24, "etc": [24, 27], "lauch": [24, 35], "intern": [24, 33, 34, 35], "imp_shell0_iter1": 24, "until": 24, "resum": 24, "creat": 24, "back": 24, "bak": 24, "prefix": [24, 40, 43], "ext": [24, 27], "extens": [24, 27, 31], "ep": [24, 27], "jpg": [24, 27], "seven": 24, "av": 24, "sum_i": 24, "momenum": 24, "drawn": [24, 41, 43], "cd": [24, 38, 39, 41, 42, 43], "_band": 24, "dir": [24, 43], "wan": [24, 40, 43], "iband": [24, 43], "usag": 24, "path_input_fil": 24, "posit": [24, 35], "messag": 24, "exit": 24, "reader": 24, "spherical_j": 25, "trunct": 25, "fewer": 25, "special": [25, 38], "word": 25, "specif": 25, "9": [25, 35, 38], "f_2m": 25, "sp": [25, 31], "rep": 25, "reorder": 25, "dn": 25, "73006135": 25, "86993865": 25, "yz": 25, "xz": 25, "72759974": 25, "1676259": 25, "3028777": 25, "3y": 25, "xyz": 25, "3x": 25, "j3": 25, "j5": 25, "j7": 25, "present": [27, 35, 37, 38], "capabl": 27, "access": 27, "appropi": 27, "databas": 27, "most": [27, 35], "reliabl": 27, "rocommend": 27, "simultan": [27, 40, 43], "exclud": 27, "criteria": 27, "accident": 27, "oscil": 27, "decreas": 27, "might": [27, 38, 42, 43, 44], "sampl": 27, "persist": 27, "unitcel": 27, "address": 27, "symmetri": [27, 31], "broken": 27, "flag": 27, "start": 27, "copi": 27, "sigma_init": 27, "assign": [27, 33, 34], "prefer": 27, "init": [27, 39, 42], "ones": 27, "expans": [27, 38], "elabor": 27, "worm": 27, "give": [27, 28, 33, 34], "wrong": 27, "situat": 27, "soi": 27, "num": [27, 39, 42], "thread": 27, "properli": 27, "unfortun": 27, "among": 27, "openbla": 27, "intel": 27, "mkl": 27, "omp_num_thread": 27, "openblas_num_thread": 27, "mkl_num_thread": 27, "veclib_maximum_thread": 27, "numexpr_num_thread": 27, "directli": [28, 37, 41], "easier": 28, "guidelin": 28, "readm": 28, "md": 28, "root": 28, "dure": 28, "inform": 28, "oper": 28, "cmakecach": 28, "gist": 28, "referenc": 28, "experienc": 28, "quickli": 28, "reproduc": [28, 35, 38], "thank": 28, "runner": 29, "rst": 29, "106": 29, "114": 29, "102": 29, "109": 29, "linear": 31, "grid": [31, 40], "auxiliari": 31, "akw_convert": 31, "volumer": 31, "suitabl": 31, "3d": 31, "graphic": 31, "vesta": [31, 41, 43], "even": [31, 38], "modifi": 31, "ad": 31, "post_grd": 31, "nk_mesh": 31, "instead": [31, 35, 41], "nk0_mesh": 31, "nk1_mesh": 31, "nk2_mesh": 31, "k_z": 31, "3pi": 31, "primit": 31, "highli": 31, "fermi": [31, 38], "surfac": 31, "interest": [31, 35], "select": 31, "now": [31, 33, 34, 38], "seed": 31, "_akw_mesh_": 31, "ud": 31, "square_akw_mesh_up": 31, "akw_up": 31, "grd": 31, "just": [31, 37, 38], "interpol": [31, 39, 40, 42, 43], "nearbi": 31, "full": [31, 34, 38], "seen": 31, "As": [31, 33, 34], "dmft_square_akw": 31, "better": [31, 38], "break": 31, "hole": 31, "made": 31, "util": [31, 39, 40, 42, 43], "clearli": 31, "goe": 31, "slice": 31, "plane": 31, "fraction": 31, "coordin": [31, 33, 34], "panel": [31, 37, 38, 41], "prefac": 32, "guess": 32, "ii": 32, "wannier": 32, "found": 32, "learn": [33, 34], "within": [33, 34], "transit": [33, 34, 35], "low": [33, 34, 38], "estim": [33, 34], "studi": 33, "antiferromaget": [33, 34], "half": 33, "fill": 33, "60": [33, 34, 38], "init_se_up": [33, 34], "init_se_down": [33, 34], "2x2x2": 33, "mk_hr": 33, "cubic_hr": 33, "eight": 33, "whose": [33, 34], "q": [33, 34], "intial": [33, 34], "mk_init_s": 33, "usual": [33, 34], "48": [33, 34, 41], "standard": [33, 34, 35, 37, 38], "43": 33, "86": 33, "satur": [33, 34], "929": 33, "000j": [33, 34], "eigenvalu": [33, 34], "92877164": 33, "072": 33, "07229858": 33, "contribut": [33, 34], "mx": [33, 34], "my": [33, 34], "mz": [33, 34], "428236533178": 33, "078": 33, "0779467": 33, "930": 33, "92994248": 33, "425997888424": 33, "shell1": [33, 34], "mermin": 34, "wagner": 34, "theorem": 34, "23": [34, 35], "phase": 34, "square_afm": 34, "afm_dim2": 34, "measurement_freq": [34, 37, 38], "measure_gw": [34, 37, 38], "2x2": 34, "mk_hr_2": 34, "afm_dim2_hr": 34, "character": 34, "wave": 34, "thu": 34, "tend": 34, "28": [34, 35], "57": 34, "784": 34, "7837032": 34, "218": 34, "2182982": 34, "282702499302": 34, "21842138": 34, "78360972": 34, "282594174364": 34, "graph": [34, 38], "opposit": 34, "direct": 34, "dmft_beth": 35, "phenomena": 35, "freez": 35, "occur": 35, "multi": 35, "troyer": 35, "milli": 35, "prl": 35, "166405": 35, "2008": 35, "signal": 35, "peculiar": 35, "propto": 35, "3333333": 35, "33333": 35, "success": 35, "sec": 35, "metal": 35, "varibl": 35, "launch": 35, "heavi": 35, "task": 35, "spent": 35, "200": 35, "accumul": [35, 37, 38], "print": [35, 37, 38], "751277456949": 35, "434702172833": 35, "24052366776": 35, "87430591459": 35, "3902083604": 35, "80560950907": 35, "15120273079": 35, "39906953401": 35, "59109395044": 35, "77841000694": 35, "11": [35, 38, 40, 43], "94933085606": 35, "12": [35, 38, 40, 41, 43], "04565623891": 35, "13": [35, 38, 40], "14089310218": 35, "21761388235": 35, "19672207134": 35, "22954996706": 35, "17": 35, "21218913905": 35, "18": [35, 40, 43], "23609175782": 35, "19": [35, 39, 42], "29360816707": 35, "20": [35, 37, 38, 39, 42], "30206162285": 35, "21": 35, "30581583599": 35, "22": 35, "31236778925": 35, "3507968933": 35, "34734048538": 35, "34881158874": 35, "26": 35, "35435696735": 35, "27": 35, "32563489267": 35, "3284996731": 35, "29": 35, "32645567868": 35, "31936571106": 35, "31": 35, "30926807535": 35, "32": [35, 39, 42, 43], "34097777828": 35, "33": 35, "3454259465": 35, "34": 35, "29481990383": 35, "35": 35, "32541999195": 35, "36": 35, "33632971069": 35, "37": 35, "38081434746": 35, "38": 35, "38713422713": 35, "39": 35, "34154680207": 35, "38279281529": 35, "fig": 35, "emerg": 37, "mott": 37, "gap": 37, "dmft_squar": [37, 38], "simplic": [37, 38], "minut": [37, 38], "141978800943": 37, "597913733347": 37, "700078346042": 37, "742275654406": 37, "henc": 37, "onc": 37, "square_akw": 37, "square_do": 37, "easili": [37, 38], "dmft_square_ctseg": [37, 38], "influenc": 38, "repuls": 38, "check_test": 38, "diff": 38, "13th": 38, "seedname_sigma_iw": 38, "hyperparamet": 38, "tune": [38, 39, 42, 43], "coloar": 38, "bar": 38, "cbrang": 38, "get": 38, "seem": 38, "noninteract": 38, "difficult": 38, "judg": 38, "due": 38, "infinit": 38, "unlik": 38, "care": 38, "gone": 38, "characterist": 38, "quasiparticl": 38, "sharp": 38, "peak": 38, "awai": 38, "level": [38, 39, 42], "extrem": 38, "sensit": 38, "statist": 38, "try": 38, "principl": [39, 42], "pseudopotenti": [39, 40, 42, 43], "itself": [39, 42], "demonstr": [39, 42], "resourc": [39, 42, 43], "currrentdirectori": [39, 42], "srvo3": [39, 40, 42], "stdout": [39, 42], "fileout": [39, 42], "mnt": [39, 42], "kawamuura": [39, 42], "eca": [39, 42], "dft_data13": [39, 42], "atom": [39, 42], "speci": [39, 42], "sr": [39, 40, 42, 43], "sr10": [39, 42], "s2p2d1": [39, 42], "sr_pbe13": [39, 42], "v6": [39, 42], "s2p1d1": [39, 42], "v_pbe13": [39, 42], "o": [39, 40, 42, 43], "o7": [39, 42], "o_pbe13": [39, 42], "proj": [39, 42], "s1p1d1": [39, 42], "speciesandcoordin": [39, 42], "ang": [39, 42], "au": [39, 42], "unitvector": [39, 42], "29738": [39, 40, 42], "00000": [39, 40, 42], "xctype": [39, 42], "gga": [39, 42], "pbe": [39, 40, 42], "lda": [39, 42], "lsda": [39, 42], "ca": [39, 42], "pw": [39, 40, 42, 43], "spinpolar": [39, 42], "On": [39, 42], "nc": [39, 42], "maxit": [39, 42], "eigenvaluesolv": [39, 42], "gdc": [39, 42], "cluster": [39, 42], "kgrid": [39, 42], "n1": [39, 42], "n2": [39, 42], "n3": [39, 42], "rmm": [39, 42], "diisk": [39, 42], "dii": [39, 42], "gr": [39, 42], "pulai": [39, 42], "kerker": [39, 42], "weight": [39, 42], "500": [39, 42, 43], "histori": [39, 42], "startpulai": [39, 42], "everypulai": [39, 42], "0e": [39, 42], "orbitalopt": [39, 42], "forc": [39, 42], "dispers": [39, 42], "nkpath": [39, 42], "kpath": [39, 42], "func": [39, 42], "calc": [39, 42], "outer": [39, 42], "window": [39, 42], "bottom": [39, 42], "top": [39, 42], "inner": [39, 42], "projector": [39, 42], "dxy": [39, 40, 42, 43], "dxz": [39, 40, 42], "dyz": [39, 40, 42, 43], "supercel": [39, 42], "openmx2dcor": [39, 42], "419": [39, 41, 42], "315": [39, 41, 42], "530": [39, 41, 42], "627091": [39, 41, 42, 43], "432": [39, 42, 43], "70": [39, 42, 43], "135000": [39, 42, 43], "everi": [39, 42, 43], "scf_srvo3": [40, 43], "outdir": [40, 43], "pseudo_dir": [40, 43], "ibrav": [40, 43], "celldm": 40, "ntyp": [40, 43], "nat": [40, 43], "ecutwfc": [40, 43], "ecutrho": [40, 43], "tetrahedra_opt": [40, 43], "atomic_speci": [40, 43], "87": [40, 43], "6200000000": 40, "kjpaw_psl": 40, "upf": [40, 43], "9415000000": 40, "9994000000": 40, "atomic_posit": [40, 43], "crystal": [40, 41, 43], "00000000000000": 40, "50000000000000": 40, "k_point": [40, 43], "nscf_srvo3": 40, "29738129774137562": 40, "64": 40, "00000000": 40, "562500e": 40, "02": 40, "25000000": 40, "50000000": 40, "75000000": 40, "kmesh": 40, "pl": 40, "alwai": 40, "pw2wannier": 40, "win": 40, "num_band": 40, "num_wann": 40, "dis_win_max": 40, "dis_win_min": 40, "dis_froz_max": 40, "dis_froz_min": 40, "site_symmetri": 40, "write_hr": 40, "bands_plot": 40, "wannier_plot": 40, "write_xyz": 40, "wannier_plot_supercel": 40, "exclude_band": 40, "kpoint_path": 40, "unit_cell_cart": 40, "bohr": 40, "atoms_frac": 40, "mp_grid": 40, "kpoint": 40, "pp": 40, "pw2wan_srvo3": 40, "inputpp": 40, "spin_compon": 40, "write_mmn": 40, "write_amn": 40, "write_unk": 40, "write_dmn": 40, "wan_mod": 40, "standalon": 40, "pw2wan": 40, "qualiti": [40, 43], "band_srvo3": 40, "0000000000": [40, 43], "0500000000": 40, "1000000000": 40, "1500000000": 40, "2000000000": 40, "2500000000": 40, "3000000000": 40, "3500000000": 40, "4000000000": 40, "4500000000": 40, "5000000000": [40, 43], "4615384615": [40, 43], "4230769231": [40, 43], "3846153846": [40, 43], "3461538462": [40, 43], "3076923077": [40, 43], "2692307692": [40, 43], "2307692308": [40, 43], "1923076923": [40, 43], "1538461538": [40, 43], "1153846154": [40, 43], "0769230769": [40, 43], "0384615385": [40, 43], "0312500000": 40, "0625000000": 40, "0937500000": 40, "1250000000": 40, "1562500000": 40, "1875000000": 40, "2187500000": 40, "2812500000": 40, "3125000000": 40, "3437500000": 40, "3750000000": 40, "4062500000": 40, "4375000000": 40, "4687500000": 40, "bands_srvo3": [40, 43], "filband": [40, 43], "lsym": [40, 43], "tit": [40, 43], "orig": [40, 43], "3116": [40, 43], "e_f": [40, 43], "srvo3_band": 40, "6146": 40, "maxim": 41, "2g": 41, "manifold": 41, "precomput": 41, "srvo3_hr": 41, "espresso": 41, "wanniern": 41, "openmx": 41, "290722": 41, "90": 41, "longer": 41, "time_limit": 41, "incompat": [42, 43, 44], "encount": [42, 43, 44], "scf_srvo3_r": 43, "120": 43, "480": 43, "mixing_beta": 43, "cell_paramet": 43, "angstrom": 43, "842500": 43, "620000": 43, "sr_oncv_pb": 43, "941500": 43, "v_oncv_pb": 43, "999400": 43, "o_oncv_pb": 43, "www": 43, "sg15_oncv": 43, "sg15": 43, "norm": 43, "conserv": 43, "vanderbilt": 43, "oncv": 43, "rather": 43, "ultrasoft": 43, "paw": 43, "charg": 43, "bloch": 43, "nscf_respack": 43, "nscf": 43, "wf_collect": 43, "nbnd": 43, "qe2respack": 43, "sh": 43, "calc_wanni": 43, "param_chiqw": 43, "num_freq_grid": 43, "flg_crpa": 43, "param_wanni": 43, "n_wannier": 43, "lower_energy_window": 43, "0785": 43, "upper_energy_window": 43, "5440": 43, "n_initial_guess": 43, "dzx": 43, "param_interpol": 43, "n_sym_point": 43, "param_visu": 43, "flg_vis_wanni": 43, "ix_vis_min": 43, "ix_vis_max": 43, "iy_vis_min": 43, "iy_vis_max": 43, "iz_vis_min": 43, "iz_vis_max": 43, "param_calc_int": 43, "calc_ifreq": 43, "ix_intj_min": 43, "ix_intj_max": 43, "iy_intj_min": 43, "iy_intj_max": 43, "iz_intj_min": 43, "iz_intj_max": 43, "band_srvo3_r": 43, "0714285714": 43, "1428571429": 43, "2142857143": 43, "2857142857": 43, "3571428571": 43, "4285714286": 43, "4545454545": 43, "4090909091": 43, "3636363636": 43, "3181818182": 43, "2727272727": 43, "2272727273": 43, "1818181818": 43, "1363636364": 43, "0909090909": 43, "0454545455": 43, "5731": 43, "crpa": 43, "calc_chiqw": 43, "calc_w3d": 43, "calc_j3d": 43, "respack2wan90": 43, "572260": 43, "srvo3_respack": 43}, "objects": {"": [[0, 0, 0, "-", "dcore"]]}, "objtypes": {"0": "py:module"}, "objnames": {"0": ["py", "module", "Python module"]}, "titleterms": {"about": 0, "dcore": [0, 5, 14, 23, 24, 27, 35, 37, 38, 39, 41, 42, 43], "licens": 0, "cite": 0, "author": 0, "quotat": 0, "github": 0, "repositori": 0, "disclaim": 0, "analyt": [1, 3, 4, 5, 24, 38], "continu": [1, 3, 4, 5, 24, 38], "how": [2, 9, 11, 27, 31], "us": [2, 11, 27, 31, 39, 40], "an": [2, 27], "extern": [2, 21], "ac": 2, "code": 2, "input": [2, 19], "file": [2, 18, 19, 20, 23, 27], "seedname_sigma_iw": 2, "npz": 2, "output": [2, 23], "post": [2, 19, 39, 41, 42, 43], "sigma_w": 2, "pade": [3, 12, 19], "approxim": [3, 12, 13], "exampl": [3, 4, 11, 25, 31, 37, 38], "spars": 4, "model": [4, 19, 21, 33, 34, 35, 37, 38], "method": 4, "minimum": 5, "introduct": 5, "structur": 5, "data": [5, 39, 41, 42, 43], "flow": 5, "i": [5, 13, 27], "The": [5, 27, 37, 38], "interfac": [5, 40], "layer": 5, "dcore_pr": [5, 23, 24, 27, 35, 37, 38, 39, 41, 42, 43], "ii": 5, "dmft": [5, 27, 35, 37, 38, 39, 41, 42, 43], "loop": [5, 27, 35, 37, 38], "iii": 5, "dcore_anacont": [5, 24, 38, 39, 41, 42, 43], "iv": 5, "spectrum": [5, 12, 19], "calcul": [5, 33, 34, 39, 40, 41, 42, 43], "dcore_spectrum": [5, 23, 24, 38, 39, 41, 42, 43], "impur": [6, 27, 37, 38], "solver": [6, 9, 11, 27, 35, 37, 38], "ct": [7, 8, 12, 27], "qmc": [7, 8, 12, 35], "alp": [7, 8, 27], "hyb": [7, 8, 27], "segment": 8, "implement": 8, "integr": 9, "your": 9, "own": 9, "copi": 9, "templat": 9, "edit": 9, "regist": 9, "non": 10, "interact": [10, 19, 20, 43], "limit": 10, "null": 10, "exact": 11, "diagon": 11, "pomerol": 11, "featur": 11, "instal": [11, 12, 15], "triq": [12, 13, 27], "cthyb": [12, 27, 37, 38], "basic": 12, "paramet": [12, 19, 20, 21, 22, 25, 27], "high": 12, "frequenc": 12, "tail": 12, "fit": 12, "multi": 12, "band": 12, "system": [12, 19], "do": 12, "function": [12, 18, 24, 37, 38, 41], "legendr": 12, "filter": 12, "hubbard": [13, 33, 37, 38], "tabl": 14, "content": 14, "prerequisit": 15, "onli": 15, "develop": 15, "present": 16, "refer": 17, "manual": 17, "format": [18, 19, 21, 23, 27], "green": 18, "": 18, "self": [18, 27, 33, 34, 38, 39, 41, 42], "energi": [18, 27, 33, 34, 38], "block": 19, "lattic": [19, 21, 33, 34], "slater_basi": [19, 25], "local_potential_": [19, 22], "pre": [19, 24, 35, 37, 38, 40], "impurity_solv": 19, "control": 19, "anacont": 19, "spm": 19, "check": [19, 24, 40, 43], "mpi": [19, 27], "kanamori": 20, "slater_f": 20, "slater_uj": 20, "respack": [20, 43], "density_dens": 20, "option": [20, 40, 43], "predefin": 21, "wannier90": [21, 40], "connect": 21, "program": [21, 24], "dcore_check": [23, 24, 27], "todo": [23, 24, 29, 36], "process": [24, 35, 37, 38, 39, 40, 41, 42, 43], "main": 24, "converg": [24, 27], "spectral": [24, 37, 38], "onlin": 24, "help": 24, "cubic": 25, "harmon": 25, "p": 25, "orbit": [25, 36, 40], "d": 25, "f": 25, "eg": 25, "t2g": 25, "xy": 25, "x": 25, "2": 25, "y": 25, "spheric": 25, "j": 25, "jz": 25, "basi": 25, "5": 25, "support": 26, "faq": 27, "troubleshoot": 27, "gener": [27, 33, 34, 40], "can": 27, "comput": [27, 39, 42], "doubl": 27, "occup": 27, "intern": 27, "when": 27, "should": 27, "re": 27, "execut": 27, "judg": 27, "doe": 27, "enforc": 27, "zero": 27, "magnet": 27, "moment": 27, "fix": 27, "sign": 27, "order": 27, "state": [27, 33, 34], "set": 27, "initi": [27, 33, 34], "chang": 27, "figur": 27, "what": 27, "differ": 27, "between": 27, "depend": 27, "recogn": 27, "my": 27, "other": 27, "slow": 27, "even": 27, "parallel": 27, "report": 28, "issu": 28, "list": 29, "tool": 30, "A": 31, "k": 31, "w": 31, "convert": 31, "tutori": 32, "antiferromagnet": [33, 34], "3d": 33, "defin": [33, 34], "guess": [33, 34], "consist": [33, 34, 39, 41, 42], "multiorbit": 35, "spin": 36, "coupl": 36, "first": [37, 38], "2d": [37, 38], "dcore_post": 37, "anoth": [37, 38], "seg": [37, 38], "wanniern": [39, 40], "openmx": [39, 42], "scf": [39, 40, 42, 43], "wannier": [39, 40, 41, 42, 43], "setup": [39, 41, 42, 43], "run": [39, 41, 42, 43], "analysi": [39, 41, 42, 43], "quantum": [40, 43], "espresso": [40, 43], "bloch": 40, "qe": 40, "srvo3": [41, 43], "construct": 41, "downfold": 43, "dielectr": 43, "matrix": 43, "effect": 43}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 58}, "alltitles": {"About DCore": [[0, "about-dcore"]], "License": [[0, "license"]], "Citing DCore": [[0, "citing-dcore"]], "Authors & Quotation": [[0, "authors-quotation"]], "GitHub repository": [[0, "github-repository"]], "Disclaimer": [[0, "disclaimer"]], "Analytic continuation": [[1, "analytic-continuation"]], "How to use an external AC code": [[2, "how-to-use-an-external-ac-code"]], "Input file: seedname_sigma_iw.npz": [[2, "input-file-seedname-sigma-iw-npz"]], "Output file: post/sigma_w.npz": [[2, "output-file-post-sigma-w-npz"]], "Analytic continuation with the Pade approximation": [[3, "analytic-continuation-with-the-pade-approximation"]], "Example": [[3, "example"], [4, "example"], [11, "example"], [31, "example"]], "Analytic continuation with the sparse-modeling method": [[4, "analytic-continuation-with-the-sparse-modeling-method"]], "Minimum introduction: Structure of DCore": [[5, "minimum-introduction-structure-of-dcore"]], "Data flow": [[5, "data-flow"]], "(i) The interface layer dcore_pre": [[5, "i-the-interface-layer-dcore-pre"]], "(ii) DMFT loop dcore": [[5, "ii-dmft-loop-dcore"]], "(iii) Analytical continuation dcore_anacont": [[5, "iii-analytical-continuation-dcore-anacont"]], "(iv) Spectrum calculation dcore_spectrum": [[5, "iv-spectrum-calculation-dcore-spectrum"]], "Impurity solvers": [[6, "impurity-solvers"], [27, "impurity-solvers"]], "CT-QMC: ALPS/CT-HYB": [[7, "ct-qmc-alps-ct-hyb"]], "CT-QMC with segment implementation: ALPS/CT-HYB-SEGMENT": [[8, "ct-qmc-with-segment-implementation-alps-ct-hyb-segment"]], "How to integrate your own solver": [[9, "how-to-integrate-your-own-solver"]], "Copy the template": [[9, "copy-the-template"]], "Edit the template": [[9, "edit-the-template"]], "Register your solver": [[9, "register-your-solver"]], "Non-interacting limit: null": [[10, "non-interacting-limit-null"]], "Exact diagonalization solver: pomerol": [[11, "exact-diagonalization-solver-pomerol"]], "Features": [[11, "features"]], "Install": [[11, "install"], [12, "install"]], "How to use": [[11, "how-to-use"], [31, "how-to-use"]], "CT-QMC: TRIQS/cthyb": [[12, "ct-qmc-triqs-cthyb"]], "Basic parameters for QMC": [[12, "basic-parameters-for-qmc"]], "High-frequency tail fit": [[12, "high-frequency-tail-fit"]], "Multi-band system": [[12, "multi-band-system"]], "Pade approximation for DOS and spectrum function": [[12, "pade-approximation-for-dos-and-spectrum-function"]], "Legendre filter": [[12, "legendre-filter"]], "Hubbard-I approximation: TRIQS/hubbard-I": [[13, "hubbard-i-approximation-triqs-hubbard-i"]], "DCore": [[14, "dcore"]], "Table of Contents": [[14, "table-of-contents"]], "Installation": [[15, "installation"], [15, "id2"]], "Prerequisites": [[15, "prerequisites"]], "Installation (only for developers)": [[15, "installation-only-for-developers"]], "Presentation": [[16, "presentation"]], "Reference Manual": [[17, "reference-manual"]], "File format for Green\u2019s function and self-energy": [[18, "file-format-for-green-s-function-and-self-energy"]], "Input-file format": [[19, "input-file-format"]], "[model] block": [[19, "model-block"]], "lattice parameter": [[19, "lattice"], [21, "lattice-parameter"]], "interaction parameter": [[19, "interaction"], [20, "interaction-parameter"]], "slater_basis parameter": [[19, "slater-basis"], [25, "slater-basis-parameter"]], "local_potential_* parameters": [[19, "local-potential"], [22, "local-potential-parameters"]], "[pre] block": [[19, "pre-block"]], "[system] block": [[19, "system-block"]], "[impurity_solver] block": [[19, "impurity-solver-block"]], "[control] block": [[19, "control-block"]], "[post] block": [[19, "post-block"]], "[post.anacont] block": [[19, "post-anacont-block"]], "[post.anacont.pade] block": [[19, "post-anacont-pade-block"]], "[post.anacont.spm] block": [[19, "post-anacont-spm-block"]], "[post.spectrum] block": [[19, "post-spectrum-block"]], "[post.check] block": [[19, "post-check-block"]], "[mpi] block": [[19, "mpi-block"]], "interaction = kanamori": [[20, "interaction-kanamori"]], "interaction = slater_f": [[20, "interaction-slater-f"]], "interaction = slater_uj": [[20, "interaction-slater-uj"]], "interaction = respack": [[20, "interaction-respack"]], "interaction = file": [[20, "interaction-file"]], "density_density option": [[20, "density-density-option"]], "Predefined models": [[21, "predefined-models"]], "Wannier90 format": [[21, "wannier90-format"]], "Connection to external programs": [[21, "connection-to-external-programs"]], "Output-file format": [[23, "output-file-format"]], "dcore_pre": [[23, "dcore-pre"], [27, "dcore-pre"]], "dcore": [[23, "dcore"], [27, "dcore"]], "dcore_check": [[23, "dcore-check"], [27, "dcore-check"]], "Todo": [[23, "id1"], [23, "id2"], [24, "id1"], [24, "id2"], [29, null], [29, null], [29, null], [29, null], [29, null], [36, "id1"]], "dcore_spectrum": [[23, "dcore-spectrum"]], "Programs": [[24, "programs"]], "Pre-processing : dcore_pre": [[24, "pre-processing-dcore-pre"]], "Main program : dcore": [[24, "main-program-dcore"]], "Convergence-check : dcore_check": [[24, "convergence-check-dcore-check"]], "Analytic continuation : dcore_anacont": [[24, "analytic-continuation-dcore-anacont"]], "Spectral functions : dcore_spectrum": [[24, "spectral-functions-dcore-spectrum"]], "Online help": [[24, "online-help"]], "Examples": [[25, "examples"]], "cubic harmonics for p orbitals": [[25, "cubic-harmonics-for-p-orbitals"]], "cubic harmonics for d orbitals": [[25, "cubic-harmonics-for-d-orbitals"]], "cubic harmonics for f orbitals": [[25, "cubic-harmonics-for-f-orbitals"]], "d-eg orbitals": [[25, "d-eg-orbitals"]], "d-t2g orbitals": [[25, "d-t2g-orbitals"]], "d-(xy, x^2-y^2) orbitals": [[25, "d-xy-x-2-y-2-orbitals"]], "spherical harmonics for p orbitals": [[25, "spherical-harmonics-for-p-orbitals"]], "spherical harmonics for d orbitals": [[25, "spherical-harmonics-for-d-orbitals"]], "spherical harmonics for f orbitals": [[25, "spherical-harmonics-for-f-orbitals"]], "j-jz basis for p orbitals": [[25, "j-jz-basis-for-p-orbitals"]], "j-jz basis for d orbitals": [[25, "j-jz-basis-for-d-orbitals"]], "j-jz basis for f orbitals": [[25, "j-jz-basis-for-f-orbitals"]], "j=5/2 for f orbitals": [[25, "j-5-2-for-f-orbitals"]], "Support": [[26, "support"]], "FAQ/Troubleshooting": [[27, "faq-troubleshooting"]], "General": [[27, "general"]], "Can DCore compute the double occupancy?": [[27, "can-dcore-compute-the-double-occupancy"]], "Can DCore compute the internal energy?": [[27, "can-dcore-compute-the-internal-energy"]], "When should I re-execute dcore_pre?": [[27, "when-should-i-re-execute-dcore-pre"]], "How should I judge convergence of the DMFT loop?": [[27, "how-should-i-judge-convergence-of-the-dmft-loop"]], "The DMFT loop does not converge": [[27, "the-dmft-loop-does-not-converge"]], "Can I enforce zero magnetic moment?": [[27, "can-i-enforce-zero-magnetic-moment"]], "Can I fix the sign of the magnetic moment in ordered states?": [[27, "can-i-fix-the-sign-of-the-magnetic-moment-in-ordered-states"]], "Can I set an initial self-energy for the DMFT loop?": [[27, "can-i-set-an-initial-self-energy-for-the-dmft-loop"]], "Can I change the file format for figures?": [[27, "can-i-change-the-file-format-for-figures"]], "What is the difference between ALPS/CT-HYB and TRIQS/cthyb?": [[27, "what-is-the-difference-between-alps-ct-hyb-and-triqs-cthyb"]], "Solver-dependent parameter is not recognized": [[27, "solver-dependent-parameter-is-not-recognized"]], "Can I use my impurity solver?": [[27, "can-i-use-my-impurity-solver"]], "Others": [[27, "others"]], "DCore is slow even with MPI parallelization": [[27, "dcore-is-slow-even-with-mpi-parallelization"]], "Reporting issues": [[28, "reporting-issues"]], "TODO list": [[29, "todo-list"]], "Tools": [[30, "tools"]], "A(k,w) converter": [[31, "a-k-w-converter"]], "Tutorial": [[32, "tutorial"]], "Antiferromagnetic state in 3D Hubbard model": [[33, "antiferromagnetic-state-in-3d-hubbard-model"]], "Define lattice model": [[33, "define-lattice-model"], [34, "define-lattice-model"]], "Generate initial guess for self-energy": [[33, "generate-initial-guess-for-self-energy"], [34, "generate-initial-guess-for-self-energy"]], "Self-consistent calculations": [[33, "self-consistent-calculations"], [34, "self-consistent-calculations"]], "Antiferromagnetic state": [[34, "antiferromagnetic-state"]], "Multiorbital model by a QMC solver": [[35, "multiorbital-model-by-a-qmc-solver"]], "Pre-process : dcore_pre": [[35, "pre-process-dcore-pre"], [37, "pre-process-dcore-pre"], [38, "pre-process-dcore-pre"]], "DMFT loop : dcore": [[35, "dmft-loop-dcore"], [37, "dmft-loop-dcore"], [38, "dmft-loop-dcore"]], "Spin-Orbit Coupling": [[36, "spin-orbit-coupling"]], "The first example: 2D Hubbard model": [[37, "the-first-example-2d-hubbard-model"], [38, "the-first-example-2d-hubbard-model"]], "Spectral function : dcore_post": [[37, "spectral-function-dcore-post"]], "Another impurity solver: CTHYB-SEG": [[37, "another-impurity-solver-cthyb-seg"], [38, "another-impurity-solver-cthyb-seg"]], "Analytical continuation of the self-energy : dcore_anacont": [[38, "analytical-continuation-of-the-self-energy-dcore-anacont"]], "Spectral function : dcore_spectrum": [[38, "spectral-function-dcore-spectrum"]], "Wanniernization using OpenMX": [[39, "wanniernization-using-openmx"]], "SCF computation and Wannier with OpenMX": [[39, "scf-computation-and-wannier-with-openmx"], [42, "scf-computation-and-wannier-with-openmx"]], "DMFT calculation": [[39, "dmft-calculation"], [41, "dmft-calculation"], [42, "dmft-calculation"], [43, "dmft-calculation"]], "DMFT setup: dcore_pre": [[39, "dmft-setup-dcore-pre"], [41, "dmft-setup-dcore-pre"], [42, "dmft-setup-dcore-pre"], [43, "dmft-setup-dcore-pre"]], "Running self-consistent DMFT calculation: dcore": [[39, "running-self-consistent-dmft-calculation-dcore"], [41, "running-self-consistent-dmft-calculation-dcore"], [42, "running-self-consistent-dmft-calculation-dcore"]], "Post-processing and data analysis: dcore_anacont and dcore_spectrum": [[39, "post-processing-and-data-analysis-dcore-anacont-and-dcore-spectrum"], [41, "post-processing-and-data-analysis-dcore-anacont-and-dcore-spectrum"], [42, "post-processing-and-data-analysis-dcore-anacont-and-dcore-spectrum"], [43, "post-processing-and-data-analysis-dcore-anacont-and-dcore-spectrum"]], "Wanniernization using Quantum ESPRESSO": [[40, "wanniernization-using-quantum-espresso"]], "SCF calculation of Quantum ESPRESSO": [[40, "scf-calculation-of-quantum-espresso"], [43, "scf-calculation-of-quantum-espresso"]], "Wannierization": [[40, "wannierization"], [43, "wannierization"]], "Generate Bloch orbitals for the Wannier": [[40, "generate-bloch-orbitals-for-the-wannier"]], "Pre-process for Wannier90": [[40, "pre-process-for-wannier90"]], "QE to wannier90 interface": [[40, "qe-to-wannier90-interface"]], "Wannier90": [[40, "wannier90"]], "(Optional) Check wannierization": [[40, "optional-check-wannierization"], [43, "optional-check-wannierization"]], "SrVO3": [[41, "srvo3"]], "Construction of Wannier functions": [[41, "construction-of-wannier-functions"]], "OpenMX": [[42, "openmx"]], "Downfolding with RESPACK (SrVO3)": [[43, "downfolding-with-respack-srvo3"]], "Dielectric matrix and Effective interaction": [[43, "dielectric-matrix-and-effective-interaction"]], "Running the DMFT calculation: dcore": [[43, "running-the-dmft-calculation-dcore"]]}, "indexentries": {"dfttools": [[0, "index-0"]], "dcore": [[0, "module-dcore"]], "module": [[0, "module-dcore"]]}}) \ No newline at end of file diff --git a/v4.0.0/support.html b/v4.0.0/support.html new file mode 100644 index 00000000..b9fbec02 --- /dev/null +++ b/v4.0.0/support.html @@ -0,0 +1,119 @@ + + + + + + + + Support — DCore documentation + + + + + + + + + + + + + + +
+ + +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/support/faqs.html b/v4.0.0/support/faqs.html new file mode 100644 index 00000000..68b8fcb9 --- /dev/null +++ b/v4.0.0/support/faqs.html @@ -0,0 +1,263 @@ + + + + + + + + FAQ/Troubleshooting — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

FAQ/Troubleshooting

+ +
+

General

+
+

Can DCore compute the double occupancy?

+

It depends on impurity solvers. +For example, ALPS/CT-HYB-SEGMENT supports it, but other CT-QMC codes do not at present.

+

In general, capability of computing local physical quantities totally depends on impurity solvers. +See the documentation of each solver for which local quantities can be computed.

+
+
+

Can DCore compute the internal energy?

+

No, it is not implemented yet.

+

If you want to compute it, you need to access to G(k,iw) in HDF5 file, and take summation over k and iw in an appropiate way.

+
+
+
+

dcore_pre

+
+

When should I re-execute dcore_pre?

+

When you change any parameters in [model] block. +dcore_pre will re-construct the model database in seedname.h5.

+

For changes of parameters other than [model] block, on the other hand, you can restart dcore, skipping dcore_pre.

+
+
+
+

dcore

+
+

How should I judge convergence of the DMFT loop?

+

The most reliable way is to use the dcore_check and look at the generated figures that plot some physical quantities as a function of iterations.

+

Automatic convergence check is also available. Use converge_tol parameter in [control] block. For QMC calculations, we rocommend to use n_converge parameter simultaneously to exclude possibility that the convergence criteria is satisfied accidentally. An appropriate value would be n_converge=3 or larger.

+
+
+

The DMFT loop does not converge

+

If the chemical potential and/or self-energy look oscillating as a function of the iteration number, decrease sigma_mix parameter in [control] block.

+

You might also need to improve the accuracy of QMC sampling by increasing the measurement time.

+

If the oscillation persists, consider expanding the unitcell to address a symmetry broken solution.

+
+
+

Can I enforce zero magnetic moment?

+

Yes. Use time_reversal flag in [control] block. +See Input-file format.

+
+
+

Can I fix the sign of the magnetic moment in ordered states?

+

Yes. Set the initial static self-energy using initial_static_self_energy parameter in [control] block. +This works as a local potential in the first iteration. +See Input-file format for details.

+
+
+

Can I set an initial self-energy for the DMFT loop?

+

Yes. Use initial_self_energy parameter in [control] block. +See Input-file format.

+

Let’s say you want to start the DMFT loop using results obtained for different parameter set. +To do this, you perform dcore_check after convergence, and copy sigma.dat into a new working directory (with the name sigma_init.dat below). +Then, assign this file to initial_self_energy parameter as

+
[control]
+initial_self_energy = sigma_init.dat
+
+
+
+
+
+

dcore_check

+
+

Can I change the file format for figures?

+

Yes. Use --ext option to specify the file extension. +If you prefer PDF, for example, the command reads

+
$ dcore_check input.init --ext pdf
+
+
+

The argument of --ext can be png, pdf, eps, jpg, … (the ones supported by matplotlib module).

+
+
+
+

Impurity solvers

+
+

What is the difference between ALPS/CT-HYB and TRIQS/cthyb?

+

ALPS/CT-HYB is developed by one of the main developers of DCore, H. Shinaoka. +Both of ALPS/CT-HYB and TRIQS/cthyb implement the hybridization-expansion continuous-time quantum Monte Carlo method. +The main difference is the reliability of measurement of the single-particle Green’s function. +ALPS/CT-HYB uses a more elaborate algorithm (worm sampling). +The non-worm conventional sampling, which is implemented in TRIQS/cthyb, +may give wrong results in some situations (e.g. SOI coupling with orbital-diagonal bath).

+
+
+

Solver-dependent parameter is not recognized

+

The variable type should be specified to be recognized as a solver parameter. +For example, integer variable with name num is written as

+
[impurity_solver]
+num{int} = 100
+
+
+

The type can be int, str, and float.

+
+
+

Can I use my impurity solver?

+

Yes. Follow the instruction in How to integrate your own solver

+
+
+
+

Others

+
+

DCore is slow even with MPI parallelization

+

One of the reasons is that the number of threads of each MPI process is not set properly. +Unfortunately, the environment variable to set the number of threads is different among environments/libraries (OpenBLAS, Intel MKL, etc.). +The followings are the environment variables to set the number of threads for some libraries.

+
    +
  • OMP_NUM_THREADS

  • +
  • OPENBLAS_NUM_THREADS

  • +
  • MKL_NUM_THREADS

  • +
  • VECLIB_MAXIMUM_THREADS

  • +
  • NUMEXPR_NUM_THREADS

  • +
+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/support/issues.html b/v4.0.0/support/issues.html new file mode 100644 index 00000000..5bb5114f --- /dev/null +++ b/v4.0.0/support/issues.html @@ -0,0 +1,111 @@ + + + + + + + + Reporting issues — DCore documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

Reporting issues

+

Please report all problems and bugs directly at the github issue page +https://github.com/issp-center-dev/DCore/issues. In order to make it easier +for us to solve the issue please follow these guidelines:

+
    +
  1. In all cases specify which version of the application you are using. You can +find the version number in the file README.md at the root of the +application sources.

  2. +
  3. If you have a problem during the installation, give us information about +your operating system and the compiler you are using. Include the outputs of +the cmake and make commands as well as the CMakeCache.txt file +which is in the build directory. Please include these outputs in a +gist file referenced in the issue.

  4. +
  5. If you are experiencing a problem during the execution of the application, provide +a script which allows to quickly reproduce the problem.

  6. +
+

Thanks!

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/todolist.html b/v4.0.0/todolist.html new file mode 100644 index 00000000..b3c5af81 --- /dev/null +++ b/v4.0.0/todolist.html @@ -0,0 +1,102 @@ + + + + + + + + TODO list — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

TODO list

+
+

Todo

+

numerical data

+
+

(The original entry is located in /home/runner/work/DCore/DCore/main/doc/reference/output.rst, line 106.)

+
+

Todo

+

numerical data

+
+

(The original entry is located in /home/runner/work/DCore/DCore/main/doc/reference/output.rst, line 114.)

+
+

Todo

+

figure

+
+

(The original entry is located in /home/runner/work/DCore/DCore/main/doc/reference/programs.rst, line 102.)

+
+

Todo

+

figure

+
+

(The original entry is located in /home/runner/work/DCore/DCore/main/doc/reference/programs.rst, line 109.)

+
+

Todo

+

tutorial for spin-orbit coupling

+
+

(The original entry is located in /home/runner/work/DCore/DCore/main/doc/tutorial/spin_orbit/spin_orbit.rst, line 4.)

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tools.html b/v4.0.0/tools.html new file mode 100644 index 00000000..b33d6ddd --- /dev/null +++ b/v4.0.0/tools.html @@ -0,0 +1,116 @@ + + + + + + + + Tools — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

Tools

+ +
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tools/akw_converter/akw.html b/v4.0.0/tools/akw_converter/akw.html new file mode 100644 index 00000000..48f70e12 --- /dev/null +++ b/v4.0.0/tools/akw_converter/akw.html @@ -0,0 +1,195 @@ + + + + + + + + A(k,w) converter — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

A(k,w) converter

+

DCore can generate four-dimensional data of \(A(\boldsymbol{k},\omega)\) on a linear grid. +An auxiliary tool akw_converter converts these data into three-dimensional volumeric data with a fixed value of \(\omega\) that is suitable for reading with existing 3D graphic softwares such as VESTA.

+
+

How to use

+

The following steps should be done after all calculations are finished, namely, self-consistent calculation by dcore and even post calculations by dcore_spectrum.

+
    +
  1. Modifying ini file

    +

    To change the output directory from the default value (post), dir_post is added to the ini file as

    +
    [post]
    +dir_post = post_grd
    +
    +
    +

    Then, to activate the grid calculation, the following block is added to the ini file

    +
    [post.spectrum]
    +nk_mesh = 100
    +
    +
    +

    This parameter activates a grid calculation. +\(A(\boldsymbol{k},\omega)\) is to be computed on a four-dimensional grid of size \(100^3 \times N_{\omega}\). +In order to reduce the data size, one could instead specify a set of 3 parameters as

    +
    [post.spectrum]
    +nk0_mesh = 100
    +nk1_mesh = 100
    +nk2_mesh = 4
    +
    +
    +

    In this case, \(k_z\) is computed on 0, pi/2, pi and 3pi/3. +Note that the k-grid is generated in the primitive reciprocal space. +It is also highly recommended to reduce the number of frequency points. For example, if only the Fermi surface is of interest, one can set

    +
    [post.anacont]
    +Nomega = 3
    +omega_max = 1.0
    +omega_min = -1.0
    +
    +
    +

    Then, \(\omega=0\) and two additional points are selected (Nomega = 1 is not allowed). +In this way, the data points are reduced to \(100^2 \times 4 \times 3\).

    +
  2. +
  3. Executing dcore_anacont and dcore_spectrum

    +

    Now, dcore_anacont and dcore_spectrum are (re-)executed by

    +
    dcore_anacont square.ini
    +dcore_spectrum --np 4 square.ini
    +
    +
    +

    The number of processes in the --np option (4 above) should be changed according to your environment. +In this case, the data are saved in ‘post_grd’ directory. +We recommend to use this option to have k-path data and k-grid data in separate directories.

    +

    The four-dimensional grid data are save in a file ‘seed_akw_mesh_*sp*.dat’, where seed is the seed name given in the ini file, and sp is the spin index (‘up’ and ‘down’ if spin-orbit coupling is not considered and ‘ud’ otherwise).

    +
  4. +
  5. Executing akw_converter.py

    +

    Finally, akw_converter is executed. +akw_converter.py is installed in bin directory, where other executables such as dcore and dcore_post are installed.

    +
    akw_converter.py --omega 0.0 post_grd/square_akw_mesh_up.dat post_grd/akw_up.grd
    +
    +
    +

    The value of \(\omega\) is given by the --omega option. If data do not exist just on this \(\omega\), \(A(\boldsymbol{k},\omega)\) is interpolated using 2 points nearby (depending on the kind of interpolation method). +The first argument is the path to the four-dimensional data generated by dcore_spectrum. The second argument is the output file name. The default format is GRD, and the output filename should have extension ‘grd’.

    +

    The full option of akw_converter can be seen by the command

    +
    akw_converter.py -h
    +
    +
    +
  6. +
+
+
+

Example

+

As an example, we solve +the square-lattice model in tutorial. +The ini file is changed as below.

+

dmft_square_akw.ini

+

We use the CT-HYB solver to obtain a better spectrum. +The occupation number is changed from n=1 to n=0.8 to break the particle-hole symmetry.

+

A GRD file generated by the converter is opened by VESTA. +A two-dimensional plot is made by “Utilities –> 2D Data Display”. +The plot clearly shows the Fermi surface in the square-lattice mode:

+../../_images/vesta_2d_data_display.png +

We note that one needs to change some configuration to have the above plot. +One goes to “Slice” and change (1) “Distance from origin” from 0.5 to 0 to select \(k_z=0\) plane, and (2) “Ranges of fractional coordinates” from [0:1] to [-0.5:0.5] to shift the Gamma point to the center of the plot. +The figure below shows the Slice panel:

+../../_images/vesta_slice.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial.html b/v4.0.0/tutorial.html new file mode 100644 index 00000000..5e7eee7e --- /dev/null +++ b/v4.0.0/tutorial.html @@ -0,0 +1,149 @@ + + + + + + + + Tutorial — DCore documentation + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/afm.bak/afm.html b/v4.0.0/tutorial/afm.bak/afm.html new file mode 100644 index 00000000..cc5954b6 --- /dev/null +++ b/v4.0.0/tutorial/afm.bak/afm.html @@ -0,0 +1,191 @@ + + + + + + + + Antiferromagnetic state in 3D Hubbard model — DCore documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

Antiferromagnetic state in 3D Hubbard model

+

In this tutorial, you will learn the following:

+
    +
  • How to define a lattice model using the Wannier90 interface

  • +
  • How to calculate antiferromagnetic states

  • +
  • How to set an initial guess for the self-energy

  • +
+

As a particular example, we consider the Hubbard model on a cubic lattice with nearest neighbor hopping of \(t=1\). +Within the single-site DMFT approximation, the model shows an antiferromagnetic transition at low temperature. +The transition temperature was estimated as \(T_\mathrm{c}/t\simeq 0.5\) in a previous study. +In this tutorial, we compute the antiferromagetic state below \(T_\mathrm{c}\) using the ALPS/CT-HYB solver. +The complete input file is shown below.

+
[model]
+seedname = cubic
+lattice = wannier90
+ncor = 8
+#Numbers of orbitals on two inequivalent shells
+norb = 1, 1
+nelec = 8.0
+kanamori = [(10.0, 0.0, 0.0), (10.0, 0.0, 0.0)]
+#Mapping from correlated shells to two inequivalent shells
+corr_to_inequiv =  0, 1, 1, 0, 1, 0, 0, 1
+nk = 16
+
+[mpi]
+command = '$MPIRUN -np #'
+
+[system]
+beta = 5.0
+#half filling (mu=U/2)
+mu = 5.0
+fix_mu = True
+
+[impurity_solver]
+name = ALPS/cthyb
+timelimit{int} = 60
+exec_path{str} = $HOME/opt/CT-HYB/bin/hybmat
+
+[control]
+max_step = 30
+initial_static_self_energy = {0: 'init_se_up.txt', 1: 'init_se_down.txt'}
+
+[tool]
+broadening = 0.1
+knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
+nk_line = 100
+omega_max = 10.0
+omega_min = -10.0
+Nomega = 400
+
+
+
+

Define lattice model

+

First, we define the hopping matrix of the 3D Hubbard model with a 2x2x2 unit cell. +Running mk_hr.py generates a text file (cubic_hr.dat) in the Wannier90 format. +The unit cell contains eight sites whose internal coordinates are (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1).

+

We now assume an antiferromagnetic order at \(q=(\pi, \pi, \pi)\). +To this end, we assign the eight sites (correlated shells) to two inequivalent shells by using the corr_to_inequiv parameter in the model section.

+
python mk_hr.py
+
+
+
+
+

Generate initial guess for self-energy

+

Second, we generate intial guesses for the (static) self-energies on the two inequivalent shells. +Running mk_init_se.py generates init_se_up.txt and init_se_down.txt.

+
python mk_init_se.py
+
+
+
+
+

Self-consistent calculations

+

Now, DMFT calculations can be done as usual.

+
export MPIRUN="mpirun"
+dcore_pre cubic.ini > output-pre
+dcore cubic.ini --np 48 > output
+dcore_post cubic.ini --np 48 > output-post
+
+
+

In the standard output of dcore, you will see that the magnetic moments converge to \(\simeq 0.43\) (86 % of the saturated moment).

+
Density Matrix
+
+  Inequivalent Shell  0
+
+    Spin  up
+          0.929-0.000j
+    Eigenvalues:  [0.92877164]
+
+    Spin  down
+          0.072-0.000j
+    Eigenvalues:  [0.07229858]
+
+    Magnetic moment (only spin contribution, S=1/2 gives 0.5)
+      mx, my, mz : 0.0 0.0 0.428236533178
+
+  Inequivalent Shell  1
+
+    Spin  up
+          0.078-0.000j
+    Eigenvalues:  [0.0779467]
+
+    Spin  down
+          0.930-0.000j
+    Eigenvalues:  [0.92994248]
+
+    Magnetic moment (only spin contribution, S=1/2 gives 0.5)
+      mx, my, mz : 0.0 0.0 -0.425997888424
+
+
+

Inequivalent shell0

+../../_images/iter_sigma-ish01.png +

Inequivalent shell1

+../../_images/iter_sigma-ish1.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/afm/afm.html b/v4.0.0/tutorial/afm/afm.html new file mode 100644 index 00000000..98fd6c45 --- /dev/null +++ b/v4.0.0/tutorial/afm/afm.html @@ -0,0 +1,241 @@ + + + + + + + + Antiferromagnetic state — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Antiferromagnetic state

+

In this tutorial, you will learn the following:

+
    +
  • How to define a lattice model using the Wannier90 interface

  • +
  • How to calculate antiferromagnetic states

  • +
  • How to set an initial guess for the self-energy

  • +
+

As a particular example, we consider the Hubbard model on a square lattice (The first example: 2D Hubbard model). +Within the single-site DMFT approximation, the model shows an antiferromagnetic transition at low temperature (the Mermin-Wagner theorem is not fulfilled in DMFT). +The transition temperature was estimated as \(T_\mathrm{c}/t\simeq 0.23\) for \(U=4\). +This means that the parameter set used in [The first example: 2D Hubbard model] is actually in the antiferromagnetic phase. +In this tutorial, we compute the antiferromagetic solution below \(T_\mathrm{c}\) using a CT-HYB solver.

+

The complete input file is shown below:

+

square_afm.ini

+
[model]
+seedname = afm_dim2
+lattice = wannier90
+ncor = 4
+norb = 1, 1
+nelec = 4.0
+kanamori = [(4.0, 0.0, 0.0), (4.0, 0.0, 0.0)]
+corr_to_inequiv = 0, 1, 1, 0
+nk = 8
+
+[system]
+T = 0.1
+n_iw = 1000
+mu = 2.0
+fix_mu = True
+
+[impurity_solver]
+name = ALPS/cthyb-seg
+exec_path{str} = /path/to/alps_cthyb
+cthyb.TEXT_OUTPUT{int} = 1
+cthyb.MEASUREMENT_freq{int} = 1
+MEASURE_gw{int} = 1
+MAX_TIME{int} = 60
+cthyb.N_MEAS{int} = 50
+cthyb.THERMALIZATION{int} = 100000
+cthyb.SWEEPS{int} = 100000000
+
+[control]
+max_step = 30
+sigma_mix = 0.5
+initial_static_self_energy = {0: 'init_se_up.txt', 1: 'init_se_down.txt'}
+
+[post.spectrum]
+broadening = 0.0
+knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
+# knode = [(G,0,0,0),(X,1,0,0),(M,1,1,0),(G,0,0,0)]
+nk_line = 100
+
+[post.anacont]
+omega_max = 6.0
+omega_min = -6.0
+Nomega = 401
+
+
+

Note that /path/to/alps_cthyb for [impurity_solver] exec_path{str} parameter needs to be replaced with a full path to alps_cthyb executable in your environment.

+
+

Define lattice model

+

First, we define the hopping matrix of the 2D Hubbard model with a 2x2 unit cell. +Running the script mk_hr_2.py as

+
python mk_hr_2.py
+
+
+

a text file in the Wannier90 format is generated (afm_dim2_hr.dat). +The unit cell contains four sites whose internal coordinates are (0, 0), (0, 1), (1, 0), (1, 1).

+

We now assume an antiferromagnetic order characterized by the wave vector \(q=(\pi, \pi)\). +To this end, we assign the four sites (correlated shells) to two inequivalent shells by using the corr_to_inequiv parameter in the model section.

+
+
+

Generate initial guess for self-energy

+

Second, we set up intial guesses for the (static) self-energies on the two inequivalent shells. +For one shell, we use the text file init_se_up.txt containing

+
0 0 0 -1.0 0.0
+1 0 0 1.0 0.0
+
+
+

and for the other, we use init_se_down.txt containing

+
0 0 0 1.0 0.0
+1 0 0 -1.0 0.0
+
+
+

Thus, spin moments tend to turn up on inequivalent shell0 and turn down on shell1.

+
+
+

Self-consistent calculations

+

Now, DMFT calculations can be done as usual.

+
export MPIRUN="mpirun"
+dcore_pre cubic.ini > output-pre
+dcore cubic.ini --np 48 > output
+dcore_anacont cubic.ini > output-anacont
+dcore_spectrum cubic.ini --np 48 > output-spectrum
+
+
+

In the standard output of dcore, you will see that the magnetic moments converge to \(\simeq 0.28\) (57 % of the saturated moment).

+
Density Matrix
+
+  Inequivalent Shell  0
+
+    Spin  up
+          0.784-0.000j
+    Eigenvalues:  [0.7837032]
+
+    Spin  down
+          0.218+0.000j
+    Eigenvalues:  [0.2182982]
+
+    Magnetic moment (only spin contribution, S=1/2 gives 0.5)
+      mx,my,mz= 0.0 0.0 0.282702499302
+
+  Inequivalent Shell  1
+
+    Spin  up
+          0.218-0.000j
+    Eigenvalues:  [0.21842138]
+
+    Spin  down
+          0.784-0.000j
+    Eigenvalues:  [0.78360972]
+
+    Magnetic moment (only spin contribution, S=1/2 gives 0.5)
+      mx,my,mz= 0.0 0.0 -0.282594174364
+
+
+

The graph below is one of the figures generated by dcore_check, which shows the convergence of the spin moment for inequivalent shell0:

+../../_images/iter_spin-ish0.png +

For inequivalent shell1, the spin moment points the opposite directions:

+../../_images/iter_spin-ish1.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/bethe-t2g/bethe.html b/v4.0.0/tutorial/bethe-t2g/bethe.html new file mode 100644 index 00000000..485a47ce --- /dev/null +++ b/v4.0.0/tutorial/bethe-t2g/bethe.html @@ -0,0 +1,252 @@ + + + + + + + + Multiorbital model by a QMC solver — DCore documentation + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Multiorbital model by a QMC solver

+

dmft_bethe.ini

+

An interesting phenomena called spin-freezing transition occurs in multi-orbital models +[P. Werner, E. Gull, M. Troyer and A. J. Millis, PRL 101, 166405 (2008)]. +The spin-freezing phenomena is signaled by a peculiar frequency dependence of the self-energy: \(\mathrm{Im}\Sigma(i\omega_n) \propto \omega_n^{0.5}\). +In this tutorial, we solve the three-orbital model on a Bethe lattice to reproduce the results in the above reference.

+
[model]
+lattice = bethe
+seedname = bethe
+nelec = 1.6
+t = 1.0
+norb = 3
+interaction = kanamori
+kanamori = [(8.0, 5.3333333, 1.33333)]
+nk = 1000
+
+[mpi]
+command = '$MPIRUN -np #'
+
+[system]
+beta = 50.0
+
+[impurity_solver]
+name = ALPS/cthyb
+timelimit{int} = 300
+exec_path{str} = $HOME/opt/CT-HYB/bin/hybmat
+
+[control]
+max_step = 40
+sigma_mix = 1.0
+restart = False
+
+[post.anacont]
+omega_max = 15.0
+omega_min =-15.0
+Nomega = 100
+
+
+
+

Pre-process : dcore_pre

+

We first generate a h5 file that is necessary for DMFT calculations. +The script dcore_pre is invoked for this purpose:

+
$ dcore_pre dmft_bethe.ini
+
+
+

If successful, a h5 file named seedname.h5 (bethe.h5 in the present case) is generated.

+
+
+

DMFT loop : dcore

+

The DMFT loop is performed by dcore program. +In this tutorial, we use continuous-time QMC implementation of ALPS/CT-HYB. +The runtime of the impurity solver is set to 300 sec. +You should not use the Hubbard-I solver for a metallic system. +One can run the program with 24 MPI processes as follows. +For solving the same model with TRIQS/cthyb, use +this input file instead.

+
$ export MPIRUN="mpirun"
+$ dcore dmft_bethe.ini --np 24
+
+
+

Any environment variables in command of the mpi section and exec_path of the impurity_solver section are expanded at runtime. +In addition, # in command of the mpi section is replaced by the number of processes specified at runtime (24 in this case). +In the above example, we defined the environment varible MPIRUN.

+

Note that dcore must be lauched without using the mpirun command as +it launches MPI processes internally for heavy tasks. +The QMC solver is executed with the number of MPI processes as well.

+

Each self-consistent step takes around 5 min, +most of which is spent for solving an effective impurity problem by QMC. +40 iterations take around 200 min. +Results for the self-energy and Green’s function in each iteration are accumulated into a h5 file named seedname.out.h5 (bethe.out.h5 in the present case).

+

One can check the convergence of DMFT iterations by using dcore_check program as follows.

+
$ dcore_check dmft_bethe.ini
+
+
+

dcore_check program prints the value of the chemical potential at each iteration on the standard output:

+
  @ Reading dmft_bethe.ini ...
+Loading Sigma_iw...
+Loading dc_imp and dc_energ...
+  Total number of Iteration: 40
+
+  Iter  Chemical-potential
+  1 -0.751277456949
+  2 0.434702172833
+  3 1.24052366776
+  4 1.87430591459
+  5 2.3902083604
+  6 2.80560950907
+  7 3.15120273079
+  8 3.39906953401
+  9 3.59109395044
+  10 3.77841000694
+  11 3.94933085606
+  12 4.04565623891
+  13 4.14089310218
+  14 4.21761388235
+  15 4.19672207134
+  16 4.22954996706
+  17 4.21218913905
+  18 4.23609175782
+  19 4.29360816707
+  20 4.30206162285
+  21 4.30581583599
+  22 4.31236778925
+  23 4.3507968933
+  24 4.34734048538
+  25 4.34881158874
+  26 4.35435696735
+  27 4.32563489267
+  28 4.3284996731
+  29 4.32645567868
+  30 4.31936571106
+  31 4.30926807535
+  32 4.34097777828
+  33 4.3454259465
+  34 4.29481990383
+  35 4.32541999195
+  36 4.33632971069
+  37 4.38081434746
+  38 4.38713422713
+  39 4.34154680207
+  40 4.38279281529
+ Output check/sigma.dat
+ Output check/sigma_ave.png
+ Output check/iter_mu.dat
+ Output check/iter_mu.png
+ Output check/iter_sigma-ish0.png
+ Output check/iter_sigma.dat
+
+  Done
+
+
+

dcore_check generates several figures as well as data files in text format. +For instance, check/iter_sigma-ish0.png shows how the renormalization factor converges for each orbital.

+../../_images/iter_sigma-ish02.png +

If those results are not converged, one can restart DMFT iterations.

+

You can plot the data for positive Matsubara frequencies as follows (like Fig. 3 of PRL 101, 166405 (2008)) using +a gnuplot command file.

+

The reference data extracted from PRL 101, 166405 (2008) are available +here. +The plot should look like the following.

+../../_images/sigma.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/spin_orbit/spin_orbit.html b/v4.0.0/tutorial/spin_orbit/spin_orbit.html new file mode 100644 index 00000000..508ab690 --- /dev/null +++ b/v4.0.0/tutorial/spin_orbit/spin_orbit.html @@ -0,0 +1,81 @@ + + + + + + + + Spin-Orbit Coupling — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

Spin-Orbit Coupling

+
+

Todo

+

tutorial for spin-orbit coupling

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/square.bak/square.html b/v4.0.0/tutorial/square.bak/square.html new file mode 100644 index 00000000..b1b16724 --- /dev/null +++ b/v4.0.0/tutorial/square.bak/square.html @@ -0,0 +1,236 @@ + + + + + + + + The first example: 2D Hubbard model — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

The first example: 2D Hubbard model

+

The first example is the two-dimensional Hubbard model. +We use the Hubbard-I approximation for solving the effective impurity problem and see the emergence of the Mott gap. +The input file is given below.

+

dmft_square.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(2.0, 0.0, 0.0)]
+nk = 8
+
+[system]
+beta = 40.0
+n_iw = 1000
+prec_mu = 0.001
+
+[impurity_solver]
+name = TRIQS/hubbard-I
+
+[control]
+max_step = 5
+sigma_mix = 1.0
+
+[tool]
+broadening = 0.4
+knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
+nk_line = 100
+omega_max =6.0
+omega_min =-5.0
+Nomega = 400
+
+
+
+

Pre-process : dcore_pre

+

We first generate an HDF5 file that is necessary for DMFT calculations. +The script dcore_pre is invoked for this purpose:

+
$ dcore_pre dmft_square.ini
+
+
+

Then, an HDF5 file named seedname.h5 (square.h5 in the present case) will be generated.

+
+
+

DMFT loop : dcore

+

One can perform a DMFT self-consistent calculation with dcore program. +In this tutorial, we use the Hubbard-I solver just for simplicity. +One can run the program by

+
$ dcore dmft_square.ini --np 1
+
+
+

with a single process.

+

It takes several minutes. You may run it with MPI to reduce the computational time. +Results for the self-energy and Green’s function in each iteration are accumulated into an HDF5 file named seedname.out.h5 (square.out.h5 in the present case).

+

One can check the convergence of DMFT iterations by using dcore_check program as follows.

+
$ dcore_check dmft_square.ini
+
+
+

dcore_check program prints the value of the chemical potential at each iteration on the standard output:

+
  @ Reading dmft_square.ini ...
+Loading Sigma_iw...
+Loading dc_imp and dc_energ...
+  Total number of Iteration: 5
+
+  Iter  Chemical-potential
+  1 0.0
+  2 0.141978800943
+  3 0.597913733347
+  4 0.700078346042
+  5 0.742275654406
+ Output check/sigma.dat
+ Output check/sigma_ave.png
+ Output check/iter_mu.dat
+ Output check/iter_mu.png
+ Output check/iter_sigma-ish0.png
+ Output check/iter_sigma.dat
+
+  Done
+
+
+

dcore_check generates several figures as well as data files in text format. +For instance, check/iter_sigma-ish0.png shows how the renormalization factor converges for each orbital.

+../../_images/iter_sigma-ish03.png +
+
+

Spectral function : dcore_post

+

We can calculate the density of states and the momentum-dependent single-particle excitations using dcore_post program. +In the Hubbard-I solver, the self-energy on the real-frequency axis can be directly computed (no analytical continuation is required). +Hence, the impurity problem is solved once more in dcore_post.

+

The calculation is done by the following command:

+
$ dcore_post dmft_square.ini --np 1
+
+
+

After finishing the calculation, +square_akw.dat, square_akw.gp and square_dos.dat are generated. +The data of momentum-resolved spectral functions are output into square_akw.dat. +We can easily plot the result by using the script file square_akw.gp for gnuplot:

+
$ gnuplot square_akw.gp
+
+
+

In the plot shown below, the left and right panels correspond to up and down spins, respectively.

+../../_images/akw.png +

The result for the density of states is output into square_dos.dat. +We can plot it using gnuplot as follows:

+
set xlabel "Energy"
+set ylabel "DOS"
+plot "square_dos.dat" w l
+
+
+../../_images/dos.png +
+
+

Another impurity solver: CTHYB-SEG

+

The input file for ALPS/cthyb-seg is given as below.

+

dmft_square_ctseg.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(4.0, 0.0, 0.0)]
+nk = 8
+
+[system]
+beta = 10.0
+n_iw = 1000
+prec_mu = 0.001
+fix_mu = True
+mu = 2
+
+[impurity_solver]
+name = ALPS/cthyb-seg
+exec_path{str} =/path/to/alps_cthyb
+cthyb.TEXT_OUTPUT{int} = 1
+cthyb.MEASUREMENT_freq{int} = 1
+MEASURE_gw{int} = 1
+MAX_TIME{int} = 100
+cthyb.N_MEAS{int} = 50
+cthyb.THERMALIZATION{int}=1000
+cthyb.SWEEPS{int}=100000000
+
+[control]
+max_step = 20
+sigma_mix = 1.0
+time_reversal = True
+
+[tool]
+broadening = 0.4
+knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
+nk_line = 100
+omega_max =6.0
+omega_min =-5.0
+Nomega = 400
+
+
+

The computed momentum-resolved spectral functions are shown below.

+../../_images/akw_ctseg.png +
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/square/square.html b/v4.0.0/tutorial/square/square.html new file mode 100644 index 00000000..ccc61e1a --- /dev/null +++ b/v4.0.0/tutorial/square/square.html @@ -0,0 +1,327 @@ + + + + + + + + The first example: 2D Hubbard model — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

The first example: 2D Hubbard model

+

The first example is the two-dimensional Hubbard model. +We first use the exact diagonalization solver pomerol and see the influence of the Coulomb repulsion U on the single-particle excitations. A better result can be obtained using the CT-QMC solver, which will be explained later.

+

The file below shows the full input file for solving the 2D Hubbard model:

+

dmft_square_pomerol.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(4.0, 0.0, 0.0)]
+nk0 = 8
+nk1 = 8
+nk2 = 1
+
+[system]
+T = 0.1
+n_iw = 1000
+fix_mu = True
+mu = 2.0
+
+[impurity_solver]
+name = pomerol
+exec_path{str} = pomerol2dcore
+n_bath{int} = 3
+fit_gtol{float} = 1e-6
+
+[control]
+max_step = 100
+sigma_mix = 0.5
+converge_tol = 1e-5
+
+[post.anacont]
+solver = pade
+omega_max = 6.0
+omega_min = -6.0
+Nomega = 401
+
+[post.anacont.pade]
+n_min = 20
+n_max = 1000
+iomega_max = 1e+20
+eta = 0.1
+
+[post.spectrum]
+knode = [(G,0,0,0),(X,0.5,0,0),(M,0.5,0.5,0),(G,0,0,0)]
+nk_line = 100
+broadening = 0.4
+
+
+

The parameter exec_path{str} in [impurity_solver] block needs to be edited, if pomerol2dcore executable is not in your path: Please specify the full path to pomerol2dcore.

+
+

Pre-process : dcore_pre

+

We first generate an HDF5 file that is necessary for DMFT calculations. +The script dcore_pre is invoked for this purpose:

+
$ dcore_pre dmft_square.ini
+
+
+

Then, an HDF5 file named seedname.h5 (square.h5 in the present case) is generated.

+
+
+

DMFT loop : dcore

+

One can perform a DMFT self-consistent calculation with dcore program. +In this tutorial, we use the exact diagonalization solver just for simplicity. +One can run the program by

+
$ dcore dmft_square.ini --np 1
+
+
+

with a single process.

+

It takes several minutes. You may run it with MPI to reduce the computational time. +Results for the self-energy and Green’s function in each iteration are accumulated into an HDF5 file named seedname.out.h5 (square.out.h5 in the present case).

+

One can check the convergence of DMFT iterations using dcore_check program as follows:

+
$ dcore_check dmft_square.ini
+
+
+

dcore_check program prints the value of the chemical potential at each iteration on the standard output:

+
  @ Reading dmft_square_pomerol.ini ...
+Loading dc_imp and dc_energ...
+Loading Sigma_iw...
+  Total number of Iteration: 13
+
+  Iter  Chemical-potential
+  1 2.0
+  2 2.0
+  3 2.0
+  4 2.0
+  5 2.0
+  6 2.0
+  7 2.0
+  8 2.0
+  9 2.0
+  10 2.0
+  11 2.0
+  12 2.0
+  13 2.0
+ Output check_test/sigma.dat
+ Output check_test/sigma_ave.png
+ Output check_test/iter_mu.dat
+ Output check_test/iter_mu.png
+ Output check_test/iter_sigma-ish0.png
+ Output check_test/iter_sigma.dat
+
+  Done
+
+
+

The value of the chemical potential does not change now because fix_mu = True is specified. dcore_check generates several figures as well as data files in text format. +For instance, check/iter_sigma-ish0.png shows how the renormalization factor converges for each orbital.

+../../_images/iter_sigma-ish04.png +

The iteration is terminated when the diff (lower figure) reaches converge_tol = 1e-5 at the 13th iteration.

+
+
+

Analytical continuation of the self-energy : dcore_anacont

+

The self-energy is calculated in the imaginary-time domain in the DMFT loop and saved as seedname_sigma_iw.npz. +The analytical continuation from Matsubara frequency to real frequencies is required to calculate the spectral function. +DCore provides a program dcore_anacont for this purpose. +Parameters for the analytical continuation are specified in the [post.anacont] block in the input file. +omega_min and omega_max is the minimum and maximum frequency for the output. +Nomega is the number of frequency points. +solver is the solver for the analytical continuation; “pade” is the Pade approximation and “spm” is the sparse modeling method. +Hyperparameters for the solver can be specified in the [post.anacont.pade] or [post.anacont.spm] block.

+
$ dcore_anacont dmft_square.ini
+
+
+

The result is stored in post/sigma_w.npz.

+
+
+

Spectral function : dcore_spectrum

+

After calculating the self-energy on the real-frequency axis, we can also calculate other real-frequency quantities such as the density of states and the momentum-dependent single-particle excitations using dcore_spectrum program.

+

The calculation is done by the following command:

+
$ dcore_spectrum dmft_square.ini --np 1
+
+
+

After finishing the calculation, +results are stored in post directory. +The data of momentum-resolved spectral functions are output into akw.dat. +We can easily plot the result by using the script file akw.gp for gnuplot:

+
$ cd post
+$ gnuplot akw.gp
+
+
+

In the graph shown below, the left and right panels correspond to up-spin and down-spin components, respectively.

+../../_images/akw1.png +

Here, we have tuned the range of the coloar bar by the command set cbrange[0:0.8] to get better figure. +The band width seems reduced than the noninteracting one, 8, but the artificial structure around E=1 and -1 makes it difficult to judge.

+

The numerical result for the density of states is stored in dos.dat. +We can plot it using gnuplot as follows:

+
set xlabel "Energy"
+set ylabel "DOS"
+plot "dos.dat" w l
+
+
+

The result is shown below.

+../../_images/dos1.png +
+
+

Another impurity solver: CTHYB-SEG

+

The spectrum presented above shows some artificial features due to a limited number of the bath sites. The infinite limit of the baths (a continuous hybridization function) can be treated with the CT-QMC method. Here, we use the hybridization expansion CT-QMC solver ALPS/cthyb-seg.

+

The file below shows the input file for ALPS/cthyb-seg:

+

dmft_square_ctseg.ini

+
[model]
+seedname = square
+lattice = square
+norb = 1
+nelec = 1.0
+t = -1.0
+kanamori = [(4.0, 0.0, 0.0)]
+nk0 = 8
+nk1 = 8
+nk2 = 1
+
+[system]
+T = 0.1
+n_iw = 1000
+fix_mu = True
+mu = 2.0
+
+[impurity_solver]
+name = ALPS/cthyb-seg
+exec_path{str} = /path/to/alps_cthyb
+cthyb.TEXT_OUTPUT{int} = 1
+cthyb.MEASUREMENT_freq{int} = 1
+MEASURE_gw{int} = 1
+MAX_TIME{int} = 60
+cthyb.N_MEAS{int} = 50
+cthyb.THERMALIZATION{int} = 100000
+cthyb.SWEEPS{int} = 100000000
+
+[control]
+max_step = 20
+sigma_mix = 0.5
+time_reversal = True
+
+[post.anacont]
+solver = pade
+omega_max = 6.0
+omega_min = -6.0
+Nomega = 401
+
+[post.anacont.pade]
+n_min = 20
+n_max = 1000
+iomega_max = 1e+20
+eta = 0.1
+
+[post.spectrum]
+knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
+nk_line = 100
+broadening = 0.0
+
+
+

/path/to/alps_cthyb in [impurity_solver] exec_path{str} should be replaced with a full path to alps_cthyb executable in your environment. +Unlike in the ED solver, we do not use converge_tol parameter, since the automatic convergence check requires a special care for QMC solvers.

+

The figure below shows the momentum-resolved spectral functions computed after the self-consistent calculations using 8 processes:

+../../_images/akw2.png +

The artificial features observed in the ED solver has gone. This graph shows characteristics for correlated bands such as renormalized band width, low-energy quasiparticles (sharp peak), and broadening away from the Fermi level.

+

We note that spectra computed using the Pade analytical continuation is extremely sensitive to statistical errors. For this reason, this figure might not be reproduced even with the same input. In such cases, try improving the QMC accuracy by increasing the number of MPI processes or by increasing MAX_TIME{int} parameter.

+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/srvo3/openmx/openmx.html b/v4.0.0/tutorial/srvo3/openmx/openmx.html new file mode 100644 index 00000000..74c3bec1 --- /dev/null +++ b/v4.0.0/tutorial/srvo3/openmx/openmx.html @@ -0,0 +1,267 @@ + + + + + + + + Wanniernization using OpenMX — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

Wanniernization using OpenMX

+

OpenMX is a first-principles program package based on +the numerical localized basis set and pseudopotentials. +OpenMX itself can generate hopping parameter in the wannier90 format. +In this tutorial, we demonstrate the calculation of SrVO3.

+
+

Note

+

This tutorial requires large computational resources or long simulation time.

+
+
+

SCF computation and Wannier with OpenMX

+

scf.dat

+
#
+# File Name
+#
+System.CurrrentDirectory         ./    # default=./
+System.Name                      SrVO3
+level.of.stdout                   1    # default=1 (1-3)
+level.of.fileout                  1    # default=1 (0-2)
+data.path                 /mnt/c/Users/kawamuura/program/openmx-eca/DFT_DATA13/
+#
+# Definition of Atomic Species
+#
+Species.Number       4
+<Definition.of.Atomic.Species
+  Sr  Sr10.0-s2p2d1  Sr_PBE13
+   V  V6.0-s2p1d1     V_PBE13
+   O  O7.0-s2p2d1     O_PBE13
+proj  V6.0-s1p1d1     V_PBE13
+Definition.of.Atomic.Species>
+#
+# Atoms
+#
+Atoms.Number         5
+Atoms.SpeciesAndCoordinates.Unit   FRAC # Ang|AU
+<Atoms.SpeciesAndCoordinates
+1  Sr   0.0  0.0  0.0  5.0  5.0
+2   V   0.5  0.5  0.5  6.5  6.5
+3   O   0.5  0.0  0.5  3.0  3.0
+4   O   0.0  0.5  0.5  3.0  3.0
+5   O   0.5  0.5  0.0  3.0  3.0
+Atoms.SpeciesAndCoordinates>
+Atoms.UnitVectors.Unit  AU  # Ang|AU
+<Atoms.UnitVectors
+7.29738  0.00000  0.00000
+0.00000  7.29738  0.00000
+0.00000  0.00000  7.29738
+Atoms.UnitVectors>
+#
+# SCF or Electronic System
+#
+scf.XcType                 GGA-PBE     # LDA|LSDA-CA|LSDA-PW|GGA-PBE
+scf.SpinPolarization        Off         # On|Off|NC
+scf.maxIter                  50        # default=40
+scf.EigenvalueSolver       band        # DC|GDC|Cluster|Band
+scf.Kgrid                  8 8 8       # means n1 x n2 x n3
+scf.Mixing.Type           rmm-diisk    # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
+scf.Init.Mixing.Weight     0.20        # default=0.30
+scf.Min.Mixing.Weight      0.001       # default=0.001
+scf.Max.Mixing.Weight      0.500       # default=0.40
+scf.Mixing.History          7          # default=5
+scf.Mixing.StartPulay       7          # default=6
+scf.Mixing.EveryPulay       1          # default=6
+scf.criterion             1.0e-7       # default=1.0e-6 (Hartree)
+orbitalOpt.Force.Skip       on
+#scf.restart                on
+#
+# Band dispersion
+#
+Band.dispersion              on        # on|off, default=off
+Band.Nkpath  4
+<Band.kpath
+15  0.0  0.0  0.0    0.5  0.0  0.0  g  X
+15  0.5  0.0  0.0    0.5  0.5  0.0  X  M
+15  0.5  0.5  0.0    0.0  0.0  0.0  M  g
+15  0.0  0.0  0.0    0.5  0.5  0.5  g  R
+Band.kpath>
+#
+# Wannier
+#
+Wannier.Func.Calc on #default off
+Wannier.Func.Num 3 #no default
+Wannier.Outer.Window.Bottom  -1.5
+Wannier.Outer.Window.Top      7.0
+Wannier.Inner.Window.Bottom  -1.5
+Wannier.Inner.Window.Top      1.2
+Wannier.Initial.Projectors.Unit FRAC
+<Wannier.Initial.Projectors
+proj-dxy 0.5 0.5 0.5  0.0 0.0 1.0  1.0 0.0 0.0
+proj-dxz 0.5 0.5 0.5  0.0 0.0 1.0  1.0 0.0 0.0
+proj-dyz 0.5 0.5 0.5  0.0 0.0 1.0  1.0 0.0 0.0
+Wannier.Initial.Projectors>
+Wannier.Interpolated.Bands             on
+Wannier.Function.Plot                  on         # default off
+Wannier.Function.Plot.SuperCells      1 1 1       # default=0 0 0
+
+
+
$ openmx scf.dat
+
+
+

Then, convert the OpenMX output to the wannier90 format. +It can be performed with openmx2dcore utility as:

+
$ openmx2dcore.py SrVO3 srvo3
+
+
+
+
+

DMFT calculation

+

srvo3.ini

+
[model]
+lattice = wannier90
+seedname = srvo3
+nelec = 1.0
+ncor = 1
+norb = 3
+kanamori = [(3.419, 2.315, 0.530)]
+bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)]
+
+[system]
+nk0 = 16
+nk1 = 16
+nk2 = 16
+beta = 40.0
+mu = 0.0
+with_dc = True
+perform_tail_fit = True
+fit_max_moment = 8
+fit_min_w = 5.0
+fit_max_w = 19.0
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_cycles{int} = 10000
+n_warmup_cycles{int} = 10000
+length_cycle{int} = 500
+move_double{bool} = True
+
+[control]
+max_step = 8
+
+[post.spectrum]
+broadening = 0.1
+nk_line = 50
+knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)]
+
+[post.anacont]
+omega_max =2.0
+omega_min =-2.0
+Nomega = 400
+
+[post.anacont.pade]
+iomega_max = 5.0
+
+[post.check]
+omega_check = 30.0
+
+
+

Please see CT-QMC: TRIQS/cthyb for the details of the parameter setting.

+
+

Note

+

The parameter n_cycles{int} should be tuned in inverse proportion to the number of MPI processes. +The following result is obtained with 432 MPI processes at n_cycles{int} = 10000 +(70 seconds per DMFT cycle on ISSP system B). +If we want to compute by using 32 MPI processes at the same accuracy, +n_cycles{int} should be 10000*432/32=135000.

+
+
+

DMFT setup: dcore_pre

+
$ dcore_pre srvo3.ini
+
+
+
+
+

Running self-consistent DMFT calculation: dcore

+
$ dcore srvo3.ini
+
+
+
+
+

Post-processing and data analysis: dcore_anacont and dcore_spectrum

+
$ dcore_anacont srvo3.ini
+$ dcore_spectrum srvo3.ini
+$ cd post
+$ sed -e "s/every 10/every 1/g" akw.gp
+$ gnuplot akw.gp
+
+
+../../../_images/akw_srvo31.png +

“+” indicates the original band structure.

+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/srvo3/qe/qe.html b/v4.0.0/tutorial/srvo3/qe/qe.html new file mode 100644 index 00000000..d5dfca3c --- /dev/null +++ b/v4.0.0/tutorial/srvo3/qe/qe.html @@ -0,0 +1,494 @@ + + + + + + + + Wanniernization using Quantum ESPRESSO — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

Wanniernization using Quantum ESPRESSO

+
+

SCF calculation of Quantum ESPRESSO

+

scf_srvo3.in

+
&CONTROL
+ calculation = 'scf'
+      outdir = './'
+  pseudo_dir = './'
+      prefix = 'srvo3'
+/
+&SYSTEM
+       ibrav = 1
+   celldm(1) = 7.29738
+        ntyp = 3
+         nat = 5
+     ecutwfc = 50.0
+     ecutrho = 400.0
+ occupations = "tetrahedra_opt"
+/
+&ELECTRONS
+/
+ATOMIC_SPECIES
+ Sr   87.6200000000  Sr.pbe-spn-kjpaw_psl.0.2.3.upf
+  V   50.9415000000  V.pbe-spn-kjpaw_psl.0.2.3.upf
+  O   15.9994000000  O.pbe-n-kjpaw_psl.0.1.upf
+ATOMIC_POSITIONS crystal
+ Sr   0.00000000000000   0.00000000000000   0.00000000000000
+  V   0.50000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.00000000000000   0.50000000000000
+  O   0.00000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.50000000000000   0.00000000000000
+K_POINTS automatic
+ 8 8 8 0 0 0
+
+
+

The pseudopotentials are downloaded from +Sr.pbe-spn-kjpaw_psl.0.2.3.upf, +V.pbe-spn-kjpaw_psl.0.2.3.upf, and +O.pbe-n-kjpaw_psl.0.1.upf.

+
$ mpirun -np 4 pw.x -in scf_srvo3.in
+
+
+
+
+

Wannierization

+
+

Generate Bloch orbitals for the Wannier

+

Perform non-scf calculation for generating Bloch orbitals that are used +in the wannierization.

+

nscf_srvo3.in

+
&CONTROL
+ calculation = 'bands'
+      outdir = './'
+  pseudo_dir = './'
+      prefix = 'srvo3'
+/
+&SYSTEM
+       ibrav = 1
+   celldm(1) = 7.29738129774137562
+        ntyp = 3
+         nat = 5
+     ecutwfc = 50.0
+     ecutrho = 400.0
+ occupations = "tetrahedra_opt"
+/
+&ELECTRONS
+/
+ATOMIC_SPECIES
+ Sr   87.6200000000  Sr.pbe-spn-kjpaw_psl.0.2.3.upf
+  V   50.9415000000  V.pbe-spn-kjpaw_psl.0.2.3.upf
+  O   15.9994000000  O.pbe-n-kjpaw_psl.0.1.upf
+ATOMIC_POSITIONS crystal
+ Sr   0.00000000000000   0.00000000000000   0.00000000000000
+  V   0.50000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.00000000000000   0.50000000000000
+  O   0.00000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.50000000000000   0.00000000000000
+K_POINTS crystal
+64
+  0.00000000  0.00000000  0.00000000  1.562500e-02
+  0.00000000  0.00000000  0.25000000  1.562500e-02
+  0.00000000  0.00000000  0.50000000  1.562500e-02
+  0.00000000  0.00000000  0.75000000  1.562500e-02
+  0.00000000  0.25000000  0.00000000  1.562500e-02
+  0.00000000  0.25000000  0.25000000  1.562500e-02
+  0.00000000  0.25000000  0.50000000  1.562500e-02
+  0.00000000  0.25000000  0.75000000  1.562500e-02
+  0.00000000  0.50000000  0.00000000  1.562500e-02
+  0.00000000  0.50000000  0.25000000  1.562500e-02
+  0.00000000  0.50000000  0.50000000  1.562500e-02
+  0.00000000  0.50000000  0.75000000  1.562500e-02
+  0.00000000  0.75000000  0.00000000  1.562500e-02
+  0.00000000  0.75000000  0.25000000  1.562500e-02
+  0.00000000  0.75000000  0.50000000  1.562500e-02
+  0.00000000  0.75000000  0.75000000  1.562500e-02
+  0.25000000  0.00000000  0.00000000  1.562500e-02
+  0.25000000  0.00000000  0.25000000  1.562500e-02
+  0.25000000  0.00000000  0.50000000  1.562500e-02
+  0.25000000  0.00000000  0.75000000  1.562500e-02
+  0.25000000  0.25000000  0.00000000  1.562500e-02
+  0.25000000  0.25000000  0.25000000  1.562500e-02
+  0.25000000  0.25000000  0.50000000  1.562500e-02
+  0.25000000  0.25000000  0.75000000  1.562500e-02
+  0.25000000  0.50000000  0.00000000  1.562500e-02
+  0.25000000  0.50000000  0.25000000  1.562500e-02
+  0.25000000  0.50000000  0.50000000  1.562500e-02
+  0.25000000  0.50000000  0.75000000  1.562500e-02
+  0.25000000  0.75000000  0.00000000  1.562500e-02
+  0.25000000  0.75000000  0.25000000  1.562500e-02
+  0.25000000  0.75000000  0.50000000  1.562500e-02
+  0.25000000  0.75000000  0.75000000  1.562500e-02
+  0.50000000  0.00000000  0.00000000  1.562500e-02
+  0.50000000  0.00000000  0.25000000  1.562500e-02
+  0.50000000  0.00000000  0.50000000  1.562500e-02
+  0.50000000  0.00000000  0.75000000  1.562500e-02
+  0.50000000  0.25000000  0.00000000  1.562500e-02
+  0.50000000  0.25000000  0.25000000  1.562500e-02
+  0.50000000  0.25000000  0.50000000  1.562500e-02
+  0.50000000  0.25000000  0.75000000  1.562500e-02
+  0.50000000  0.50000000  0.00000000  1.562500e-02
+  0.50000000  0.50000000  0.25000000  1.562500e-02
+  0.50000000  0.50000000  0.50000000  1.562500e-02
+  0.50000000  0.50000000  0.75000000  1.562500e-02
+  0.50000000  0.75000000  0.00000000  1.562500e-02
+  0.50000000  0.75000000  0.25000000  1.562500e-02
+  0.50000000  0.75000000  0.50000000  1.562500e-02
+  0.50000000  0.75000000  0.75000000  1.562500e-02
+  0.75000000  0.00000000  0.00000000  1.562500e-02
+  0.75000000  0.00000000  0.25000000  1.562500e-02
+  0.75000000  0.00000000  0.50000000  1.562500e-02
+  0.75000000  0.00000000  0.75000000  1.562500e-02
+  0.75000000  0.25000000  0.00000000  1.562500e-02
+  0.75000000  0.25000000  0.25000000  1.562500e-02
+  0.75000000  0.25000000  0.50000000  1.562500e-02
+  0.75000000  0.25000000  0.75000000  1.562500e-02
+  0.75000000  0.50000000  0.00000000  1.562500e-02
+  0.75000000  0.50000000  0.25000000  1.562500e-02
+  0.75000000  0.50000000  0.50000000  1.562500e-02
+  0.75000000  0.50000000  0.75000000  1.562500e-02
+  0.75000000  0.75000000  0.00000000  1.562500e-02
+  0.75000000  0.75000000  0.25000000  1.562500e-02
+  0.75000000  0.75000000  0.50000000  1.562500e-02
+  0.75000000  0.75000000  0.75000000  1.562500e-02
+
+
+

This k-grid is generated as follows:

+
$ kmesh.pl 4 4 4
+
+
+

where kmesh.pl is located in the utility/ directory of Wannier90.

+

Then, run pw.x as

+
$ mpirun -np 4 pw.x -in nscf_srvo3.in
+
+
+
+
+

Pre-process for Wannier90

+

Pre-process with wannier90 program. +It is always required before pw2wannier.x runs.

+

srvo3.win

+
num_bands         =   25
+num_wann          =   3
+
+dis_win_max =  18.0
+dis_win_min =  11.0
+!dis_froz_max = 13.4
+!dis_froz_min = 11.0
+
+begin projections
+V:dxy;dxz;dyz
+end projections
+
+site_symmetry = .true.
+write_hr = .true.
+bands_plot = .true.
+wannier_plot = .true.
+write_xyz = .true.
+
+wannier_plot_supercell = 1
+
+!exclude_bands=
+
+begin kpoint_path
+G  0.0  0.0  0.0  X  0.5  0.0  0.0
+X  0.5  0.0  0.0  M  0.5  0.5  0.0
+M  0.5  0.5  0.0  G  0.0  0.0  0.0
+G  0.0  0.0  0.0  R  0.5  0.5  0.5
+end kpoint_path
+
+begin unit_cell_cart
+bohr
+7.29738  0.00000  0.00000
+0.00000  7.29738  0.00000
+0.00000  0.00000  7.29738
+end unit_cell_cart
+
+begin atoms_frac
+ Sr   0.00000000000000   0.00000000000000   0.00000000000000
+  V   0.50000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.00000000000000   0.50000000000000
+  O   0.00000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.50000000000000   0.00000000000000
+end atoms_frac
+
+mp_grid           = 4 4 4
+
+begin kpoints
+  0.00000000  0.00000000  0.00000000
+  0.00000000  0.00000000  0.25000000
+  0.00000000  0.00000000  0.50000000
+  0.00000000  0.00000000  0.75000000
+  0.00000000  0.25000000  0.00000000
+  0.00000000  0.25000000  0.25000000
+  0.00000000  0.25000000  0.50000000
+  0.00000000  0.25000000  0.75000000
+  0.00000000  0.50000000  0.00000000
+  0.00000000  0.50000000  0.25000000
+  0.00000000  0.50000000  0.50000000
+  0.00000000  0.50000000  0.75000000
+  0.00000000  0.75000000  0.00000000
+  0.00000000  0.75000000  0.25000000
+  0.00000000  0.75000000  0.50000000
+  0.00000000  0.75000000  0.75000000
+  0.25000000  0.00000000  0.00000000
+  0.25000000  0.00000000  0.25000000
+  0.25000000  0.00000000  0.50000000
+  0.25000000  0.00000000  0.75000000
+  0.25000000  0.25000000  0.00000000
+  0.25000000  0.25000000  0.25000000
+  0.25000000  0.25000000  0.50000000
+  0.25000000  0.25000000  0.75000000
+  0.25000000  0.50000000  0.00000000
+  0.25000000  0.50000000  0.25000000
+  0.25000000  0.50000000  0.50000000
+  0.25000000  0.50000000  0.75000000
+  0.25000000  0.75000000  0.00000000
+  0.25000000  0.75000000  0.25000000
+  0.25000000  0.75000000  0.50000000
+  0.25000000  0.75000000  0.75000000
+  0.50000000  0.00000000  0.00000000
+  0.50000000  0.00000000  0.25000000
+  0.50000000  0.00000000  0.50000000
+  0.50000000  0.00000000  0.75000000
+  0.50000000  0.25000000  0.00000000
+  0.50000000  0.25000000  0.25000000
+  0.50000000  0.25000000  0.50000000
+  0.50000000  0.25000000  0.75000000
+  0.50000000  0.50000000  0.00000000
+  0.50000000  0.50000000  0.25000000
+  0.50000000  0.50000000  0.50000000
+  0.50000000  0.50000000  0.75000000
+  0.50000000  0.75000000  0.00000000
+  0.50000000  0.75000000  0.25000000
+  0.50000000  0.75000000  0.50000000
+  0.50000000  0.75000000  0.75000000
+  0.75000000  0.00000000  0.00000000
+  0.75000000  0.00000000  0.25000000
+  0.75000000  0.00000000  0.50000000
+  0.75000000  0.00000000  0.75000000
+  0.75000000  0.25000000  0.00000000
+  0.75000000  0.25000000  0.25000000
+  0.75000000  0.25000000  0.50000000
+  0.75000000  0.25000000  0.75000000
+  0.75000000  0.50000000  0.00000000
+  0.75000000  0.50000000  0.25000000
+  0.75000000  0.50000000  0.50000000
+  0.75000000  0.50000000  0.75000000
+  0.75000000  0.75000000  0.00000000
+  0.75000000  0.75000000  0.25000000
+  0.75000000  0.75000000  0.50000000
+  0.75000000  0.75000000  0.75000000
+end kpoints
+
+
+

This k grid is generated as follows:

+
$ kmesh.pl 4 4 4 wan
+
+
+
$ wannier90.x -pp srvo3
+
+
+
+
+

QE to wannier90 interface

+

pw2wan_srvo3.in

+
&inputpp 
+   outdir = './'
+   prefix = 'srvo3'
+   seedname = 'srvo3'
+   spin_component = 'none'
+   write_mmn = .true.
+   write_amn = .true.
+   write_unk = .true.
+   write_dmn = .true.
+   wan_mode = 'standalone'
+/
+
+
+
$ mpirun -np 4 pw2wan.x -in pw2wan_srvo3.in
+
+
+
+
+

Wannier90

+

Execute wannier90.x for the actual wannierization. +The input file is the same as that for the pre-processing run.

+
$ wannier90.x srvo3
+
+
+
+
+

(Optional) Check wannierization

+

If you want to check the quality of the wannierization, +you can plot the original and the wannier-interpolated band structure simultaneously.

+

First, compute the band structure with the following input file:

+

band_srvo3.in

+
&CONTROL
+ calculation = 'bands'
+      outdir = './'
+  pseudo_dir = './'
+      prefix = 'srvo3'
+/
+&SYSTEM
+       ibrav = 1
+   celldm(1) = 7.29738129774137562
+        ntyp = 3
+         nat = 5
+     ecutwfc = 50.0
+     ecutrho = 400.0
+ occupations = "tetrahedra_opt"
+/
+&ELECTRONS
+/
+ATOMIC_SPECIES
+ Sr   87.6200000000  Sr.pbe-spn-kjpaw_psl.0.2.3.upf
+  V   50.9415000000  V.pbe-spn-kjpaw_psl.0.2.3.upf
+  O   15.9994000000  O.pbe-n-kjpaw_psl.0.1.upf
+ATOMIC_POSITIONS crystal
+ Sr   0.00000000000000   0.00000000000000   0.00000000000000
+  V   0.50000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.00000000000000   0.50000000000000
+  O   0.00000000000000   0.50000000000000   0.50000000000000
+  O   0.50000000000000   0.50000000000000   0.00000000000000
+K_POINTS crystal
+          50
+        0.0000000000    0.0000000000    0.0000000000    1.0
+        0.0500000000    0.0000000000    0.0000000000    1.0
+        0.1000000000    0.0000000000    0.0000000000    1.0
+        0.1500000000    0.0000000000    0.0000000000    1.0
+        0.2000000000    0.0000000000    0.0000000000    1.0
+        0.2500000000    0.0000000000    0.0000000000    1.0
+        0.3000000000    0.0000000000    0.0000000000    1.0
+        0.3500000000    0.0000000000    0.0000000000    1.0
+        0.4000000000    0.0000000000    0.0000000000    1.0
+        0.4500000000    0.0000000000    0.0000000000    1.0
+        0.5000000000    0.0000000000    0.0000000000    1.0
+        0.5000000000    0.0500000000    0.0000000000    1.0
+        0.5000000000    0.1000000000    0.0000000000    1.0
+        0.5000000000    0.1500000000    0.0000000000    1.0
+        0.5000000000    0.2000000000    0.0000000000    1.0
+        0.5000000000    0.2500000000    0.0000000000    1.0
+        0.5000000000    0.3000000000    0.0000000000    1.0
+        0.5000000000    0.3500000000    0.0000000000    1.0
+        0.5000000000    0.4000000000    0.0000000000    1.0
+        0.5000000000    0.4500000000    0.0000000000    1.0
+        0.5000000000    0.5000000000    0.0000000000    1.0
+        0.4615384615    0.4615384615    0.0000000000    1.0
+        0.4230769231    0.4230769231    0.0000000000    1.0
+        0.3846153846    0.3846153846    0.0000000000    1.0
+        0.3461538462    0.3461538462    0.0000000000    1.0
+        0.3076923077    0.3076923077    0.0000000000    1.0
+        0.2692307692    0.2692307692    0.0000000000    1.0
+        0.2307692308    0.2307692308    0.0000000000    1.0
+        0.1923076923    0.1923076923    0.0000000000    1.0
+        0.1538461538    0.1538461538    0.0000000000    1.0
+        0.1153846154    0.1153846154    0.0000000000    1.0
+        0.0769230769    0.0769230769    0.0000000000    1.0
+        0.0384615385    0.0384615385    0.0000000000    1.0
+        0.0000000000    0.0000000000    0.0000000000    1.0
+        0.0312500000    0.0312500000    0.0312500000    1.0
+        0.0625000000    0.0625000000    0.0625000000    1.0
+        0.0937500000    0.0937500000    0.0937500000    1.0
+        0.1250000000    0.1250000000    0.1250000000    1.0
+        0.1562500000    0.1562500000    0.1562500000    1.0
+        0.1875000000    0.1875000000    0.1875000000    1.0
+        0.2187500000    0.2187500000    0.2187500000    1.0
+        0.2500000000    0.2500000000    0.2500000000    1.0
+        0.2812500000    0.2812500000    0.2812500000    1.0
+        0.3125000000    0.3125000000    0.3125000000    1.0
+        0.3437500000    0.3437500000    0.3437500000    1.0
+        0.3750000000    0.3750000000    0.3750000000    1.0
+        0.4062500000    0.4062500000    0.4062500000    1.0
+        0.4375000000    0.4375000000    0.4375000000    1.0
+        0.4687500000    0.4687500000    0.4687500000    1.0
+        0.5000000000    0.5000000000    0.5000000000    1.0
+
+
+
$ mpiexec -np 4 pw.x -in band_srvo3.in
+
+
+

bands_srvo3.in

+
&BANDS
+prefix = "srvo3",
+outdir = "./",
+!filband = "band.dat"
+!lsym = .true.
+/
+
+
+
$ mpiexec -np 4 bands.x -in bands_srvo3.in
+
+
+
plot [][11:18] "bands.out.gnu" u 1:2 w p tit "Orig", 12.3116 tit "E_F", "srvo3_band.dat" u ($1*0.6146):2 tit "Wannier" w l
+
+
+../../../_images/band_srvo3.png +
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/srvo3/srvo3.html b/v4.0.0/tutorial/srvo3/srvo3.html new file mode 100644 index 00000000..49ec45cf --- /dev/null +++ b/v4.0.0/tutorial/srvo3/srvo3.html @@ -0,0 +1,254 @@ + + + + + + + + SrVO3 — DCore documentation + + + + + + + + + + + + + + +
+
+
+
+ +
+

SrVO3

+
+

Note

+

This tutorial requires parallel computing.

+
+

Crystal structure of SrVO3 (drawn by VESTA).

+../../_images/struct_srvo3.png +
+

Construction of Wannier functions

+

Maximally localized Wannier functions for the t2g manifold can be constructed by using DFT code. +Please download precomputed data for Wannier functions

+

srvo3_hr.dat

+

and save it to your working directly. This data was computed by using Quantum ESPRESSO and Wannier90. +The procedure of Wanniernization is detailed in Wanniernization using Quantum ESPRESSO and Wanniernization using OpenMX.

+
+
+

DMFT calculation

+

srvo3.ini

+
[model]
+lattice = wannier90
+seedname = srvo3
+nelec = 1.0
+ncor = 1
+norb = 3
+kanamori = [(3.419, 2.315, 0.530)]
+bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)]
+nk0 = 10
+nk1 = 10
+nk2 = 10
+
+#[mpi]
+#command = '$MPIRUN -np #'
+
+[system]
+beta = 40.0
+mu = 12.290722
+with_dc = True
+
+[impurity_solver]
+name = ALPS/cthyb
+timelimit{int} = 90
+exec_path{str} = hybmat
+
+[control]
+max_step = 12
+time_reversal = True
+sigma_mix = 0.8
+
+[post.spectrum]
+broadening = 0.1
+nk_line = 50
+knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)]
+
+[post.anacont]
+omega_max =2.0
+omega_min =-2.0
+Nomega = 400
+
+[post.anacont.pade]
+iomega_max = 2.0
+
+[post.check]
+omega_check = 30.0
+
+
+

To use TRIQS/cthyb, please use

+
[model]
+lattice = wannier90
+seedname = srvo3
+nelec = 1.0
+ncor = 1
+norb = 3
+kanamori = [(3.419, 2.315, 0.530)]
+bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)]
+nk0 = 10
+nk1 = 10
+nk2 = 10
+
+#[mpi]
+#command = '$MPIRUN -np #'
+
+[system]
+beta = 40.0
+mu = 12.290722
+with_dc = True
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_cycles{int} = 10000
+n_warmup_cycles{int} = 10000
+length_cycle{int} = 400
+move_double{bool} = True
+
+[control]
+max_step = 12
+time_reversal = True
+sigma_mix = 0.8
+
+[post.spectrum]
+broadening = 0.1
+nk_line = 50
+knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)]
+
+[post.anacont]
+omega_max =2.0
+omega_min =-2.0
+Nomega = 400
+
+[post.anacont.pade]
+iomega_max = 2.0
+
+[post.check]
+omega_check = 30.0
+
+
+

instead. +Please see CT-QMC: TRIQS/cthyb for the details of the parameter setting for TRIQS/cthyb.

+

To generate reference data, we used 48 MPI processes (ISSP system B). +The total computational time for 12 iterations is around 30 mins.

+

The accuracy of QMC results can be improved by setting a longer simulation time (ALPS/CT-HYB) or a larger n_cycles (TRIQS/cthyb). +For ALPS/CT-HYB, the parameter time_limit is given in seconds.

+
+

DMFT setup: dcore_pre

+
$ dcore_pre srvo3.ini
+
+
+
+
+

Running self-consistent DMFT calculation: dcore

+
$ dcore srvo3.ini --np 48
+
+
+
+
+

Post-processing and data analysis: dcore_anacont and dcore_spectrum

+
$ dcore_anacont srvo3.ini
+$ dcore_spectrum srvo3.ini --np 48
+$ cd post
+$ gnuplot akw.gp
+
+
+../../_images/akw_srvo3.png +

The left and right panels show results for up and down spins, respectively.

+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/srvo3_openmx/openmx.html b/v4.0.0/tutorial/srvo3_openmx/openmx.html new file mode 100644 index 00000000..04f35ef1 --- /dev/null +++ b/v4.0.0/tutorial/srvo3_openmx/openmx.html @@ -0,0 +1,272 @@ + + + + + + + + OpenMX — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

OpenMX

+
+

Warning

+

This document was written for ver.1.x, and might include descriptions incompatible with the latest version. +If you encounter some problem, see the release note of ver.2.0 and check the differences between ver.1.x and ver.2.0.

+
+

OpenMX is a first-principles program package based on +the numerical localized basis set and pseudopotentials. +OpenMX itself can generate hopping parameter in the wannier90 format. +In this tutorial, we demonstrate the calculation of SrVO3.

+
+

Note

+

This tutorial requires large computational resources or long simulation time.

+
+
+

SCF computation and Wannier with OpenMX

+

scf.dat

+
#
+# File Name
+#
+System.CurrrentDirectory         ./    # default=./
+System.Name                      SrVO3
+level.of.stdout                   1    # default=1 (1-3)
+level.of.fileout                  1    # default=1 (0-2)
+data.path                 /mnt/c/Users/kawamuura/program/openmx-eca/DFT_DATA13/
+#
+# Definition of Atomic Species
+#
+Species.Number       4
+<Definition.of.Atomic.Species
+  Sr  Sr10.0-s2p2d1  Sr_PBE13
+   V  V6.0-s2p1d1     V_PBE13
+   O  O7.0-s2p2d1     O_PBE13
+proj  V6.0-s1p1d1     V_PBE13
+Definition.of.Atomic.Species>
+#
+# Atoms
+#
+Atoms.Number         5
+Atoms.SpeciesAndCoordinates.Unit   FRAC # Ang|AU
+<Atoms.SpeciesAndCoordinates
+1  Sr   0.0  0.0  0.0  5.0  5.0
+2   V   0.5  0.5  0.5  6.5  6.5
+3   O   0.5  0.0  0.5  3.0  3.0
+4   O   0.0  0.5  0.5  3.0  3.0
+5   O   0.5  0.5  0.0  3.0  3.0
+Atoms.SpeciesAndCoordinates>
+Atoms.UnitVectors.Unit  AU  # Ang|AU
+<Atoms.UnitVectors
+7.29738  0.00000  0.00000
+0.00000  7.29738  0.00000
+0.00000  0.00000  7.29738
+Atoms.UnitVectors>
+#
+# SCF or Electronic System
+#
+scf.XcType                 GGA-PBE     # LDA|LSDA-CA|LSDA-PW|GGA-PBE
+scf.SpinPolarization        Off         # On|Off|NC
+scf.maxIter                  50        # default=40
+scf.EigenvalueSolver       band        # DC|GDC|Cluster|Band
+scf.Kgrid                  8 8 8       # means n1 x n2 x n3
+scf.Mixing.Type           rmm-diisk    # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
+scf.Init.Mixing.Weight     0.20        # default=0.30
+scf.Min.Mixing.Weight      0.001       # default=0.001
+scf.Max.Mixing.Weight      0.500       # default=0.40
+scf.Mixing.History          7          # default=5
+scf.Mixing.StartPulay       7          # default=6
+scf.Mixing.EveryPulay       1          # default=6
+scf.criterion             1.0e-7       # default=1.0e-6 (Hartree)
+orbitalOpt.Force.Skip       on
+#scf.restart                on
+#
+# Band dispersion
+#
+Band.dispersion              on        # on|off, default=off
+Band.Nkpath  4
+<Band.kpath
+15  0.0  0.0  0.0    0.5  0.0  0.0  g  X
+15  0.5  0.0  0.0    0.5  0.5  0.0  X  M
+15  0.5  0.5  0.0    0.0  0.0  0.0  M  g
+15  0.0  0.0  0.0    0.5  0.5  0.5  g  R
+Band.kpath>
+#
+# Wannier
+#
+Wannier.Func.Calc on #default off
+Wannier.Func.Num 3 #no default
+Wannier.Outer.Window.Bottom  -1.5
+Wannier.Outer.Window.Top      7.0
+Wannier.Inner.Window.Bottom  -1.5
+Wannier.Inner.Window.Top      1.2
+Wannier.Initial.Projectors.Unit FRAC
+<Wannier.Initial.Projectors
+proj-dxy 0.5 0.5 0.5  0.0 0.0 1.0  1.0 0.0 0.0
+proj-dxz 0.5 0.5 0.5  0.0 0.0 1.0  1.0 0.0 0.0
+proj-dyz 0.5 0.5 0.5  0.0 0.0 1.0  1.0 0.0 0.0
+Wannier.Initial.Projectors>
+Wannier.Interpolated.Bands             on
+Wannier.Function.Plot                  on         # default off
+Wannier.Function.Plot.SuperCells      1 1 1       # default=0 0 0
+
+
+
$ openmx scf.dat
+
+
+

Then, convert the OpenMX output to the wannier90 format. +It can be performed with openmx2dcore utility as:

+
$ openmx2dcore.py SrVO3 srvo3
+
+
+
+
+

DMFT calculation

+

srvo3.ini

+
[model]
+lattice = wannier90
+seedname = srvo3
+nelec = 1.0
+ncor = 1
+norb = 3
+kanamori = [(3.419, 2.315, 0.530)]
+bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)]
+
+[system]
+nk0 = 16
+nk1 = 16
+nk2 = 16
+beta = 40.0
+mu = 0.0
+with_dc = True
+perform_tail_fit = True
+fit_max_moment = 8
+fit_min_w = 5.0
+fit_max_w = 19.0
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_cycles{int} = 10000
+n_warmup_cycles{int} = 10000
+length_cycle{int} = 500
+move_double{bool} = True
+
+[control]
+max_step = 8
+
+[post.spectrum]
+broadening = 0.1
+nk_line = 50
+knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5)]
+
+[post.anacont]
+omega_max =2.0
+omega_min =-2.0
+Nomega = 400
+
+[post.anacont.pade]
+iomega_max = 5.0
+
+[post.check]
+omega_check = 30.0
+
+
+

Please see CT-QMC: TRIQS/cthyb for the details of the parameter setting.

+
+

Note

+

The parameter n_cycles{int} should be tuned in inverse proportion to the number of MPI processes. +The following result is obtained with 432 MPI processes at n_cycles{int} = 10000 +(70 seconds per DMFT cycle on ISSP system B). +If we want to compute by using 32 MPI processes at the same accuracy, +n_cycles{int} should be 10000*432/32=135000.

+
+
+

DMFT setup: dcore_pre

+
$ dcore_pre srvo3.ini
+
+
+
+
+

Running self-consistent DMFT calculation: dcore

+
$ dcore srvo3.ini
+
+
+
+
+

Post-processing and data analysis: dcore_anacont and dcore_spectrum

+
$ dcore_anacont srvo3.ini
+$ dcore_spectrum srvo3.ini
+$ cd post
+$ sed -e "s/every 10/every 1/g" akw.gp
+$ gnuplot akw.gp
+
+
+../../_images/akw_srvo32.png +

“+” indicates the original band structure.

+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/tutorial/srvo3_respack/respack.html b/v4.0.0/tutorial/srvo3_respack/respack.html new file mode 100644 index 00000000..8aa0a96b --- /dev/null +++ b/v4.0.0/tutorial/srvo3_respack/respack.html @@ -0,0 +1,451 @@ + + + + + + + + Downfolding with RESPACK (SrVO3) — DCore documentation + + + + + + + + + + + + + +
+
+
+
+ +
+

Downfolding with RESPACK (SrVO3)

+
+

Warning

+

This document was written for ver.1.x, and might include descriptions incompatible with the latest version. +If you encounter some problem, see the release note of ver.2.0 and check the differences between ver.1.x and ver.2.0.

+
+
+

Note

+

This tutorial requires large computational resources or the long simulation time.

+
+

Crystal structure of SrVO3 (drawn by VESTA).

+../../_images/struct_srvo3.png +
+

SCF calculation of Quantum ESPRESSO

+

scf_srvo3_r.in

+
&CONTROL
+ calculation = 'scf'
+  pseudo_dir = './'
+      prefix = 'srvo3'
+/
+&SYSTEM
+       ibrav = 0
+         nat = 5
+        ntyp = 3
+     ecutwfc = 120.000000
+     ecutrho = 480.000000
+ occupations = 'tetrahedra_opt'
+/
+&ELECTRONS
+ mixing_beta = 0.3
+/
+CELL_PARAMETERS angstrom
+ 3.842500 0.000000 0.000000
+ 0.000000 3.842500 0.000000
+ 0.000000 0.000000 3.842500
+ATOMIC_SPECIES
+ Sr 87.620000 Sr_ONCV_PBE-1.0.upf
+ V 50.941500 V_ONCV_PBE-1.0.upf
+ O 15.999400 O_ONCV_PBE-1.0.upf
+ATOMIC_POSITIONS crystal
+ Sr 0.000000 0.000000 0.000000
+ V 0.500000 0.500000 0.500000
+ O 0.500000 0.000000 0.500000
+ O 0.000000 0.500000 0.500000
+ O 0.500000 0.500000 0.000000
+K_POINTS automatic
+ 8 8 8 0 0 0
+
+
+

The pseudopotentials are downloaded from

+

http://www.quantum-simulation.org/potentials/sg15_oncv/upf/O_ONCV_PBE-1.0.upf

+

http://www.quantum-simulation.org/potentials/sg15_oncv/upf/Sr_ONCV_PBE-1.0.upf

+

http://www.quantum-simulation.org/potentials/sg15_oncv/upf/V_ONCV_PBE-1.0.upf

+

They are part of +The SG15 Optimized Norm-Conserving Vanderbilt (ONCV) pseudopotentials. +For the downfolding with RESPACK, we should use the norm-conserving pseudopotentials rather than +the ultrasoft pseudopotentials or PAW.

+

The SCF calculation of the electronic charge is performed as follows:

+
$ mpirun -np 4 pw.x -in scf_srvo3.in
+
+
+
+
+

Wannierization

+

Next, we perform non-scf calculation for generating Bloch orbitals that are used +in the wannierization.

+

nscf_respack.in

+
&CONTROL
+ calculation = 'nscf'
+  pseudo_dir = './'
+  wf_collect = .true.
+      prefix = 'srvo3'
+/
+&SYSTEM
+       ibrav = 0
+         nat = 5
+        ntyp = 3
+     ecutwfc = 120.000000
+     ecutrho = 480.000000
+ occupations = 'tetrahedra_opt'
+        nbnd = 100
+/
+&ELECTRONS
+/
+CELL_PARAMETERS angstrom
+ 3.842500 0.000000 0.000000
+ 0.000000 3.842500 0.000000
+ 0.000000 0.000000 3.842500
+ATOMIC_SPECIES
+ Sr 87.620000 Sr_ONCV_PBE-1.0.upf
+ V 50.941500 V_ONCV_PBE-1.0.upf
+ O 15.999400 O_ONCV_PBE-1.0.upf
+ATOMIC_POSITIONS crystal
+ Sr 0.000000 0.000000 0.000000
+ V 0.500000 0.500000 0.500000
+ O 0.500000 0.000000 0.500000
+ O 0.000000 0.500000 0.500000
+ O 0.500000 0.500000 0.000000
+K_POINTS automatic
+ 6 6 6 0 0 0
+
+
+

Then, run pw.x as

+
$ mpirun -np 4 pw.x -in nscf_respack.in
+
+
+

and convert outputs so that RESPACK can read them.

+
$ qe2respack.sh srvo3.save/
+
+
+

This program locates in the util/qe2respack/ directory of RESPACK.

+

Execute calc_wannier (in src/wannier/ of RESPACK) for the actual wannierization. +with the following input file:

+

respack.in

+
&PARAM_CHIQW
+Num_freq_grid = 1
+flg_cRPA = 1
+/
+&PARAM_WANNIER
+N_wannier = 3
+Lower_energy_window = 11.0785
+Upper_energy_window = 14.5440
+N_initial_guess = 3
+/
+dxy 0.2 0.5 0.5 0.5
+dyz 0.2 0.5 0.5 0.5
+dzx 0.2 0.5 0.5 0.5
+&PARAM_INTERPOLATION
+N_sym_points = 6
+/
+0.000000 0.000000 0.000000
+0.500000 0.000000 0.000000
+0.500000 0.500000 0.000000
+0.000000 0.000000 0.000000
+0.500000 0.500000 0.500000
+0.500000 0.000000 0.000000
+&PARAM_VISUALIZATION
+flg_vis_wannier = 1
+ix_vis_min = 0
+ix_vis_max = 1
+iy_vis_min = 0
+iy_vis_max = 1
+iz_vis_min = 0
+iz_vis_max = 1
+/
+&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
+/
+
+
+
$ calc_wannier < respack.in
+
+
+
+

(Optional) Check wannierization

+

If you want to check the quality of the wannierization, +you can plot the original and the wannier-interpolated band structure simultaneously.

+

First, compute the band structure with the following input file:

+

band_srvo3_r.in

+
&CONTROL
+ calculation = 'bands'
+  pseudo_dir = './'
+      prefix = 'srvo3'
+/
+&SYSTEM
+       ibrav = 0
+         nat = 5
+        ntyp = 3
+     ecutwfc = 120.000000
+     ecutrho = 480.000000
+     nbnd = 50
+/
+&ELECTRONS
+/
+CELL_PARAMETERS angstrom
+ 3.842500 0.000000 0.000000
+ 0.000000 3.842500 0.000000
+ 0.000000 0.000000 3.842500
+ATOMIC_SPECIES
+ Sr 87.620000 Sr_ONCV_PBE-1.0.upf
+ V 50.941500 V_ONCV_PBE-1.0.upf
+ O 15.999400 O_ONCV_PBE-1.0.upf
+ATOMIC_POSITIONS crystal
+ Sr 0.000000 0.000000 0.000000
+ V 0.500000 0.500000 0.500000
+ O 0.500000 0.000000 0.500000
+ O 0.000000 0.500000 0.500000
+ O 0.500000 0.500000 0.000000
+ K_POINTS crystal
+          50
+        0.0000000000    0.0000000000    0.0000000000    1.0
+        0.0714285714    0.0000000000    0.0000000000    1.0
+        0.1428571429    0.0000000000    0.0000000000    1.0
+        0.2142857143    0.0000000000    0.0000000000    1.0
+        0.2857142857    0.0000000000    0.0000000000    1.0
+        0.3571428571    0.0000000000    0.0000000000    1.0
+        0.4285714286    0.0000000000    0.0000000000    1.0
+        0.5000000000    0.0000000000    0.0000000000    1.0
+        0.5000000000    0.0714285714    0.0000000000    1.0
+        0.5000000000    0.1428571429    0.0000000000    1.0
+        0.5000000000    0.2142857143    0.0000000000    1.0
+        0.5000000000    0.2857142857    0.0000000000    1.0
+        0.5000000000    0.3571428571    0.0000000000    1.0
+        0.5000000000    0.4285714286    0.0000000000    1.0
+        0.5000000000    0.5000000000    0.0000000000    1.0
+        0.4545454545    0.4545454545    0.0000000000    1.0
+        0.4090909091    0.4090909091    0.0000000000    1.0
+        0.3636363636    0.3636363636    0.0000000000    1.0
+        0.3181818182    0.3181818182    0.0000000000    1.0
+        0.2727272727    0.2727272727    0.0000000000    1.0
+        0.2272727273    0.2272727273    0.0000000000    1.0
+        0.1818181818    0.1818181818    0.0000000000    1.0
+        0.1363636364    0.1363636364    0.0000000000    1.0
+        0.0909090909    0.0909090909    0.0000000000    1.0
+        0.0454545455    0.0454545455    0.0000000000    1.0
+        0.0000000000    0.0000000000    0.0000000000    1.0
+        0.0384615385    0.0384615385    0.0384615385    1.0
+        0.0769230769    0.0769230769    0.0769230769    1.0
+        0.1153846154    0.1153846154    0.1153846154    1.0
+        0.1538461538    0.1538461538    0.1538461538    1.0
+        0.1923076923    0.1923076923    0.1923076923    1.0
+        0.2307692308    0.2307692308    0.2307692308    1.0
+        0.2692307692    0.2692307692    0.2692307692    1.0
+        0.3076923077    0.3076923077    0.3076923077    1.0
+        0.3461538462    0.3461538462    0.3461538462    1.0
+        0.3846153846    0.3846153846    0.3846153846    1.0
+        0.4230769231    0.4230769231    0.4230769231    1.0
+        0.4615384615    0.4615384615    0.4615384615    1.0
+        0.5000000000    0.5000000000    0.5000000000    1.0
+        0.5000000000    0.4545454545    0.4545454545    1.0
+        0.5000000000    0.4090909091    0.4090909091    1.0
+        0.5000000000    0.3636363636    0.3636363636    1.0
+        0.5000000000    0.3181818182    0.3181818182    1.0
+        0.5000000000    0.2727272727    0.2727272727    1.0
+        0.5000000000    0.2272727273    0.2272727273    1.0
+        0.5000000000    0.1818181818    0.1818181818    1.0
+        0.5000000000    0.1363636364    0.1363636364    1.0
+        0.5000000000    0.0909090909    0.0909090909    1.0
+        0.5000000000    0.0454545455    0.0454545455    1.0
+        0.5000000000    0.0000000000    0.0000000000    1.0
+
+
+
$ mpiexec -np 4 pw.x -in band_srvo3_r.in
+
+
+

bands_srvo3.in

+
&BANDS
+prefix = "srvo3",
+outdir = "./",
+!filband = "band.dat"
+!lsym = .true.
+/
+
+
+
$ mpiexec -np 4 bands.x -in bands_srvo3.in
+
+
+
plot [][11:18] "bands.out.gnu" u 1:2 w p tit "Orig", 12.3116 tit "E_F", "dir-wan/dat.iband" u ($1*2.5731):2 tit "Wannier" w l
+
+
+../../_images/band_srvo3.png +
+
+
+

Dielectric matrix and Effective interaction

+

Next, we move on the calculation of the dielectric matrix with cRPA. +We use the program calc_chiqw (in src/calc_chiqw in RESPACK) as

+
$ mpiexec calc_chiqw < respack.in
+
+
+

where the input file is the same as above.

+

After we compute the dielectric matrix, we calculate the effective interaction \(U\) and \(J\) as

+
$ calc_w3d < respack.in
+$ calc_j3d < respack.in
+
+
+

The output of these program should be transformed into the wannier90 format by using the utility program +respack2wan90.py in bin/ directory of triqs.

+
$ respack2wan90.py srvo3
+
+
+

The command-line argument ("srvo3" in this case) must be the same as seedname in the DCore input.

+
+
+

DMFT calculation

+

srvo3.ini

+
[model]
+lattice = wannier90
+seedname = srvo3
+nelec = 1.0
+ncor = 1
+norb = 3
+interaction = respack
+bvec=[(1.627091,0.0,0.0),(0.0,1.627091,0.0),(0.0,0.0,1.627091)]
+
+[system]
+nk0 = 16
+nk1 = 16
+nk2 = 16
+beta = 40.0
+mu = 12.572260
+with_dc = True
+perform_tail_fit = True
+fit_max_moment = 8
+fit_min_w = 7.0
+fit_max_w = 18.0
+
+[impurity_solver]
+name = TRIQS/cthyb
+n_cycles{int} = 10000
+n_warmup_cycles{int} = 10000
+length_cycle{int} = 500
+move_double{bool} = True
+
+[control]
+max_step = 8
+
+[post.spectrum]
+broadening = 0.1
+nk_line = 50
+knode=[(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0),(R,0.5,0.5,0.5),(X,0.5,0.0,0.0),]
+
+[post.anacont]
+omega_max =2.0
+omega_min =-2.0
+Nomega = 400
+
+[post.anacont.pade]
+iomega_max = 6.0
+
+[post.check]
+omega_check = 30.0
+
+
+

Please see CT-QMC: TRIQS/cthyb for the details of the parameter setting.

+
+

Note

+

The parameter n_cycles{int} should be tuned in inverse proportion to the number of MPI processes. +The following result is obtained with 432 MPI processes at n_cycles{int} = 10000 +(70 seconds per DMFT cycle on ISSP system B). +If we want to compute by using 32 MPI processes at the same accuracy, +n_cycles{int} should be 10000*432/32=135000.

+
+
+

DMFT setup: dcore_pre

+
$ dcore_pre srvo3_respack.ini
+
+
+
+
+

Running the DMFT calculation: dcore

+
$ dcore srvo3_respack.ini
+
+
+
+
+

Post-processing and data analysis: dcore_anacont and dcore_spectrum

+
$ dcore_anacont srvo3_respack.ini
+$ dcore_spectrum srvo3_respack.ini
+$ cd post
+$ sed -e "s/every 10/every 3/g" akw.gp
+$ gnuplot akw.gp
+
+
+../../_images/akw_srvo33.png +

“x” indicates the original band structure.

+
+
+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file diff --git a/v4.0.0/warning_compatibility.html b/v4.0.0/warning_compatibility.html new file mode 100644 index 00000000..dd1c2cd0 --- /dev/null +++ b/v4.0.0/warning_compatibility.html @@ -0,0 +1,79 @@ + + + + + + + + <no title> — DCore documentation + + + + + + + + + + + + +
+
+
+
+ +
+

Warning

+

This document was written for ver.1.x, and might include descriptions incompatible with the latest version. +If you encounter some problem, see the release note of ver.2.0 and check the differences between ver.1.x and ver.2.0.

+
+ + +
+
+
+
+ +
+
+ + + + \ No newline at end of file