diff --git a/doc/basicnotions/images/structure.png b/doc/basicnotions/images/structure.png index ff3fce61..240a20ea 100644 Binary files a/doc/basicnotions/images/structure.png and b/doc/basicnotions/images/structure.png differ diff --git a/doc/basicnotions/images/structure.svg b/doc/basicnotions/images/structure.svg index 10196757..c334c5d3 100644 --- a/doc/basicnotions/images/structure.svg +++ b/doc/basicnotions/images/structure.svg @@ -1,950 +1,224 @@ - - + + + + - - - - image/svg+xml - - - - - - - OrbitalConstruction - - DFT codes(QE, ABINIT, SIESTA, FLEUR, VASP, WIEN2K, etc.) - - - wannier90 - - - - dcore_pre - - - - dcore - - - - dcore_post - - - - Hopping integral(wannier90 format) - - - - DMFT configuration(HDF5 file) - - - - DMFT result(HDF5 file) - - - - - - - - - - - Input parameterCorrelated shellU and J term k gridetc. - - - - - Input parameterTemperature,numercal (QMC) conditionetc. - - - - - - - - - - - - : External code - : Small input file - : Executable in this package - : Data file - - - OpenMX - - - openmx2dcore - + + + + + + + + DFT codes + (QE, ABINIT, SIESTA, + FLEUR, VASP, WIEN2K, etc.) + + + + + wannier90 + + + + + + dcore_pre + + + + + + dcore + + + + + + Hopping integral + (wannier90 format) + + + + + + DMFT configuration + (HDF5 file) + + + + + + DMFT result + (HDF5 file) + + + + + + + + + + + + + + + + + + + Input parameter + Correlated shell + U and J term + k grid + etc. + + + + + + + Input parameter + Temperature, + numercal (QMC) condition + etc. + + + + + + + + + + + + + + + : External code + + + : Small input file + + + : Executable in this package + + + : Data file + + + + + OpenMX + + + + + openmx2dcore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + \ No newline at end of file diff --git a/doc/basicnotions/images/structure_post.png b/doc/basicnotions/images/structure_post.png new file mode 100644 index 00000000..7e51fb5b Binary files /dev/null and b/doc/basicnotions/images/structure_post.png differ diff --git a/doc/basicnotions/images/structure_post.svg b/doc/basicnotions/images/structure_post.svg new file mode 100644 index 00000000..f49ca62b --- /dev/null +++ b/doc/basicnotions/images/structure_post.svg @@ -0,0 +1,234 @@ + + + + + + + + + + + + + dcore + + + + + + + + dcore_anacont + + + + + + + + DMFT result + + + (HDF5 file) + + + + + + + + + + + + + + + + + + + + + + + + : External code + + + + + : Small input file + + + + + : Executable in this package + + + + + : Data file + + + + + + + + + + + dcore_spectrum + + + + + + + + AC codes + + + + + + + or + + + + + + Input parameter + + + Real frequencies, + + + Hyperparmeters of AC, + + + etc. + + + + + + + + + + + + + Self energyin real-freqs + + + + + + + + + + + + + + + + + + + Input parameter + + + k-path, + + + etc. + + + + + + + + + + + + Spectrum,DoS, ... + + + + + + + + + + + \ No newline at end of file diff --git a/doc/basicnotions/structure.rst b/doc/basicnotions/structure.rst index d2563dd6..78010126 100644 --- a/doc/basicnotions/structure.rst +++ b/doc/basicnotions/structure.rst @@ -7,22 +7,34 @@ 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 is summarized below. +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 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``. + .. **DCore** is a set of DMFT (Dynamical Mean Field Theory) programs which works together with other first-principles calculation packages. **DCore** supports input hopping parameters in the wannier90 format. Simple preset models such as a tight-binding model on the Bethe lattice are also available. After the DMFT loop is finished, one can compute physical quantities such as the density of states and the momentum-resolved spectrum functions using the post-processing tool. -**DCore** consists of three layers: (i) interface layer, (ii) DMFT loop, and (iii) post-processing. -Those are respectively performed by the executables ``dcore_pre``, ``dcore``, and ``dcore_post``. -Input parameters are provided by a single text file, which is read by all the three programs. -Data generated by ``dcore_pre`` and ``dcore`` are severally stored in a file with HDF5 format and passed to the next process. +.. + **DCore** consists of three layers: (i) interface layer, (ii) DMFT loop, and (iii) post-processing. + Those are respectively performed by the executables ``dcore_pre``, ``dcore``, and ``dcore_anacont`` and ``dcore_spectrum``. + Input parameters are provided by a single text file, which is read by all the three programs. + Data generated by ``dcore_pre`` and ``dcore`` are severally stored in a file with HDF5 format and passed to the next process. (i) The interface layer ``dcore_pre`` @@ -64,10 +76,18 @@ The hopping parameters are given either for **preset models** (e.g., square latt 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) Post-processing ``dcore_post`` ------------------------------------- +(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_post`` computes some physical quantities from the converged solution of the DMFT loop. +``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 diff --git a/doc/conf.py b/doc/conf.py index 80f2112e..7701d95b 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -53,3 +53,31 @@ # overwrite css of html_theme def setup(app): app.add_css_file('dcore.css') + + + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ('index', 'dcore.tex', u'DCore Documentation', + u'DCore developers', 'manual', 'True'), +] diff --git a/doc/impuritysolvers/null.rst b/doc/impuritysolvers/null.rst index 558cd931..96a270c6 100644 --- a/doc/impuritysolvers/null.rst +++ b/doc/impuritysolvers/null.rst @@ -15,5 +15,5 @@ Note that, since self-energy is zero, one should introduce an artificial broaden :: - [tool] + [post.spectrum] broadening = 0.001 diff --git a/doc/impuritysolvers/pomerol/dmft_square_pomerol.ini b/doc/impuritysolvers/pomerol/dmft_square_pomerol.ini index 85428fa5..23399e78 100644 --- a/doc/impuritysolvers/pomerol/dmft_square_pomerol.ini +++ b/doc/impuritysolvers/pomerol/dmft_square_pomerol.ini @@ -25,10 +25,12 @@ sigma_mix = 0.5 time_reversal = True converge_tol = 1e-5 -[tool] +[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/doc/impuritysolvers/triqs_cthyb/cthyb.rst b/doc/impuritysolvers/triqs_cthyb/cthyb.rst index 40b91e75..f1879475 100644 --- a/doc/impuritysolvers/triqs_cthyb/cthyb.rst +++ b/doc/impuritysolvers/triqs_cthyb/cthyb.rst @@ -161,7 +161,7 @@ The original input file (without tail-fit) is as follows (dmft.ini): [control] max_step = 1 - [tool] + [post.check] omega_check = 30.0 We first execute the ordinary DMFT calculation: @@ -221,10 +221,10 @@ 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, ``omega_pade`` in the ``[tool]`` block. It specifies an energy cutoff for Matsubara frequency. -A reasonable choice of ``omega_pade`` is the maximum frequency +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 ``omega_pade=4.0`` is reasonable. +For example, in the case of figure (a) above, we can find that ``iomega_max=4.0`` is reasonable. Legendre filter ---------------