From 1bb09af472a8900498377b0e1f696e6d409f4964 Mon Sep 17 00:00:00 2001 From: Nils Wentzell Date: Wed, 17 Apr 2019 16:08:57 -0400 Subject: [PATCH] Port app4triqs project structure to tprf --- CMakeLists.txt | 125 ++++++++------ ChangeLog.md | 1 + Dockerfile | 12 ++ Jenkinsfile | 154 ++++++++++++++++++ LICENSE.txt | 16 ++ README.md | 2 +- c++/CMakeLists.txt | 22 --- c++/triqs_tprf/CMakeLists.txt | 91 +++++++++++ c++/{ => triqs_tprf}/channel_grouping.hpp | 4 +- c++/{ => triqs_tprf}/chi_from_gg2.cpp | 4 +- c++/{ => triqs_tprf}/chi_from_gg2.hpp | 4 +- c++/{ => triqs_tprf}/fourier/fourier.hpp | 4 +- .../fourier/fourier_common.cpp | 6 +- .../fourier/fourier_common.hpp | 4 +- .../fourier/fourier_lattice.cpp | 6 +- .../fourier/fourier_matsubara.cpp | 4 +- c++/{ => triqs_tprf}/freq_conv.cpp | 4 +- c++/{ => triqs_tprf}/freq_conv.hpp | 4 +- c++/{ => triqs_tprf}/hubbard_atom.cpp | 4 +- c++/{ => triqs_tprf}/hubbard_atom.hpp | 4 +- c++/{ => triqs_tprf}/lattice.hpp | 0 c++/{ => triqs_tprf}/lattice/chi_imfreq.cpp | 4 +- c++/{ => triqs_tprf}/lattice/chi_imfreq.hpp | 4 +- c++/{ => triqs_tprf}/lattice/chi_imtime.cpp | 4 +- c++/{ => triqs_tprf}/lattice/chi_imtime.hpp | 4 +- c++/{ => triqs_tprf}/lattice/common.hpp | 0 c++/{ => triqs_tprf}/lattice/eliashberg.cpp | 4 +- c++/{ => triqs_tprf}/lattice/eliashberg.hpp | 2 +- .../lattice/fourier_interpolation.cpp | 4 +- .../lattice/fourier_interpolation.hpp | 4 +- c++/{ => triqs_tprf}/lattice/gf.cpp | 4 +- c++/{ => triqs_tprf}/lattice/gf.hpp | 4 +- c++/{ => triqs_tprf}/lattice/gw.cpp | 4 +- c++/{ => triqs_tprf}/lattice/gw.hpp | 4 +- .../lattice/lindhard_chi00.cpp | 4 +- .../lattice/lindhard_chi00.hpp | 4 +- c++/{ => triqs_tprf}/lattice/rpa.cpp | 4 +- c++/{ => triqs_tprf}/lattice/rpa.hpp | 4 +- c++/{ => triqs_tprf}/linalg.cpp | 4 +- c++/{ => triqs_tprf}/linalg.hpp | 4 +- c++/{ => triqs_tprf}/mpi.hpp | 4 +- c++/{ => triqs_tprf}/types.hpp | 4 +- doc/CMakeLists.txt | 148 +++++++---------- doc/ChangeLog.md | 7 + doc/_static/logo_cea.png | Bin 2018 -> 40013 bytes doc/_static/logo_x.png | Bin 6832 -> 248543 bytes doc/_templates/sideb.html | 9 +- doc/changelog.rst | 8 + doc/conf.py.in | 47 +++--- doc/index.rst | 5 + doc/install.rst | 65 +++++--- python/CMakeLists.txt | 73 --------- python/triqs_tprf/CMakeLists.txt | 31 ++++ python/{ => triqs_tprf}/Dummy.py | 0 .../{ => triqs_tprf}/ParameterCollection.py | 0 python/{ => triqs_tprf}/__init__.py | 0 .../{ => triqs_tprf}/analytic_hubbard_atom.py | 0 python/{ => triqs_tprf}/bse.py | 0 python/{ => triqs_tprf}/chi_from_gg2_desc.py | 5 +- python/{ => triqs_tprf}/eliashberg.py | 0 python/{ => triqs_tprf}/freq_conv_desc.py | 4 +- python/{ => triqs_tprf}/hf_response.py | 0 python/{ => triqs_tprf}/hf_solver.py | 0 python/{ => triqs_tprf}/hubbard_atom_desc.py | 6 +- python/{ => triqs_tprf}/lattice_desc.py | 6 +- python/{ => triqs_tprf}/lattice_utils.py | 0 python/{ => triqs_tprf}/linalg_desc.py | 4 +- python/{ => triqs_tprf}/logo.py | 0 python/{ => triqs_tprf}/plot.py | 0 python/{ => triqs_tprf}/rpa_tensor.py | 0 python/{ => triqs_tprf}/super_lattice.py | 0 python/{ => triqs_tprf}/tight_binding.py | 0 python/{ => triqs_tprf}/utilities.py | 0 python/triqs_tprf/version.py.in | 35 ++++ python/{ => triqs_tprf}/wannier90.py | 0 python/version.py.in | 14 -- share/CMakeLists.txt | 23 +++ share/cmake/CMakeLists.txt | 10 ++ .../cmake/triqs_tprf-config-version.cmake.in | 13 ++ share/cmake/triqs_tprf-config.cmake.in | 24 +++ share/triqs_tprf.modulefile.in | 39 +++++ share/triqs_tprfvars.sh.in | 10 ++ test/CMakeLists.txt | 4 +- test/c++/CMakeLists.txt | 41 +++-- test/c++/chi0_wk_to_from_chi0_wr.cpp | 7 +- test/c++/g_wk_to_from_g_wr.cpp | 7 +- test/c++/hubbard_atom_test.cpp | 6 +- test/c++/linalg_ops.cpp | 9 +- test/c++/mpi_and_openmp.cpp | 4 +- test/python/CMakeLists.txt | 24 ++- ...o_from_g_wr.py => g_wk_to_from_g_wr_py.py} | 0 91 files changed, 828 insertions(+), 413 deletions(-) create mode 120000 ChangeLog.md create mode 100644 Dockerfile create mode 100644 Jenkinsfile create mode 100644 LICENSE.txt delete mode 100644 c++/CMakeLists.txt create mode 100644 c++/triqs_tprf/CMakeLists.txt rename c++/{ => triqs_tprf}/channel_grouping.hpp (98%) rename c++/{ => triqs_tprf}/chi_from_gg2.cpp (98%) rename c++/{ => triqs_tprf}/chi_from_gg2.hpp (98%) rename c++/{ => triqs_tprf}/fourier/fourier.hpp (99%) rename c++/{ => triqs_tprf}/fourier/fourier_common.cpp (97%) rename c++/{ => triqs_tprf}/fourier/fourier_common.hpp (96%) rename c++/{ => triqs_tprf}/fourier/fourier_lattice.cpp (96%) rename c++/{ => triqs_tprf}/fourier/fourier_matsubara.cpp (99%) rename c++/{ => triqs_tprf}/freq_conv.cpp (98%) rename c++/{ => triqs_tprf}/freq_conv.hpp (96%) rename c++/{ => triqs_tprf}/hubbard_atom.cpp (99%) rename c++/{ => triqs_tprf}/hubbard_atom.hpp (98%) rename c++/{ => triqs_tprf}/lattice.hpp (100%) rename c++/{ => triqs_tprf}/lattice/chi_imfreq.cpp (99%) rename c++/{ => triqs_tprf}/lattice/chi_imfreq.hpp (97%) rename c++/{ => triqs_tprf}/lattice/chi_imtime.cpp (99%) rename c++/{ => triqs_tprf}/lattice/chi_imtime.hpp (98%) rename c++/{ => triqs_tprf}/lattice/common.hpp (100%) rename c++/{ => triqs_tprf}/lattice/eliashberg.cpp (99%) rename c++/{ => triqs_tprf}/lattice/eliashberg.hpp (99%) rename c++/{ => triqs_tprf}/lattice/fourier_interpolation.cpp (97%) rename c++/{ => triqs_tprf}/lattice/fourier_interpolation.hpp (95%) rename c++/{ => triqs_tprf}/lattice/gf.cpp (99%) rename c++/{ => triqs_tprf}/lattice/gf.hpp (99%) rename c++/{ => triqs_tprf}/lattice/gw.cpp (98%) rename c++/{ => triqs_tprf}/lattice/gw.hpp (98%) rename c++/{ => triqs_tprf}/lattice/lindhard_chi00.cpp (98%) rename c++/{ => triqs_tprf}/lattice/lindhard_chi00.hpp (98%) rename c++/{ => triqs_tprf}/lattice/rpa.cpp (97%) rename c++/{ => triqs_tprf}/lattice/rpa.hpp (97%) rename c++/{ => triqs_tprf}/linalg.cpp (99%) rename c++/{ => triqs_tprf}/linalg.hpp (99%) rename c++/{ => triqs_tprf}/mpi.hpp (98%) rename c++/{ => triqs_tprf}/types.hpp (99%) create mode 100644 doc/ChangeLog.md create mode 100644 doc/changelog.rst delete mode 100644 python/CMakeLists.txt create mode 100644 python/triqs_tprf/CMakeLists.txt rename python/{ => triqs_tprf}/Dummy.py (100%) rename python/{ => triqs_tprf}/ParameterCollection.py (100%) rename python/{ => triqs_tprf}/__init__.py (100%) rename python/{ => triqs_tprf}/analytic_hubbard_atom.py (100%) rename python/{ => triqs_tprf}/bse.py (100%) rename python/{ => triqs_tprf}/chi_from_gg2_desc.py (94%) rename python/{ => triqs_tprf}/eliashberg.py (100%) rename python/{ => triqs_tprf}/freq_conv_desc.py (95%) rename python/{ => triqs_tprf}/hf_response.py (100%) rename python/{ => triqs_tprf}/hf_solver.py (100%) rename python/{ => triqs_tprf}/hubbard_atom_desc.py (89%) rename python/{ => triqs_tprf}/lattice_desc.py (97%) rename python/{ => triqs_tprf}/lattice_utils.py (100%) rename python/{ => triqs_tprf}/linalg_desc.py (96%) rename python/{ => triqs_tprf}/logo.py (100%) rename python/{ => triqs_tprf}/plot.py (100%) rename python/{ => triqs_tprf}/rpa_tensor.py (100%) rename python/{ => triqs_tprf}/super_lattice.py (100%) rename python/{ => triqs_tprf}/tight_binding.py (100%) rename python/{ => triqs_tprf}/utilities.py (100%) create mode 100644 python/triqs_tprf/version.py.in rename python/{ => triqs_tprf}/wannier90.py (100%) delete mode 100644 python/version.py.in create mode 100644 share/CMakeLists.txt create mode 100644 share/cmake/CMakeLists.txt create mode 100644 share/cmake/triqs_tprf-config-version.cmake.in create mode 100644 share/cmake/triqs_tprf-config.cmake.in create mode 100644 share/triqs_tprf.modulefile.in create mode 100644 share/triqs_tprfvars.sh.in rename test/python/{g_wk_to_from_g_wr.py => g_wk_to_from_g_wr_py.py} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 569328fe5..5e4eb3b1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,68 +1,91 @@ -# start configuration -cmake_minimum_required(VERSION 2.8) -project(tprf CXX) -set(CMAKE_BUILD_TYPE Release) -enable_testing() +# Start configuration +cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) +project(triqs_tprf CXX) +if(POLICY CMP0074) + cmake_policy(SET CMP0074 NEW) +endif() + +# Default to Release build type +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release CACHE STRING "Type of build" FORCE) +endif() +message( STATUS "-------- BUILD-TYPE: ${CMAKE_BUILD_TYPE} --------") -# We use shared libraries -option(BUILD_SHARED_LIBS "Build shared libraries" ON) +# Build static libraries +set(BUILD_SHARED_LIBS OFF) -# Load TRIQS and Cpp2Py -find_package(TRIQS 2.0 REQUIRED) -find_package(Cpp2Py 1.5 REQUIRED) +# Export the list of compile-commands into compile_commands.json +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -# Load TRIQS, including all predefined variables from TRIQS installation -# First append triqs installed files to the cmake load path -list(APPEND CMAKE_MODULE_PATH ${TRIQS_PATH}/share/triqs/cmake) +# Enable compiler warnings for the whole project +add_compile_options(-Wall + $<$:-Og> + $<$:-ggdb3> + ) -add_definitions(${TRIQS_CXX_DEFINITIONS}) -include_directories(${TRIQS_INCLUDE_ALL}) +# Load Dependencies +find_package(TRIQS 2.2 REQUIRED) +find_package(Cpp2Py 1.6 REQUIRED) -# Default Install directory to TRIQS_ROOT if not given. Checks an absolute name is given. +# Default Install directory to TRIQS_ROOT if not given or invalid. if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR (NOT IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX})) message(STATUS " No install prefix given (or invalid). Defaulting to TRIQS_ROOT") set(CMAKE_INSTALL_PREFIX ${TRIQS_ROOT} CACHE PATH "default install path" FORCE) endif() -message(STATUS "-------- CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX} -------------") - -# All PRIVATE common options. -# The std for all targets -add_compile_options(-std=c++17) +message(STATUS "-------- CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX} --------") -# Common to all targets (ctint, python, tests). -include_directories(${CMAKE_SOURCE_DIR}) +# Define the triqs_tprf version numbers and get the git hash +set(TPRF_VERSION_MAJOR 2) +set(TPRF_VERSION_MINOR 2) +set(TPRF_VERSION_PATCH 0) +set(TPRF_VERSION ${TPRF_VERSION_MAJOR}.${TPRF_VERSION_MINOR}.${TPRF_VERSION_PATCH}) +triqs_get_git_hash_of_source_dir(TPRF_GIT_HASH) +message(STATUS "triqs_tprf version : ${TPRF_VERSION}") +message(STATUS "Git hash: ${TPRF_GIT_HASH}") -# Get the Git Hash -find_package(Git) +# Build and install the triqs_tprf library +add_subdirectory(c++/triqs_tprf) -execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - OUTPUT_VARIABLE TPRF_GIT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE -) -message(STATUS "TPRF git hash : ${TPRF_GIT_HASH}") +# Tests +option(Build_Tests "Build tests" ON) +if(Build_Tests) + enable_testing() + add_subdirectory(test) +endif() -# To be fixed!! -triqs_set_rpath_for_all_targets() +if(TRIQS_WITH_PYTHON_SUPPORT) + # Python interface + add_subdirectory(python/triqs_tprf) -# Compile C++ code -add_subdirectory(c++) + # Build the documentation + option(Build_Documentation "Build documentation" OFF) + if(Build_Documentation) + if(NOT TRIQS_WITH_DOCUMENTATION) + message(WARNING "TRIQS library has not been compiled with its documentation! Cannot build documentation.") + else() + message(STATUS "Documentation Build enabled") + add_subdirectory(doc) + endif() + endif() +else() + message(WARNING "TRIQS library has been installed without Python support. Cannot build the Python Interface and Documentation.") +endif() -# Python interface (if is compiled with Python support). -# Remove this for a pure C++ code. -if (${TRIQS_WITH_PYTHON_SUPPORT}) - add_subdirectory(python) +# Additional configuration files +add_subdirectory(share) - # Build Sphinx based docs - option(BUILD_DOC "Build documentation" OFF) - if(${BUILD_DOC}) - if(NOT ${TRIQS_WITH_DOCUMENTATION}) - message(FATAL_ERROR "Error: TRIQS library has not been compiled with its documentation") - endif() - add_subdirectory(doc) - endif(${BUILD_DOC}) +# Debian Package +option(BUILD_DEBIAN_PACKAGE "Build a deb package" OFF) +if(BUILD_DEBIAN_PACKAGE) + if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr") + message(FATAL_ERROR "CMAKE_INSTALL_PREFIX must be /usr for packaging") + endif() + SET(CPACK_GENERATOR "DEB") + SET(CPACK_PACKAGE_VERSION ${TPRF_VERSION}) + SET(CPACK_PACKAGE_CONTACT "https://github.com/TRIQS/triqs_tprf") + EXECUTE_PROCESS(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CMAKE_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) + SET(CPACK_DEBIAN_PACKAGE_DEPENDS "triqs (>= 2.2)") + SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) + SET(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON) + INCLUDE(CPack) endif() - -# Add tests -enable_testing() -add_subdirectory(test) diff --git a/ChangeLog.md b/ChangeLog.md new file mode 120000 index 000000000..9e080e267 --- /dev/null +++ b/ChangeLog.md @@ -0,0 +1 @@ +doc/ChangeLog.md \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..1d7149fbe --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +# See ../triqs/packaging for other options +FROM flatironinstitute/triqs:master-ubuntu-clang + +ARG APPNAME +COPY . $SRC/$APPNAME +WORKDIR $BUILD/$APPNAME +RUN chown build . +USER build +ARG BUILD_DOC=0 +RUN cmake $SRC/$APPNAME -DTRIQS_ROOT=${INSTALL} -DBuild_Documentation=${BUILD_DOC} && make -j2 && make test CTEST_OUTPUT_ON_FAILURE=1 +USER root +RUN make install diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..fc79cc2a2 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,154 @@ +def projectName = "triqs_tprf" /* set to app/repo name */ + +/* which platform to build documentation on */ +def documentationPlatform = "ubuntu-clang" +/* depend on triqs upstream branch/project */ +def triqsBranch = env.CHANGE_TARGET ?: env.BRANCH_NAME +def triqsProject = '/TRIQS/triqs/' + triqsBranch.replaceAll('/', '%2F') +/* whether to publish the results (disabled for template project) */ +def publish = !env.BRANCH_NAME.startsWith("PR-") && projectName != "triqs_tprf" + +properties([ + disableConcurrentBuilds(), + buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '30')), + pipelineTriggers([ + upstream( + threshold: 'SUCCESS', + upstreamProjects: triqsProject + ) + ]) +]) + +/* map of all builds to run, populated below */ +def platforms = [:] + +/****************** linux builds (in docker) */ +/* Each platform must have a cooresponding Dockerfile.PLATFORM in triqs/packaging */ +def dockerPlatforms = ["ubuntu-clang", "ubuntu-gcc", "centos-gcc"] +/* .each is currently broken in jenkins */ +for (int i = 0; i < dockerPlatforms.size(); i++) { + def platform = dockerPlatforms[i] + platforms[platform] = { -> node('docker') { + stage(platform) { timeout(time: 1, unit: 'HOURS') { + checkout scm + /* construct a Dockerfile for this base */ + sh """ + ( echo "FROM flatironinstitute/triqs:${triqsBranch}-${env.STAGE_NAME}" ; sed '0,/^FROM /d' Dockerfile ) > Dockerfile.jenkins + mv -f Dockerfile.jenkins Dockerfile + """ + /* build and tag */ + def img = docker.build("flatironinstitute/${projectName}:${env.BRANCH_NAME}-${env.STAGE_NAME}", "--build-arg APPNAME=${projectName} --build-arg BUILD_DOC=${platform==documentationPlatform} .") + if (!publish || platform != documentationPlatform) { + /* but we don't need the tag so clean it up (except for documentation) */ + sh "docker rmi --no-prune ${img.imageName()}" + } + } } + } } +} + +/****************** osx builds (on host) */ +def osxPlatforms = [ + ["gcc", ['CC=gcc-7', 'CXX=g++-7']], + ["clang", ['CC=$BREW/opt/llvm/bin/clang', 'CXX=$BREW/opt/llvm/bin/clang++', 'CXXFLAGS=-I$BREW/opt/llvm/include', 'LDFLAGS=-L$BREW/opt/llvm/lib']] +] +for (int i = 0; i < osxPlatforms.size(); i++) { + def platformEnv = osxPlatforms[i] + def platform = platformEnv[0] + platforms["osx-$platform"] = { -> node('osx && triqs') { + stage("osx-$platform") { timeout(time: 1, unit: 'HOURS') { + def srcDir = pwd() + def tmpDir = pwd(tmp:true) + def buildDir = "$tmpDir/build" + def installDir = "$tmpDir/install" + def triqsDir = "${env.HOME}/install/triqs/${triqsBranch}/${platform}" + dir(installDir) { + deleteDir() + } + + checkout scm + dir(buildDir) { withEnv(platformEnv[1].collect { it.replace('\$BREW', env.BREW) } + [ + "PATH=$triqsDir/bin:${env.BREW}/bin:/usr/bin:/bin:/usr/sbin", + "CPLUS_INCLUDE_PATH=$triqsDir/include:${env.BREW}/include", + "LIBRARY_PATH=$triqsDir/lib:${env.BREW}/lib", + "CMAKE_PREFIX_PATH=$triqsDir/lib/cmake/triqs"]) { + deleteDir() + sh "cmake $srcDir -DCMAKE_INSTALL_PREFIX=$installDir -DTRIQS_ROOT=$triqsDir" + sh "make -j3" + try { + sh "make test CTEST_OUTPUT_ON_FAILURE=1" + } catch (exc) { + archiveArtifacts(artifacts: 'Testing/Temporary/LastTest.log') + throw exc + } + sh "make install" + } } + } } + } } +} + +/****************** wrap-up */ +try { + parallel platforms + if (publish) { node("docker") { + /* Publish results */ + stage("publish") { timeout(time: 1, unit: 'HOURS') { + def commit = sh(returnStdout: true, script: "git rev-parse HEAD").trim() + def release = env.BRANCH_NAME == "master" || env.BRANCH_NAME == "unstable" || sh(returnStdout: true, script: "git describe --exact-match HEAD || true").trim() + def workDir = pwd() + /* Update documention on gh-pages branch */ + dir("$workDir/gh-pages") { + def subdir = "${projectName}/${env.BRANCH_NAME}" + git(url: "ssh://git@github.com/TRIQS/TRIQS.github.io.git", branch: "master", credentialsId: "ssh", changelog: false) + sh "rm -rf ${subdir}" + docker.image("flatironinstitute/${projectName}:${env.BRANCH_NAME}-${documentationPlatform}").inside() { + sh "cp -rp \$INSTALL/share/doc/${projectName} ${subdir}" + } + sh "git add -A ${subdir}" + sh """ + git commit --author='Flatiron Jenkins ' --allow-empty -m 'Generated documentation for ${subdir}' -m '${env.BUILD_TAG} ${commit}' + """ + // note: credentials used above don't work (need JENKINS-28335) + sh "git push origin master || { git pull --rebase origin master && git push origin master ; }" + } + /* Update docker repo submodule */ + if (release) { dir("$workDir/docker") { try { + git(url: "ssh://git@github.com/TRIQS/docker.git", branch: env.BRANCH_NAME, credentialsId: "ssh", changelog: false) + sh "echo '160000 commit ${commit}\t${projectName}' | git update-index --index-info" + sh """ + git commit --author='Flatiron Jenkins ' --allow-empty -m 'Autoupdate ${projectName}' -m '${env.BUILD_TAG}' + """ + // note: credentials used above don't work (need JENKINS-28335) + sh "git push origin ${env.BRANCH_NAME} || { git pull --rebase origin ${env.BRANCH_NAME} && git push origin ${env.BRANCH_NAME} ; }" + } catch (err) { + /* Ignore, non-critical -- might not exist on this branch */ + echo "Failed to update docker repo" + } } } + } } + } } +} catch (err) { + /* send email on build failure (declarative pipeline's post section would work better) */ + if (env.BRANCH_NAME != "jenkins") emailext( + subject: "\$PROJECT_NAME - Build # \$BUILD_NUMBER - FAILED", + body: """\$PROJECT_NAME - Build # \$BUILD_NUMBER - FAILED + +$err + +Check console output at \$BUILD_URL to view full results. + +Building \$BRANCH_NAME for \$CAUSE +\$JOB_DESCRIPTION + +Changes: +\$CHANGES + +End of build log: +\${BUILD_LOG,maxLines=60} + """, + to: 'nwentzell@flatironinstitute.org, dsimon@flatironinstitute.org', + recipientProviders: [ + [$class: 'DevelopersRecipientProvider'], + ], + replyTo: '$DEFAULT_REPLYTO' + ) + throw err +} diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 000000000..78c280512 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,16 @@ +TRIQS: a Toolbox for Research in Interacting Quantum Systems + +Copyright (C) 2014 by P. Seth, I. Krivenko, M. Ferrero, O. Parcollet + +TRIQS is free software: you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation, either version 3 of the License, or (at your option) any later +version. + +TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +TRIQS (in the file COPYING.txt in this directory). If not, see +. diff --git a/README.md b/README.md index ec37dc23d..ec107b87d 100644 --- a/README.md +++ b/README.md @@ -19,4 +19,4 @@ later version (see ). It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. \ No newline at end of file +PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt deleted file mode 100644 index 9017ff5ee..000000000 --- a/c++/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -# -# We compile all the cpp files in this directory into a shared library -# - -# Find all the .cpp files in the current directory -FILE(GLOB cpp_sources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp) -FILE(GLOB cpp_sources_lattice RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} lattice/*.cpp) -FILE(GLOB cpp_sources_fourier RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} fourier/*.cpp) - -# Set up the compilation of those files into a shared library -add_library(tprf_c ${cpp_sources} ${cpp_sources_lattice} ${cpp_sources_fourier}) - -# We are using openmp -target_compile_options(tprf_c PUBLIC -fopenmp) -target_link_libraries(tprf_c PUBLIC "-fopenmp") -# FIXME New cmake version allow: target_link_options(tprf_c PUBLIC -fopenmp) - -# This library should be linked to all libraries against which TRIQS is linked -target_link_libraries(tprf_c PUBLIC triqs) - -# Installation path -install(TARGETS tprf_c DESTINATION lib) diff --git a/c++/triqs_tprf/CMakeLists.txt b/c++/triqs_tprf/CMakeLists.txt new file mode 100644 index 000000000..1387b0c5e --- /dev/null +++ b/c++/triqs_tprf/CMakeLists.txt @@ -0,0 +1,91 @@ +file(GLOB_RECURSE sources *.cpp) +add_library(triqs_tprf_c ${sources}) + +# Link against dependencies +target_link_libraries(triqs_tprf_c PUBLIC triqs) + +# Configure compilation +target_compile_options(triqs_tprf_c PUBLIC -std=c++17 -fPIC -fopenmp) +target_link_libraries(triqs_tprf_c PUBLIC "-fopenmp") # We are using openmp +target_include_directories(triqs_tprf_c PUBLIC $) +target_compile_definitions(triqs_tprf_c PUBLIC + TPRF_GIT_HASH=${TPRF_GIT_HASH} + TRIQS_GIT_HASH=${TRIQS_GIT_HASH} + $<$:TPRF_DEBUG> + $<$:TRIQS_DEBUG> + $<$:TRIQS_ARRAYS_ENFORCE_BOUNDCHECK> + ) + +# Install library and headers +install(TARGETS triqs_tprf_c EXPORT triqs_tprf-targets DESTINATION lib) +install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION include FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h") + + +# ========= Static Analyzer Checks ========== + +option(ANALYZE_SOURCES OFF "Run static analyzer checks if found (clang-tidy, cppcheck)") +if(ANALYZE_SOURCES) + + # Locate static analyzer tools + find_program(CPPCHECK_EXECUTABLE NAMES "cppcheck" PATHS ENV PATH) + find_program(CLANG_TIDY_EXECUTABLE NAMES "clang-tidy" PATHS ENV PATH) + + # Run clang-tidy if found + if(CLANG_TIDY_EXECUTABLE) + message(STATUS "clang-tidy found: ${CLANG_TIDY_EXECUTABLE}") + set_target_properties(triqs_tprf_c PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}") + else() + message(STATUS "clang-tidy not found in $PATH. Please consider installing clang-tidy for additional checks!") + endif() + + # Run cppcheck if found + if(CPPCHECK_EXECUTABLE) + message(STATUS "cppcheck found: ${CPPCHECK_EXECUTABLE}") + add_custom_command( + TARGET triqs_tprf_c + COMMAND ${CPPCHECK_EXECUTABLE} + --enable=warning,style,performance,portability + --std=c++14 + --template=gcc + --verbose + --quiet + ${sources} + ) + else() + message(STATUS "cppcheck not found in $PATH. Please consider installing cppcheck for additional checks!") + endif() + +endif() + + +# ========= Dynamic Analyzer Checks ========== + +set(sanitizers "") +# Address Sanitizer +option(ASAN OFF "Compile library and executables with LLVM Address Sanitizer") +if(ASAN) + list(APPEND sanitizers asan) + target_compile_options(triqs_tprf_c PRIVATE -fsanitize=address -fno-omit-frame-pointer -ggdb3) + target_link_libraries(triqs_tprf_c INTERFACE "-fsanitize=address -fno-omit-frame-pointer") + if(NOT DEFINED ENV{ASAN_OPTIONS}) + message(WARNING "ASAN_OPTIONS is not set. Consider setting ASAN_OPTIONS=symbolize=1:detect_leaks=0 when running tests") + endif() +endif() + +# Undefined Behavior Sanitizer +option(UBSAN OFF "Compile library and executables with LLVM Undefined Behavior Sanitizer") +if(UBSAN) + list(APPEND sanitizers ubsan) + target_compile_options(triqs_tprf_c PUBLIC -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fno-omit-frame-pointer -ggdb3) + target_link_libraries(triqs_tprf_c INTERFACE "-fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow -fno-omit-frame-pointer") + if(NOT DEFINED ENV{UBSAN_OPTIONS}) + message(WARNING "UBSAN_OPTIONS is not set. Consider setting UBSAN_OPTIONS=symbolize=1:print_stacktrace=1:halt_on_error=1 when running tests") + endif() +endif() + +if(sanitizers) + find_package(sanitizer REQUIRED ${sanitizers}) + if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + target_link_libraries(triqs_tprf_c INTERFACE "-fuse-ld=gold") + endif() +endif() diff --git a/c++/channel_grouping.hpp b/c++/triqs_tprf/channel_grouping.hpp similarity index 98% rename from c++/channel_grouping.hpp rename to c++/triqs_tprf/channel_grouping.hpp index f3600597e..c6e846035 100644 --- a/c++/channel_grouping.hpp +++ b/c++/triqs_tprf/channel_grouping.hpp @@ -28,7 +28,7 @@ using namespace triqs::arrays; #include "types.hpp" -namespace tprf { +namespace triqs_tprf { // ---------------------------------------------------- @@ -106,4 +106,4 @@ inline matrix_view channel_grouping::matrix_view( return make_matrix_view(group_indices_view(arr, {0, 2, 4}, {1, 3, 5})); } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/chi_from_gg2.cpp b/c++/triqs_tprf/chi_from_gg2.cpp similarity index 98% rename from c++/chi_from_gg2.cpp rename to c++/triqs_tprf/chi_from_gg2.cpp index ba1b497ad..f2cceac95 100644 --- a/c++/chi_from_gg2.cpp +++ b/c++/triqs_tprf/chi_from_gg2.cpp @@ -35,7 +35,7 @@ placeholder<5> n; placeholder<6> np; } // namespace -namespace tprf { +namespace triqs_tprf { // ---------------------------------------------------- // Particle-hole (PH) @@ -95,4 +95,4 @@ g2_iw_t chi0_from_gg2_PP(g_iw_vt g, g2_iw_vt g2) { return chi0_from_gg2(g, g2); } g2_iw_t chi_from_gg2_PP(g_iw_vt g, g2_iw_vt g2) { return chi_from_gg2(g, g2); } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/chi_from_gg2.hpp b/c++/triqs_tprf/chi_from_gg2.hpp similarity index 98% rename from c++/chi_from_gg2.hpp rename to c++/triqs_tprf/chi_from_gg2.hpp index 50a8e802a..5b093df80 100644 --- a/c++/chi_from_gg2.hpp +++ b/c++/triqs_tprf/chi_from_gg2.hpp @@ -22,7 +22,7 @@ #include "types.hpp" -namespace tprf { +namespace triqs_tprf { template g2_iw_t chi0_from_gg2(g_iw_cvt g, g2_iw_cvt g2); @@ -97,4 +97,4 @@ g2_iw_t chi_from_gg2_PH(g_iw_vt g, g2_iw_vt g2); */ g2_iw_t chi_from_gg2_PP(g_iw_vt g, g2_iw_vt g2); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/fourier/fourier.hpp b/c++/triqs_tprf/fourier/fourier.hpp similarity index 99% rename from c++/fourier/fourier.hpp rename to c++/triqs_tprf/fourier/fourier.hpp index a3ce67519..789263e96 100644 --- a/c++/fourier/fourier.hpp +++ b/c++/triqs_tprf/fourier/fourier.hpp @@ -32,7 +32,7 @@ //#include #include -namespace tprf::fourier { +namespace triqs_tprf::fourier { using namespace triqs::arrays; using namespace triqs::gfs; @@ -477,7 +477,7 @@ void triqs_gf_view_assign_delegation( } */ -} // namespace tprf::fourier +} // namespace triqs_tprf::fourier /* // declares the function to accept the clef lazy expressions diff --git a/c++/fourier/fourier_common.cpp b/c++/triqs_tprf/fourier/fourier_common.cpp similarity index 97% rename from c++/fourier/fourier_common.cpp rename to c++/triqs_tprf/fourier/fourier_common.cpp index 1e5c147ed..298946b13 100644 --- a/c++/fourier/fourier_common.cpp +++ b/c++/triqs_tprf/fourier/fourier_common.cpp @@ -23,7 +23,7 @@ #include "./fourier_common.hpp" -namespace tprf::fourier { +namespace triqs_tprf::fourier { /* void _fourier_base(array_const_view in, @@ -61,7 +61,7 @@ fourier_plan _fourier_base_plan(array_const_view in, auto out_fft = reinterpret_cast(out.data_start()); /* - std::cout << "--> tprf::fourier _fourier_base_plan\n"; + std::cout << "--> triqs_tprf::fourier _fourier_base_plan\n"; std::cout << "rank = " << rank << "\n"; std::cout << "dims[0] = " << dims[0] << "\n"; std::cout << "dims[1] = " << dims[1] << "\n"; @@ -117,4 +117,4 @@ fourier_plan_base::~fourier_plan_base() { _fourier_base_destroy_plan(plan_ptr); } -} // namespace tprf::fourier +} // namespace triqs_tprf::fourier diff --git a/c++/fourier/fourier_common.hpp b/c++/triqs_tprf/fourier/fourier_common.hpp similarity index 96% rename from c++/fourier/fourier_common.hpp rename to c++/triqs_tprf/fourier/fourier_common.hpp index e54a9b252..6b80aa5d8 100644 --- a/c++/fourier/fourier_common.hpp +++ b/c++/triqs_tprf/fourier/fourier_common.hpp @@ -27,7 +27,7 @@ // include only in cpp implementation #include -namespace tprf::fourier { +namespace triqs_tprf::fourier { typedef std::complex dcomplex; @@ -47,4 +47,4 @@ fourier_plan _fourier_base_plan(array_const_view in, int *dims, int fftw_count, int fftw_backward_forward); -} // namespace tprf::fourier +} // namespace triqs_tprf::fourier diff --git a/c++/fourier/fourier_lattice.cpp b/c++/triqs_tprf/fourier/fourier_lattice.cpp similarity index 96% rename from c++/fourier/fourier_lattice.cpp rename to c++/triqs_tprf/fourier/fourier_lattice.cpp index 6295cc400..27b74625a 100644 --- a/c++/fourier/fourier_lattice.cpp +++ b/c++/triqs_tprf/fourier/fourier_lattice.cpp @@ -43,7 +43,7 @@ #include "./fourier_common.hpp" -namespace tprf::fourier { +namespace triqs_tprf::fourier { // The implementation is almost the same in both cases... template fourier_plan __impl_plan(int fftw_backward_forward, gf_mesh const &out_mesh, gf_vec_cvt g_in) { @@ -61,7 +61,7 @@ namespace tprf::fourier { auto p =_fourier_base_plan(g_in.data(), g_out.data(), dims.size(), dims.ptr(), n_others, fftw_backward_forward); /* - std::cout << "--> tprf::fourier_plan (lattice)\n"; + std::cout << "--> triqs_tprf::fourier_plan (lattice)\n"; std::cout << "n_others = " << n_others << "\n"; std::cout << "dims = " << dims << "\n"; */ @@ -82,7 +82,7 @@ namespace tprf::fourier { gf_vec_t _fourier_impl(gf_mesh const &r_mesh, gf_vec_cvt gk, fourier_plan & p) { - //std::cout << "--> tprf::fourier_lattice gk-gr\n"; + //std::cout << "--> triqs_tprf::fourier_lattice gk-gr\n"; //std::cout << "gk.data() =" << gk.data() << "\n"; //std::cout << "gk.mesh() =\n" << gk.mesh() << "\n"; diff --git a/c++/fourier/fourier_matsubara.cpp b/c++/triqs_tprf/fourier/fourier_matsubara.cpp similarity index 99% rename from c++/fourier/fourier_matsubara.cpp rename to c++/triqs_tprf/fourier/fourier_matsubara.cpp index 54687b849..b0e224d64 100644 --- a/c++/fourier/fourier_matsubara.cpp +++ b/c++/triqs_tprf/fourier/fourier_matsubara.cpp @@ -23,7 +23,7 @@ #include "./fourier_common.hpp" -namespace tprf::fourier { +namespace triqs_tprf::fourier { namespace { @@ -374,4 +374,4 @@ gf_vec_t _fourier_impl(gf_mesh const &tau_mesh, return std::move(gt); } -} // namespace tprf::fourier +} // namespace triqs_tprf::fourier diff --git a/c++/freq_conv.cpp b/c++/triqs_tprf/freq_conv.cpp similarity index 98% rename from c++/freq_conv.cpp rename to c++/triqs_tprf/freq_conv.cpp index fd221c319..bdff12e3e 100644 --- a/c++/freq_conv.cpp +++ b/c++/triqs_tprf/freq_conv.cpp @@ -42,7 +42,7 @@ placeholder<10> b1; placeholder<11> b2; } // namespace -namespace tprf { +namespace triqs_tprf { // ---------------------------------------------------- // AB matrix_valued from block_gf @@ -154,4 +154,4 @@ void from_3nu_PH(g2_iw_vt g2_ch, g2_iw_vt g2) { from_3nu(g2_ch, g void from_3nu_PH_bar(g2_iw_vt g2_ch, g2_iw_vt g2) { from_3nu(g2_ch, g2); } void from_3nu_PP(g2_iw_vt g2_ch, g2_iw_vt g2) { from_3nu(g2_ch, g2); } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/freq_conv.hpp b/c++/triqs_tprf/freq_conv.hpp similarity index 96% rename from c++/freq_conv.hpp rename to c++/triqs_tprf/freq_conv.hpp index e7ef56d62..09c593bd5 100644 --- a/c++/freq_conv.hpp +++ b/c++/triqs_tprf/freq_conv.hpp @@ -22,7 +22,7 @@ #include "types.hpp" -namespace tprf { +namespace triqs_tprf { g_iw_t block_iw_AB_to_matrix_valued(b_g_iw_vt bg_AB); @@ -36,4 +36,4 @@ void from_3nu_PH(g2_iw_vt g2_ch, g2_iw_vt g2); void from_3nu_PH_bar(g2_iw_vt g2_ch, g2_iw_vt g2); void from_3nu_PP(g2_iw_vt g2_ch, g2_iw_vt g2); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/hubbard_atom.cpp b/c++/triqs_tprf/hubbard_atom.cpp similarity index 99% rename from c++/hubbard_atom.cpp rename to c++/triqs_tprf/hubbard_atom.cpp index 23379d04b..b3a0cb2bb 100644 --- a/c++/hubbard_atom.cpp +++ b/c++/triqs_tprf/hubbard_atom.cpp @@ -33,7 +33,7 @@ placeholder<4> n; } // namespace -namespace tprf { +namespace triqs_tprf { namespace hubbard_atom { @@ -148,4 +148,4 @@ namespace hubbard_atom { } // namespace hubbard_atom -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/hubbard_atom.hpp b/c++/triqs_tprf/hubbard_atom.hpp similarity index 98% rename from c++/hubbard_atom.hpp rename to c++/triqs_tprf/hubbard_atom.hpp index 32d342a42..9770251c1 100644 --- a/c++/hubbard_atom.hpp +++ b/c++/triqs_tprf/hubbard_atom.hpp @@ -22,7 +22,7 @@ #include "types.hpp" -namespace tprf { +namespace triqs_tprf { namespace hubbard_atom { /** Single-particle Green's function of the Hubbard atom at half-filling @@ -67,4 +67,4 @@ g2_iw_t chi_ph_magnetic(int nw, int nwf, double beta, double U); g2_iw_t gamma_ph_magnetic(int nw, int nwf, double beta, double U); } // namespace hubbard_atom -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice.hpp b/c++/triqs_tprf/lattice.hpp similarity index 100% rename from c++/lattice.hpp rename to c++/triqs_tprf/lattice.hpp diff --git a/c++/lattice/chi_imfreq.cpp b/c++/triqs_tprf/lattice/chi_imfreq.cpp similarity index 99% rename from c++/lattice/chi_imfreq.cpp rename to c++/triqs_tprf/lattice/chi_imfreq.cpp index dd4a726a0..a255f4428 100644 --- a/c++/lattice/chi_imfreq.cpp +++ b/c++/triqs_tprf/lattice/chi_imfreq.cpp @@ -30,7 +30,7 @@ #include "chi_imfreq.hpp" #include "common.hpp" -namespace tprf { +namespace triqs_tprf { namespace { using fourier::_fourier_plan; @@ -1099,4 +1099,4 @@ gf> chiq_sum_nu_q(chiq_t chiq) { return chi_w; } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/chi_imfreq.hpp b/c++/triqs_tprf/lattice/chi_imfreq.hpp similarity index 97% rename from c++/lattice/chi_imfreq.hpp rename to c++/triqs_tprf/lattice/chi_imfreq.hpp index 63b77bf5c..b53fd0399 100644 --- a/c++/lattice/chi_imfreq.hpp +++ b/c++/triqs_tprf/lattice/chi_imfreq.hpp @@ -22,7 +22,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { chi0r_t chi0r_from_gr_PH(int nw, int nnu, gr_iw_vt gr); chi0r_t chi0r_from_gr_PH_nompi(int nw, int nnu, gr_iw_vt gr); @@ -48,4 +48,4 @@ gf, tensor_valued<4>> chiq_sum_nu(chiq_t chiq); gf> chiq_sum_nu_q(chiq_t chiq); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/chi_imtime.cpp b/c++/triqs_tprf/lattice/chi_imtime.cpp similarity index 99% rename from c++/lattice/chi_imtime.cpp rename to c++/triqs_tprf/lattice/chi_imtime.cpp index 4c0692074..976a5eff4 100644 --- a/c++/lattice/chi_imtime.cpp +++ b/c++/triqs_tprf/lattice/chi_imtime.cpp @@ -25,7 +25,7 @@ #include "../fourier/fourier.hpp" -namespace tprf { +namespace triqs_tprf { namespace { using namespace fourier; @@ -355,4 +355,4 @@ chi_wr_t chi_wr_from_chi_wk(chi_wk_vt chi_wk) { } */ -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/chi_imtime.hpp b/c++/triqs_tprf/lattice/chi_imtime.hpp similarity index 98% rename from c++/lattice/chi_imtime.hpp rename to c++/triqs_tprf/lattice/chi_imtime.hpp index 52c5a9e57..87a106c5a 100644 --- a/c++/lattice/chi_imtime.hpp +++ b/c++/triqs_tprf/lattice/chi_imtime.hpp @@ -22,7 +22,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { /** Generalized susceptibility imaginary time bubble in the particle-hole channel :math:`\chi^{(0)}_{\bar{a}b\bar{c}d}(\tau, \mathbf{r})` @@ -67,4 +67,4 @@ chi_wr_t chi_wr_from_chi_wk(chi_wk_vt chi_wk); chi_t_t::zero_t chi_trapz_tau(chi_t_vt chi_t); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/common.hpp b/c++/triqs_tprf/lattice/common.hpp similarity index 100% rename from c++/lattice/common.hpp rename to c++/triqs_tprf/lattice/common.hpp diff --git a/c++/lattice/eliashberg.cpp b/c++/triqs_tprf/lattice/eliashberg.cpp similarity index 99% rename from c++/lattice/eliashberg.cpp rename to c++/triqs_tprf/lattice/eliashberg.cpp index 799d7438f..f2687f3e8 100644 --- a/c++/lattice/eliashberg.cpp +++ b/c++/triqs_tprf/lattice/eliashberg.cpp @@ -22,7 +22,7 @@ #include "eliashberg.hpp" -namespace tprf { +namespace triqs_tprf { // Helper function computing F = GG \Delta @@ -185,4 +185,4 @@ chi_wk_t gamma_PP_triplet(chi_wk_vt chi_c, chi_wk_vt chi_s, \ return Gamma_pp_wk; } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/eliashberg.hpp b/c++/triqs_tprf/lattice/eliashberg.hpp similarity index 99% rename from c++/lattice/eliashberg.hpp rename to c++/triqs_tprf/lattice/eliashberg.hpp index 85c92f25f..ce6ffd053 100644 --- a/c++/lattice/eliashberg.hpp +++ b/c++/triqs_tprf/lattice/eliashberg.hpp @@ -23,7 +23,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { /** Linearized Eliashberg product diff --git a/c++/lattice/fourier_interpolation.cpp b/c++/triqs_tprf/lattice/fourier_interpolation.cpp similarity index 97% rename from c++/lattice/fourier_interpolation.cpp rename to c++/triqs_tprf/lattice/fourier_interpolation.cpp index d63e341e1..7f6e48b57 100644 --- a/c++/lattice/fourier_interpolation.cpp +++ b/c++/triqs_tprf/lattice/fourier_interpolation.cpp @@ -21,7 +21,7 @@ #include "fourier_interpolation.hpp" -namespace tprf { +namespace triqs_tprf { // ---------------------------------------------------- // fourier interpolation @@ -68,4 +68,4 @@ array, 6> cluster_mesh_fourier_interpolation(array, 6> cluster_mesh_fourier_interpolation(array k_vecs, chi_wr_cvt chi); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/gf.cpp b/c++/triqs_tprf/lattice/gf.cpp similarity index 99% rename from c++/lattice/gf.cpp rename to c++/triqs_tprf/lattice/gf.cpp index 68634189b..061431c46 100644 --- a/c++/lattice/gf.cpp +++ b/c++/triqs_tprf/lattice/gf.cpp @@ -28,7 +28,7 @@ using triqs::arrays::inverse; #include "../fourier/fourier.hpp" -namespace tprf { +namespace triqs_tprf { namespace { using namespace fourier; @@ -348,4 +348,4 @@ g_tr_t fourier_wr_to_tr(g_wr_cvt g_wr, int nt) { #endif -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/gf.hpp b/c++/triqs_tprf/lattice/gf.hpp similarity index 99% rename from c++/lattice/gf.hpp rename to c++/triqs_tprf/lattice/gf.hpp index b412f2c3c..7de1143d2 100644 --- a/c++/lattice/gf.hpp +++ b/c++/triqs_tprf/lattice/gf.hpp @@ -22,7 +22,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { /** Construct a non-interacting Matsubara frequency lattice Green's function :math:`G^{(0)}_{a\bar{b}}(i\omega_n, \mathbf{k})` @@ -130,4 +130,4 @@ g_wk_t fourier_wr_to_wk(g_wr_cvt g_wr); */ g_tr_t fourier_wr_to_tr(g_wr_cvt g_wr, int nt=-1); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/gw.cpp b/c++/triqs_tprf/lattice/gw.cpp similarity index 98% rename from c++/lattice/gw.cpp rename to c++/triqs_tprf/lattice/gw.cpp index e79dfd8ff..a4c5cb4fe 100644 --- a/c++/lattice/gw.cpp +++ b/c++/triqs_tprf/lattice/gw.cpp @@ -23,7 +23,7 @@ #include "gw.hpp" #include "../mpi.hpp" -namespace tprf { +namespace triqs_tprf { chi_wk_t screened_interaction_W(chi_wk_vt PI_wk, chi_k_vt V_k) { @@ -82,4 +82,4 @@ g_wk_t gw_self_energy(chi_wk_vt W_wk, g_wk_vt g_wk) { return sigma_wk; } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/gw.hpp b/c++/triqs_tprf/lattice/gw.hpp similarity index 98% rename from c++/lattice/gw.hpp rename to c++/triqs_tprf/lattice/gw.hpp index 141814d80..640848e34 100644 --- a/c++/lattice/gw.hpp +++ b/c++/triqs_tprf/lattice/gw.hpp @@ -23,7 +23,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { /** Screened interaction :math:`W(i\omega_n, \mathbf{k})` calculator for static momentum dependent interaction :math:`V(\mathbf{k})` @@ -74,4 +74,4 @@ chi_wk_t screened_interaction_W(chi_wk_vt PI_wk, chi_k_vt V_k); g_wk_t gw_self_energy(chi_wk_vt W_wk, g_wk_vt g_wk); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/lindhard_chi00.cpp b/c++/triqs_tprf/lattice/lindhard_chi00.cpp similarity index 98% rename from c++/lattice/lindhard_chi00.cpp rename to c++/triqs_tprf/lattice/lindhard_chi00.cpp index 3ff1ed9c7..897031200 100644 --- a/c++/lattice/lindhard_chi00.cpp +++ b/c++/triqs_tprf/lattice/lindhard_chi00.cpp @@ -24,7 +24,7 @@ #include "common.hpp" #include "lindhard_chi00.hpp" -namespace tprf { +namespace triqs_tprf { // ---------------------------------------------------- // chi00 bubble in analytic form @@ -103,4 +103,4 @@ chi_wk_t lindhard_chi00_wk(gf e_k, int nw, return chi_wk; } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/lindhard_chi00.hpp b/c++/triqs_tprf/lattice/lindhard_chi00.hpp similarity index 98% rename from c++/lattice/lindhard_chi00.hpp rename to c++/triqs_tprf/lattice/lindhard_chi00.hpp index 7c5b22af8..96d123ee4 100644 --- a/c++/lattice/lindhard_chi00.hpp +++ b/c++/triqs_tprf/lattice/lindhard_chi00.hpp @@ -22,7 +22,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { /** Generalized Lindhard susceptibility in the particle-hole channel :math:`\chi^{(00)}_{\bar{a}b\bar{c}d}(i\omega_n, \mathbf{q})`. @@ -92,4 +92,4 @@ namespace tprf { */ chi_wk_t lindhard_chi00_wk(gf e_k, int nw, double beta, double mu); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/rpa.cpp b/c++/triqs_tprf/lattice/rpa.cpp similarity index 97% rename from c++/lattice/rpa.cpp rename to c++/triqs_tprf/lattice/rpa.cpp index 51be61abb..a33544f4d 100644 --- a/c++/lattice/rpa.cpp +++ b/c++/triqs_tprf/lattice/rpa.cpp @@ -23,7 +23,7 @@ #include "rpa.hpp" #include "common.hpp" -namespace tprf { +namespace triqs_tprf { chi_wk_t solve_rpa_PH(chi_wk_vt chi0_wk, array_view, 4> U_arr) { @@ -63,4 +63,4 @@ chi_wk_t solve_rpa_PH(chi_wk_vt chi0_wk, return chi_wk; } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/lattice/rpa.hpp b/c++/triqs_tprf/lattice/rpa.hpp similarity index 97% rename from c++/lattice/rpa.hpp rename to c++/triqs_tprf/lattice/rpa.hpp index f14439b1f..8c5745176 100644 --- a/c++/lattice/rpa.hpp +++ b/c++/triqs_tprf/lattice/rpa.hpp @@ -23,7 +23,7 @@ #include "../types.hpp" -namespace tprf { +namespace triqs_tprf { /** Random Phase Approximation (RPA) in the particle-hole channel @@ -42,4 +42,4 @@ namespace tprf { chi_wk_t solve_rpa_PH(chi_wk_vt chi0, array_view, 4> U); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/linalg.cpp b/c++/triqs_tprf/linalg.cpp similarity index 99% rename from c++/linalg.cpp rename to c++/triqs_tprf/linalg.cpp index 65fe1a527..a724770f2 100644 --- a/c++/linalg.cpp +++ b/c++/triqs_tprf/linalg.cpp @@ -21,7 +21,7 @@ #include "linalg.hpp" -namespace tprf { +namespace triqs_tprf { // ---------------------------------------------------- @@ -180,4 +180,4 @@ namespace tprf { g2_iw_t identity_PP(g2_iw_vt g) { return identity(g); } g2_iw_t identity_PH_bar(g2_iw_vt g) { return identity(g); } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/linalg.hpp b/c++/triqs_tprf/linalg.hpp similarity index 99% rename from c++/linalg.hpp rename to c++/triqs_tprf/linalg.hpp index 876afb2ac..b88f90765 100644 --- a/c++/linalg.hpp +++ b/c++/triqs_tprf/linalg.hpp @@ -29,7 +29,7 @@ using namespace triqs::arrays; #include "channel_grouping.hpp" #include "types.hpp" -namespace tprf { +namespace triqs_tprf { using g2_n_t = gf, tensor_valued<4>>; using g2_n_vt = g2_n_t::view_type; @@ -140,4 +140,4 @@ g2_nn_t identity_PH(g2_nn_vt g); g2_nn_t identity_PP(g2_nn_vt g); g2_nn_t identity_PH_bar(g2_nn_vt g); -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/mpi.hpp b/c++/triqs_tprf/mpi.hpp similarity index 98% rename from c++/mpi.hpp rename to c++/triqs_tprf/mpi.hpp index 4d2d394e0..293b0e2d8 100644 --- a/c++/mpi.hpp +++ b/c++/triqs_tprf/mpi.hpp @@ -25,7 +25,7 @@ #include "types.hpp" -namespace tprf { +namespace triqs_tprf { template auto mpi_view(const array &arr, triqs::mpi::communicator const & c) { @@ -84,4 +84,4 @@ auto mpi_view(const gf_mesh &mesh) { return mpi_view(mesh, c); } -} // namespace tprf +} // namespace triqs_tprf diff --git a/c++/types.hpp b/c++/triqs_tprf/types.hpp similarity index 99% rename from c++/types.hpp rename to c++/triqs_tprf/types.hpp index 11f73e06e..ba7b0b2bc 100644 --- a/c++/types.hpp +++ b/c++/triqs_tprf/types.hpp @@ -23,7 +23,7 @@ #include #include -namespace tprf { +namespace triqs_tprf { using namespace triqs::gfs; using namespace triqs::arrays; @@ -180,4 +180,4 @@ using chi4_iw_t = using chi4_tau_t = gf, tensor_valued<4>>; -} // namespace tprf +} // namespace triqs_tprf diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 32436b1f7..1e6cfe92d 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,85 +1,63 @@ -# Path to the Sphinx inventory file of the library -set(TRIQS_INVENTORY_DIR "${TRIQS_PATH}/share/doc/triqs" CACHE STRING - "Path or URL to a directory containing a Sphinx inventory file of the TRIQS library") -mark_as_advanced(TRIQS_INVENTORY_DIR) - -# Path to the Sphinx extensions provided by TRIQS -set(TRIQS_SPHINXEXT_PATH "${TRIQS_PATH}/share/triqs/sphinxext") - -# generate the conf.py -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/conf.py) - -# all rst files of the documentation -file(GLOB_RECURSE doc_sources *.rst) -file(GLOB_RECURSE doc_notebooks *.ipynb) -set(DOC_SOURCE ${CMAKE_CURRENT_BINARY_DIR}) - -# create documentation target -set(sphinx_top ${CMAKE_CURRENT_BINARY_DIR}/html/index.html) -add_custom_command(OUTPUT ${sphinx_top} DEPENDS ${doc_sources} ${doc_notebooks} tprf_c - COMMAND ${TRIQS_SPHINXBUILD_EXECUTABLE} -c . -b html ${DOC_SOURCE} html) -add_custom_target(doc_sphinx ALL DEPENDS ${sphinx_top}) - -# Create a temporary copy of the doc that will be completed by the automatically generated one. -# NB! the conf.py.in -> conf.py is generated at the configure step -# the conf.py in the repo is for readthedocs and we must take care to -# not overwrite the generated conf.py with the one in the repo -FILE(GLOB_RECURSE all_rst_files RELATIVE ${CMAKE_SOURCE_DIR}/doc *.rst _* *.py *.png *.cpp *.ipynb) -SET(rst_copy_tar ${CMAKE_CURRENT_BINARY_DIR}/rst_copy.tar) -add_custom_command (OUTPUT ${rst_copy_tar} DEPENDS ${all_rst_files} - COMMAND cd ${CMAKE_SOURCE_DIR}/doc && tar cf ${rst_copy_tar} ${all_rst_files} && cd ${CMAKE_BINARY_DIR}/doc && cp conf.py conf.py.bak && tar xf ${rst_copy_tar} && mv conf.py.bak conf.py ) -add_custom_target(rst_copy DEPENDS ${rst_copy_tar}) -add_dependencies(doc_sphinx rst_copy) # we must first have copied the sources - -# use c++2doc to automatically build the documentation of C++ -option(DocWithC++2rst "Use c++2rst to generate C++ documentation of tprf classes and functions (requires libclang)" ON) - -if (DocWithC++2rst) - - # get include paths for the triqs target - get_property(TRIQS_INCLUDE_DIRS TARGET triqs PROPERTY INTERFACE_INCLUDE_DIRECTORIES) - foreach(I ${TRIQS_INCLUDE_DIRS}) - set (INC ${INC} --includes ${I}) - endforeach() - - FILE(GLOB_RECURSE all_header_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ../c++/*.hpp ../c++/lattice/*.hpp) - - add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/c++2rst.log - DEPENDS ${all_header_files} - COMMAND c++2rst - ${CMAKE_CURRENT_SOURCE_DIR}/reference/doc_root.hpp - --output_directory ${CMAKE_CURRENT_BINARY_DIR}/cpp2doc_generated - --namespace tprf - --namespace tprf::hubbard_atom - ${INC} - --includes ${TRIQS_ROOT}/include - --includes ${CMAKE_SOURCE_DIR}/c++/ - --includes ${CMAKE_SOURCE_DIR}/c++/lattice - --cxxflags "-std=c++17 -DFOOBAR" - 2>&1 > c++2rst.log - VERBATIM) - - add_custom_target(doc_cpp2doc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/c++2rst.log) - add_dependencies(doc_cpp2doc tprf_c) # - add_dependencies(doc_sphinx doc_cpp2doc) # we must have installed the sources before building - -endif() - -# install -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ COMPONENT documentation DESTINATION share/doc/tprf - FILES_MATCHING - PATTERN "*.html" - PATTERN "*.png" - PATTERN "*.js" - PATTERN "_*" - PATTERN "*.png" - PATTERN "*.jpg" - PATTERN "*.gif" - PATTERN "*.xsl" - PATTERN "*.css" - PATTERN "*.pdf" - PATTERN "*.py" - PATTERN "*.txt" - PATTERN "*.inv" - PATTERN "*.bib" - ) +# Generate the sphinx config file +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/conf.py @ONLY) + +# --------------------------------- +# Top Sphinx target +# --------------------------------- +# Sources +file(GLOB_RECURSE sources *.rst) + +set(sphinx_top ${CMAKE_CURRENT_BINARY_DIR}/html/contents.html) +add_custom_command(OUTPUT ${sphinx_top} DEPENDS ${sources} + COMMAND PYTHONPATH=${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH} ${TRIQS_SPHINXBUILD_EXECUTABLE} -c . -j8 -b html ${CMAKE_CURRENT_BINARY_DIR} html) +add_custom_target(docs_sphinx ALL DEPENDS ${sphinx_top} ${CMAKE_CURRENT_BINARY_DIR}) + +# Application must be compiled first +add_dependencies(docs_sphinx triqs_tprf_c) + +# ------------------------------------------------------------------------------------------------ +# Copy the directory substructure and link all files with relevant extensions +# cp_rs is a script in cpp2py/bin, it mimics cp -rs on Linux +# and filters the relevant extension +# ------------------------------------------------------------------------------------------------ +set(EXT_FOR_DOC "rst png txt css_t conf css js gif jpg py html bib h5 md ipynb") +execute_process(COMMAND cp_rs ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${EXT_FOR_DOC}) + +# ----------------------------------------------------------------------------- +# Make an optional target that allows us to regenerate the C++ doc with c++2rst +# ----------------------------------------------------------------------------- +add_custom_target(docs_cpp2rst) + +get_property(TRIQS_INCLUDE_DIRS TARGET triqs PROPERTY INTERFACE_INCLUDE_DIRECTORIES) +get_property(TPRF_INCLUDE_DIRS TARGET triqs_tprf_c PROPERTY INTERFACE_INCLUDE_DIRECTORIES) +set(CPP2RST_INCLUDE_DIRS ${TRIQS_INCLUDE_DIRS} ${TPRF_INCLUDE_DIRS}) + +foreach(I ${CPP2RST_INCLUDE_DIRS}) + set (CPP2RST_INCLUDE_COMMAND ${CPP2RST_INCLUDE_COMMAND} --includes ${I}) +endforeach() + +macro(generate_docs header_file) + add_custom_command( + TARGET docs_cpp2rst + COMMAND c++2rst + ${header_file} + -N triqs_tprf + -N triqs_tprf::hubbard_atom + --output_directory ${CMAKE_CURRENT_SOURCE_DIR}/cpp2rst_generated + ${CPP2RST_INCLUDE_COMMAND} + --cxxflags="-std=c++17" + -I ${CMAKE_SOURCE_DIR}/c++ + -I ${TRIQS_ROOT}/include + 2>&1 >> cpp2rst.log + ) +endmacro(generate_docs) +generate_docs(${CMAKE_CURRENT_SOURCE_DIR}/reference/doc_root.hpp) + +# --------------------------------- +# Install +# --------------------------------- +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ COMPONENT documentation DESTINATION share/doc/triqs_tprf + FILES_MATCHING + REGEX "\\.(html|pdf|png|gif|jpg|js|xsl|css|py|txt|inv|bib|ipynb)$" + PATTERN "_*" +) diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md new file mode 100644 index 000000000..0806d26bb --- /dev/null +++ b/doc/ChangeLog.md @@ -0,0 +1,7 @@ +Version 0.1 +----------- + +Some Changes +~~~~~~~~~~~~ + +* ... diff --git a/doc/_static/logo_cea.png b/doc/_static/logo_cea.png index 89b296410907f6178ccb582230d170a1b32e02e4..1a28b4397aa7c390457f019800f7a65c7abf3207 100644 GIT binary patch literal 40013 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 literal 2018 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
&7U=H`4hX3 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
  • 6uW3GEsq<5kRLR5*5TC5>XK0WbNWE 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

  • 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�%6(VbrAkY5+_2UD8QDEvL z4DOkfX#e4I*D%W@pANCHXZUn)$Y))Q9#{{#juC*AX-_Op$F;U(BVH$q`+w`F>)m1B zstBceH9)4G!dG8U>VH+)lU20@T6Qxdg3^_glw8J{TY)ty?t4N`nr%%oIU>tdJkz+` z@$Z<5G1YCG@7o4AOZAJhwm!2*&MHHH6K5J^)+e}y~W0K`t#ey@HX;|GL{D@aw>+(x6MmzST8=pO)utOn-@;0Xy^MfIk^MqWoC_3>% zu@3DB(6hI;nRa~$(=)k>p^||2<3J%WDF`qZ(xzkQ4o7EVtYhZ>PvsdbZ*Y!XlczTb zh+U;MpS2;Jy1T;C9voBRT}nzk_Q@=^T`Ya_onurra|liC>ADJ9cJ)b>xGI3!BSIq)~6 z>_RUN#VkXQQ5MCf70HtIboKRjmXF*&){#`3?tY$NyAb1Po46f58U&{fO)Tcpva*$y z{r~;KUxZ&w{W$JE6QN?mDA0v7!u?MFl1O@F;+mUmZ2PT&WJ|u9-}RWO?rin^XNtbC zT;&5u@FZlKqxrW1ez*@K8n>a%clz;XVF;4Wb7LMy-3SJuBx9&3G~%80>p0_T?lje( z7ghqC5{>-!TKu&Hn@Ugd-&quZo7L_F=HaO}lH};sjhB6JhS{7sPyIFL`D~=iUyH)? zP^YTRk3r+%fc8s2ZqhwIoGw9cj9I;ye^vewXylG0n)rPWe7KsWX6u;n7u)I?wfdcV>o?;j&Uso-L}?|e*g_Y9G!*0D^Z!1o_XpDV z>tHGRLCHj+zE;qy6G^ufYt>(Nti{&(Ax1*U@De7)aC4zauXX$mXAlf$*r1dqc2fF= zEPb=8Sg~IY6piWgpNO)Z!>DfG84VL+=2Pu40{dhMT~Gn7#!mHMCR9bsW`L~UbXB}K zy0;ABBd7 zOZ{*xPByFKsxQel4imA3qx-z?Ua)=3FZ^y4Y-*Pthc_Z^cLB%V4DWZ3WTk-Eb@*|P-Z6(XEdGu&WPYCnizwPYE-LodYy zBK|&LE7#)`9_&XGogjU`#l}uB&xfndQ~MQ-_<(#E^RN)4w08=5nhR+TwJzaxS{B`_ZdyF3r%3;w1OlQ~ zp^IfEMFP27&;Hteg*O3(ByzJ9#?3UBuHtHhhleCZmh#msh18C(H##&;QC|o*Dznsb zmpdkX422L%6K78?_Op`+TAZms7iMpjG39@*K4a1&KIB5Rb?Pi^ZEE!550jl%`5Cv% zd~-wXcMx+$u5$FzMZK(eT%_Y%_xP>4Nw#01vhT@ib05YKuAz+)5j4mQk2&T3ntmf6 zvLNGW7OHEDmXr+M7uG!j)f390oGiR*Y`2-c$Z!Z)*^SWu(NA3!f@ns$O)pkYH$#mk zDA6y=tGF$mJ*x6-STqGT-quSpNvOI-=`tqX<07v5U_1g)rxvSJ) z?-W7J!UdbEf#-@Gr)|VEEV?5-7FM7D15O+t$G+f~8qotrlSf3}FYEvL$O2J4;gkv%+ClAu1> zl298LF(q`XQbcS%hu3Z+V$GJiE~AGzlwwQB8QN9RBtdd^iks&A*8QZLgrk6xM^X`5 zU(FaLV5UB>F!8xL&8=AJAaeRRDcK;j1uvDdgi78#rC6H(N*iLo(q_#di@=^cLc0Or zmBxv1#EQXNp6+`O{nLSwL)~80MD?0|0_e>X-L z(Kd*u-1=sT{V#J`7wus>G!jePqM?JQ=Cd@Hu(OIWF1Z0AhYTWJ=si}}W(vRK zfJ09mn^mAy^qohH@RjIao{4=`5^@Qc*}q zqN0%qb9wz+CJaMci9x|yJ-YM|h3m4QFC~#P`jMJwI&+9AG=ZlN1*;TmQ(G{yol6}O-+^H*+CJ%DK`{eAhVV9XE~c-eP7l|I@8(b9qO)xA+Lt+n(T%1td?z|?vCh?tv}%3 zq&j*a)r*_UTiBZ1%pMs+9;oldz3AQV@sUt3a##CDLF|?3U`!N(uGLGt?xUemMZ9Pb z>0T^HvEF46?}Pbu^00dUIR=DL9#63Z;UNwtNd(b*?(y}Xucmf}XTQdnj00a0?=2qk z6DGs9!IR6+l@q#FB`-cvUHTx{llj<3gY{bTi)rHn>m*g8962A6wD-&iMqBL^6~?h7 zobLnsgnd5Vrno)r8n3gE?lh+l*Ptt*DmRaQBa8ZX)q%O)E|g-M%6Gt69XtW37l0Oy zf7|oF&WM&pn1KB9fUw}$>u0XhETdKqy3wT*Pj&2wPM2*cb!=C_XMYU@QTWa5(qdqA z08deeQR|5pP>`ONX!*veGxq>Q#WVmAQy=u|*K6Zkg*rChJ(^_><_-JU66$28U;NulJFx#DTT#2Jy~NLBFWI#^X7+T*NNjCX zbxoKU9aYi(eVvC?RCH}C=yNiF+pU=ZbTXNt+r7a7G#9D*mP5mc&e_(h<{)=`2C?Pvo1Q|u;1elgTHZ!n>wEKnV2s;{rNq-P6l$$)(kg`*d zaA9rB#HC~i!}WhbG;-0wOZZd${?Hb1(`xbvK^pj)fwfyl2S(W_(+)6Bs3X;H(^l~JrCVFQyitg#_2#_{#6<_eF{2g$+ zZ{r)Wt8J8bITq4>%3p5zS^FRDE=WfKK4bf!u@yP-*bmS4USX>cji>+7%$gFpgJ-xzx{+_&qBjnmj@u?|A)oLFcf&aW7V|jXCWjtfWy;CV@<08Cmt991V=NJw@ zQ|nX2FdS_1D9lKak0{6%grioqp&h@+y14VYoJPX zyyY-EWB<9;3m8Yt%WH5TCF5+6F|UeI7?SaP_W^_i!sQpoFFay&dh&yjIa0{nI*!x+ zs>t%(N&LJu_RPyyYmh8ojapTky&YeyW3*z?Ui-w^Gu4J8s*@1a=D1PAw}HdK-H(-OaUZT7F5S3znpnFP(%zB5fU$D_I^Q2ik{makOhs2((j}Cy^c*A#ZZcQk=eD z{IOJLtP57NAblHOK0@xw#z~&qDlhQ2`1%Kb7*&gBWa6_j*~0X9aIiEJ1S7@qaT~Nq ztn2A8L?QVwszv3$q;ZOTM#JFmBBXr2I8J>&_sTfpDF0^33adC+c6Yh*O%Mv|k!+C& zKOgQxaI%Y}EO?^&C)ZwL;312ZXGS66C7dWAry8@@)t)_%L(&wCkwwnA?iz7q{H(_# zeNVoRsBMKj8CiC%at4vZ?jwdwS%`#_j|u4c0`qZl(f3q z0;a6c==2`h|F89)oz6h1ou)zYwNx5gx{tH_`88->{)uV1Y$&!k4O1&tDKQ%9?blCI zodft9*F~&`@4t6H>34M1=Tqxxt5rS5i%VQ5+6!7t)Po!@8x5jaWY=?azb zztfFZZNDNQya-8?)S7I?_Bk*}C)=cP!_o$N?1h6Du;jnfU$Phe_D)Ol!QHmqvt-b= zB!@ENrOfgf6{{U!ZOqP20lc%I9dxpuVjveZ>FRxW!_#P2`bJ7GG~c z%$fnIUUgXyTf?>9b-{(yA!CjFx;9fgjO`P;uN}Qr$%3~1AJ24PpR_|YGyOQ`_j%a_ zRQK*Q?IP(Iiq<4x(2gGUywK}2D}2IT%@D3K*z8!xAy~I~jbUd(Pp7;k!$o6gBV9`e z#o0Vy{)(N{4=>z3G)&o&J1VS*l-2U1@uuQ9B<&mFf!a$V`pVy=KApF&FnFPgek(nM z7#iGuR~|Da29jQe*jd}UJZ;?+ISq2PN)TGg;n29^0JMx<6f+{?iCl_Y+7LfIjEodC zJ<``^x(ey6HJ^iHIiDTv8u8J@V_1XCQ8gfbT;X^*8Kiw8hWoFecifY%V01hu3m3ao zjGnk-l`De29=DkURqPWeTH(Kv2tR2RJ?sJ30KLc&6pq~7a&=e@#V{IHH>xbUs~Ag% zz`labsABbR`dg#)%-lwjW=Ca#9SNzK{ZJaoHE$+`_eYWEUyCed5elCpuyCQb8eV;7?ZUp`bJfXWSLoz{E%ad&8Lf`}0Ogr{8r}r+E@)?WLKuyRp*e0BqR%ld$~Z`N z%(Z4Y8Ffl&h4EDF_gd^?tc)}IMG+>J7TZwJu5{xtffbeIYRs5tGTF|5rK!%?`!?*a zCmPd=wXd`E#qX#YnZ`?s^+0}EkM^HoeE)rFp{s=dIlND)fM}xV{TB(3A(%k#A*W3M z;bu6`ZsW5qfs~EhTCM$0N_hD8k+{6?!Ahegu z1>Zay?-T#0j;$VtwZms^-!TeExNTuE>WmNSTJ;ju;T3jUem4U`9hYBJ)9w`1$?D;X zuS5icgupeDDh9k@bXU7{;Q&Lhm|Fg2ba*&U?Ae_$Hgt{txIrq?)t!g0QChy6r-w)Y z%qGq_u^s(6ToVdQgt7$9UIFq~WoM*2;eX+by2Vwul~+toE)vyE1IbGsZc}iSQ@$wN z^nrqMxnZ%w;f4zG^75fX@dnt^a`bAhN&uVzpG@Emnv%=0qT#-m=fc`@ci7aJ_Wu0rn1DlSQ)n zS&Ds9AUQ}wOD&{Z2q~6_{O%U~FI1C0AA@(qNrsAYAiB366;e(QwW?63>HG8d6wGhl z;Sz957v0;SZkH#UxD&9qU7oK^IcA2tE;nm|`6(ip@bTPaUFg=~(7S4gpNo%5U2eiSyPDtGq}A(9yZ^S$!vGG3 zRQS7p>*K_Nt(aBOwqpLxjf(y6rw2ir8}HjuU4Vtg@Ynz-Xe+KUI@7ZF67*K>U4XDi z_oX{eG8|uhbXvC`jaVU7v94w_78$s{+Yz7Ima(YhCCt8itIWXwcS&=87a)P}4S6~w zlXH4(br*Hjzqf%%tr8QPs=N*SZ1^zW-jrluR$IS-@7A+3bF*k@`s5_duo2~X!vK!$ z;;e)>oGOndsm1T=Xta z=6Q2vs@MPEWcdIx<1-ow#k70J>%5?(3Z^v1H@}~J2`lwxK#Tu$Yti7Y-t$EJSM?W7 z;CXJy5zt-|8ov1|u4kXaC^R%E&YZlZ04^@|xY%C9{6GrY;C9N<>m7Rl-SxJ$@qo1! zcR@h$W>t!znI7rYoznYoNR+FNv8aELuDKC#tt`UF8MTjzXkqaCHFnPFceu$+Zb z8M>j1!*~q~UE!@eBR?bo7l%x~xs=7;&L_X^dhD+CKM=$;gnt#g)KF{Je?S$yJk3Gh z5%Ui*Ms1d?o>81MWXQAQIxutI5_oU;mH`as(!@MdiO|pRTG!LmYP#nTGMJW~GKfsp zF8|i3f!RDXDv8ht+^}kWTieKvMpO_;Ro$mxL*KCIk1ZP~XFo9D_1@@;0Is6TxUyiT zGaV)ZO)|7+srZyQSz4N0G3Vk}DoevEg|8Xa3*`3xPVZ(P{XY5(-!g4q8~bi0y4cXV zbx%^@t``KsKs_N+&X1xf&Qin(AfCyOXKU%+d< zkd5U29_u2Rfpgh{i9T&s>1Iy^q5gG*n8oJZUCCz#VsP#%!9c+Ms$sF*HgThnlJ3FII2m5rZqE98DPZdxj`R!wsIhx@P9~BF z664m(kg%RPeBmo!V zcaBD?oji^wtO{X^;xT<+YHG5ftxb;i`lND}U0U5#X)D9MXO&ML z6IiT4em&!WGOqpkm%&FCa=QhXg~v&MpV1S?H`D}VSaM5KQtUykAvdOg&NbnUFP{1P zqtW=GytMvKKF-0R^90shu;s~itZQBQhVswi~Oe>lyRzxhB?Fzu08O1d#0$ zQ-0v)TUJ2EoW(ZCju+2vtJTji{-Lng1em1mhXc}ubbUvqCQ;*4!$HB))F_DPD0zZF{K|6np1;hIWaJq-F!J<;N9(P1#v>xk6V|#te@s3zcLJ zk!RQPDWYRJ0-Tp?$isW-LCduIu6yeidy3a|C2eOVOFmm6a1SrLiLTSaow{EF7&=FY zD@JX(`(arCZc{>lV``Y9W*iVaeGtI{0G>ngdagdw{CHTq?+`yt=gGDbD5@H0L#NuwfZF( zaGzP5&!rGZ$R%E~Y1~kki^Qe)n2eGJNt`iurRQ0j$8jYDRkvuOuVkO4jKxcCE}rSF z?d<3{?aFsCq_Mc*MJU!E--vOBdM z( zkc1&2Bgg#P*JdsqHojyfr*!FL8}}2xN04Y8DPLb=@GZ}#&lUTJg3bAdg6)vnTx^f) zfE5PcNHyaeHZ!7Htj4dHwEQZr9M_7u5I&NUy!L9*xp&Ow zatK=LK+Gv-s{j|X7`j+CbtJXrYQ;1IuRAwO|AF@N4AYuCfAw%>icPlpoZ?;V;q+%F zFAatD-qQ5tJ$6tV%gf10Y*wbPSAiMDiXg(%`hvC1fX)O z;f{26I*vV|H~(R#L#F}f`>(+g^T$d5Xe#*eB-kelC~4}?w>kl$_~#M4zvVDuSvX?x z(G(`m%}@sEJwaM{`P19Ho7;~jq~_0eypLnh_t(o7iLS$UPR*-Xzb^KvBFJOYG-ppX zWhD4qbgAp{(yni97_m7bd(D6}(Rq<^w)CvlhyzC4*dpur z4`>0C1`bk3pNh=l=qxhHEduo2?d=iC|C3E1+WyGJo4B+{+XwA1ww_TXnA>wJw>s2A ziW!*wkf||Fwd^e^NdX66GJsz8S%Jp?`Rw^UFk95B(%Gdj5jo!H|3x=b^VOGte7uT7 zQUZQ<3K-;Odui<69L>F)6+m~rT#dgBF7=G*fS$CxoN~pHqA6n-K>Jl17jDu)0Qt}n0}>4L18 zC1a$5gR2~v)`rU}>N@gmLGS=EIySVB4i-trS;2n0GuHg&hlT>MX0JQM@BBUUf*6wx z``iwRNng(cVJ2xythI$<+OFgF_Tt-f-ADMc^9i)Iz`IEXgtvDB!7_M9?1Fw@Tal)9 zddajl7mSQy=`(-iP$gKTe`2|aGkFPZ$Le8vV(od8c5dIt<@v?kfcay>$JK^7LEVf= z))1dOd>R%(+-?m*m8*k%FJd~4XD2Z)DsqMng98IFFXzDZI?sA{9UCC(G|7iYu*^rl1!hF7wKxa zC$*6nU)?wAgOn@aY@nfPsxMZ^w?!ENqm$ohSU-hjd6hE9pB_iu^t|elP69$|GWmef z>(dC9>8=Mv)~*Yv>7MRHq3H%xKwm(fFnXQSyn0JkW=)8(7;nG+T_25OO=6L4Xsa<4 zF!eOK+(>?CY~Kz?X?=hQqIS;{fs_G3%c*Z$rrILuW`3bT@YWPEmqvn^wIjC?He&R}jra(a?A#gchb zl&S+s-Rwa+v>DImy*s!qN-kv`Jtpnl&rOHR$!+XD>O*ZvG{dF|Zf2z9XgZ zra}=*Sr^7V{&b10#k*5`eX zNij~ic`?W25E_%2BEjSbc+z{rYB<-R-Ph=pP`;Q*gN{GycVWcA%j5M2+&+NKKW2hX zL9d9edU)u@eL^Zu*ju>wFCou!bw*21d`0hAG?6l`@@V$As)@QP(?|k@XpwP_VSL59 z2^V#V?nMd>0^)jhoa$-=iB_(O3>YJakz1{vcZS7LR2j`8mPEI zNK9UC#?QBcFHcLLgZD>o(L%r&@>#HM^}ITY2&)3A`H{?IdLeq{=y`px-A zP;3ajR7+i~EWFlrf>3so?>$kbktsiS9z#9V!Up^>SXJk`tK8|ccef54q$QuC2IN8P z3S+%zMK2XmwN+N&LkPu%E=A3xlv&@X)qJ|2Qp=T$3qHtX$(kA{1jq{c^X$Zwbe2jO zK29lZG3+UZ3nP||p{`Fw%LM_nmI!;Wz`1Z3h*g~y6?&$CLnX@3F^1`o(I+sZh0!Qq zKu_hAQkTj-;3H>~Dp;Ql{)V$4lrm#Ko2zhm|D3}gn8FG2``)-}bvG+?7c&gJ@`QSV z6&O(Q%oq|d(V;~i{Q9=Aw-s!T-F>r@DAtABnu-usDsbN_ThPDBN7u!3S9OHr%KF9@F7;s(jNeezWZtm`=Cu)JK+_;5Y5_leonVa>o_QywNCxF zSNuiXd#bEGHC($;KIOlX+6^ybJyzy?+y>A7|A52C2dC4<>oWX{Z-N8BKsnAZ?D9zl zf+pO7iLv{2M|PxR=VI#$fyGNHy4}a$0|11ABe7{JPtSPLrp(#Ab-PF=4^R#|b+7=i z^SGsBGpKTk1`La_k8@_9Y>*|PPIiKcB|X4ELL@k;;HanZWxm{H*7da0K831)NwGuc z`K?N~t2Z^Smj zOBN@>G4f(M-i*&nKa8Ht!?{8RI@vojFApp$`h*b|7pF9q@?rKcS?tfka_M46()t7-&v+Ql0sW$;eCT2p5V>>}M*8wq(0dI+tmxlQF?FluN^aWQ zsj!xw0*Zvdba6jO$7u6E zb-BcteY}QyDz2x?cDcR>zCjmZq%MwL2}ehED&d}t@|X%GbR{>LycQ!F83h|eP!Ax)u<01$OAcy!l0O6pA4WnpOUb;K1mu?lt0C&;ut@@gV@Bl;@LT5z7P1; z72lUj^axU`>{MFx4z2f8)TNXg6*C@2qZCI>h|RA5tygEo$8@-(`v;&&%ZTRo!t+sX z`PUI0yg!G5`8<1M|2U>nA#~T0IoHYT8_jl^&fd%n)mM;zgy=Z@MbWO&|L|8V>f?3_ zvlw*@Tw;~+dmb~{9T?;YHc+439Z{juWEr9ZE{fpSz95y+h32wWmvf+JsNMj!#8ezm zM;P0sQgG=|m&9YMjpD#BJbb=Mti~dg-PNrhV?@Lc|Xx7jrcBhX5 z1;6s0-(?jqN;DxLHO=cY6DZ08V%{&C_vqe}VwNvEX(!t^pAca18(wq%DHFV4o$7Z*r5?U`9i-iX!+G{^4|H1GVnB9z*jkO12S?&+D>%Wkaiq zaZ1X{4JFJY)`=;n%dldi({d^Qg;|-|h5Q|0AiB7Fw0Z-dza`~$`$ns*K~Z2i>I?ry;dKN!y~+Ubaz@16{|gMRwG7nh1hbG#gt)A z2&SdQi!g8SkMUfaf}TuJfIS+7+aL5+Of}~EbU8*u=$KT?IO1k``f(^JgfTL@nK6k; zv%(aOVLaqZvQW~zV66nHohDLl6zSkh>mn7<<}dpUm?!SWGSqxT0uZx=w$+}+ z5;OJuX^|Y0LQ#^K1?X~cPG`2!n7azi^K|iL@9=68;pfHKoLMr+&j(u|p?iY&M=+~v zj{ybXE0}!|8kj4ND1e-|j6a;xtXfzWnk#H^rQ~(iJ%QY0-ehBMT?Ue-uLFE`xB%Y{ zO)3m}B3y;n z#$Et$aLInDr0K;8+Y(5iP(ae4CZmuFhOFUkPfa42L8(s%Xc=`TiJdNenpAtQ7cVj* z@JZ|n2#Bc`;Z~Jqy37K=FVoUjySi}3d5&y!3nked+{`$l zkK{T5%$y$1-*&1#V++YDq;JwQ)F%n)Vxd~Qkf+!i zTw_scj;+bL3-Z|1-zx3c&a}e#SNbb(&BD zGSXaMp^AY4*oQMlb(Pz`<;&HGvO~aVX`jSPdTP0b+!aNX92Np8yvWrE<;(HpD^LcI zlwez>pz3QvjQ>nXJWeFu1*ihKot47-KiRjVk3GjCU;s?P z-TJC802FJ#J|HeY@dKthu4B-fU|d1N4v(0nL=x~M@8(|1>-pS~2h^iVNedbIINf!Q z#c;yqP8@4vCpAFBSg*FH$#V<{npURY_wAJkuVY}+|7+punheOdflsYI7Db(#y3Jk( z(Nl*H^9FTA?utfyyPTuro>+doLHvf7{`|k=DL5}U7ns%THXIGd)h`Io3dt6q-d=Y;6 zK);sYe^(;5lK?w%M*o^O_?q`+!Q>TZQm(N1M#?A{-biyu&7rm3e~E=8_{CLw_b1t` zGhJMyQtlQ0@a$8yF{L)p1#I*>3l9#iN94Wf?5UnEd~I@xtZvceRU+4SfUAiy@w>tJ z<+K|4xuBUbKabx}dT3{df;3lPnl<=QG3er@j?eoaQTs);Ozq9thT<#BIq7qf328uv zQ>WLQBQk9%R)R+Fiu-uLIh^RuzRo7u5{3o?1+Wj8>wC2OToQf5``3ML-1Bny`XPKj zUFk@Wp`>xk)%t4?TJX(^`KKcz5KBSKyEgDqz$cmnhP1cy&kj-)KXB7Y&z8I1Jh12f zW94jd7VhK;O3>0&rZ6v7%M0afb`!50Ibf(~#P(Ie_H|U!><5zuCY1%>SRB}>s+Ycs zuM19dq#GvQCz9;1Qw}fpSX7;V#~}#sYfqWz6+G`521Y>*^W$nxY(GhAVtxQYv%)bx zTRr}57U#^(Tv9AhM9CMYzfhN30%-|(9ZP{&2PD<@tzrrKQ3-@G{-C#G$fuuHYPor0 zx?zlN_LH#wUjMe@RD%*)91KKU3j)e~^dvMTx(^EIe*H%;s*qi|v-{n&1E9z+W8XXx z|2>06TkFYY-3TU>$1G45xwFGkL!g<6iGla)7LkD0zx|v4mk`FdYC<=qe99c5t~>B+ zp2#y)naa;TwQJdKpY-wt3iim22=_HM_1%K9+&$IYfFD5WQv^zt{``qwZ@4jz_QYTM zr+t*Q_Ges`bw5H?&;x@gFcR>&pO7~3ilexi;&3fe$t64xaPN9K74SM_B#th&R^RuU~dpA~fn-o$?@N29mD|(;zav;c)S=hJ| z+3-sm0{sY#9`kJ87_ZvF1K~xogrr zI6F(x9tUg1Mo(my<$g7f|F#<}JUX>{zNJdqjRZZwfVlPSFn9N4l+8t4x&!O&xY^g* zb3vD#P0n*%DuPvR5#NAE&G;XL-oZ>El|02U^dNNoVu$)v=ZRJ0=EU39&w|P(qyTJi zW;#-e+>Gr`3hNC}3417t|2;~wodos@ zz}a@4>`F=E;_f5!`QcAu(11f-cVtWY=&1ZGSIOr63md?w<{}Wf{6CV;F}kj9jl!|r z*j8iPwsB%NXlyo(8r!yw#z~XLjg7`>Z2Rtf_gBU^zp~HSW33l+KJ(!9WzXo1Dt66_ zg7a{M@H)axvmAT?2;1-lg%{)~Ts=-IHUQhB6}^Qkqxa(gi??0X-0TXUP2(=r(%D1D zqdB^D&mCmq4hu-&;Km8p;IR@;zP+)*9=Zg}DGw|!`3D%g_Im>%vkWep9kE))6s&pN zjxd2%dJ~8#w5T9sl?;sd?7p4wbHhJVy;R9dK>Vy3uP8~!Y^mFi|HE=OJF6aOuxw<4 z@$4+N!PAtY(0m-Is;5HB42}+dx-^+saUDcjiUBXXaO!=ARtK3){1AAmXq^OJ~tq#=c%%1yCph2mFqIig#p}>M$iLGq{?JG$?|kgYr*dCC{T&N zUrJ9p0$1pJRP$k7DS z2zea8;TZYGm*zYXR@&~|EZb8V#$TT0Z?rtR4IrmCR5r8y$=xZ%_B?Cb=W#ti>&^42 zX#7Gun`EEz;VLKYI=6q@W`6r#dUmxYI4|%=oEvLlr^t1e4xCyq!qSCvW9@|&*c+F& zoLPNjPXPZD@uCe`CbFF>3#XuBMoCt7Pw&U;L)_y(huR1sI0wUqo`*PA*!cVQgs6Qn=O}vM1zI)OEay-Uu=83w>+C30#HV_9oRP z!m@7`>gHrFyA;PL8G2gW4==ACSL+1KE>4d;GrAgceQB7gKV3(o5>uI+>o~tdTdY2N>jhpnhIkxcz3^e=$)#nYe1y-sUfywd#_~IaD0aw)X?l+7fBmONsO-Q4N zX3mL856|08pSAn-u&ORwoO1au2nPh?@rg8^$D1bD%!~<5t5Zf|i^ogrY@8--?-Ts3 zZi|X=W^rm{5p}wBdz|wS^F8n{RP}cV2zbeZm}&m0Z1UmBl+1|1T3_f!f<@FZ;Dbs; z;#JIoN6FxZHGMjhl2`s3M@hZ$2jA7ip1P^l7pC*zkLD=`kY=kOR=+z>VXBqK!G`KX za0V>#6h=hjDodpKNftg$j70G1_8&f3US% zJ*cfD6Rj0^6>-&UcC5rufT_l|dvC0*YoFc?c*=dFxyu$9%TUa0O=3cqmz|lqdG-?pFe92;hCQog!X$b~h)iSCKuw^|mO}ML z(`FfC!|x31-~K+Gb2y{CbF#691o}_UyX2n_m-4lj$+ZH|;IXd+w2d!@pfQWz%WSf3 z3V%g6>8PB&(mvsFsNxgsZsbcE-@AQ`be4rYVe=r`@9ue1f)+mI5>x{e7IIH@o&yn=>UEz z5lE(bn1CV8&b&r1fqC9{24led+_U&c};J_ z_Ts`cp*5pr1v<&~xLwLzYhe|crR_t7{P7q&!IQbc!<6OoFhlbzvjPu_Y!AdHi5Si= zRK=KTa_I8mrnKL!|2pPqnAOdVdHzec($Uv1VvwiSs{U?>n)OkF1FiIbbw;x~i zN=D>#^cC=|SMb>PJIC}gj{GfgcP@>A&>mc)x2x3UChJdDlQ{r51jqrNbctg95EB5p zh=-Pwji;06Q$0?SDELX61LFbQr>!lH!Hc_9hwG!t+J?1jZAKw#n&%GE@k&xC%c73M zz7WJtAg~i?T}+1=H9d86$j9Q;oPli6t3Bp`^bY&gJ-l-9LZfw)HXSy5RCKP#8@V2_(+G zfcu8^2W#pgS zW+>(79XiKzR3T9usX&!LL)@C_bGNQQ^aaX*D~kvN6*~my8waUhB1X#w*&xb#<%Qh{ z$Xh_JiXzx;sS~wD#LQ6=L2`p%$qPsGE?lw z0_bKwov_2Ky{!)SD;gu;s7$Vw@C&Mykx(gKUv3-p4jCL8p z!tX~rzR!`U^m-Y{_0Bo^q@eb4Q=eVD{gNn}`uGe)Ek+ z+oFP9ZnI?#cOb1Ctc_!(%CLYv&*dA6bm){E`d-03l0|C6)uldnSm*7XA^bX{zUFbQ zNcruwn4`HURNQ#vnJ8d=0%>9+QH#Dnrl8qaP0Z97!}H6%d$;F%^;&~9J{@xSm?&*j zgiIl}7u&B@62kprk9Dd@%){o5u8lT4D?u%#=PY|ITq6h^&<&!zwcvY7q7cOa#Am*e z;09dVe2-sAYTMr7C)_^+uq_&F8j>vFmGTPUh`ymVgT|$=lV{2F!Nj~L^(7#oH$^3Y zsiaMI%?-1@NHb@bVJyKy?Z58lGqdZ#{30<`z>sa= z5*TLwjk7L~LxQcs|JJm1Brb9UB!4KNjpjMi5n)#1d{w|R81m;EnkkyWkBHJE`i1k` zUQp4E0SL?ThYg=$3YE^IOP(3Q+wzW(z~_3>@h&BG?#*n#R{i)J9-rTRCNt9v5YwIj z8CAfgq7wV!K@WXoBi}CqHFb@~yB|(e2-jl&w~r#$Qz0(eEEjp$cd!xt@yi1Mx;M9+ zr?1OBWn`31h*Na>Kp*Txb9?I>g9AtJE$J>pA=c1`Bev9v-2Hrg{7;H3GiDb#@hk1^ zjzt|rY;6{E}HSuKMpYa z|5_yJfV>`Iy1ZYn=<4s2Ih;FJ97H)xCuK?H-zU+qRgDKyW3ybCE|8J`MK>=Pcti-b zz5e1Cpa0Dw`X*ZOgM92@FGr?QB2MpnXd)O+NKvSCM2g9ecHIfFQh94e>zp8+J1ET8 zESZJ0th7ACN@R_L4wyRh?G=Q9?;yN3p^NmrCx)dbfyU}&B)*USqO;04B6?dSs za|?EYaLG(3LArMLuFp1o=NSd+VzSSYS<@!*N;?<6{+trWU`c1=9r5RLgQ>-DpVA5E z?GwV|1&7urFc_LY$c8%>?Xg;+6*ZxOq*fTx#>n+|QGL<9srSWUXWPwI?}3SprC)4B z!+I6;Y%jMSC}(X7lq(PvwT) zQbaJ5AD-GM*jefv`B0(9Mqkj+^8#8wJP{bMugFIB<<=oepW`IwkZvf{)*f0JocUAY%?Q6GQ zDiq`KjYZHSgw1WRWF8C(*+D;PKrY@Fdgk(3d39<%^|<|@P598f!{eAK2m64F36+p{ zT!`}Q^BY_f1nke;HxcxPbXPMD6h2MiEt85srhHpmA{{MjfU71tP> zQ3aywWuLAqCaa*}I5PLzW?{Kg%kL1>juApg;($!g|7KrBwi73n_kKlIU)XIvwteAJNtT>xNhx`#@D6cSEW4 zV}YRe29}i{9u5ztl*RMwda`Gr=mNLHvemNO77{CjVeHFd5QAz!JfmKVbmhpe4-9~ zv^xO>G*Y|fl@ZFG6)oPfk$VC)K@|Ys&}s#j~OQ@mu3Ya zFYeL@Z8ldsk^IVJ;~K+)*+Gie5;?@+;I2vEiuv2|c>B2)>Dvyeh_xI|Thr3k%z)R` z+zW;GuOUVK!*qgZu*-I*^+EB=beYTOp>v=Meu3TxC<(tPlkkSql(u+$ZBou(Pk1$S z9i8oSsuv9~{-sD;F=M)MZ_m1z%>(b%1K1hj9^81hANdZt~%6fc{#l8E&gaVR= zZqbGQc1YtFGW4LHD9FLeMyL7f5O_R<5UHs?+fhxcN@*`A!v3TbV&1Y%Hl%ngp*Tlb zu|?cWjQDdH!@|I?Ad0e0#_Zg|l_r(BZX<`5<{Pp-K{MB9QMC6K%WH z@ftdo^M15wqmhj}Ib7rGjR79Q`FjF`E*G!IL^0D~)qb;Dn`lf)BxzGW&momH6`L<%PhCLDm>~V6YBjr;9Yyp zrWt`|cWCJ?2liV}=^gAjlI9XBT_L#hhQ}#xig@Y#K?Zr?jA*UvpYid_w-JCQw;d_) z8o8LBnOQh(x0Q9h9LXbv+rPU@2^d|BO$#K^N1a~%b2$#SHI&j2!OkdU0TvdJM78os zD>kcF*bJBJQxUIBZ=fgmt4W@r>GO=Y+eED#zvRh z+Y~@;Ch(D zJ3-E2^#it4LdW)Bjmd77D2g$Gv%9UWO?d$C#UK;T+bosIz|_eJeg5{ZOEcxAx1|$+ z3V=xtu?JKMQ6u<4O5+F+7!XF>FlMdxxl14C(kOcTN|34i4vnlT=7-{^$Nx$CW3S4= zEFhG(0E`w=W)ocYCoU&C!g&0iI9%i-X_JkwAQq2BF!Z89Kl7X zp@Cbd8jD-^@rH5o>I7j=$(WYlqtA{nU7JV!(c`|lP82wXP7%W=Cmc*lL$cws>|f!W z+ksQtA>l#N0$~&jIM(NW>QL@SM?jwW%r3h1GhXUE_T{GOJ6ofG|GNR9?=_Z?uLX&0 zwG=f5bB`)^Rwqjsu%?4069_=D2)E&Az5n-j&0{P_)S&ARVggT}u92aM(RPBJ3sg&1OV~O{cK3jex%QA8wJi}doCX-Hc*~aw? z)1n0xhk2c&+d&j_Jdc}jBw3*k2nRC33M}=U<%v^UtfNxnZoB^?Ul;9lQB|l~SnUU>!&bEJ935P;ChNy-Ap2VuU6X zBx`9Bg+=D}Axj6N3X*KgS9rRm0*v73l2m>4LeQnUG{!!(Tj8KgNmOjMl11vZ#;?d5 zp4-HHjpx@BZ8cUJ*sKj&JNh<{hn29cU+<#@-X3i&$P5! zZhC|GNN`6NazPiqpqAnAV3YY9%5f>=6hawjuB6D2-`G?&8w6;W{wd?|ket!%p?$pO zU4cK$5XwhX&81ALV9}sLw zd^kh(_S*A)56rLr;iQ87$owQ4sM81_4Dp6*%r)k#1JSC1GosqICnjQk{PiKeS* zwson|vzilyKvD1ajJ)QxpZ#*s8zw}qWq7-c3xtdIVe(q&CZu#{#`aoV0gCvKwKx)1 z?J7^KM%GJ?tuYBeo|sG? zp;GfluRKsfq(u2mgHWeG1Dd>U1Q0$s+N^j`CDhqyW={sZU4JMX3YmLkGfFViQGX|4 z=>v-ws~oRTPTPgLvq1i-hZB{a4HCl2XF94np}QC9v{K~megB}SF)R~agptiM1_jMhxV7}JZO>sz8V6UuLbtMrZ@s8^>b5Hmrg|BJwnG++ zVP&iR6I}ke>9eLUU;NFk3r|>6Xw~BV(UypCbN|Tz*dGByrrGuwM~Khla8AROBZVyKs2YfGPO?bci$!(zynbpeS5FX%E34J6VFfhn8?zLOFO`+gN$DO>KYa5-OI*fDBc?#}=u$ zLaCXpmDX9~B1TiYsyA>HD~ZbM+8DOS5tNv|?b_zdQukRyN^7D*bQJD7Oz<#jSWN6qlqpX^5e?+h8?`N={6-2(yi} zZ<9fWKOr5_!c!{F(%vG*6Z+cY2ue;aicVGTlf2}X+9<=d8h^podDk6LBp0_tIQ2Ay zUXm}qhINm6q+q?R-RpJyW-|sNqEnaDB=*~25=O*#{bU|nS!CA+U$B}`6D?XOnlo?d zWe3Z5hAcANaMz%F{dlI7mYb6vGQGsliqogw*@3`xE8hBuWSjDrC7oBPxS7odAoA*A zC)Q;#n;UJbu$>lL0>sYA`Jwc)zw<>~n@u7+I=}S>#$4WA#7zlD63p_Dy!&sefyz0l zADvHA6O@x}8MwtCT=?SGCdW^U#$1!r&G;A}=xiWI9_RV)l!DWlh1&XvJ0m?EFAEJ* zQnXQPCx-vbcszqMsd%5M0VN5|)XQtR8pIhAQ(!C9v(bX(btdoc#I{+P;B<1kRyClJ z{S?Hu)|x2G`v=Yjc^B!QYRdSyZfFX6#^yK+z!`UtT-OU^*OlCEOz&CW-Q;BJQ@6Oi7 zSDJHaV(`o%fh=1Nn%YaKTGOCsYM6U@`dW`go94K`RI$?V_v~Yx`tjNo+>X)7gR1{* zi(lL|QmFpgFLI*|FMJz|_|}FghIFAz+4Da6Fa+uq(**sHiipFz`|B2d;qnVX(S#8c z6lHc4zUWK1hXo2m#aaxU>q+ z95!%Uv^GRwNYHTdjOlr)C0W8NW?l;>T=R$SjJGBG)pUe9$3K#KX`S$9EU6|H`o9B% zo&sIWBzOtr@#AMy(*h_W-lszhmAEEqmLYxWubi{R|neeH~C;pdiQ}$R}QgkQlzwJ5~)gA7RXUWkooAVw3Wlt)xtO!Ll zvaQ=y{0uyNzRL5bG%$FC?5+OcC|g~4rlv>7q+@9HRGgt@?33!b z?*gkO7<}0%Us?S(6yZV?TQSHc>Vf<7ti$3HLslVIqY~JSd{z{`o#Cu88(mwg>%uG# zCA%w7Nb3G9#;m9LhoQEI zyjiS;jIsVVXJ^W1NH!r@&wgD5Ha1l*)0WrKH76$fn=9UEg2c0P>F1QCR(HXcb+MKs zIBn9XUx#T`!y|?GR8!4(T=A`YIjAjJWamukwTR@_!v+yQ@;;TwDQcu2kp`k)*eLxr zm(1-RuR~80GnPAEefw6!x~rA|icF4!TM=7LXua4-Xo z@6tU&Yb-Uf%c{`sl0WSds$#~&5+{E4YnlFtO9pHjZ~0w&*dKDj?w7g!*7FHQ9`B(0 zzPe68GXg9SLU*M7V5kN32cN=<7muBuZmipVsE7Dgg5h{zi&Y@gwuW?cW426#fnF`; zL!hCXl25=n<4QBZmY*yrl_*iBfqK*Yej^b>{u z0M6l$nK|Ht3s@`-IK?LKj}UYpOJVfgA=ubFM%|F5AhvhcR;$L@O=>9$Cq`rE3sWC; zumRQ)G%;pPOhGFT1w&gfXhwoWydtDQr! z6QT&ijjR6b9ML^jXvChZl zdoK_m8bf(JCc&l|a3eYRv}y%tUjz(?q@R(+>#_-wLMn0r)#YuAau=~l_7FDm=%gP#MDYe{1|I_C})wy z9_@Z1F|mzyje{E-oS(G=af|MloxSB9!%I2yvymFmD?|^y_+}w@RKR?d*ule${qBlY zVbd1jpe@q7-f`acNw1dAMlPKJRpoV|w7QnwdQVbt*%!^;TwTfxo00|y*-Lf!0ET5}5JrC$pSFafFmOb*#+#F!kO z(fC5?Rsg#}4()~h@HJSJ7Ke=n36s(`FxrchLY2ugJtVH)nf{mD$Z`&jCF4{RD1rRC zldf7qJq2cu@{^N&}(R8SHnZ?d{MtM4u zIuujF$fldAA`EQ)N^}L0~H>|=%hU^Dzy_)G&mW(ZB3W#Cago^fCNX*uLk8k?> zOYS?n1F-;*eHt0EwYu@f#eLcpUkJdoZ+4y9bx9~}iIdiiu2f*4*%KLC>_Pkz>YAR- z^kuFpk(^5y=qxsvF!NtbB2jed9NR@{!qP9YkT0AxeR6Jw+#yWSKjouS{U$GPr7B^e z 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 literal 6832 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 IBVzRb0O|=UQUCw| diff --git a/doc/_templates/sideb.html b/doc/_templates/sideb.html index 11622acfb..b94374286 100644 --- a/doc/_templates/sideb.html +++ b/doc/_templates/sideb.html @@ -1,7 +1,14 @@ -

    +

    CEA Ecole Polytechnique
    CNRS ERC + Flatiron Institute +
    + Simons Foundation +

    +
    +

    + Visit the project on GitHub

    diff --git a/doc/changelog.rst b/doc/changelog.rst new file mode 100644 index 000000000..8dd3e6bf8 --- /dev/null +++ b/doc/changelog.rst @@ -0,0 +1,8 @@ +.. _changelog: + +Changelog +========= + +This document describes the main changes in TPRF. + +.. include:: ChangeLog.md diff --git a/doc/conf.py.in b/doc/conf.py.in index b5d729eca..8bbb4d408 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -3,48 +3,47 @@ # TRIQS documentation build configuration file import sys -sys.path.insert(0, "@TRIQS_ROOT@/@TRIQS_SPHINXEXT_PATH@/numpydoc") - -extensions = [ - 'nbsphinx', - 'sphinx.ext.autodoc', - 'sphinx.ext.mathjax', - 'sphinx.ext.intersphinx', - 'sphinx.ext.doctest', - 'sphinx.ext.todo', - 'sphinx.ext.viewcode', - 'sphinx.ext.autosummary', - 'sphinx.ext.githubpages', - 'plot_directive', - 'numpydoc', - 'IPython.sphinxext.ipython_console_highlighting', - ] +sys.path.insert(0, "@TRIQS_SPHINXEXT_PATH@/autorun") +sys.path.insert(0, "@TRIQS_SPHINXEXT_PATH@/numpydoc") + +extensions = ['sphinx.ext.autodoc', + 'sphinx.ext.mathjax', + 'sphinx.ext.intersphinx', + 'sphinx.ext.doctest', + 'sphinx.ext.todo', + 'sphinx.ext.viewcode', + 'sphinx.ext.autosummary', + 'plot_directive', + 'numpydoc', + 'autorun', + 'nbsphinx', + 'sphinx.ext.githubpages', + 'IPython.sphinxext.ipython_console_highlighting', + ] source_suffix = '.rst' -project = u'TPRF: Two-Particle Response Function tool box for TRIQS' +project = u'TPRF - Two-Particle Response Function tool box for TRIQS' copyright = u'2017, H. U.R. Strand' version = '@TPRF_VERSION@' -release = '@TPRF_RELEASE@' math_number_all = True -#mathjax_path = "@TRIQS_MATHJAX_PATH@/MathJax.js?config=default" -mathjax_path = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=default" +mathjax_path = "@TRIQS_MATHJAX_PATH@/MathJax.js?config=default" templates_path = ['@CMAKE_SOURCE_DIR@/doc/_templates'] exclude_patterns = ['_build', '**.ipynb_checkpoints'] html_theme = 'triqs' html_theme_path = ['@TRIQS_THEMES_PATH@'] html_show_sphinx = False -html_context = {'header_title': 'tprf', +html_context = {'header_title': 'triqs_tprf', 'header_subtitle': 'two-particle response function tools based on the TRIQS library', 'header_links': [['Install', 'install'], ['Documentation', 'documentation'], ['Issues', 'issues'], - ['About TPRF', 'about']]} + ['About triqs_tprf', 'about']]} html_static_path = ['@CMAKE_SOURCE_DIR@/doc/_static'] html_sidebars = {'index': ['sideb.html', 'searchbox.html']} -htmlhelp_basename = 'TRIQSTPRFdoc' +htmlhelp_basename = 'TPRFdoc' -intersphinx_mapping = {'python': ('http://docs.python.org/2.7', None), 'triqslibs': ('@TRIQS_ROOT@/@TRIQS_INVENTORY_DIR@', None)} +intersphinx_mapping = {'python': ('http://docs.python.org/2.7', None), 'triqslibs': ('https://triqs.github.io/triqs/master', None)} diff --git a/doc/index.rst b/doc/index.rst index 6c7017360..2b7e6132e 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -3,6 +3,11 @@ The Two-Particle Response Function tool box (TPRF) ================================================== +.. sidebar:: triqs_tprf 2.2 + + This is the homepage triqs_tprf Version 2.2 + For changes see, Cf :ref:`changelog page ` + TPRF is a :ref:`TRIQS-based ` two-particle response function tool box that implements basic operations for higher order response functions such as inversion, products, the random phase approximation, the bethe salpeter equation (in the local vertex approximation), etc.. The aim is to provide **efficient** (C++/OpenMP/MPI) implementations of the basic operations needed to compute the two-particle response in the different two-particle channels (particle-hole, particle-particle). diff --git a/doc/install.rst b/doc/install.rst index f9f875e9f..10ab14be6 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -2,51 +2,74 @@ .. _install: -Installation -============ +Compiling AP4TRIQS from source +============================== Prerequisite ------------------- -#. The TRIQS library (https://github.com/TRIQS/triqs) and its dependecies. See the install instructions in the TRIQS documentation (https://triqs.github.io/triqs/). +#. The :ref:`TRIQS ` library, see :ref:`TRIQS installation instruction `. + In the following, we assume that Triqs is installed in the ``path_to_triqs`` directory. Installation steps ------------------ -#. Clone the github repository:: +#. Download the source code of the latest stable version by cloning the ``TRIQS/triqs_tprf`` repository from GitHub:: - $ git clone https://github.com/HugoStrand/tprf.git tprf.src + $ git clone https://github.com/TRIQS/triqs_tprf triqs_tprf.src -#. Create an empty build directory where you will compile the code:: +#. Create and move to a new directory where you will compile the code:: - $ mkdir tprf.build && cd tprf.build + $ mkdir triqs_tprf.build && cd triqs_tprf.build -#. In the build directory call cmake:: +#. Ensure that your shell contains the TRIQS environment variables by sourcing the ``triqsvars.sh`` file from your TRIQS installation:: - $ cmake ../tprf.src + $ source path_to_triqs/share/triqsvarsh.sh + +#. In the build directory call cmake, including any additional custom CMake options, see below:: + + $ cmake ../triqs_tprf.src #. Compile the code, run the tests and install the application:: $ make - $ make install $ make test + $ make install Version compatibility --------------------- -Be careful that the version of the TRIQS library and of the solver must be -compatible. +Be careful that the version of the TRIQS library and of the application must be +compatible (more information on the :ref:`TRIQS website `). +In particular you should make sure that the Major and Minor Version number +of the application and TRIQS agree. +If you want to use a particular version of the application, go into the directory with the sources +and look at all available versions:: -Custom CMake options --------------------- + $ cd triqs_tprf.src && git tag + +Checkout the version of the code that you want:: + + $ git checkout 2.1.0 -The functionality of ``tprf`` can be tweaked using extra compile-time options passed to CMake:: +Then follow the steps 2 to 4 described above to compile the code. - cmake -DOPTION1=value1 -DOPTION2=value2 ... ../cthyb.src +Custom CMake options +-------------------- -+---------------------------------------------------------------+-----------------------------------+ -| Options | Syntax | -+===============================================================+===================================+ -| Build the documentation locally | -DBUILD_DOC=ON | -+---------------------------------------------------------------+-----------------------------------+ +Functionality of ``triqs_tprf`` can be tweaked using extra compile-time options passed to CMake:: + + cmake ../triqs_tprf.src -DOPTION1=value1 -DOPTION2=value2 ... ../triqs_tprf.src + ++-----------------------------------------------------------------+-----------------------------------------------+ +| Options | Syntax | ++=================================================================+===============================================+ +| Specify an installation path other than path_to_triqs | -DCMAKE_INSTALL_PREFIX=path_to_triqs_tprf | ++-----------------------------------------------------------------+-----------------------------------------------+ +| Build in Debugging Mode | -DCMAKE_BUILD_TYPE=Debug | ++-----------------------------------------------------------------+-----------------------------------------------+ +| Disable testing (not recommended) | -DBuild_Tests=OFF | ++-----------------------------------------------------------------+-----------------------------------------------+ +| Build the documentation | -DBuild_Documentation=ON | ++-----------------------------------------------------------------+-----------------------------------------------+ diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt deleted file mode 100644 index 518d7d938..000000000 --- a/python/CMakeLists.txt +++ /dev/null @@ -1,73 +0,0 @@ -# where will the python end up in triqs python tree ? -set(python_destination triqs_tprf) - -include_directories(${TRIQS_INCLUDE_ALL} ${CMAKE_CURRENT_SOURCE_DIR}) - -# Build the C++ extension module -#triqs_python_extension(tprf ${python_destination}) -#target_link_libraries(tprf tprf_c) -#include_directories(${TRIQS_INCLUDE_ALL} ${CMAKE_CURRENT_SOURCE_DIR}) -#triqs_set_rpath_for_target(tprf) -#install(TARGETS tprf DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -# Build the C++ extension module -add_cpp2py_module(lattice) -target_link_libraries(lattice tprf_c) -triqs_set_rpath_for_target(lattice) -install(TARGETS lattice DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -# Build the C++ extension module -add_cpp2py_module(linalg) -target_link_libraries(linalg tprf_c) -triqs_set_rpath_for_target(linalg) -install(TARGETS linalg DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -# Build the C++ extension module -add_cpp2py_module(chi_from_gg2) -target_link_libraries(chi_from_gg2 tprf_c) -triqs_set_rpath_for_target(chi_from_gg2) -install(TARGETS chi_from_gg2 DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -# Build the C++ extension module -add_cpp2py_module(freq_conv) -target_link_libraries(freq_conv tprf_c) -triqs_set_rpath_for_target(freq_conv) -install(TARGETS freq_conv DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -# Build the C++ extension module -add_cpp2py_module(hubbard_atom) -target_link_libraries(hubbard_atom tprf_c) -triqs_set_rpath_for_target(hubbard_atom) -install(TARGETS hubbard_atom DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -# Configure the version -configure_file(version.py.in version.py) - -# Install utilities -install(FILES ${PYTHON_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/version.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES logo.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES plot.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES bse.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES rpa_tensor.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES eliashberg.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES utilities.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES hf_solver.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES hf_response.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES tight_binding.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) -install(FILES super_lattice.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES wannier90.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES lattice_utils.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES ParameterCollection.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES analytic_hubbard_atom.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES Dummy.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - -install(FILES __init__.py DESTINATION ${CPP2PY_PYTHON_LIB_DEST_ROOT}/${python_destination}) - diff --git a/python/triqs_tprf/CMakeLists.txt b/python/triqs_tprf/CMakeLists.txt new file mode 100644 index 000000000..0f3205fc4 --- /dev/null +++ b/python/triqs_tprf/CMakeLists.txt @@ -0,0 +1,31 @@ +# Build the python modules +add_cpp2py_module(lattice) +target_link_libraries(lattice triqs_tprf_c) + +add_cpp2py_module(linalg) +target_link_libraries(linalg triqs_tprf_c) + +add_cpp2py_module(chi_from_gg2) +target_link_libraries(chi_from_gg2 triqs_tprf_c) + +add_cpp2py_module(freq_conv) +target_link_libraries(freq_conv triqs_tprf_c) + +# Build the C++ extension module +add_cpp2py_module(hubbard_atom) +target_link_libraries(hubbard_atom triqs_tprf_c) + +# Configure the version +configure_file(version.py.in version.py) + +# All Python files. Copy them in the build dir to have a complete package for the tests. +file(GLOB_RECURSE python_sources RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.py) +list(FILTER python_sources EXCLUDE REGEX "_desc.py") +foreach(file ${python_sources}) + configure_file(${file} ${file} COPYONLY) +endforeach() + +# Install python module to proper location +set(PYTHON_LIB_DEST ${TRIQS_PYTHON_LIB_DEST_ROOT}/triqs_tprf) +install(TARGETS lattice linalg chi_from_gg2 freq_conv hubbard_atom DESTINATION ${PYTHON_LIB_DEST}) +install(FILES ${python_sources} ${CMAKE_CURRENT_BINARY_DIR}/version.py DESTINATION ${PYTHON_LIB_DEST}) diff --git a/python/Dummy.py b/python/triqs_tprf/Dummy.py similarity index 100% rename from python/Dummy.py rename to python/triqs_tprf/Dummy.py diff --git a/python/ParameterCollection.py b/python/triqs_tprf/ParameterCollection.py similarity index 100% rename from python/ParameterCollection.py rename to python/triqs_tprf/ParameterCollection.py diff --git a/python/__init__.py b/python/triqs_tprf/__init__.py similarity index 100% rename from python/__init__.py rename to python/triqs_tprf/__init__.py diff --git a/python/analytic_hubbard_atom.py b/python/triqs_tprf/analytic_hubbard_atom.py similarity index 100% rename from python/analytic_hubbard_atom.py rename to python/triqs_tprf/analytic_hubbard_atom.py diff --git a/python/bse.py b/python/triqs_tprf/bse.py similarity index 100% rename from python/bse.py rename to python/triqs_tprf/bse.py diff --git a/python/chi_from_gg2_desc.py b/python/triqs_tprf/chi_from_gg2_desc.py similarity index 94% rename from python/chi_from_gg2_desc.py rename to python/triqs_tprf/chi_from_gg2_desc.py index d27291949..7ca52d298 100644 --- a/python/chi_from_gg2_desc.py +++ b/python/triqs_tprf/chi_from_gg2_desc.py @@ -1,4 +1,3 @@ - from cpp2py.wrap_generator import * # The module @@ -9,7 +8,7 @@ import pytriqs.lattice # Add here all includes beyond what is automatically included by the triqs modules -module.add_include("../c++/chi_from_gg2.hpp") # Manually added +module.add_include("triqs_tprf/chi_from_gg2.hpp") # Manually added # Add here anything to add in the C++ code at the start, e.g. namespace using module.add_preamble(""" @@ -27,7 +26,7 @@ using namespace triqs::gfs; using namespace triqs::lattice; -using namespace tprf; +using namespace triqs_tprf; """) module.add_function ("g2_iw_t chi0_from_gg2_PH(gf_view g, gf_view, tensor_valued<4>> g2)", doc = """""") diff --git a/python/eliashberg.py b/python/triqs_tprf/eliashberg.py similarity index 100% rename from python/eliashberg.py rename to python/triqs_tprf/eliashberg.py diff --git a/python/freq_conv_desc.py b/python/triqs_tprf/freq_conv_desc.py similarity index 95% rename from python/freq_conv_desc.py rename to python/triqs_tprf/freq_conv_desc.py index fa0b39e6a..a2ae0c40c 100644 --- a/python/freq_conv_desc.py +++ b/python/triqs_tprf/freq_conv_desc.py @@ -8,7 +8,7 @@ import pytriqs.gf # Add here all includes beyond what is automatically included by the triqs modules -module.add_include("../c++/freq_conv.hpp") # Manually added +module.add_include("triqs_tprf/freq_conv.hpp") # Manually added # Add here anything to add in the C++ code at the start, e.g. namespace using module.add_preamble(""" @@ -24,7 +24,7 @@ using namespace triqs::gfs; using namespace triqs::lattice; -using namespace tprf; +using namespace triqs_tprf; """) module.add_function ("gf block_iw_AB_to_matrix_valued(block_gf_view bg_AB)", doc = """""") diff --git a/python/hf_response.py b/python/triqs_tprf/hf_response.py similarity index 100% rename from python/hf_response.py rename to python/triqs_tprf/hf_response.py diff --git a/python/hf_solver.py b/python/triqs_tprf/hf_solver.py similarity index 100% rename from python/hf_solver.py rename to python/triqs_tprf/hf_solver.py diff --git a/python/hubbard_atom_desc.py b/python/triqs_tprf/hubbard_atom_desc.py similarity index 89% rename from python/hubbard_atom_desc.py rename to python/triqs_tprf/hubbard_atom_desc.py index e20ecc62c..7f6e33293 100644 --- a/python/hubbard_atom_desc.py +++ b/python/triqs_tprf/hubbard_atom_desc.py @@ -8,7 +8,7 @@ import pytriqs.gf # Add here all includes beyond what is automatically included by the triqs modules -module.add_include("../c++/hubbard_atom.hpp") # Manually added +module.add_include("triqs_tprf/hubbard_atom.hpp") # Manually added # Add here anything to add in the C++ code at the start, e.g. namespace using module.add_preamble(""" @@ -23,8 +23,8 @@ #include using namespace triqs::gfs; -using namespace tprf::hubbard_atom; -using namespace tprf; +using namespace triqs_tprf::hubbard_atom; +using namespace triqs_tprf; """) module.add_function("g_iw_t single_particle_greens_function(int nw, double beta, double U)", doc = """""") diff --git a/python/lattice_desc.py b/python/triqs_tprf/lattice_desc.py similarity index 97% rename from python/lattice_desc.py rename to python/triqs_tprf/lattice_desc.py index 5d4c10c66..79723b7c7 100644 --- a/python/lattice_desc.py +++ b/python/triqs_tprf/lattice_desc.py @@ -9,8 +9,8 @@ import pytriqs.lattice # Add here all includes beyond what is automatically included by the triqs modules -module.add_include("../c++/types.hpp") # Manually added -module.add_include("../c++/lattice.hpp") # Manually added +module.add_include("triqs_tprf/types.hpp") # Manually added +module.add_include("triqs_tprf/lattice.hpp") # Manually added # Add here anything to add in the C++ code at the start, e.g. namespace using module.add_preamble(""" @@ -28,7 +28,7 @@ using namespace triqs::gfs; using namespace triqs::lattice; -using namespace tprf; +using namespace triqs_tprf; """) module.add_function("array, 6> cluster_mesh_fourier_interpolation(array k_vecs, chi_wr_cvt chi)", doc = """""") diff --git a/python/lattice_utils.py b/python/triqs_tprf/lattice_utils.py similarity index 100% rename from python/lattice_utils.py rename to python/triqs_tprf/lattice_utils.py diff --git a/python/linalg_desc.py b/python/triqs_tprf/linalg_desc.py similarity index 96% rename from python/linalg_desc.py rename to python/triqs_tprf/linalg_desc.py index d58b35b63..35ca4987c 100644 --- a/python/linalg_desc.py +++ b/python/triqs_tprf/linalg_desc.py @@ -8,7 +8,7 @@ import pytriqs.gf # Add here all includes beyond what is automatically included by the triqs modules -module.add_include("../c++/linalg.hpp") # Manually added +module.add_include("triqs_tprf/linalg.hpp") # Manually added # Add here anything to add in the C++ code at the start, e.g. namespace using module.add_preamble(""" @@ -24,7 +24,7 @@ using namespace triqs::gfs; using namespace triqs::lattice; -using namespace tprf; +using namespace triqs_tprf; """) module.add_function ("g2_iw_t identity_PH(gf_view, tensor_valued<4>> g)", doc = """""") diff --git a/python/logo.py b/python/triqs_tprf/logo.py similarity index 100% rename from python/logo.py rename to python/triqs_tprf/logo.py diff --git a/python/plot.py b/python/triqs_tprf/plot.py similarity index 100% rename from python/plot.py rename to python/triqs_tprf/plot.py diff --git a/python/rpa_tensor.py b/python/triqs_tprf/rpa_tensor.py similarity index 100% rename from python/rpa_tensor.py rename to python/triqs_tprf/rpa_tensor.py diff --git a/python/super_lattice.py b/python/triqs_tprf/super_lattice.py similarity index 100% rename from python/super_lattice.py rename to python/triqs_tprf/super_lattice.py diff --git a/python/tight_binding.py b/python/triqs_tprf/tight_binding.py similarity index 100% rename from python/tight_binding.py rename to python/triqs_tprf/tight_binding.py diff --git a/python/utilities.py b/python/triqs_tprf/utilities.py similarity index 100% rename from python/utilities.py rename to python/triqs_tprf/utilities.py diff --git a/python/triqs_tprf/version.py.in b/python/triqs_tprf/version.py.in new file mode 100644 index 000000000..7a260f34b --- /dev/null +++ b/python/triqs_tprf/version.py.in @@ -0,0 +1,35 @@ +################################################################################ +# +# TRIQS: a Toolbox for Research in Interacting Quantum Systems +# +# Copyright (C) 2016-2018, H. Strand +# Copyright (C) 2018-2019, Simons Foundation +# author: H. Strand +# +# TRIQS is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# TRIQS. If not, see . +# +################################################################################ + +version = "@TPRF_VERSION@" +triqs_version = "@TRIQS_VERSION@" +triqs_hash = "@TRIQS_GIT_HASH@" +triqs_tprf_hash = "@TPRF_GIT_HASH@" + +def show_version(): + print "\nYou are using triqs_tprf version %s\n"%version + +def show_git_hash(): + print "\nYou are using triqs_tprf git hash %s based on triqs git hash %s\n"%(triqs_tprf_hash, triqs_hash) + +info = (version, triqs_tprf_hash[:7], triqs_version, triqs_hash[:7]) diff --git a/python/wannier90.py b/python/triqs_tprf/wannier90.py similarity index 100% rename from python/wannier90.py rename to python/triqs_tprf/wannier90.py diff --git a/python/version.py.in b/python/version.py.in deleted file mode 100644 index 674191223..000000000 --- a/python/version.py.in +++ /dev/null @@ -1,14 +0,0 @@ -""" This file is used to construct the python file 'version.py' where all variables like - @VAR@ are subsituted by cmake. - The 'version.py' file can then be imported to get version informations (TRIQS and TPRF). -""" - -tprf_version = 0.0 -tprf_hash = "@TPRF_GIT_HASH@" -tprf_hash_short = tprf_hash[:7] -triqs_version = "@TRIQS_VERSION@" -triqs_hash = "@TRIQS_GIT_HASH@" -triqs_hash_short = triqs_hash[:7] - -info = (tprf_version, tprf_hash_short, triqs_version, triqs_hash_short) - diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt new file mode 100644 index 000000000..411a67ed7 --- /dev/null +++ b/share/CMakeLists.txt @@ -0,0 +1,23 @@ +add_subdirectory(cmake) + +if(NOT CMAKE_INSTALL_PREFIX STREQUAL TRIQS_ROOT) + + configure_file(triqs_tprf.modulefile.in triqs_tprf.modulefile @ONLY) + configure_file(triqs_tprfvars.sh.in triqs_tprfvars.sh @ONLY) + + install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/triqs_tprf.modulefile + ${CMAKE_CURRENT_BINARY_DIR}/triqs_tprfvars.sh + DESTINATION share + ) + + message(STATUS "***************************************************************") + message(STATUS "* Custom install Location. Use: ") + message(STATUS "* ") + message(STATUS "* source ${CMAKE_INSTALL_PREFIX}/share/triqs_tprfvars.sh ") + message(STATUS "* ") + message(STATUS "* to set up the environment variables ") + message(STATUS "***************************************************************") + +endif() diff --git a/share/cmake/CMakeLists.txt b/share/cmake/CMakeLists.txt new file mode 100644 index 000000000..18ecbf205 --- /dev/null +++ b/share/cmake/CMakeLists.txt @@ -0,0 +1,10 @@ +configure_file(triqs_tprf-config.cmake.in triqs_tprf-config.cmake @ONLY) +configure_file(triqs_tprf-config-version.cmake.in triqs_tprf-config-version.cmake @ONLY) +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/triqs_tprf-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/triqs_tprf-config-version.cmake + DESTINATION lib/cmake/triqs_tprf +) + +install(EXPORT triqs_tprf-targets DESTINATION lib/cmake/triqs_tprf) diff --git a/share/cmake/triqs_tprf-config-version.cmake.in b/share/cmake/triqs_tprf-config-version.cmake.in new file mode 100644 index 000000000..c296bd29d --- /dev/null +++ b/share/cmake/triqs_tprf-config-version.cmake.in @@ -0,0 +1,13 @@ +set(PACKAGE_VERSION @TPRF_VERSION@) + +if (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) +endif() + +if (PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION) + set(PACKAGE_VERSION_COMPATIBLE TRUE) +endif() + +if (PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION) + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/share/cmake/triqs_tprf-config.cmake.in b/share/cmake/triqs_tprf-config.cmake.in new file mode 100644 index 000000000..0ee4cb784 --- /dev/null +++ b/share/cmake/triqs_tprf-config.cmake.in @@ -0,0 +1,24 @@ +# This file allows other CMake Projects to find us +# We provide general project information +# and reestablish the exported CMake Targets + +# Multiple inclusion guard +if(NOT TPRF_FOUND) +set(TPRF_FOUND True) + +# version +set(TPRF_VERSION @TPRF_VERSION@) +set(TPRF_GIT_HASH @TPRF_GIT_HASH@) + +# Root of the installation +set(TPRF_ROOT @CMAKE_INSTALL_PREFIX@) + +# Include the exported targets of this project +include(@CMAKE_INSTALL_PREFIX@/lib/cmake/triqs/triqs_tprf-targets.cmake) + +MESSAGE(STATUS "Found TPRFConfig.cmake with version ${TPRF_VERSION}, hash = ${TPRF_GIT_HASH}") + +# Was the Project built with Documentation? +set(TPRF_WITH_DOCUMENTATION @Build_Documentation@) + +endif() diff --git a/share/triqs_tprf.modulefile.in b/share/triqs_tprf.modulefile.in new file mode 100644 index 000000000..a7356f76c --- /dev/null +++ b/share/triqs_tprf.modulefile.in @@ -0,0 +1,39 @@ +#%Module1.0 +# +# To be installed as ${MODULEPATH}/triqs_tprf/@TPRF_VERSION@ + +set name triqs_tprf +set version @TPRF_VERSION@ +set root @CMAKE_INSTALL_PREFIX@ +set git_hash @TPRF_GIT_HASH@ + +set url "https://github.com/TRIQS/triqs_tprf" +set description "An example application using cpp2py and triqs." + +module-whatis "$description" + +proc ModulesHelp { } { + global description url version git_hash + puts stderr "Description: $description" + puts stderr "URL: $url" + puts stderr "Version: $version" + puts stderr "Git hash: $git_hash" +} + +# You may need to edit the next line if the triqs module +# is installed under a different name in your setup. +prereq triqs/@TRIQS_VERSION@ + +# Only one version of triqs_tprf can be loaded at a time +conflict $name + +setenv TPRF_ROOT $root +setenv TPRF_VERSION $version +setenv TPRF_GIT_HASH $git_hash + +prepend-path PATH $root/bin +prepend-path CPLUS_INCLUDE_PATH $root/include +prepend-path LIBRARY_PATH $root/lib +prepend-path LD_LIBRARY_PATH $root/lib +prepend-path PYTHONPATH $root/@TRIQS_PYTHON_LIB_DEST_ROOT@ +prepend-path CMAKE_PREFIX_PATH $root/lib/cmake/triqs_tprf diff --git a/share/triqs_tprfvars.sh.in b/share/triqs_tprfvars.sh.in new file mode 100644 index 000000000..a7df20b37 --- /dev/null +++ b/share/triqs_tprfvars.sh.in @@ -0,0 +1,10 @@ +# Source this in your environment. + +export TRIQS_ROOT=@CMAKE_INSTALL_PREFIX@ + +export CPLUS_INCLUDE_PATH=@CMAKE_INSTALL_PREFIX@/include:$CPLUS_INCLUDE_PATH +export PATH=@CMAKE_INSTALL_PREFIX@/bin:$PATH +export LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib:$LIBRARY_PATH +export LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib:$LD_LIBRARY_PATH +export PYTHONPATH=@CMAKE_INSTALL_PREFIX@/@CPP2PY_PYTHON_LIB_DEST_ROOT@:$PYTHONPATH +export CMAKE_PREFIX_PATH=@CMAKE_INSTALL_PREFIX@/lib/cmake/triqs:$CMAKE_PREFIX_PATH diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 21a6637e5..51d3086fe 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,5 @@ add_subdirectory(c++) -if (${TRIQS_WITH_PYTHON_SUPPORT}) - add_subdirectory(python) +if(${TRIQS_WITH_PYTHON_SUPPORT}) + add_subdirectory(python) endif() diff --git a/test/c++/CMakeLists.txt b/test/c++/CMakeLists.txt index bd875c1fa..7fb95d490 100644 --- a/test/c++/CMakeLists.txt +++ b/test/c++/CMakeLists.txt @@ -1,15 +1,32 @@ # Copy h5 files to binary dir -FILE(GLOB all_h5_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h5) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${all_h5_files} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(GLOB_RECURSE all_h5_ref_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.ref.h5) +foreach(file ${all_h5_ref_files}) + configure_file(${file} ${file} COPYONLY) +endforeach() -include_directories(${CMAKE_SOURCE_DIR}/c++) +# List of all tests +set(all_tests linalg_ops bubble gf_inverse g_wk_to_from_g_wr chi0_wk_to_from_chi0_wr hubbard_atom_test mpi_and_openmp) -#triqs_add_all_cpp_tests_in_current_dir() - -set(SIMPLE_TESTS linalg_ops bubble gf_inverse g_wk_to_from_g_wr chi0_wk_to_from_chi0_wr hubbard_atom_test mpi_and_openmp) - -foreach(t ${SIMPLE_TESTS}) - add_executable(${t} ${CMAKE_CURRENT_SOURCE_DIR}/${t}.cpp) - target_link_libraries (${t} ${TRIQS_LIBRARY_ALL} gtest tprf_c) - add_test(${t} ${CMAKE_CURRENT_BINARY_DIR}/${t}) -endforeach(t) +foreach(test ${all_tests}) + get_filename_component(test_name ${test} NAME_WE) + add_executable(${test_name} ${test}) + target_link_libraries(${test_name} triqs_tprf_c gtest) + add_test(${test_name} ${test_name}) + # Run clang-tidy if found + if(CLANG_TIDY_EXECUTABLE) + set_target_properties(${test_name} PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}") + endif() + # Run cppcheck if found + if(CPPCHECK_EXECUTABLE) + add_custom_command( + TARGET ${test_name} + COMMAND ${CPPCHECK_EXECUTABLE} + --enable=warning,style,performance,portability + --std=c++14 + --template=gcc + --verbose + --quiet + ${CMAKE_CURRENT_SOURCE_DIR}/${test}.cpp + ) + endif() +endforeach() diff --git a/test/c++/chi0_wk_to_from_chi0_wr.cpp b/test/c++/chi0_wk_to_from_chi0_wr.cpp index 7b0d090a0..5c7abb001 100644 --- a/test/c++/chi0_wk_to_from_chi0_wr.cpp +++ b/test/c++/chi0_wk_to_from_chi0_wr.cpp @@ -27,9 +27,10 @@ using namespace triqs::gfs; using namespace triqs::arrays; using namespace triqs::lattice; -#include "types.hpp" -#include "lattice.hpp" -using namespace tprf; +#include +#include + +using namespace triqs_tprf; TEST(lattice, chi0_wk_to_from_chi0_wr) { diff --git a/test/c++/g_wk_to_from_g_wr.cpp b/test/c++/g_wk_to_from_g_wr.cpp index 49c4b62be..b9b2a294e 100644 --- a/test/c++/g_wk_to_from_g_wr.cpp +++ b/test/c++/g_wk_to_from_g_wr.cpp @@ -27,9 +27,10 @@ using namespace triqs::gfs; using namespace triqs::arrays; using namespace triqs::lattice; -#include "types.hpp" -#include "lattice.hpp" -using namespace tprf; +#include +#include + +using namespace triqs_tprf; TEST(lattice, g0_wk_to_from_g0_wr) { double beta = 100.0; diff --git a/test/c++/hubbard_atom_test.cpp b/test/c++/hubbard_atom_test.cpp index 3acd74240..bc242bcf9 100644 --- a/test/c++/hubbard_atom_test.cpp +++ b/test/c++/hubbard_atom_test.cpp @@ -21,10 +21,10 @@ #include -#include "hubbard_atom.hpp" +#include -using namespace tprf; -using namespace tprf::hubbard_atom; +using namespace triqs_tprf; +using namespace triqs_tprf::hubbard_atom; TEST(hubbard_atom, single_particle_greens_function) { double eps = 1e-9; diff --git a/test/c++/linalg_ops.cpp b/test/c++/linalg_ops.cpp index 80a49a01b..454a66998 100644 --- a/test/c++/linalg_ops.cpp +++ b/test/c++/linalg_ops.cpp @@ -20,17 +20,16 @@ ******************************************************************************/ #include - #include #include - #include -#include "linalg.hpp" - using namespace triqs::gfs; using namespace triqs::arrays; -using namespace tprf; + +#include + +using namespace triqs_tprf; // ---------------------------------------------------- // Helper functions diff --git a/test/c++/mpi_and_openmp.cpp b/test/c++/mpi_and_openmp.cpp index b43ba4382..ed8760b88 100644 --- a/test/c++/mpi_and_openmp.cpp +++ b/test/c++/mpi_and_openmp.cpp @@ -6,9 +6,9 @@ using namespace triqs::clef; using namespace triqs::lattice; -#include "mpi.hpp" +#include -using namespace tprf; +using namespace triqs_tprf; // ------------------------------------------------------------ diff --git a/test/python/CMakeLists.txt b/test/python/CMakeLists.txt index e0db855c7..3d25ec12a 100644 --- a/test/python/CMakeLists.txt +++ b/test/python/CMakeLists.txt @@ -1,17 +1,15 @@ # Copy h5 files to binary dir +file(GLOB_RECURSE all_h5_tgz_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.ref.h5 *.tar.gz) +foreach(file ${all_h5_tgz_files}) + configure_file(${file} ${file} COPYONLY) +endforeach() -FILE(GLOB all_h5_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h5) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${all_h5_files} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -FILE(GLOB all_tgz_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.tar.gz) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${all_tgz_files} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -# List all tests -set(all_tests chi4_iw_from_tau g_wk_to_from_g_wr chi00_square_lattice bse_and_rpa_loc_vs_latt mean_field mean_field_kanamori hartree_response 1d_hubbard_hf_rpa 1d_hubbard_hf_spin_rot_inv 1d_hubbard_hf_rpa_2site_AFM eliashberg compare_general_rpa_to_matrix_rpa interaction_tensor_charge_spin_factorization) +# List of all tests +set(all_tests chi4_iw_from_tau g_wk_to_from_g_wr_py chi00_square_lattice bse_and_rpa_loc_vs_latt mean_field mean_field_kanamori hartree_response 1d_hubbard_hf_rpa 1d_hubbard_hf_spin_rot_inv 1d_hubbard_hf_rpa_2site_AFM eliashberg compare_general_rpa_to_matrix_rpa interaction_tensor_charge_spin_factorization) -foreach(t ${all_tests}) - add_test(NAME ${t} COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/${t}.py) +foreach(test ${all_tests}) + get_filename_component(test_name ${test} NAME_WE) + get_filename_component(test_dir ${test} DIRECTORY) + add_test(NAME ${test_name} COMMAND ${TRIQS_PYTHON_INTERPRETER} ${CMAKE_CURRENT_SOURCE_DIR}/${test_dir}/${test_name}.py WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${test_dir}) + set_property(TEST ${test_name} APPEND PROPERTY ENVIRONMENT PYTHONPATH=${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SANITIZER_RT_PRELOAD}) endforeach() - -# Set the PythonPath : put the build dir first (in case there is an installed version). -set_property(TEST ${all_tests} PROPERTY ENVIRONMENT PYTHONPATH=${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH} ) diff --git a/test/python/g_wk_to_from_g_wr.py b/test/python/g_wk_to_from_g_wr_py.py similarity index 100% rename from test/python/g_wk_to_from_g_wr.py rename to test/python/g_wk_to_from_g_wr_py.py