3
0
mirror of https://github.com/triqs/dft_tools synced 2024-09-08 20:04:49 +02:00

[doc] New documentation

* restructuring
* added user reference
* started working on user guide
* added schematic to structure
This commit is contained in:
Priyanka Seth 2015-03-12 00:01:12 +01:00
parent 3d577c294e
commit 8dc42b08ae
49 changed files with 2224 additions and 490 deletions

View File

@ -1,158 +0,0 @@
.. index:: DFT+DMFT calculation
.. highlight:: python
.. _DFTDMFTmain:
The DFT+DMFT calculation
========================
After having set up the hdf5 archive, we can now do our DFT+DMFT calculation. It consists of
initialisation steps, and the actual DMFT self consistency loop.
.. index:: initialisation of DFT+DMFT
Initialisation of the calculation
---------------------------------
Before doing the calculation, we have to intialize all the objects that we will need. The first thing is the
:class:`SumkDFT` class. It contains all basic routines that are necessary to perform a summation in k-space
to get the local quantities used in DMFT. It is initialized by::
from pytriqs.applications.dft.sumk_dft import *
SK = SumkDFT(hdf_file = filename)
This is the reference for the function:
.. function:: SumkDFT(hdf_file, h_field = 0.0, use_dft_blocks = False, dft_data = 'dft_input', symmcorr_data = 'dft_symmcorr_input', parproj_data = 'dft_parproj_input', symmpar_data = 'dft_symmpar_input', bands_data = 'dft_bands_input', transp_data = 'dft_transp_input', misc_data = 'dft_misc_input')
The parameters needed to initialise SumkDFT as as follows (with any default variables as shown above):
========================= ==================== ===========================================================================
Name Type Meaning
========================= ==================== ===========================================================================
hdf_file String Name of the main hdf5 file containing converted dft information.
h_field Scalar External magnetic field.
use_dft_blocks Boolean Analyse the structure of the density matrix at initialisation,
and identify non-zero matrix elements.
The DMFT calculation is then restricted to these matrix elements,
yielding a more efficient solution of the local interaction problem.
Degeneracies in orbital and spin space are also identified and stored for later use.
dft_data String hdf5 subgroup containing required DFT data.
symmcorr_data String hdf5 subgroup containing correlated shell symmetry data.
parproj_data String hdf5 subgroup containing partial projector data.
symmpar_data String hdf5 subgroup containing non-correlated shell symmetry data.
bands_data String hdf5 subgroup containing DFT band data.
transp_data String hdf5 subgroup containing optics/transport data.
misc_data String hdf5 subgroup containing miscellaneous DFT data.
========================= ==================== ===========================================================================
.. index:: Multiband solver
Setting up the Multi-Band Solver
--------------------------------
The next step is to setup the impurity solver.
For more details here, see the `CTHYB <http://ipht.cea.fr/triqs/1.2/applications/cthyb/>`_ documentation.
.. This is initialised as follows::
..
.. from pytriqs.applications.impurity_solvers.cthyb import *
.. beta = 40.0
.. gf_struct = SK.gf_struct_solver[0]
.. S = Solver(beta=beta, gf_struct=gf_struct)
..
.. The solver method is called later by this statement::
..
.. S.solve(h_loc=h_loc, **p)
..
.. where `p` represents the solve parameters.
..
.. There is a module that helps setting up the multiband CTQMC solver. It is loaded and initialized by::
..
.. from pytriqs.applications.dft.solver_multiband import *
.. S = SolverMultiBand(beta, n_orb, gf_struct = SK.gf_struct_solver[0], map=SK.map[0])
..
.. The necessary parameters are the inverse temperature `beta`, the Coulomb interaction `U_interact`, the Hund's rule coupling `J_hund`,
.. and the number of orbitals `n_orb`. There are again several optional parameters that allow the tailoring of the local Hamiltonian to
.. specific needs. They are:
..
.. * `gf_struct`: The block structure of the local density matrix given in the format calculated by :class:`SumkDFT`.
.. * `map`: If `gf_struct` is given as parameter, `map` also must be given. This is the mapping from the block structure to a general
.. up/down structure.
..
.. The solver method is called later by this statement::
..
.. S.solve(U_interact,J_hund,use_spinflip=False,use_matrix=True,
.. l=2,T=None, dim_reps=None, irep=None, n_cycles =10000,
.. length_cycle=200,n_warmup_cycles=1000)
..
.. The parameters for the Coulomb interaction `U_interact` and the Hund's coupling `J_hund` are necessary input parameters. The rest are optional
.. parameters for which default values are set. Generally, they should be reset for the problem at hand. Here is a description of the parameters:
..
.. * `use_matrix`: If `True`, the interaction matrix is calculated from Slater integrals, which are computed from `U_interact` and
.. `J_hund`. Otherwise, a Kanamori representation is used. Attention: We define the intraorbital interaction as
.. `U_interact`, the interorbital interaction for opposite spins as `U_interact-2*J_hund`, and interorbital for equal spins as
.. `U_interact-3*J_hund`.
.. * `T`: The matrix that transforms the interaction matrix from spherical harmonics to a symmetry-adapted basis. Only effective for Slater
.. parametrisation, i.e. `use_matrix=True`.
.. * `l`: The orbital quantum number. Again, only effective for Slater parametrisation, i.e. `use_matrix=True`.
.. * `use_spinflip`: If `True`, the full rotationally-invariant interaction is used. Otherwise, only density-density terms are
.. kept in the local Hamiltonian.
.. * `dim_reps`: If only a subset of the full d-shell is used as correlated orbtials, one can specify here the dimensions of all the subspaces
.. of the d-shell, i.e. t2g and eg. Only effective for Slater parametrisation.
.. * `irep`: The index in the list `dim_reps` of the subset that is used. Only effective for Slater parametrisation.
.. * `n_cycles`: Number of CTQMC cycles (a sequence of moves followed by a measurement) per core. The default value of 10000 is the minimum, and generally should be increased.
.. * `length_cycle`: Number of CTQMC moves per one cycle.
.. * `n_warmup_cycles`: Number of initial CTQMC cycles before measurements start. Usually of order of 10000, sometimes needs to be increased significantly.
..
.. Most of above parameters can be taken directly from the :class:`SumkDFT` class, without defining them by hand. We will see a specific example
.. at the end of this tutorial.
.. index:: DFT+DMFT loop, one-shot calculation
Doing the DMFT loop
-------------------
Having initialised the SumK class and the Solver, we can proceed with the DMFT loop itself. As explained in the tutorial, we have to
set up the loop over DMFT iterations and the self-consistency condition::
n_loops = 5
for iteration_number in range(n_loops) : # start the DMFT loop
SK.put_Sigma(Sigma_imp = [ S.Sigma ]) # Put self energy to the SumK class
chemical_potential = SK.calc_mu() # calculate the chemical potential for the given density
S.G_iw << SK.extract_G_loc()[0] # extract the local Green function
S.G0_iw << inverse(S.Sigma_iw + inverse(S.G_iw)) # finally get G0, the input for the Solver
S.solve(h_loc=h_loc, **p) # now solve the impurity problem
dm = S.G_iw.density() # Density matrix of the impurity problem
SK.calc_dc(dm, U_interact=U, J_hund=J, orb=0, use_dc_formula=dc_type) # Set the double counting term
SK.save(['chemical_potential','dc_imp','dc_energ']) # Save data in the hdf5 archive
These basic steps are enough to set up the basic DMFT Loop. For a detailed description of the :class:`SumkDFT` routines,
see the reference manual. After the self-consistency steps, the solution of the Anderson impurity problem is calculation by CTQMC.
Different to model calculations, we have to do a few more steps after this, because of the double-counting correction. We first
calculate the density of the impurity problem. Then, the routine `calc_dc` takes as parameters this density matrix, the
Coulomb interaction, Hund's rule coupling, and the type of double-counting that should be used. Possible values for `use_dc_formula` are:
* `0`: Full-localised limit
* `1`: DC formula as given in K. Held, Adv. Phys. 56, 829 (2007).
* `2`: Around-mean-field
At the end of the calculation, we can save the Greens function and self energy into a file::
from pytriqs.archive import HDFArchive
import pytriqs.utility.mpi as mpi
if mpi.is_master_node():
ar = HDFArchive("YourDFTDMFTcalculation.h5",'w')
ar["G"] = S.G_iw
ar["Sigma"] = S.Sigma_iw
This is it!
These are the essential steps to do a one-shot DFT+DMFT calculation. For full charge-self consistent calculations, there are some more things
to consider, which we will see later on.

BIN
doc/_static/logo_erc.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

View File

@ -3,4 +3,5 @@
<a href="http://www.cpht.polytechnique.fr"> <img style="width: 80px; margin: 10px 5px 0 5px" src='_static/logo_x.png' alt="Ecole Polytechnique"/> </a>
<br>
<a href="http://www.cnrs.fr"> <img style="width: 80px; margin: 10px 0 0 5px" src='_static/logo_cnrs.png' alt="CNRS"/> </a>
<img style="width: 80px; margin: 10px 0 0 5px" src='_static/logo_erc.jpg' alt="ERC"/>
</p>

View File

@ -12,16 +12,16 @@ package and TRIQS has been motivated by a scientific collaboration between the
research groups of Antoine Georges, Silke Biermann (Ecole Polytechnique),
Olivier Parcollet (CEA Saclay). A first step has been the definition of the
framework and the construction of the projective Wannier functions as input for
the DMFT calculations [#wien2k1]_. This has been followed by the introduction
of full charge self-consistency [#wien2k2]_, necessary for total energy
the DMFT calculations [#dft_tools1]_. This has been followed by the introduction
of full charge self-consistency [#dft_tools2]_, necessary for total energy
calculations.
**Developers**: M. Aichhorn, L. Pourovskii, V. Vildosola, C. Martins
**Related papers**:
.. [#wien2k1] `M. Aichhorn, L. Pourovskii, V. Vildosola, M. Ferrero, O. Parcollet, T. Miyake, A. Georges, and S. Biermann, Phys. Rev. B 80, 085101 (2009) <http://link.aps.org/doi/10.1103/PhysRevB.80.085101>`_ (:download:`bibtex file <wien2k1.bib>`)
.. [#wien2k2] `M. Aichhorn, L. Pourovskii, and A. Georges, Phys. Rev. B 84, 054529 (2011) <http://link.aps.org/doi/10.1103/PhysRevB.84.054529>`_ (:download:`bibtex file <wien2k2.bib>`)
.. [#dft_tools1] `M. Aichhorn, L. Pourovskii, V. Vildosola, M. Ferrero, O. Parcollet, T. Miyake, A. Georges, and S. Biermann, Phys. Rev. B 80, 085101 (2009) <http://link.aps.org/doi/10.1103/PhysRevB.80.085101>`_ (:download:`bibtex file <dft_tools1.bib>`)
.. [#dft_tools2] `M. Aichhorn, L. Pourovskii, and A. Georges, Phys. Rev. B 84, 054529 (2011) <http://link.aps.org/doi/10.1103/PhysRevB.84.054529>`_ (:download:`bibtex file <dft_tools2.bib>`)
This application is a part of our scientific work and we would appreciate if
projects using it will include a citation to the above relevant papers. In

View File

@ -0,0 +1,5 @@
Introduction to DFT+DMFT
========================
.. warning::
TO BE WRITTEN!

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,472 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="940.28571"
height="366.86459"
id="svg2"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="New document 1">
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="316.17251"
inkscape:cy="121.23922"
inkscape:document-units="px"
inkscape:current-layer="g7262"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1056"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1"
fit-margin-top="2"
fit-margin-left="2"
fit-margin-right="2"
fit-margin-bottom="2" />
<defs
id="defs4">
<marker
style="overflow:visible"
id="Arrow2Lend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
id="path4287"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lstart"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lstart">
<path
transform="matrix(1.1,0,0,1.1,1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
id="path4284"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lend-2"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
id="path4287-2"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lend-8"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
id="path4287-1"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lend-8-4"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
id="path4287-1-0"
inkscape:connector-curvature="0" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Lend-8-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
id="path4287-1-06"
inkscape:connector-curvature="0" />
</marker>
</defs>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-45.57142,-445.06094)"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<rect
y="525.55212"
x="48.904232"
height="147.90581"
width="176.47723"
id="rect2985"
style="fill:none;stroke:#000000;stroke-width:2.66562319;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<rect
y="525.55212"
x="301.28519"
height="147.90581"
width="176.47723"
id="rect2985-0"
style="fill:none;stroke:#000000;stroke-width:2.66562319;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<rect
y="525.55212"
x="553.66608"
height="147.90581"
width="176.47723"
id="rect2985-0-3"
style="fill:none;stroke:#000000;stroke-width:2.66562319;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<rect
y="525.55212"
x="806.04706"
height="147.90581"
width="176.47723"
id="rect2985-0-3-0"
style="fill:none;stroke:#000000;stroke-width:2.66562319;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<flowRoot
transform="translate(36.91238,327.14359)"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="flowRoot3809"
xml:space="preserve"><flowRegion
id="flowRegion3811"><rect
y="257.20096"
x="75.761444"
height="58.588848"
width="121.21831"
id="rect3813" /></flowRegion><flowPara
style="font-size:24px"
id="flowPara3815">DFT</flowPara></flowRoot> <flowRoot
transform="translate(0,308.2677)"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="flowRoot3817"
xml:space="preserve"><flowRegion
id="flowRegion3819"><rect
y="244.06897"
x="327.28943"
height="101.01525"
width="132.32999"
id="rect3821" /></flowRegion><flowPara
id="flowPara3823">OrbitalConstruction</flowPara><flowPara
id="flowPara3825" /></flowRoot> <flowRoot
transform="translate(-10.255493,334.56156)"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="flowRoot3827"
xml:space="preserve"><flowRegion
id="flowRegion3829"><rect
style="text-align:center;text-anchor:middle"
y="234.9776"
x="312.13715"
height="138.39091"
width="174.75639"
id="rect3831" /></flowRegion><flowPara
style="font-size:24px;text-align:center;text-anchor:middle"
id="flowPara3833">Local orbital construction</flowPara></flowRoot> <flowRoot
transform="translate(-6.7847595,318.53031)"
style="font-size:24px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="flowRoot3835"
xml:space="preserve"><flowRegion
id="flowRegion3837"><rect
style="font-size:24px;text-align:center;text-anchor:middle"
y="235.98775"
x="566.69556"
height="120.20815"
width="162.63457"
id="rect3839" /></flowRegion><flowPara
id="flowPara3841">Conversion to hdf5 archive</flowPara></flowRoot> <flowRoot
transform="translate(-2.4213562,357.42484)"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="flowRoot3843"
xml:space="preserve"><flowRegion
id="flowRegion3845"><rect
y="226.89638"
x="814.18292"
height="128.28937"
width="162.63457"
id="rect3847" /></flowRegion><flowPara
style="font-size:24px;text-align:center;text-anchor:middle"
id="flowPara3849">DMFT</flowPara></flowRoot> <rect
transform="translate(0,308.2677)"
y="423.87613"
x="135.36044"
height="24.243662"
width="68.690376"
id="rect3853"
style="fill:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" />
<rect
y="675.57526"
x="133.37148"
height="134.3503"
width="764.68549"
id="rect3855"
style="fill:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path4047"
d="m 135.12518,673.29337 0,84.84755 759.86734,0"
style="opacity:0.5;fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 4;stroke-dashoffset:0;marker-start:url(#Arrow2Lstart);marker-end:none" />
<path
inkscape:connector-curvature="0"
id="path4047-7"
d="m 894.28568,673.29074 0,84.85281"
style="opacity:0.5;fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 4;stroke-dashoffset:0;marker-start:none;marker-end:none" />
<flowRoot
transform="translate(15.418616,300.3205)"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
id="flowRoot6758"
xml:space="preserve"><flowRegion
id="flowRegion6760"><rect
y="425.89642"
x="354.56354"
height="60.609154"
width="426.28436"
id="rect6762" /></flowRegion><flowPara
style="font-size:24px"
id="flowPara6764">charge self-consistency</flowPara><flowPara
style="font-size:24px"
id="flowPara6766" /></flowRoot> <path
inkscape:connector-curvature="0"
id="path6768"
d="m 225.71428,599.54026 72.73098,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)" />
<path
inkscape:connector-curvature="0"
id="path6768-9"
d="m 478.09523,599.54026 72.73098,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)" />
<path
inkscape:connector-curvature="0"
id="path6768-3"
d="m 731.53258,599.54026 72.73098,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)" />
<g
id="g7262"
transform="translate(610.13214,375.77675)">
<g
transform="matrix(0.5188263,0,0,0.5188263,-320.97653,401.99967)"
id="g10207">
<g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="g10209"
transform="matrix(1.0629921,0,0,-1.0629921,-186.02362,789.27165)"
xml:space="preserve"
stroke-miterlimit="10.433"
font-style="normal"
font-variant="normal"
font-weight="normal"
font-stretch="normal"
font-size-adjust="none"
letter-spacing="normal"
word-spacing="normal"><g
id="g11293"
transform="matrix(1,0,0,-1,239.83153,1485.8696)"><g
word-spacing="normal"
letter-spacing="normal"
font-size-adjust="none"
font-stretch="normal"
font-weight="normal"
font-variant="normal"
font-style="normal"
stroke-miterlimit="10.433"
xml:space="preserve"
transform="matrix(1.0629921,0,0,-1.0629921,-186.02362,789.27165)"
id="content"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"><path
id="path11296"
d="m 470.61,421.95 0.21,1.28 3.39,13.56 c 0.43,1.74 0.54,1.89 2.68,1.89 h 4.79 c 4.14,0 6.78,-1.34 6.78,-4.78 0,-1.95 -1,-6.23 -2.94,-8.03 -2.5,-2.23 -5.48,-2.64 -7.69,-2.64 h -7.01 l -0.21,-1.28 h 8.47 c 7.08,0 14,5.17 14,10.75 0,3.84 -3.28,7.53 -9.81,7.53 h -16.14 c -0.95,0 -1.5,0 -1.5,-0.95 0,-0.6 0.45,-0.6 1.45,-0.6 0.64,0 1.55,-0.04 2.14,-0.09 0.8,-0.11 1.1,-0.25 1.1,-0.8 0,-0.2 -0.05,-0.36 -0.21,-0.95 l -6.67,-26.75 c -0.5,-1.95 -0.59,-2.34 -4.53,-2.34 -0.84,0 -1.39,0 -1.39,-0.96 0,-0.59 0.59,-0.59 0.73,-0.59 1.41,0 4.94,0.16 6.33,0.16 1.05,0 2.14,-0.07 3.19,-0.07 1.11,0 2.2,-0.09 3.25,-0.09 0.34,0 0.98,0 0.98,1 0,0.55 -0.43,0.55 -1.39,0.55 -1.84,0 -3.23,0 -3.23,0.89 0,0.29 0.09,0.54 0.14,0.84 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /><path
id="path11298"
d="m 502.96,432.64 v 15.75 l -6.52,-0.28 v -1.96 c 2.13,0 2.33,0 2.33,-1.44 v -18.56 h -2.33 v -1.95 c 0.2,0 2.81,0.14 4.31,0.14 1.68,0 4.29,-0.14 4.33,-0.14 v 1.95 h -2.34 v 3.66 l 2.4,1.7 4.4,-4.76 c 0.28,-0.32 0.31,-0.36 0.31,-0.39 0,-0.21 -0.46,-0.21 -0.74,-0.21 v -1.95 c 1.5,0.06 3.04,0.14 4.54,0.14 1.26,0 2.48,-0.03 3.73,-0.14 v 1.95 c -1.05,0 -1.78,0 -2.1,0.11 -0.25,0.03 -0.31,0.1 -0.73,0.52 l -6.34,6.9 4.98,3.55 c 0.5,0.34 0.71,0.48 3.21,0.48 v 1.96 c -0.94,-0.06 -1.91,-0.14 -2.85,-0.14 -1.55,0 -4.33,0.14 -4.5,0.14 v -1.96 c 0.45,0 0.56,-0.09 0.7,-0.2 -0.07,-0.08 -0.32,-0.25 -0.42,-0.31 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /><path
id="path11300"
d="m 502.68,396.67 -0.01,-0.07 -0.02,-0.07 -0.02,-0.07 -0.02,-0.08 -0.02,-0.07 -0.01,-0.08 -0.04,-0.16 -0.04,-0.16 -0.05,-0.16 -0.03,-0.16 -0.02,-0.08 -0.02,-0.07 -0.02,-0.08 -0.02,-0.07 -0.02,-0.07 -0.01,-0.07 -0.02,-0.07 -0.01,-0.06 -0.02,-0.06 -0.01,-0.06 -0.01,-0.05 -0.01,-0.05 -0.01,-0.05 -0.01,-0.04 0,-0.03 -0.01,-0.03 0,-0.03 0,-0.01 c 0,-0.77 0.62,-1.11 1.17,-1.11 0.64,0 1.19,0.45 1.36,0.76 0.19,0.31 0.45,1.42 0.64,2.16 0.17,0.65 0.55,2.26 0.77,3.14 0.2,0.76 0.4,1.53 0.59,2.33 0.38,1.5 0.38,1.56 1.08,2.65 1.11,1.71 2.86,3.69 5.56,3.69 1.95,0 2.06,-1.61 2.06,-2.44 0,-2.09 -1.5,-5.95 -2.06,-7.42 -0.37,-0.98 -0.52,-1.3 -0.52,-1.89 0,-1.84 1.54,-2.98 3.32,-2.98 3.48,0 5.01,4.79 5.01,5.32 0,0.46 -0.45,0.46 -0.56,0.46 -0.48,0 -0.52,-0.21 -0.65,-0.6 -0.8,-2.78 -2.3,-4.22 -3.69,-4.22 -0.74,0 -0.88,0.49 -0.88,1.22 0,0.8 0.17,1.25 0.8,2.83 0.42,1.08 1.84,4.77 1.84,6.72 0,0.56 0,2.03 -1.28,3.03 -0.59,0.45 -1.61,0.94 -3.25,0.94 -3.12,0 -5.05,-2.05 -6.15,-3.52 -0.29,2.97 -2.77,3.52 -4.54,3.52 -2.89,0 -4.84,-1.77 -5.89,-3.16 -0.25,2.39 -2.29,3.16 -3.73,3.16 -1.5,0 -2.3,-1.08 -2.75,-1.88 -0.77,-1.28 -1.25,-3.28 -1.25,-3.45 0,-0.45 0.48,-0.45 0.59,-0.45 0.49,0 0.52,0.11 0.77,1.04 0.51,2.07 1.19,3.77 2.55,3.77 0.9,0 1.14,-0.77 1.14,-1.7 0,-0.67 -0.32,-1.96 -0.57,-2.89 -0.23,-0.96 -0.57,-2.38 -0.76,-3.14 l -1.11,-4.47 c -0.14,-0.44 -0.35,-1.32 -0.35,-1.42 0,-0.77 0.63,-1.11 1.19,-1.11 0.63,0 1.17,0.45 1.36,0.76 0.17,0.31 0.45,1.42 0.63,2.16 0.17,0.65 0.54,2.26 0.76,3.14 0.21,0.76 0.42,1.53 0.6,2.33 0.37,1.43 0.45,1.7 1.45,3.14 0.98,1.39 2.62,3.2 5.23,3.2 2.02,0 2.05,-1.78 2.05,-2.44 0,-0.87 -0.09,-1.33 -0.59,-3.28 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /><path
id="path11302"
d="m 531.71,408.2 0,0.03 0.01,0.02 0,0.03 0.01,0.03 0.01,0.04 0,0.03 0.01,0.03 0,0.04 0,0.03 0.01,0.03 0,0.04 0,0.03 0.01,0.04 0,0.03 0,0.03 0,0.03 c 0,0.04 0,0.49 -0.55,0.49 -0.04,0 -2.03,-0.17 -2.26,-0.17 -0.68,-0.07 -1.3,-0.1 -1.96,-0.17 -0.56,-0.04 -0.98,-0.07 -0.98,-0.8 0,-0.49 0.48,-0.49 0.91,-0.49 1.67,0 1.67,-0.21 1.67,-0.53 0,-0.2 -0.17,-0.9 -0.32,-1.36 l -1.73,-7.03 c -0.87,-3.48 -1.05,-4.19 -1.05,-4.33 0,-0.48 0.52,-0.48 0.66,-0.48 h 0.56 c 3.1,0.48 7.53,2.12 11.25,5.44 4.74,4.22 5.44,8.75 5.44,8.81 0,0.62 -0.48,1.11 -1.19,1.11 -1.22,0 -1.45,-0.97 -1.78,-1.94 -1.39,-4.95 -6.06,-10.28 -11.98,-12.03 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /></g></g></g> </g>
<g
id="g10426"
transform="matrix(0.5188263,0,0,0.5188263,-294.65772,221.99331)"
style="opacity:0.5">
<g
word-spacing="normal"
letter-spacing="normal"
font-size-adjust="none"
font-stretch="normal"
font-weight="normal"
font-variant="normal"
font-style="normal"
stroke-miterlimit="10.433"
xml:space="preserve"
transform="matrix(1.0629921,0,0,-1.0629921,-186.02362,789.27165)"
id="g10857"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"><path
id="path10429"
d="m 457.16,397.57 -0.01,-0.02 0,-0.03 -0.01,-0.03 0,-0.02 -0.01,-0.03 -0.01,-0.02 0,-0.02 -0.01,-0.03 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.04 -0.01,-0.03 0,-0.03 -0.01,-0.03 -0.01,-0.03 0,-0.03 -0.01,-0.02 0,-0.02 0,-0.03 -0.01,-0.02 0,-0.02 0,-0.01 0,-0.02 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.02 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.02 c 0,-0.74 0.55,-1.35 1.39,-1.35 1.05,0 1.64,0.91 1.75,1.05 0.23,0.45 1.84,7.13 3.19,12.52 0.98,-2 2.58,-3.35 4.92,-3.35 l -0.05,1.1 c -3.48,0 -4.28,3.98 -4.28,4.43 0,0.21 0.25,1.19 0.39,1.85 1.41,5.58 1.91,7.37 3,9.36 2.14,3.64 4.63,4.73 6.17,4.73 1.85,0 3.44,-1.44 3.44,-4.87 0,-2.75 -1.44,-8.33 -2.78,-10.77 -1.66,-3.14 -4.05,-4.73 -5.94,-4.73 h 0 l 0.05,-1.1 c 5.83,0 12.27,7.03 12.27,14.46 0,5.28 -3.3,8.1 -6.94,8.1 -4.83,0 -10.06,-4.98 -11.55,-11.06 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /><path
id="path10431"
d="m 497.8,394.25 0,0.02 0,0.03 0,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.02 -0.01,0.02 -0.02,0.02 -0.01,0.03 -0.02,0.02 -0.01,0.03 -0.03,0.03 -0.02,0.03 -0.03,0.03 -0.03,0.04 -0.01,0.02 -0.02,0.02 -0.01,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.03 -0.02,0.02 -0.03,0.02 -0.02,0.03 -0.02,0.02 -0.03,0.03 -0.02,0.03 -0.03,0.03 -0.03,0.03 -0.02,0.03 -0.03,0.03 -0.04,0.03 -0.03,0.03 -0.03,0.04 -0.03,0.03 -0.04,0.04 -0.04,0.03 -0.03,0.04 -0.04,0.04 c -6.22,6.28 -7.82,15.69 -7.82,23.31 0,8.67 1.9,17.35 8.02,23.56 0.64,0.61 0.64,0.71 0.64,0.86 0,0.35 -0.19,0.49 -0.48,0.49 -0.5,0 -4.99,-3.38 -7.93,-9.7 -2.54,-5.49 -3.14,-11.02 -3.14,-15.21 0,-3.89 0.55,-9.9 3.29,-15.54 2.98,-6.13 7.28,-9.36 7.78,-9.36 0.29,0 0.48,0.14 0.48,0.5 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /><path
id="path10433"
d="m 510.74,423 v 5.62 l -8.26,-0.41 v -2.34 c 3.09,0 3.43,0 3.43,-1.94 v -15.39 h -3.43 v -2.34 c 1.75,0.05 3.98,0.16 6.28,0.16 1.89,0 5.08,0 6.87,-0.16 v 2.34 h -4.34 v 8.72 c 0,3.49 1.25,9.56 6.23,9.56 -0.04,-0.04 -0.95,-0.84 -0.95,-2.29 0,-2.03 1.59,-3.03 3.05,-3.03 1.43,0 3.03,1.04 3.03,3.03 0,2.64 -2.69,4.09 -5.28,4.09 -3.49,0 -5.47,-2.5 -6.63,-5.62 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /><path
id="path10435"
d="m 538.66,418.65 0,0.37 -0.01,0.39 -0.01,0.39 -0.01,0.41 -0.04,0.84 -0.06,0.88 -0.08,0.92 -0.11,0.95 -0.13,0.97 -0.17,1.01 -0.19,1.02 -0.23,1.03 -0.27,1.05 -0.3,1.06 -0.35,1.07 -0.4,1.07 -0.21,0.53 -0.22,0.53 -0.24,0.53 -0.25,0.53 c -2.98,6.12 -7.27,9.36 -7.77,9.36 -0.29,0 -0.5,-0.19 -0.5,-0.49 0,-0.15 0,-0.25 0.94,-1.15 4.89,-4.92 7.73,-12.85 7.73,-23.27 0,-8.51 -1.84,-17.28 -8.03,-23.56 -0.64,-0.59 -0.64,-0.7 -0.64,-0.84 0,-0.3 0.21,-0.5 0.5,-0.5 0.5,0 4.97,3.39 7.92,9.71 2.54,5.47 3.13,11 3.13,15.19 z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke-width:0" /></g> </g>
<g
transform="matrix(0.5188263,0,0,0.5188263,-532.249,4.641191)"
id="g10637">
<g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="g10639"
transform="matrix(1.0629921,0,0,-1.0629921,-186.02362,789.27165)"
xml:space="preserve"
stroke-miterlimit="10.433"
font-style="normal"
font-variant="normal"
font-weight="normal"
font-stretch="normal"
font-size-adjust="none"
letter-spacing="normal"
word-spacing="normal"><polygon
style="fill:#000000;stroke-width:0"
points="481.05,453.38 474.38,446.6 475.27,445.71 481.05,450.79 486.79,445.71 487.68,446.6 "
id="polygon10641" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 493.54,436.39 0.04,0.16 0.04,0.16 0.04,0.15 0.04,0.14 0.04,0.14 0.04,0.13 0.04,0.12 0.05,0.11 0.05,0.11 0.05,0.11 0.06,0.09 0.07,0.09 0.07,0.09 0.08,0.08 0.09,0.07 0.09,0.07 0.11,0.06 0.11,0.06 0.13,0.05 0.14,0.05 0.15,0.04 0.16,0.04 0.09,0.02 0.09,0.02 0.09,0.01 0.1,0.02 0.1,0.01 0.1,0.01 0.11,0.02 0.11,0.01 0.12,0.01 0.12,0 0.13,0.01 0.13,0.01 0.13,0.01 0.14,0 0.14,0 0.15,0.01 0.15,0 0.16,0 0.16,0 0.17,0 c 1.3,0 1.69,0 1.69,1 0,0.55 -0.55,0.55 -0.7,0.55 -1.39,0 -4.97,-0.16 -6.38,-0.16 -1.44,0 -4.98,0.16 -6.42,0.16 -0.39,0 -0.95,0 -0.95,-1 0,-0.55 0.45,-0.55 1.4,-0.55 0.1,0 1.05,0 1.89,-0.09 0.89,-0.11 1.35,-0.16 1.35,-0.8 0,-0.2 -0.05,-0.31 -0.21,-0.95 l -2.98,-12.16 h -15.2 l 2.95,11.71 c 0.44,1.79 0.59,2.29 4.17,2.29 1.3,0 1.71,0 1.71,1 0,0.55 -0.55,0.55 -0.71,0.55 -1.39,0 -4.98,-0.16 -6.37,-0.16 -1.44,0 -4.99,0.16 -6.42,0.16 -0.41,0 -0.96,0 -0.96,-1 0,-0.55 0.46,-0.55 1.39,-0.55 0.11,0 1.05,0 1.91,-0.09 0.89,-0.11 1.34,-0.16 1.34,-0.8 0,-0.2 -0.06,-0.36 -0.2,-0.95 l -6.67,-26.75 c -0.5,-1.95 -0.61,-2.34 -4.55,-2.34 -0.89,0 -1.34,0 -1.34,-1 0,-0.55 0.61,-0.55 0.7,-0.55 1.39,0 4.94,0.16 6.33,0.16 1.05,0 2.14,-0.07 3.19,-0.07 1.09,0 2.18,-0.09 3.23,-0.09 0.41,0 1,0 1,1 0,0.55 -0.45,0.55 -1.39,0.55 -1.84,0 -3.23,0 -3.23,0.89 0,0.29 0.09,0.54 0.14,0.84 l 3.39,13.66 H 486 c -2.09,-8.27 -3.23,-13 -3.43,-13.75 -0.49,-1.6 -1.44,-1.64 -4.53,-1.64 -0.75,0 -1.19,0 -1.19,-1 0,-0.55 0.59,-0.55 0.69,-0.55 1.4,0 4.93,0.16 6.32,0.16 1.05,0 2.14,-0.07 3.19,-0.07 1.11,0 2.2,-0.09 3.25,-0.09 0.39,0 0.99,0 0.99,1 0,0.55 -0.44,0.55 -1.4,0.55 -1.84,0 -3.23,0 -3.23,0.89 0,0.29 0.09,0.54 0.14,0.84 z"
id="path10643" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 517.48,394.25 0,0.02 0,0.03 0,0.01 0,0.02 0,0.01 -0.01,0.02 0,0.01 -0.01,0.02 -0.01,0.02 -0.01,0.02 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.03 -0.02,0.03 -0.03,0.03 -0.02,0.03 -0.03,0.04 -0.02,0.02 -0.01,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.03 -0.02,0.02 -0.02,0.02 -0.02,0.03 -0.03,0.02 -0.02,0.03 -0.03,0.03 -0.02,0.03 -0.03,0.03 -0.03,0.03 -0.03,0.03 -0.03,0.03 -0.03,0.03 -0.04,0.04 -0.03,0.03 -0.04,0.04 -0.03,0.03 -0.04,0.04 -0.04,0.04 c -6.22,6.28 -7.81,15.69 -7.81,23.31 0,8.67 1.89,17.35 8.01,23.56 0.64,0.61 0.64,0.71 0.64,0.86 0,0.35 -0.18,0.49 -0.48,0.49 -0.5,0 -4.98,-3.38 -7.92,-9.7 -2.55,-5.49 -3.14,-11.02 -3.14,-15.21 0,-3.89 0.54,-9.9 3.28,-15.54 2.98,-6.13 7.28,-9.36 7.78,-9.36 0.3,0 0.48,0.14 0.48,0.5 z"
id="path10645" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 530.97,418.01 v 22.77 l -8.81,-0.41 v -2.34 c 3.09,0 3.44,0 3.44,-1.94 v -27.55 h -3.44 v -2.34 c 1.84,0.05 4.19,0.16 5.99,0.16 1.84,0 4.23,-0.11 6.01,-0.16 v 2.34 h -3.44 v 6.33 c 1.46,1.14 1.85,1.44 2.85,2.14 l 5.03,-6.28 c 0.45,-0.59 1.25,-1.59 1.25,-1.73 0,-0.46 -0.89,-0.46 -1.55,-0.46 v -2.34 c 1.5,0.09 5.83,0.16 6.08,0.16 1.8,0 3.48,-0.07 5.19,-0.16 v 2.34 h -0.86 c -2.14,0 -2.28,0.21 -2.94,1 l -8.42,10.5 6.48,5.03 c 0.7,0.57 1.14,0.91 4.49,0.91 v 2.34 c -1.35,-0.15 -2.6,-0.15 -3.89,-0.15 -1.35,0 -4.58,0.11 -5.72,0.15 v -2.34 c 1.14,0 1.28,-0.16 1.69,-0.55 z"
id="path10647" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 565.06,418.65 0,0.37 0,0.39 -0.01,0.39 -0.02,0.41 -0.04,0.84 -0.06,0.88 -0.08,0.92 -0.1,0.95 -0.14,0.97 -0.16,1.01 -0.2,1.02 -0.23,1.03 -0.27,1.05 -0.3,1.06 -0.35,1.07 -0.39,1.07 -0.22,0.53 -0.22,0.53 -0.24,0.53 -0.25,0.53 c -2.98,6.12 -7.26,9.36 -7.76,9.36 -0.3,0 -0.5,-0.19 -0.5,-0.49 0,-0.15 0,-0.25 0.93,-1.15 4.89,-4.92 7.74,-12.85 7.74,-23.27 0,-8.51 -1.85,-17.28 -8.03,-23.56 -0.64,-0.59 -0.64,-0.7 -0.64,-0.84 0,-0.3 0.2,-0.5 0.5,-0.5 0.5,0 4.96,3.39 7.92,9.71 2.53,5.47 3.12,11 3.12,15.19 z"
id="path10649" /></g> </g>
<flowRoot
xml:space="preserve"
id="flowRoot11426"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
transform="translate(-599.7987,-36.094479)"><flowRegion
id="flowRegion11428"><rect
id="rect11430"
width="59.598999"
height="61.619305"
x="742.4621"
y="201.64256" /></flowRegion><flowPara
id="flowPara11432"
style="font-size:24px">h5</flowPara></flowRoot> <g
transform="matrix(0.5188263,0,0,0.5188263,-402.04235,-88.167881)"
id="g10637-6">
<g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="g10639-9"
transform="matrix(1.0629921,0,0,-1.0629921,-186.02362,789.27165)"
xml:space="preserve"
stroke-miterlimit="10.433"
font-style="normal"
font-variant="normal"
font-weight="normal"
font-stretch="normal"
font-size-adjust="none"
letter-spacing="normal"
word-spacing="normal"><polygon
style="fill:#000000;stroke-width:0"
points="481.05,450.79 486.79,445.71 487.68,446.6 481.05,453.38 474.38,446.6 475.27,445.71 "
id="polygon10641-3" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 493.54,436.39 0.04,0.16 0.04,0.16 0.04,0.15 0.04,0.14 0.04,0.14 0.04,0.13 0.04,0.12 0.05,0.11 0.05,0.11 0.05,0.11 0.06,0.09 0.07,0.09 0.07,0.09 0.08,0.08 0.09,0.07 0.09,0.07 0.11,0.06 0.11,0.06 0.13,0.05 0.14,0.05 0.15,0.04 0.16,0.04 0.09,0.02 0.09,0.02 0.09,0.01 0.1,0.02 0.1,0.01 0.1,0.01 0.11,0.02 0.11,0.01 0.12,0.01 0.12,0 0.13,0.01 0.13,0.01 0.13,0.01 0.14,0 0.14,0 0.15,0.01 0.15,0 0.16,0 0.16,0 0.17,0 c 1.3,0 1.69,0 1.69,1 0,0.55 -0.55,0.55 -0.7,0.55 -1.39,0 -4.97,-0.16 -6.38,-0.16 -1.44,0 -4.98,0.16 -6.42,0.16 -0.39,0 -0.95,0 -0.95,-1 0,-0.55 0.45,-0.55 1.4,-0.55 0.1,0 1.05,0 1.89,-0.09 0.89,-0.11 1.35,-0.16 1.35,-0.8 0,-0.2 -0.05,-0.31 -0.21,-0.95 l -2.98,-12.16 h -15.2 l 2.95,11.71 c 0.44,1.79 0.59,2.29 4.17,2.29 1.3,0 1.71,0 1.71,1 0,0.55 -0.55,0.55 -0.71,0.55 -1.39,0 -4.98,-0.16 -6.37,-0.16 -1.44,0 -4.99,0.16 -6.42,0.16 -0.41,0 -0.96,0 -0.96,-1 0,-0.55 0.46,-0.55 1.39,-0.55 0.11,0 1.05,0 1.91,-0.09 0.89,-0.11 1.34,-0.16 1.34,-0.8 0,-0.2 -0.06,-0.36 -0.2,-0.95 l -6.67,-26.75 c -0.5,-1.95 -0.61,-2.34 -4.55,-2.34 -0.89,0 -1.34,0 -1.34,-1 0,-0.55 0.61,-0.55 0.7,-0.55 1.39,0 4.94,0.16 6.33,0.16 1.05,0 2.14,-0.07 3.19,-0.07 1.09,0 2.18,-0.09 3.23,-0.09 0.41,0 1,0 1,1 0,0.55 -0.45,0.55 -1.39,0.55 -1.84,0 -3.23,0 -3.23,0.89 0,0.29 0.09,0.54 0.14,0.84 l 3.39,13.66 H 486 c -2.09,-8.27 -3.23,-13 -3.43,-13.75 -0.49,-1.6 -1.44,-1.64 -4.53,-1.64 -0.75,0 -1.19,0 -1.19,-1 0,-0.55 0.59,-0.55 0.69,-0.55 1.4,0 4.93,0.16 6.32,0.16 1.05,0 2.14,-0.07 3.19,-0.07 1.11,0 2.2,-0.09 3.25,-0.09 0.39,0 0.99,0 0.99,1 0,0.55 -0.44,0.55 -1.4,0.55 -1.84,0 -3.23,0 -3.23,0.89 0,0.29 0.09,0.54 0.14,0.84 z"
id="path10643-5" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 517.48,394.25 0,0.02 0,0.03 0,0.01 0,0.02 0,0.01 -0.01,0.02 0,0.01 -0.01,0.02 -0.01,0.02 -0.01,0.02 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.03 -0.02,0.03 -0.03,0.03 -0.02,0.03 -0.03,0.04 -0.02,0.02 -0.01,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.03 -0.02,0.02 -0.02,0.02 -0.02,0.03 -0.03,0.02 -0.02,0.03 -0.03,0.03 -0.02,0.03 -0.03,0.03 -0.03,0.03 -0.03,0.03 -0.03,0.03 -0.03,0.03 -0.04,0.04 -0.03,0.03 -0.04,0.04 -0.03,0.03 -0.04,0.04 -0.04,0.04 c -6.22,6.28 -7.81,15.69 -7.81,23.31 0,8.67 1.89,17.35 8.01,23.56 0.64,0.61 0.64,0.71 0.64,0.86 0,0.35 -0.18,0.49 -0.48,0.49 -0.5,0 -4.98,-3.38 -7.92,-9.7 -2.55,-5.49 -3.14,-11.02 -3.14,-15.21 0,-3.89 0.54,-9.9 3.28,-15.54 2.98,-6.13 7.28,-9.36 7.78,-9.36 0.3,0 0.48,0.14 0.48,0.5 z"
id="path10645-0" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 530.97,418.01 v 22.77 l -8.81,-0.41 v -2.34 c 3.09,0 3.44,0 3.44,-1.94 v -27.55 h -3.44 v -2.34 c 1.84,0.05 4.19,0.16 5.99,0.16 1.84,0 4.23,-0.11 6.01,-0.16 v 2.34 h -3.44 v 6.33 c 1.46,1.14 1.85,1.44 2.85,2.14 l 5.03,-6.28 c 0.45,-0.59 1.25,-1.59 1.25,-1.73 0,-0.46 -0.89,-0.46 -1.55,-0.46 v -2.34 c 1.5,0.09 5.83,0.16 6.08,0.16 1.8,0 3.48,-0.07 5.19,-0.16 v 2.34 h -0.86 c -2.14,0 -2.28,0.21 -2.94,1 l -8.42,10.5 6.48,5.03 c 0.7,0.57 1.14,0.91 4.49,0.91 v 2.34 c -1.35,-0.15 -2.6,-0.15 -3.89,-0.15 -1.35,0 -4.58,0.11 -5.72,0.15 v -2.34 c 1.14,0 1.28,-0.16 1.69,-0.55 z"
id="path10647-4" /><path
style="fill:#000000;stroke-width:0"
inkscape:connector-curvature="0"
d="m 565.06,418.65 0,0.37 0,0.39 -0.01,0.39 -0.02,0.41 -0.04,0.84 -0.06,0.88 -0.08,0.92 -0.1,0.95 -0.14,0.97 -0.16,1.01 -0.2,1.02 -0.23,1.03 -0.27,1.05 -0.3,1.06 -0.35,1.07 -0.39,1.07 -0.22,0.53 -0.22,0.53 -0.24,0.53 -0.25,0.53 c -2.98,6.12 -7.26,9.36 -7.76,9.36 -0.3,0 -0.5,-0.19 -0.5,-0.49 0,-0.15 0,-0.25 0.93,-1.15 4.89,-4.92 7.74,-12.85 7.74,-23.27 0,-8.51 -1.85,-17.28 -8.03,-23.56 -0.64,-0.59 -0.64,-0.7 -0.64,-0.84 0,-0.3 0.2,-0.5 0.5,-0.5 0.5,0 4.96,3.39 7.92,9.71 2.53,5.47 3.12,11 3.12,15.19 z"
id="path10649-6" /></g> </g>
</g>
<g
id="g10119"
transform="matrix(1,0,0,0.70871229,0,153.18102)">
<path
inkscape:connector-curvature="0"
id="path9519"
d="m 137.14285,523.21931 0,-58.58884"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path9519-0"
d="m 641.90469,523.21931 0,-58.58884"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart);marker-end:none" />
<path
inkscape:connector-curvature="0"
id="path10117"
d="m 137.37876,464.4534 505.08025,0"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,11 @@
Structure of DFT Tools
======================
.. warning::
TO BE WRITTEN!
.. image:: images/structure.png
:width: 700
:align: center

View File

@ -5,11 +5,16 @@
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.mathjax',
'sphinx.ext.intersphinx',
'matplotlib.sphinxext.plot_directive']
'matplotlib.sphinxext.plot_directive',
'sphinx.ext.doctest',
'sphinx.ext.todo',
'sphinx.ext.viewcode',
'sphinx.ext.autosummary',
'numpydoc']
source_suffix = '.rst'
project = u'TRIQS Interface to Wien2k'
project = u'TRIQS_DFT Tools'
copyright = u'2011-2013, M. Aichhorn, L. Pourovskii, V. Vildosola, C. Martins'
version = '@DFT_TOOLS_VERSION@'
release = '@DFT_TOOLS_RELEASE@'
@ -21,7 +26,7 @@ html_theme = 'triqs'
html_theme_path = ['@TRIQS_THEMES_PATH@']
html_show_sphinx = False
html_context = {'header_title': 'dft_tools',
'header_subtitle': 'Connecting <a class="triqs" style="font-size: 12px" href="http://ipht.cea.fr/triqs">TRIQS</a> to DFT packages',
'header_subtitle': 'connecting <a class="triqs" style="font-size: 12px" href="http://ipht.cea.fr/triqs">TRIQS</a> to DFT packages',
'header_links': [['Install', 'install'],
['Documentation', 'documentation'],
['Issues', 'issues'],
@ -32,4 +37,4 @@ html_sidebars = {'index': ['sideb.html', 'searchbox.html']}
htmlhelp_basename = 'TRIQSDftToolsdoc'
intersphinx_mapping = {'python': ('http://docs.python.org/2.7', None), 'triqslibs': ('http://ipht.cea.fr/triqs', None),
'triqscthyb': ('http://ipht.cea.fr/triqs/applications/cthyb_matrix', None)}
'triqscthyb': ('http://ipht.cea.fr/triqs/applications/cthyb', None)}

View File

@ -9,4 +9,3 @@ Table of contents
documentation
issues
about

View File

@ -1,4 +1,3 @@
.. module:: pytriqs.applications.dft_tools
.. _documentation:
@ -6,36 +5,30 @@
Documentation
=============
A (not so) quick tour
---------------------
Basic notions
-------------
.. toctree::
:maxdepth: 1
:maxdepth: 2
interface
DFTDMFTmain
advanced
analysis
selfcons
Ce-HI
Transport
basicnotions/dft_dmft
basicnotions/structure
Projective Wannier functions: the dmftproj package
--------------------------------------------------
In addition to the python-related modules, TRIQS also
provides the Wien2k add-on :program:`dmftproj`. It takes the
information about the wave functions calculated by the `Wien2k package
<http://www.wien2k.at>`_, and constructs projected Wannier functions
that are used as localised orbitals for the DMFT calculation.
User guide
----------
.. toctree::
:maxdepth: 2
guide/orbital_construction
guide/conversion
guide/dftdmft_singleshot
guide/dftdmft_selfcons
guide/analysis
guide/full_tutorial
guide/transport
The program :program:`dmftproj` is written in the flavor of the
`Wien2k package <http://www.wien2k.at>`_ without python
support. A detailed description of the usage and options of
:program:`dmftproj`
can be found in :download:`this extensive tutorial <TutorialDmftproj.pdf>`. In
addition, it contains also a description of the Wien2k scripts that
are necessary to do the full charge self-consistent calculations.
Reference manual
----------------
@ -46,6 +39,18 @@ This is the reference manual for the python routines.
:maxdepth: 2
reference/h5structure
reference/converters
reference/sumk_dft
reference/sumk_dft_tools
reference/U_matrix
reference/symmetry
reference/transbasis
FAQs
----
.. toctree::
:maxdepth: 2
faqs/faqs

17
doc/faqs/faqs.rst Normal file
View File

@ -0,0 +1,17 @@
Frequently-Asked Questions
==========================
How do I do ..this..?
---------------------
This is how you do this.
How do I do ..this.. correctly?
-------------------------------
Correctly is subjective.
Why is my calculation not working?
----------------------------------
Are you running in the right shell?

98
doc/function_template.py Normal file
View File

@ -0,0 +1,98 @@
class function_template():
def old_fft(name, state=None):
"""This function does something.
:param name: The name to use.
:type name: str.
:param state: Current state to be in.
:type state: bool.
:returns: int -- the return code.
:raises: AttributeError, KeyError
"""
return 0
def fft(a, n=None, axis=-1):
"""
Compute the one-dimensional discrete Fourier Transform.
This function computes the one-dimensional *n*-point discrete Fourier
Transform (DFT) with the efficient Fast Fourier Transform (FFT)
algorithm [CT].
Parameters
----------
a : array_like
Input array, can be complex.
n : int, optional
Length of the transformed axis of the output.
If `n` is smaller than the length of the input, the input is cropped.
If it is larger, the input is padded with zeros. If `n` is not given,
the length of the input along the axis specified by `axis` is used.
axis : int, optional
Axis over which to compute the FFT. If not given, the last axis is
used.
Returns
-------
out : complex ndarray
The truncated or zero-padded input, transformed along the axis
indicated by `axis`, or the last one if `axis` is not specified.
Raises
------
IndexError
if `axes` is larger than the last axis of `a`.
See Also
--------
numpy.fft : for definition of the DFT and conventions used.
ifft : The inverse of `fft`.
fft2 : The two-dimensional FFT.
fftn : The *n*-dimensional FFT.
rfftn : The *n*-dimensional FFT of real input.
fftfreq : Frequency bins for given FFT parameters.
Notes
-----
FFT (Fast Fourier Transform) refers to a way the discrete Fourier
Transform (DFT) can be calculated efficiently, by using symmetries in the
calculated terms. The symmetry is highest when `n` is a power of 2, and
the transform is therefore most efficient for these sizes.
The DFT is defined, with the conventions used in this implementation, in
the documentation for the `numpy.fft` module.
References
----------
.. [CT] Cooley, James W., and John W. Tukey, 1965, "An algorithm for the
machine calculation of complex Fourier series," *Math. Comput.*
19: 297-301.
Examples
--------
>>> np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))
array([ -3.44505240e-16 +1.14383329e-17j,
8.00000000e+00 -5.71092652e-15j,
2.33482938e-16 +1.22460635e-16j,
1.64863782e-15 +1.77635684e-15j,
9.95839695e-17 +2.33482938e-16j,
0.00000000e+00 +1.66837030e-15j,
1.14383329e-17 +1.22460635e-16j,
-1.64863782e-15 +1.77635684e-15j])
>>> import matplotlib.pyplot as plt
>>> t = np.arange(256)
>>> sp = np.fft.fft(np.sin(t))
>>> freq = np.fft.fftfreq(t.shape[-1])
>>> plt.plot(freq, sp.real, freq, sp.imag)
[<matplotlib.lines.Line2D object at 0x...>, <matplotlib.lines.Line2D object at
0x...>]
>>> plt.show()
In this example, real input has an FFT which is Hermitian, i.e., symmetric
in the real part and anti-symmetric in the imaginary part, as described in
the `numpy.fft` documentation.
"""
return 0

View File

@ -3,6 +3,9 @@
Tools for analysis
==================
.. warning::
TO BE UPDATED!
This section explains how to use some tools of the package in order to analyse the data.
.. warning::

View File

@ -1,23 +1,27 @@
.. _conversion:
The interface
=============
Converting DFT data to a hdf archive
====================================
.. warning::
TO BE UPDATED!
EXPLAIN CONCEPT OF CONVERSION
Wien2k + dmftproj
-----------------
LISTING OF FILES NECESSARY FOR EACH SUBGROUP
The basic function of the interface to the Wien2k program package is to take
the output of the program that constructs the projected local orbitals
(:program:`dmftproj`, for documentation see
:download:`TutorialDmftproj.pdf <TutorialDmftproj.pdf>`),
:download:`TutorialDmftproj.pdf <images_scripts/TutorialDmftproj.pdf>`),
and to store all the necessary information into an hdf5 file. This latter file
is then used to do the DMFT calculation. The reason for this structure is that
this enables the user to have everything that is necessary to reproduce the
calculation in one single hdf5 archive.
.. index:: Interface to Wien2k
.. _interfacetowien:
The interface to Wien2k
-----------------------
As explained above, this interface produces an hdf5 archive out of the files that
were written by the band structure package :program:`Wien2k/dmftproj`.
For this purpose we
@ -60,6 +64,9 @@ After this step, all the necessary information for the DMFT loop is stored in th
the string variable `Converter.hdf_file` gives the file name of the archive.
You can now proceed with :ref:`DFTDMFTmain`.
A general H(k)
--------------
LISTING OF FILES NECESSARY, NAME OF CONVERTER
Data for post-processing
------------------------

View File

@ -1,11 +1,17 @@
.. index:: full charge self consistency
.. _full_charge_selfcons:
Full charge self consistency
============================
Wien2k + dmftproj
-----------------
.. warning::
TO BE UPDATED!
.. warning::
Before using this tool, you should be familiar with the band-structure package :program:`Wien2k`, since
the calculation is controlled by the :program:`Wien2k` scripts! See also the :download:`dmftproj tutorial<TutorialDmftproj.pdf>`.
the calculation is controlled by the :program:`Wien2k` scripts! See also the :download:`dmftproj tutorial<images_scripts/TutorialDmftproj.pdf>`.
In order to do charge self-consistent calculations, we have to tell the band structure program about the
changes in the charge density due to correlation effects. In the following, we discuss how to use the
@ -26,14 +32,14 @@ and store it in a format such that :program:`Wien2k` can read it. Therefore, aft
previous section, we symmetrise the self energy, and recalculate the impurity Green function::
SK.symm_deg_gf(S.Sigma,orb=0)
S.G << inverse(S.G0) - S.Sigma
S.G.invert()
S.G_iw << inverse(S.G0_iw) - S.Sigma_iw
S.G_iw.invert()
These steps are not necessary, but can help to reduce fluctuations in the total energy.
Now we calculate the modified charge density::
# find exact chemical potential
SK.put_Sigma(Sigma_imp = [ S.Sigma ])
SK.put_Sigma(Sigma_imp = [ S.Sigma_iw ])
chemical_potential = SK.calc_mu( precision = 0.000001 )
dN, d = SK.calc_density_correction(filename = dft_filename+'.qdmft')
SK.save(['chemical_potential','dc_imp','dc_energ'])
@ -44,7 +50,7 @@ is stored in the file `dft_filename.qdmft`, which is later read by the :program:
the chemical potential into the hdf5 archive.
We need also the correlation energy, which we evaluate by the Migdal formula::
correnerg = 0.5 * (S.G * S.Sigma).total_density()
correnerg = 0.5 * (S.G_iw * S.Sigma_iw).total_density()
From this value, we substract the double counting energy::
@ -85,3 +91,11 @@ unstable convergence, you have to adjust the parameters such as
In the next section, :ref:`DFTDMFTtutorial`, we will see in a detailed
example how such a self consistent calculation is performed.
VASP + wannier90
----------------
.. warning::
IN PROGRESS!

View File

@ -1,7 +1,87 @@
.. _advanced:
.. highlight:: python
.. _singleshot:
Single-shot DFT+DMFT
====================
.. warning::
TO BE UPDATED!
After having set up the hdf5 archive, we can now do our DFT+DMFT calculation. It consists of
initialisation steps, and the actual DMFT self consistency loop.
Initialisation of the calculation
---------------------------------
Before doing the calculation, we have to intialize all the objects that we will need. The first thing is the
:class:`SumkDFT` class. It contains all basic routines that are necessary to perform a summation in k-space
to get the local quantities used in DMFT. It is initialized by::
from pytriqs.applications.dft.sumk_dft import *
SK = SumkDFT(hdf_file = filename)
Setting up the impurity solver
------------------------------
The next step is to setup the impurity solver.
For more details here, see the `CTHYB <http://ipht.cea.fr/triqs/1.2/applications/cthyb/>`_ documentation.
Doing the DMFT loop
-------------------
Having initialised the SumK class and the Solver, we can proceed with the DMFT
loop itself. As explained in the tutorial, we have to set up the loop over DMFT
iterations and the self-consistency condition::
n_loops = 5
for iteration_number in range(n_loops) : # start the DMFT loop
SK.put_Sigma(Sigma_imp = [ S.Sigma ]) # Put self energy to the SumK class
chemical_potential = SK.calc_mu() # calculate the chemical potential for the given density
S.G_iw << SK.extract_G_loc()[0] # extract the local Green function
S.G0_iw << inverse(S.Sigma_iw + inverse(S.G_iw)) # finally get G0, the input for the Solver
S.solve(h_loc=h_loc, **p) # now solve the impurity problem
dm = S.G_iw.density() # Density matrix of the impurity problem
SK.calc_dc(dm, U_interact=U, J_hund=J, orb=0, use_dc_formula=dc_type) # Set the double counting term
SK.save(['chemical_potential','dc_imp','dc_energ']) # Save data in the hdf5 archive
These basic steps are enough to set up the basic DMFT Loop. For a detailed
description of the :class:`SumkDFT` routines, see the reference manual. After
the self-consistency steps, the solution of the Anderson impurity problem is
calculation by CTQMC. Different to model calculations, we have to do a few
more steps after this, because of the double-counting correction. We first
calculate the density of the impurity problem. Then, the routine `calc_dc`
takes as parameters this density matrix, the Coulomb interaction, Hund's rule
coupling, and the type of double-counting that should be used. Possible values
for `use_dc_formula` are:
* `0`: Full-localised limit
* `1`: DC formula as given in K. Held, Adv. Phys. 56, 829 (2007).
* `2`: Around-mean-field
At the end of the calculation, we can save the Greens function and self energy into a file::
from pytriqs.archive import HDFArchive
import pytriqs.utility.mpi as mpi
if mpi.is_master_node():
ar = HDFArchive("YourDFTDMFTcalculation.h5",'w')
ar["G"] = S.G_iw
ar["Sigma"] = S.Sigma_iw
This is it!
These are the essential steps to do a one-shot DFT+DMFT calculation.
For full charge-self consistent calculations, there are some more things
to consider, which we will see later on.
A more advanced example
=======================
-----------------------
Normally, one wants to adjust some more parameters in order to make the calculation more efficient. Here, we
will see a more advanced example, which is also suited for parallel execution.
@ -64,7 +144,7 @@ Now we can use all this information to initialise the :class:`SumkDFT` class::
SK = SumkDFT(hdf_file=dft_filename+'.h5',use_dft_blocks=use_blocks)
The next step is to initialise the Solver::
The next step is to initialise the :class:`Solver` class::
n_orb = SK.corr_shells[0]['dim']
l = SK.corr_shells[0]['l']
@ -162,6 +242,3 @@ refinement::
SK.save(['chemical_potential','dc_imp','dc_energ'])
This is all we need for the DFT+DMFT calculation. At the end, all results are stored in the hdf5 output file.

View File

@ -1,5 +1,3 @@
.. index:: tutorial on Ce within Hub.-I approximation
.. _DFTDMFTtutorial:
DFT+DMFT tutorial: Ce with Hubbard-I approximation
@ -7,7 +5,11 @@ DFT+DMFT tutorial: Ce with Hubbard-I approximation
In this tutorial we will perform DFT+DMFT :program:`Wien2k` calculations of the high-temperature :math:`\gamma`-phase of Ce employing the
Hubbard-I approximation for its localized *4f* shell.
First we create the Wien2k :file:`Ce-gamma.struct` file as described in `Wien2k manual <http://www.wien2k.at/reg_user/textbooks/usersguide.pdf>`_
Wien2k setup
------------
First we create the Wien2k :file:`Ce-gamma.struct` file as described in the `Wien2k manual <http://www.wien2k.at/reg_user/textbooks/usersguide.pdf>`_
for the :math:`\gamma`-Ce fcc structure with lattice parameter of 9.75 a.u.
.. literalinclude:: Ce-gamma.struct
@ -23,6 +25,8 @@ Hence, the initialization script is executed as follows ::
and then LDA calculations of non-magnetic :math:`\gamma`-Ce are performed by launching the :program:`Wien2k` :program:`run` script.
These self-consistent LDA calculations will typically take a couple of minutes.
DMFTPROJ
--------
Then we create :file:`Ce-gamma.indmftpr` file specifying parameters for construction of Wannier orbitals representing *4f* states:
@ -66,14 +70,10 @@ This program produces the following files:
Now we have all necessary input from :program:`Wien2k` for running DMFT calculations.
.. index:: Hubbard-I in TRIQS
DMFT setup: Hubbard-I calculations in TRIQS
--------------------------------------------
.. _HubITRIQS:
Hubbard-I calculations in TRIQS
-------------------------------
In order to run DFT+DMFT calculations within Hubbard-I we need the corresponding python script, :ref:`Ce-gamma-script`.
In order to run DFT+DMFT calculations within Hubbard-I we need the corresponding python script, :ref:`Ce-gamma_script`.
It is generally similar to the script for the case of DMFT calculations with the CT-QMC solver (see :ref:`advanced`),
however there are also some differences. First, instead of *pytriqs.applications.dft.solver_multiband* we import Hubbard-I solver ::
@ -122,13 +122,12 @@ Then the double counting is recalculated and the correlation energy is computed
Finally, we compute the modified charge density and save it as well as correlational correction to the total energy in
:file:`Ce-gamma.qdmft` file, which is then read by :program:`lapw2` in the case of self-consistent DFT+DMFT calculations.
.. index:: running DFT+DMFT calculations
Running DFT+DMFT calculations
-----------------------------
Running single-shot DFT+DMFT calculations
------------------------------------------
After having prepared the script one may run one-shot DMFT calculations by
executing :ref:`Ce-gamma-script` with :program:`pytriqs` on a single processor::
executing :ref:`Ce-gamma_script` with :program:`pytriqs` on a single processor::
pytriqs Ce-gamma.py
@ -140,6 +139,10 @@ where :program:`mpirun` launches these calculations in parallel mode and
enables MPI. The exact form of this command will, of course, depend on
mpi-launcher installed in your system.
Running self-consistent DFT+DMFT calculations
---------------------------------------------
Instead of doing one-shot run one may also perform fully self-consistent
DFT+DMFT calculations, as we will do in this tutorial. We launch these
calculations as follows ::
@ -171,8 +174,9 @@ One may also check the convergence in total energy::
:ENE : ********** TOTAL ENERGY IN Ry = -17717.56285812
:ENE : ********** TOTAL ENERGY IN Ry = -17717.56287381
Calculating DOS with Hubbard-I
------------------------------
Post-processing and data analysis
---------------------------------
Within Hubbard-I one may also easily obtain the angle-resolved spectral function (band
structure) and integrated spectral function (density of states or DOS). In
@ -180,7 +184,7 @@ difference with the CT-QMC approach one does not need to provide the
real-frequency self-energy (see :ref:`analysis`) as it can be calculated directly
in the Hubbard-I solver.
The corresponding script :ref:`Ce-gamma_DOS-script` contains several new parameters ::
The corresponding script :ref:`Ce-gamma_DOS_script` contains several new parameters ::
ommin=-4.0 # bottom of the energy range for DOS calculations
ommax=6.0 # top of the energy range for DOS calculations
@ -204,17 +208,15 @@ We may first increase the number of **k**-points in BZ to 10000 by executing :pr
x kgen
and then by executing :ref:`Ce-gamma_DOS-script` with :program:`pytriqs`::
and then by executing :ref:`Ce-gamma_DOS_script` with :program:`pytriqs`::
pytriqs Ce-gamma_DOS.py
In result we get the total DOS for spins `up` and `down` (identical in our paramagnetic case) in :file:`DOScorrup.dat` and :file:`DOScorrdown.dat` files, respectively, as well as projected DOSs written in the corresponding files as described in :ref:`analysis`.
In our case, for example, the files :file:`DOScorrup.dat` and :file:`DOScorrup_proj3.dat` contain the total DOS for spin *up* and the corresponding projected DOS for Ce *4f* orbital, respectively. They are plotted below.
.. image:: Ce_DOS.png
.. image:: images_scripts/Ce_DOS.png
:width: 700
:align: center
As one may clearly see, the Ce *4f* band is split by the local Coulomb interaction into the filled lower Hubbard band and empty upper Hubbard band (the latter is additionally split into several peaks due to the Hund's rule coupling and multiplet effects).

View File

@ -5,7 +5,7 @@ from pytriqs.applications.impurity_solvers.hubbard_I.hubbard_solver import Solve
# Creates the data directory, cd into it:
#Prepare_Run_Directory(DirectoryName = "Ce-Gamma")
dft_filename = 'Ce-gamma'
Beta = 40
beta = 40
U_int = 6.00
J_hund = 0.70
DC_type = 0 # 0...FLL, 1...Held, 2... AMF, 3...Lichtenstein
@ -63,7 +63,7 @@ N = SK.corr_shells[0]['dim']
l = SK.corr_shells[0]['l']
# Init the Solver:
S = Solver(beta = Beta, l = l)
S = Solver(beta = beta, l = l)
# set atomic levels:
eal = SK.eff_atomic_levels()[0]
@ -75,4 +75,3 @@ SK.put_Sigma(Sigma_imp = [S.Sigma])
# compute DOS
SK.dos_partial(broadening=broadening)

View File

@ -1,4 +1,4 @@
.. _Ce-gamma_DOS-script:
.. _Ce-gamma_DOS_script:
Ce-gamma_DOS.py
---------------

View File

@ -1,4 +1,4 @@
.. _Ce-gamma-script:
.. _Ce-gamma_script:
Ce-gamma.py
-----------

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -0,0 +1,19 @@
.. _orbital_construction:
Orbital construction
====================
.. warning::
TO BE UPDATED!
dmftproj
--------
The dft_tools package comes with a converter to use `Wien2k <http://www.wien2k.at>`_ band structure calculations as input for the DMFT part of the calculation, through the construction of projective Wannier functions. The first step is done by the program :program:`dmftproj`, producing text output files. In the second step, this ouput is read and converted into the hdf5 format, using the python module :class:`Wien2kConverter`.
Wannier90
---------
.. warning::
IN PROGRESS!

View File

@ -1,12 +1,8 @@
.. index:: Transport
.. _Transport:
Transport calculations
======================
.. index:: Theory
Formalism
---------
The conductivity and the Seebeck coefficient in direction :math:`\alpha\beta` are defined as [#transp]_:
@ -34,26 +30,24 @@ The frequency depended optical conductivity is given by
\sigma(\Omega) = N_{sp} \pi e^2 \hbar \int{d\omega \Gamma_{\alpha\beta}(\omega+\Omega/2,\omega-\Omega/2)\frac{f(\omega-\Omega/2)-f(\omega+\Omega/2)}{\Omega}}.
.. index:: Prerequisite
Prerequisites
-------------
First perform a standard DFT+DMFT calculation for your desired material (see :ref:`DFTDMFTmain`) and obtain the real-frequency self energy by doing an
First perform a standard :ref:`DFT+DMFT calculation <dftdmft_selfcons>` for your desired material and obtain the real-frequency self energy by doing an
analytic continuation.
.. note::
It is crucial to perform the analytic continuation in such a way that the obtained real-frequency self energy is accurate around the Fermi energy as only its
low energy structure influences the final results!
Besides the self energy the Wien2k files read by the transport converter are:
Besides the self energy the Wien2k files read by the transport converter (:meth:`convert_transport_input <pytriqs.applications.dft.converters.wien2k_converter.Wien2kConverter.convert_transport_input>`) are:
* :file:`.struct`: The lattice constants specified in the struct file are used to calculate the unit cell volume.
* :file:`.outputs`: In this file the k-point symmetries are given.
* :file:`.oubwin`: Contains the indices of the bands within the projected subspace (written by :program:`dmftproj`) for each k-point.
* :file:`.pmat`: This file is the output of the Wien2k optics package and contains the velocity (momentum) matrix elements between all bands in the desired energy
window for each k-point. How to use the optics package is described below.
* :file:`.h5`: The hdf file has to be present and should contain the dft_input subgroup. Otherwise :class:`convert_dft_input` needs to be called before :class:`convert_transport_input`.
* :file:`.h5`: The hdf5 archive has to be present and should contain the dft_input subgroup. Otherwise :meth:`convert_dft_input <pytriqs.applications.dft.converters.wien2k_converter.Wien2kConverter.convert_dft_input>` needs to be called before :meth:`convert_transport_input <pytriqs.applications.dft.converters.wien2k_converter.Wien2kConverter.convert_transport_input>`.
.. index:: Wien2k optics package
Wien2k optics package
---------------------
@ -67,15 +61,13 @@ The basics steps to calculate the matrix elements of the momentum operator with
6) Run `x optic`.
Additionally the input file :file:`case.inop` is required. A detail description on how to setup this file can be found in the Wien2k user guide [#userguide]_ on page 166.
Here the energy window can be chosen according to the window used for :program:`dmftprj`. However, keep in mind that energies have to be specified in absolute values! Furthermore it is important
to set line 6 to ON for printing the matrix elements to the :file:`.pmat` file.
Here the energy window can be chosen according to the window used for :program:`dmftproj`. However, keep in mind that energies have to be specified in absolute values! Furthermore it is important to set line 6 to ON for printing the matrix elements to the :file:`.pmat` file.
.. index:: Using the transport code.
Using the transport code
------------------------
First we have to read the Wien2k files and store the relevant information in the hdf-file::
First we have to read the Wien2k files and store the relevant information in the hdf5 archive::
from pytriqs.applications.dft.converters.wien2k_converter import *
from pytriqs.applications.dft.sumk_dft_tools import *
@ -95,17 +87,14 @@ Additionally we need to read and set the self energy, the chemical potential and
As next step we can calculate the transport distribution :math:`\Gamma_{\alpha\beta}(\omega)`::
SK.transport_distribution(directions=['xx'], Om_mesh=[0.00, 0.02], energy_window=[-0.3,0.3],
SK.transport_distribution(directions=['xx'], Om_mesh=[0.0, 0.1], energy_window=[-0.3,0.3],
with_Sigma=True, broadening=0.0, beta=40)
The parameters are:
* `directions`: :math:`\alpha` and :math:`\beta` (e.g. xx, yy, xz, ...)
* `Om_mesh`: :math:`\Omega`-mesh for the optical conductivity. Note that the code repines this mesh to the closest values on the self energy mesh! The new mesh is stored in `Om_meshr`.
The Seebeck coefficient is only calculated if :math:`\Omega=0.0` is included.
* `energy_window`: Limits for the integration over :math:`\omega` (Due to the Fermi functions the integrand is only of considerable size in a small
window around the Fermi energy). For optical conductivity calculations the window is automatically enlarged by :math:`\Omega` .
* `with_Sigma`: If this parameter is set to False then Sigma is set to 0 (i.e. the DFT band structure :math:`A(k,\omega)` is taken).
* `broadening`: The numerical broadening should be set to a finite value for with_Sigma = False.
Here the transport distribution is calculated in :math:`xx` direction for the frequencies :math:`\Omega=0.0` and :math:`0.1`.
To use the previously obtained self energy we set with_Sigma to True and the broadening to :math:`0.0`.
As we also want to calculate the Seebeck coefficient we have to include :math:`\Omega=0.0` in the mesh.
Note that the current version of the code repines the :math:`\Omega` values to the closest values on the self energy mesh.
For complete description of the input parameters see the :meth:`transport_distribution reference <pytriqs.applications.dft.sumk_dft_tools.SumkDFTTools.transport_distribution>`.
The resulting transport distribution is not automatically saved, but this can be easily achieved with::
@ -119,7 +108,6 @@ Finally the optical conductivity :math:`\sigma(\Omega)` and the Seebeck coeffici
It is strongly advised to check convergence in the number of k-points!
.. index:: References
References
----------

View File

@ -1,16 +1,20 @@
.. index:: Wien2k
.. index:: DFT Tools
.. module:: pytriqs.applications.dft
.. _wien2k:
.. _dfttools:
dft_tools
========================================================
DFT Tools
=========
This application is aimed at DMFT calculations with
realistic band structure calculations.
This application is aimed at DMFT calculations with
realistic band structure calculations.
A priori TRIQS can be connected to various realistic band structure codes.
In this release, we provide the dft_tools extension module which contains an
interface to the `Wien2k package <http://www.wien2k.at>`_.
In this release, we provide the dft_tools extension module which contains an
interface to the