diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b38f605..414c5264 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ list(APPEND CMAKE_MODULE_PATH ${TRIQS_PATH}/share/triqs/cmake) # start configuration cmake_minimum_required(VERSION 2.8) -project(ctseg CXX Fortran) +project(dft_tools CXX Fortran) set(CMAKE_BUILD_TYPE Release) enable_testing() diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 8c573f82..7c8341d3 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -6,7 +6,7 @@ file(GLOB_RECURSE doc_sources *.rst) # create documentation target set(sphinx_top ${CMAKE_CURRENT_BINARY_DIR}/html/index.html) -add_custom_command(OUTPUT ${sphinx_top} DEPENDS ${doc_sources} py_copy +add_custom_command(OUTPUT ${sphinx_top} DEPENDS ${doc_sources} py_copy triqs_DFT COMMAND ${CMAKE_BINARY_DIR}/build_pytriqs ${TRIQS_SPHINXBUILD_EXECUTABLE} -c . -b html ${CMAKE_CURRENT_SOURCE_DIR} html) add_custom_target(doc_sphinx ALL DEPENDS ${sphinx_top}) @@ -17,7 +17,7 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ COMPONENT documentation DEST PATTERN "*.png" PATTERN "*.js" PATTERN "_*" - PATTERN "*.png" + PATTERN "*.jpg" PATTERN "*.gif" PATTERN "*.xsl" PATTERN "*.css" diff --git a/doc/about.rst b/doc/about.rst new file mode 100644 index 00000000..cc77527d --- /dev/null +++ b/doc/about.rst @@ -0,0 +1,40 @@ +License +======= + +Wien2TRIQS is published under the `GNU General Public License, version 3 +`_. + +Authors & Quotation +======================= + +The developement of an interface between the Wien2k electronic structure +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 +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) `_ (:download:`bibtex file `) +.. [#wien2k2] `M. Aichhorn, L. Pourovskii, and A. Georges, Phys. Rev. B 84, 054529 (2011) `_ (:download:`bibtex file `) + +This application is a part of our scientific work and we would appreciate if +projects using it will include a citation to the following relevant papers. In +order to help you, we provide a BibTeX entry for each paper. + +If you find the application useful, giving proper reference and citation is +indeed a simple way to help convincing funding sources that such projects are +useful for our community and should be supported. + +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 responsability for any possible bugs or any improper use of these programs, +including those resulting in incorrect scientific publications. diff --git a/doc/conf.py.in b/doc/conf.py.in index d9d1fb70..56310d9b 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -1,242 +1,37 @@ # -*- coding: utf-8 -*- # -# TRIQS documentation build configuration file, created by -# sphinx-quickstart on Tue Jul 23 15:29:36 2013. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. +# TRIQS documentation build configuration file -import sys, os +extensions = ['sphinx.ext.autodoc', + 'sphinx.ext.mathjax', + 'sphinx.ext.intersphinx', + 'matplotlib.sphinxext.plot_directive'] -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.pngmath', 'sphinx.ext.mathjax', 'matplotlib.sphinxext.plot_directive'] - -# Add any paths that contain templates here, relative to this directory. -#templates_path = ['_templates'] - -# The suffix of source filenames. source_suffix = '.rst' -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. project = u'TRIQS interface to Wien2k' -copyright = u'2013, M. Aichhorn, L. Pourovskii, V. Vildosola, C. Martins' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. +copyright = u'2011-2013, M. Aichhorn, L. Pourovskii, V. Vildosola, C. Martins' version = '1.0' -# The full version, including alpha/beta/rc tags. release = '1.0.0' -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None +mathjax_path = "@TRIQS_MATHJAX_PATH@/MathJax.js?config=default" -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'agogo' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. +html_theme = 'triqs' html_theme_path = ['@TRIQS_THEMES_PATH@'] +html_show_sphinx = False +html_context = {'header_title': 'Wien2TRIQS', + 'header_subtitle': 'Connecting TRIQS to the Wien2k package', + 'header_links': [['Install', 'install'], + ['Documentation', 'documentation'], + ['Issues', 'issues'], + ['About Wien2TRIQS', 'about']]} -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None +templates_path = ['@TRIQS_THEMES_PATH@/../export/_templates'] +html_sidebars = {'index': ['sideb_appli.html', 'searchbox.html']} +html_static_path = ['@TRIQS_THEMES_PATH@/../export/_static'] -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +htmlhelp_basename = 'TRIQSDftToolsdoc' -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'TRIQSdoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -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': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'TRIQS.tex', u'TRIQS Documentation', - u'MF OP', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'triqs', u'TRIQS Documentation', - [u'MF OP'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'TRIQS', u'TRIQS Documentation', - u'MF OP', 'TRIQS', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +intersphinx_mapping = {'python': ('http://docs.python.org/2.7', None), +#'triqscthybmatrix': ('@TRIQS_THEMES_PATH@/../../doc/triqs',None), +'triqslibs': ('@TRIQS_THEMES_PATH@/../../doc/triqs',None)} diff --git a/doc/contents.rst b/doc/contents.rst new file mode 100644 index 00000000..2cd84574 --- /dev/null +++ b/doc/contents.rst @@ -0,0 +1,12 @@ +Table of contents +================= + +.. toctree:: + :maxdepth: 2 + + index + install + documentation + issues + about + diff --git a/doc/documentation.rst b/doc/documentation.rst new file mode 100644 index 00000000..bcb842d3 --- /dev/null +++ b/doc/documentation.rst @@ -0,0 +1,33 @@ + +.. module:: pytriqs.applications.dft_tools + +.. _documentation: + +Documentation +============= + + +.. toctree:: + :maxdepth: 1 + + interface + LDADMFTmain + advanced + analysis + selfcons + Ce-HI + +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 +`_, and constructs projected Wannier functions +that are used as localised orbitals for the DMFT calculation. + +The program :program:`dmftproj` is written in the flavor of the +`Wien2k package `_ without python +support. A detailed description of the usage and options of +:program:`dmftproj` +can be found in :download:`this extensive tutorial `. In +addition, it contains also a description of the Wien2k scripts that +are necessary to do the full charge self-consistent calculations. + diff --git a/doc/index.rst b/doc/index.rst index 40a61b62..7342268e 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,35 +7,10 @@ Wien2TRIQS ======================================================== - `Connecting TRIQS to the Wien2k package` - -In this section we will learn how we can connect our DMFT calculations with +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 Wien2TRIQS extension module which contains an interface to the `Wien2k package `_. -.. toctree:: - :maxdepth: 1 - - interface - LDADMFTmain - advanced - analysis - selfcons - Ce-HI - -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 -`_, and constructs projected Wannier functions -that are used as localised orbitals for the DMFT calculation. - -The program :program:`dmftproj` is written in the flavor of the -`Wien2k package `_ without python -support. A detailed description of the usage and options of -:program:`dmftproj` -can be found in :download:`this extensive tutorial `. In -addition, it contains also a description of the Wien2k scripts that -are necessary to do the full charge self-consistent calculations. diff --git a/doc/install.rst b/doc/install.rst new file mode 100644 index 00000000..8bd2461f --- /dev/null +++ b/doc/install.rst @@ -0,0 +1,52 @@ + +.. highlight:: bash + +Installation +============ + + +Prerequisite +------------------- + +#. The :ref:`TRIQS ` toolkit (see :ref:`TRIQS installation instruction `). + In the following, we will suppose that it is installed in the ``path_to_triqs`` directory. + +#. Likely, you will also need at least one impurity solver, e.g. the The :ref:`CTHYB_matrix solver `. + +Installation steps +------------------ + +#. Download the sources of the solver from github:: + + $ git clone git@github.com:TRIQS/dft_tools.git src + +#. Create an empty build directory where you will compile the code:: + + $ mkdir build && cd build + +#. In the build directory call cmake specifying where the TRIQS library is installed:: + + $ cmake -DTRIQS_PATH=path_to_triqs ../src + +#. Compile the code, run the tests and install the application:: + + $ make + $ make test + $ make install + +Version compatibility +--------------------- + +Be careful that the version of the TRIQS library and of the solver must be +compatible (more information on the `TRIQS website +`_). If you want to use a version of +the solver that is not the latest one, go into the directory with the sources +and look at all available versions:: + + $ cd src && git tag + +Checkout the version of the code that you want:: + + $ git co 1.0.0 + +Then follow the steps 2 to 4 described above to compile the code. diff --git a/doc/issues.rst b/doc/issues.rst new file mode 100644 index 00000000..e6082fc3 --- /dev/null +++ b/doc/issues.rst @@ -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.txt` 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!