Skip to content

Commit

Permalink
Merge pull request #65 from issp-center-dev/release
Browse files Browse the repository at this point in the history
Release v2.0.0
  • Loading branch information
k-yoshimi authored Sep 3, 2019
2 parents 3b1dc87 + a3fb70b commit ec8a133
Show file tree
Hide file tree
Showing 155 changed files with 3,594 additions and 422 deletions.
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ services:
- docker

before_script:
- export ROOTDIR=`pwd`
- docker-compose rm -f
- docker-compose pull
- docker-compose up --build -d
Expand All @@ -14,5 +15,8 @@ script:
- docker exec dcore_container make test

after_script:
- cd ${ROOTDIR}
- docker cp dcore_container:/home/testuser/opt/DCore/share/doc/dcore ${ROOTDIR}/dcore_doc
- docker-compose stop
- docker-compose rm -f
- /bin/bash -x ${ROOTDIR}/.travis_scripts/deploy_docs.sh
63 changes: 63 additions & 0 deletions .travis_scripts/deploy_docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# This is a pull request, finish.
if [ "_$TRAVIS_PULL_REQUEST" != "_false" ] ;then
echo "This is a pull request, do nothing."
exit 0;
fi
# build doc if and only if master, develop, xxx-autodoc, and tag
feature_branch=${TRAVIS_BRANCH%-autodoc}

if [ "_$TRAVIS_BRANCH" == "_master" ]; then
echo "This is the master branch, deploy docs."
elif [ "_$TRAVIS_BRANCH" == "_develop" ]; then
echo "This is the develop branch, deploy docs."
elif [ "_${feature_branch}" != "_${TRAVIS_BRANCH}" ]; then
echo "This is an auto-documented branch, deploy docs."
elif [ -n "$TRAVIS_TAG" ]; then
echo "This is a versioned tag, deploy docs."
else
echo "Do nothing."
exit 0
fi


openssl aes-256-cbc -K $encrypted_0f0c7c69c924_key -iv $encrypted_0f0c7c69c924_iv -in ${ROOTDIR}/.travis_scripts/id_rsa.enc -out ~/.ssh/id_rsa -d

chmod 600 ~/.ssh/id_rsa
echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config

git clone [email protected]:${TRAVIS_REPO_SLUG} dcore-repo
cd dcore-repo
git checkout gh-pages
if [ ${feature_branch} != ${TRAVIS_BRANCH} ]; then
mkdir -p $feature_branch
cp -r ${ROOTDIR}/dcore_doc/* $feature_branch
git add $feature_branch
elif [ "_${TRAVIS_BRANCH}" == "_develop" ]; then
mkdir -p develop
cp -r ${ROOTDIR}/dcore_doc/* develop
git add develop
elif [ "_${TRAVIS_BRANCH}" == "_master" ]; then
mkdir -p master
cp -r ${ROOTDIR}/dcore_doc/* master
git add master
elif [ -n ${TRAVIS_TAG}]; then
mkdir -p ${TRAVIS_TAG}
cp -r ${ROOTDIR}/dcore_doc/* ${TRAVIS_TAG}
git add ${TRAVIS_TAG}
else
echo "The deploy script failed to solve where to install documents. The script has some mistake."
echo "\$TRAVIS_BRANCH: $TRAVIS_BRANCH"
echo "\$TRAVIS_TAG: $TRAVIS_TAG"
echo "\$TRAVIS_PULL_REQUEST: $TRAVIS_PULL_REQUEST"
echo "\$feature_branch: $feature_branch"
exit 1
fi

git config --global user.email ""
git config --global user.name "DCore"
git commit -m "Update by TravisCI (\\#${TRAVIS_BUILD_NUMBER})"
ST=$?
if [ $ST == 0 ]; then
git push origin gh-pages:gh-pages --follow-tags > /dev/null 2>&1
fi

Binary file added .travis_scripts/id_rsa.enc
Binary file not shown.
6 changes: 6 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@ if (BUILD_DCORE)
set(DCORE_SITE_PACKAGES "${CMAKE_INSTALL_PREFIX}/lib/python2.7/site-packages")
set(DCORE_DEP_PYTHONPATH "${DCORE_SITE_PACKAGES}:${TRIQS_SITE_PACKAGES}")

# BSE
if (BSE_PATH)
set(ENV{PYTHONPATH} ${BSE_PATH}/python:$ENV{PYTHONPATH})
set(DCORE_DEP_PYTHONPATH "${DCORE_DEP_PYTHONPATH}:${BSE_PATH}/python")
endif()

add_subdirectory(python)
add_subdirectory(shells)
add_subdirectory(test)
Expand Down
9 changes: 7 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@ FROM shinaoka/triqs1.4_dmft_alps
# Copy host directory
COPY ./ $HOME/src/DCore

RUN pip install sphinx wild-sphinx-theme
# Workaround for a bug in docutils 0.15
RUN pip install -U docutils==0.14

WORKDIR $HOME/src/DCore
RUN mkdir $HOME/build/DCore
WORKDIR $HOME/build/DCore
ENV CTEST_OUTPUT_ON_FAILURE=1
RUN cmake -DCMAKE_VERBOSE_MAKEFILE=ON $HOME/src/DCore -DTRIQS_PATH=$HOME/opt/triqs -DCMAKE_INSTALL_PREFIX=$HOME/opt/DCore \
&& make -j 2 install
RUN cmake -DCMAKE_VERBOSE_MAKEFILE=ON $HOME/src/DCore -DTRIQS_PATH=$HOME/opt/triqs -DCMAKE_INSTALL_PREFIX=$HOME/opt/DCore -DBUILD_DOC=ON \
&& make -j 2 all && make -j 2 install
RUN find .
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[![Build Status](https://travis-ci.org/issp-center-dev/DCore.svg?branch=master)](https://travis-ci.org/issp-center-dev/DCore)
# DCore

DCore is aimed at model calculations and ab-initio calculations by the dynamical mean-field theory (DMFT). This package consists of programs with text-based and hdf5-based interface. These programs enable users to perform DMFT calculations and analyze results without writing computer code. The current version is built on TRIQS Python libraries. We will add supports for impurity solvers based on ALPSCore libraries in future.
DCore is aimed at model calculations and ab-initio calculations by the dynamical mean-field theory (DMFT). This package consists of programs with text-based and hdf5-based interface. These programs enable users to perform DMFT calculations and analyze results without writing computer code. ALPS and TRIQS impurity solvers are supported.

## Web page

Expand Down
2 changes: 0 additions & 2 deletions doc/conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ extensions = ['sphinx.ext.autodoc',
'sphinx.ext.todo',
'sphinx.ext.viewcode',
'sphinx.ext.autosummary',
#'numpydoc',
#'sphinxcontrib.spelling'
]

source_suffix = '.rst'
Expand Down
3 changes: 2 additions & 1 deletion doc/impuritysolvers/alpscore_ctseg/ctseg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ Please also refer to `the wiki page <https://github.com/ALPSCore/CT-HYB-SEGMENT/

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

18 changes: 9 additions & 9 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ The DCore package is published under the

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

- https://github.com/issp-center-dev/DCore/blob/develop_v2/python/impurity_solvers/triqs_hubbard_I_impl.py
- https://github.com/issp-center-dev/DCore/tree/develop_v2/python/converters
- https://github.com/issp-center-dev/DCore/blob/develop/python/impurity_solvers/triqs_hubbard_I_impl.py
- https://github.com/issp-center-dev/DCore/tree/develop/python/converters

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

Expand All @@ -36,7 +36,7 @@ Authors & Quotation

- ver. 2.0

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

- ver. 1.1 (released on 2019/1/25)

Expand All @@ -48,15 +48,15 @@ Authors & Quotation
This package depends on TRIQS libraries and applications.
Please cite relevant papers for these original libraries.

* `TRIQS libraries <https://triqs.ipht.cnrs.fr/1.x/about.html>`_
* `TRIQS/DFTTools <https://triqs.ipht.cnrs.fr/1.4/applications/dft_tools/about.html>`_
* `TRIQS libraries <https://triqs.github.io/triqs/2.1.x/about.html>`_
* `TRIQS/DFTTools <https://triqs.github.io/dft_tools/2.1.x/about.html>`_

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

* `TRIQS/cthyb <https://triqs.ipht.cnrs.fr/applications/cthyb/about.html>`_
* `TRIQS/hubbardI <https://triqs.ipht.cnrs.fr/1.x/applications/hubbardI/about.html>`_
* `ALPSCore/CT-HYB <https://github.com/ALPSCore/CT-HYB/wiki/Citation>`_
* `ALPSCore/CT-HYB-SEGMENT <https://github.com/ALPSCore/CT-HYB-SEGMENT>`_
* `TRIQS/cthyb <https://triqs.github.io/cthyb/2.1.x/about.html>`_
* `TRIQS/hubbardI <https://triqs.github.io/triqs/1.4/applications/hubbardI/about.html>`_
* `ALPS/CT-HYB <https://github.com/ALPSCore/CT-HYB/wiki/Citation>`_
* `ALPS/CT-HYB-SEGMENT <https://github.com/ALPSCore/CT-HYB-SEGMENT>`_

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

Expand Down
61 changes: 12 additions & 49 deletions doc/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,54 +34,11 @@ You can download the source files in two ways.
Prerequisites
-------------

#. You first need to install `TRIQS <https://triqs.github.io/triqs/>`_ library prior to installing all other programs,
since ``DCore`` is implemented using ``TRIQS``.
#. `TRIQS <https://triqs.github.io/triqs/>`_ and `DFTTools/TRIQS <https://triqs.github.io/dft_tools/>`_.
They must be installed prior to installing all other programs.
If not, please install them following our instruction for :doc:`TRIQS 1.4.x <install_triqs14x>` or :doc:`TRIQS 2.1.x <install_triqs21x>`.

In the following, we suppose that ``TRIQS`` is installed in directory *path_to_triqs*.

.. note::

``DCore`` supports ``TRIQS`` version **1.4.2** (the current version 2.0 is not supported).
Since the installation manual in the TRIQS official website is not compatible with **1.4.2**, we briefly describe below how to install it.

#. You can download the zip file or tar file from https://github.com/TRIQS/triqs/releases/tag/1.4.2.
The version **1.4.2** is not compatible with the latest version of h5py (>=2.8.0).
If you encounter any problem, you can clone the repository and checkout **1.4.x** branch, which contains bug fixes.
We suppose that source files are located in *path_to_triqs_src* directory.

#. In an empty directory, type the following command:

.. code-block:: bash
$ cmake -DCMAKE_INSTALL_PREFIX=path_to_triqs path_to_triqs_src
$ make
$ make test
$ make install
#. You also need `DFTTools <https://triqs.github.io/dft_tools>`_, which runs on the ``TRIQS`` library.

.. note::

The current version in the GitHub repository is not compatible with ``TRIQS`` version 1.4.2.
You need to get old code that is compatible with 1.4.2.

#. Clone the repository, and checkout commit **d005756**.

.. code-block:: bash
$ git clone [email protected]:TRIQS/dft_tools.git
$ cd dft_tools
$ git checkout d005756
#. To build the source files, make an empty directory, move into it, and then type the following command:

.. code-block:: bash
$ cmake -DCMAKE_INSTALL_PREFIX=path_to_triqs\
-DTRIQS_PATH=path_to_triqs path_to_dft_tools
$ make
$ make test
$ make install
In the following, we suppose that ``TRIQS`` is installed in directory *path_to_triqs*.

#. You will also need at least one impurity solver.

Expand All @@ -90,7 +47,7 @@ Prerequisites
* :doc:`ALPS/CT-HYB<impuritysolvers/alpscore_cthyb/cthyb>`
* :doc:`ALPS/CT-HYB-SEGMENT<impuritysolvers/alpscore_ctseg/ctseg>`
* :doc:`TRIQS/cthyb<impuritysolvers/triqs_cthyb/cthyb>`
* :doc:`Hubbard-I solver<impuritysolvers/triqs_hubbard_one/hubbard_one>`
* :doc:`Hubbard-I solver<impuritysolvers/triqs_hubbard_one/hubbard_one>` (not available for TRIQS 2.1.x)

See :doc:`impuritysolvers` for a complete list of supported impurity solvers and their user manuals.

Expand Down Expand Up @@ -135,12 +92,18 @@ Installation steps

$ make

#. We recommend that you run the tests to check if the compiling is properly finished. Type
#. We recommend to run the tests to check if DCore is built correctly. Type

::

$ make test

If your system MPI wrapper is not "mpirun", please provide the name of the correct one to DCore through cmake by using the flag "-DMPIEXEC".
The default value is "mpirun -np #" (# is replaced by the number of processors).
For instance, if your wrapper is "mpijob" and you do not need to specify the number of processors explicitly, please use -DMPIEXEC=mpijob.
Note that it is not allowed to run MPI programs interactively on some system.
In this case, please run tests as a job.

The test results look like

::
Expand Down
2 changes: 1 addition & 1 deletion doc/reference/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The following table shows which blocks are used by each program.
[system] , , Yes, Yes, Yes
[impurity_solver], , Yes, , Yes
[control] , , Yes
[tool] , , , , Yes
[tool] , , , Yes, Yes
[mpi] , , Yes, , Yes

For example, we can see that ``dcore_pre`` needs to be re-executed only when [model] block is changed.
Expand Down
2 changes: 1 addition & 1 deletion doc/reference/programs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ The computed spectral function can be drawn by
Using this gnuplot script, you can also see the original (DFT) band structure as follows if either
*seedname*\_band.dat (Wannier90 output) or dir-wan/dat.iband (RESPACK output) exists.

.. image:: ../tutorial/srvo3_qe/akw_srvo3.png
.. image:: ../tutorial/srvo3/akw_srvo3.png
:width: 500
:align: center

Expand Down
6 changes: 3 additions & 3 deletions doc/support/faqs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Can **DCore** compute the double occupancy?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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

In general, capability of computing **local** physical quantities totally depends on impurity solvers.
See the documentation of each solver for which local quantities can be computed.
Expand Down Expand Up @@ -122,13 +122,13 @@ The argument of ``--ext`` can be png, pdf, eps, jpg, ... (the ones supported by
Impurity solvers
----------------

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

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

Expand Down
9 changes: 3 additions & 6 deletions doc/tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,13 @@ Tutorial

tutorial/square/square
tutorial/bethe-t2g/bethe
tutorial/spin_orbit/spin_orbit
tutorial/afm/afm

**Part-II: DFT+DMFT**

.. toctree::
:maxdepth: 2

tutorial/qe
tutorial/srvo3_openmx/openmx
tutorial/pb/pb
tutorial/pb4/pb4
tutorial/srvo3_respack/respack
tutorial/srvo3/srvo3.rst

More examples are found in the directory "examples".
2 changes: 1 addition & 1 deletion doc/tutorial/bethe-t2g/bethe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ The reference data extracted from PRL 101, 166405 (2008) are available
:download:`here <sigma-PRL101-166405.txt>`.
The plot should look like the following.

.. image:: sigma.svg
.. image:: sigma.png
:width: 600
:align: center

18 changes: 0 additions & 18 deletions doc/tutorial/qe.rst

This file was deleted.

Binary file added doc/tutorial/square/akw_ctseg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions doc/tutorial/square/dmft_square_ctseg.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[model]
seedname = square
lattice = square
norb = 1
nelec = 1.0
t = -1.0
kanamori = [(4.0, 0.0, 0.0)]
nk = 8

[system]
beta = 10.0
n_iw = 1000
prec_mu = 0.001
fix_mu = True
mu = 2

[impurity_solver]
name = ALPS/cthyb-seg
exec_path{str} =/path/to/alps_cthyb
cthyb.TEXT_OUTPUT{int} = 1
cthyb.MEASUREMENT_freq{int} = 1
MEASURE_gw{int} = 1
MAX_TIME{int} = 100
cthyb.N_MEAS{int} = 50
cthyb.THERMALIZATION{int}=1000
cthyb.SWEEPS{int}=100000000

[control]
max_step = 20
sigma_mix = 1.0
time_reversal = True

[tool]
broadening = 0.4
knode = [(G,0.0,0.0,0.0),(X,0.5,0.0,0.0),(M,0.5,0.5,0.0),(G,0.0,0.0,0.0)]
nk_line = 100
omega_max =6.0
omega_min =-5.0
Nomega = 400
Loading

0 comments on commit ec8a133

Please sign in to comment.