Hello community, here is the log from the commit of package votca-csgapps for openSUSE:Factory checked in at 2019-02-28 21:38:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/votca-csgapps (Old) and /work/SRC/openSUSE:Factory/.votca-csgapps.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "votca-csgapps" Thu Feb 28 21:38:33 2019 rev:10 rq:670465 version:1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/votca-csgapps/votca-csgapps.changes 2017-09-04 12:39:20.793984443 +0200 +++ /work/SRC/openSUSE:Factory/.votca-csgapps.new.28833/votca-csgapps.changes 2019-02-28 21:38:35.509636630 +0100 @@ -1,0 +2,6 @@ +Thu Jan 31 20:58:30 UTC 2019 - Christoph Junghans <jungh...@votca.org> + +- Upgrade to 1.5 + * details: https://github.com/votca/csg/blob/master/CHANGELOG.md + +------------------------------------------------------------------- Old: ---- votca-csgapps-1.4.1.tar.gz New: ---- votca-csgapps-1.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ votca-csgapps.spec ++++++ --- /var/tmp/diff_new_pack.0OXwar/_old 2019-02-28 21:38:35.965636486 +0100 +++ /var/tmp/diff_new_pack.0OXwar/_new 2019-02-28 21:38:35.969636484 +0100 @@ -2,7 +2,7 @@ # spec file for package votca-csgapps # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2013-2017 Christoph Junghans +# Copyright (c) 2013-2019 Christoph Junghans # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,8 +17,8 @@ # Name: votca-csgapps -Version: 1.4.1 -%define uversion 1.4.1 +Version: 1.5 +%define uversion %{version} Release: 0 Summary: VOTCA coarse-graining engine applications Group: Productivity/Scientific/Chemistry @@ -36,8 +36,8 @@ %else BuildRequires: boost-devel >= 1.39.0 %endif -BuildRequires: pkgconfig(libvotca_csg) = %{version} -BuildRequires: pkgconfig(libvotca_tools) = %{version} +BuildRequires: votca-csg-devel = %{version} +BuildRequires: votca-tools-devel = %{version} BuildRequires: cmake %description @@ -51,7 +51,7 @@ %setup -n csgapps-%{uversion} -q %build -%{cmake} +%{cmake} -DENABLE_TESTING=ON make %{?_smp_mflags} %install @@ -59,6 +59,9 @@ %fdupes %{buildroot}%{_prefix} +%check +make -C build test CTEST_OUTPUT_ON_FAILURE=1 + %files %defattr(-,root,root,-) %doc README ++++++ votca-csgapps-1.4.1.tar.gz -> votca-csgapps-1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/.gitlab-ci.yml new/csgapps-1.5/.gitlab-ci.yml --- old/csgapps-1.4.1/.gitlab-ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/csgapps-1.5/.gitlab-ci.yml 2019-01-31 15:48:15.000000000 +0100 @@ -0,0 +1,121 @@ +stages: + - canary + - build + +.build: + retry: + max: 2 + variables: + CCACHE_DIR: "${CI_PROJECT_DIR}/ccache" + CXXFLAGS: "-Wall -Werror" + DISTRO: "latest" + image: votca/buildenv:${DISTRO} + stage: build + cache: + paths: + - ccache/ + script: + - ccache -z + - j="$(grep -c processor /proc/cpuinfo 2>/dev/null)" || j=0; ((j++)) + - git branch commit_of_build_${CI_BUILD_ID} ${CI_COMMIT_SHA} + - cd $HOME + - git clone --recursive https://github.com/votca/votca + - pushd votca + - if [[ ( ${CI_COMMIT_REF_NAME} =~ ^for/([^/]*)/.* || ${CI_COMMIT_REF_NAME} =~ ^(stable)$ ) && ${BASH_REMATCH[1]} != master ]]; then + git checkout -b ${BASH_REMATCH[1]} origin/${BASH_REMATCH[1]} && git submodule update --recursive --init; + fi + - git -C ${CI_PROJECT_NAME} fetch ${CI_PROJECT_DIR} commit_of_build_${CI_BUILD_ID} + - git -C ${CI_PROJECT_DIR} branch -d commit_of_build_${CI_BUILD_ID} + - git -C ${CI_PROJECT_NAME} checkout -f ${CI_COMMIT_SHA} + - mkdir -p build + - pushd build + - cmake .. -DENABLE_TESTING=ON -DBUILD_CSGAPPS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DMODULE_BUILD=${MODULE_BUILD} ${MODULE_BUILD:+-DCMAKE_INSTALL_PREFIX=/home/votca/votca.install} + - make -O -k -j${j} -l${j} VERBOSE=1 + - make test CTEST_OUTPUT_ON_FAILURE=1 + - test -z "${MODULE_BUILD}" && make install DESTDIR=${PWD}/install && rm -rf ${PWD}/install/usr && rmdir ${PWD}/install + - sudo make install + - ccache -s + +Debug GCC: + stage: canary + variables: + CC: "gcc" + CXX: "g++" + CMAKE_BUILD_TYPE: "Debug" + extends: .build + +None GCC: + variables: + CC: "gcc" + CXX: "g++" + CMAKE_BUILD_TYPE: "" + extends: .build + +None Clang: + variables: + CC: "clang" + CXX: "clang++" + CMAKE_BUILD_TYPE: "" + extends: .build + +Debug Clang: + variables: + CC: "clang" + CXX: "clang++" + CMAKE_BUILD_TYPE: "Debug" + extends: .build + +Release GCC: + variables: + CC: "gcc" + CXX: "g++" + CMAKE_BUILD_TYPE: "Release" + extends: .build + +Release Clang: + variables: + CC: "clang" + CXX: "clang++" + CMAKE_BUILD_TYPE: "Release" + extends: .build + +Debug GCC Ubuntu: + variables: + CC: "gcc" + CXX: "g++" + CMAKE_BUILD_TYPE: "Debug" + DISTRO: "ubuntu" + extends: .build + +Debug Clang Ubuntu: + variables: + CC: "clang" + CXX: "clang++" + CMAKE_BUILD_TYPE: "Debug" + DISTRO: "ubuntu" + extends: .build + +Release GCC Ubuntu: + variables: + CC: "gcc" + CXX: "g++" + CMAKE_BUILD_TYPE: "Release" + DISTRO: "ubuntu" + extends: .build + +Release Clang Ubuntu: + variables: + CC: "clang" + CXX: "clang++" + CMAKE_BUILD_TYPE: "Release" + DISTRO: "ubuntu" + extends: .build + +Release GCC Module: + variables: + CC: "gcc" + CXX: "g++" + CMAKE_BUILD_TYPE: "Release" + MODULE_BUILD: "yes" + extends: .build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/.travis.yml new/csgapps-1.5/.travis.yml --- old/csgapps-1.4.1/.travis.yml 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/.travis.yml 2019-01-31 15:48:15.000000000 +0100 @@ -1,87 +1,126 @@ -#the original source of this file can be found in tools repository change it ther -# changes in tools|csg tiggered a full rebuild -# changes in csgapps|csg-manual|csg-tutorials only trigger tools+csg+ifself - +# the original source of this file can be found in votca/votca repository +# add changes there! +# To update: +# wget -O .travis.yml https://raw.githubusercontent.com/votca/votca/master/.travis.yml language: cpp -sudo: false +sudo: required -addons: - apt: - sources: - - boost-latest - - george-edison55-precise-backports - - ubuntu-toolchain-r-test - packages: - - ccache - - gcc-4.8 - - g++-4.8 - - libfftw3-dev - - cmake - - cmake-data - - libgsl0-dev - - txt2tags - - libboost1.55-all-dev - - libexpat1-dev - - libsqlite3-dev - - libhdf5-serial-dev - - pkg-config - - pgf - - texlive-fonts-recommended - - texlive-latex-extra - - texlive-latex-recommended - - cm-super - - doxygen - - graphviz - - ghostscript - - gnuplot-nox - - octave +services: +- docker env: - global: - - HDF5_VERSION=1.8.18 - - GMX_MAX_THREADS=8 - - CCACHE_CPP2=yes #for clang - - GVER=4.8 - matrix: #NINJA=1 is currently not support by Travis' cmake, enable when >=2.8.9 - - BDIR=build WERROR=yes J=4 TYPE=Debug - - BDIR=build WALL=yes J=4 TYPE=Debug - - BDIR=build WERROR=yes J=4 TYPE=Release - - BDIR=build WALL=yes J=4 TYPE=Release MAN=yes - - MINIMAL=yes J=4 + matrix: + - ENV=1 + - ENV=2 + - ENV=3 + - ENV=4 + - ENV=5 + - ENV=6 + - ENV=7 + - ENV=8 + - ENV=9 + - ENV=10 + - ENV=11 + - ENV=12 + - ENV=13 + - ENV=14 + - ENV=15 + - ENV=16 + - ENV=17 + - ENV=18 + - ENV=19 + - ENV=20 before_script: - - rm -vrf * .git - - wget https://raw.githubusercontent.com/votca/buildutil/master/build.sh && chmod 755 build.sh - - mkdir -p "$HOME/votca/src" - - if [[ ${MINIMAL} != yes ]]; then - wget -qO- https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${HDF5_VERSION%.*}/hdf5-${HDF5_VERSION}/src/hdf5-${HDF5_VERSION}.tar.gz | tar -xz && - cd hdf5-${HDF5_VERSION} && ./configure --prefix=$HOME/hdf5 && make -j4 &> /dev/null && make install && cd ..; + - git checkout -b current_commit + - cd ../../ + - if [[ ${TRAVIS_REPO_SLUG} = */votca ]]; then + if [[ ${TRAVIS_BRANCH} = next ]]; then + git -C ${TRAVIS_REPO_SLUG} submodule foreach git checkout master; + git -C ${TRAVIS_REPO_SLUG} submodule foreach git pull; + fi; + cp -vr ${TRAVIS_REPO_SLUG}/docker ${HOME}; + mv -v ${TRAVIS_REPO_SLUG} $HOME/docker; + else + git clone --recursive https://github.com/votca/votca.git $HOME/docker/votca; + if [[ ${TRAVIS_BRANCH} != master ]]; then + git -C ${HOME}/docker/votca checkout -b ${TRAVIS_BRANCH} ${TRAVIS_TAG:-origin/${TRAVIS_BRANCH}} && git -C ${HOME}/docker/votca submodule update --recursive --init; + fi; + git -C ${HOME}/docker/votca/${TRAVIS_REPO_SLUG#*/} fetch ${PWD}/${TRAVIS_REPO_SLUG} current_commit; + git -C ${HOME}/docker/votca/${TRAVIS_REPO_SLUG#*/} checkout -f FETCH_HEAD; + cp -vr ${HOME}/docker/votca/docker/* ${HOME}/docker; + if [[ -d ${TRAVIS_REPO_SLUG}/docker ]]; then cp -vr ${TRAVIS_REPO_SLUG}/docker/* ${HOME}/docker; fi; + fi + - source ${HOME}/docker/set_env.sh + - cp -r $HOME/.ccache ${HOME}/docker/ccache + - sed -i "1s/latest/${DISTRO:-latest}/" ${HOME}/docker/Dockerfile + - if [[ ! ${SKIP} ]]; then + travis_retry timeout 540 docker pull $(sed -n '1s/FROM //p' ${HOME}/docker/Dockerfile); + fi + +script: + - if [[ ! ${SKIP} ]]; then + travis_retry docker build "${docker_opts[@]}" + --build-arg CC=${CC} --build-arg CXX=${CXX} --build-arg CXXFLAGS="-Wall ${WERROR:+-Werror}" + --build-arg CI=${CI} --build-arg TRAVIS=${TRAVIS} --build-arg TRAVIS_OS_NAME=${DISTRO:-fedora} + --build-arg TRAVIS_BRANCH=${TRAVIS_BRANCH} --build-arg TRAVIS_JOB_NUMBER=${TRAVIS_JOB_NUMBER} + --build-arg TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST} --build-arg TRAVIS_JOB_ID=${TRAVIS_JOB_ID} + --build-arg TRAVIS_TAG=${TRAVIS_TAG} --build-arg TRAVIS_REPO_SLUG=${TRAVIS_REPO_SLUG} + --build-arg TRAVIS_COMMIT=${TRAVIS_COMMIT} + ${TRAVIS_TAG:+-t votca/votca:${TRAVIS_TAG}} + -t votca/votca:latest -t votca/votca:${TRAVIS_BRANCH} ${HOME}/docker/ && + rm -rf $HOME/.ccache && + CON=$(docker run -d votca/votca:${TRAVIS_BRANCH} /bin/bash) && + docker cp ${CON}:/home/votca/.ccache ${HOME}/; + fi + +after_success: + - shopt -s extglob && [[ ${TRAVIS_BRANCH} = @(master|stable|v1.*) && ${CC} = *gcc* && ${DOCKERHUB} = yes && ! ${SKIP} ]] && DEPLOY=yes + - if [[ ${TRAVIS_BRANCH} = master ]]; then DOCKER_TAG=latest; else DOCKER_TAG="${TRAVIS_BRANCH}"; fi + - if [[ ${DOCKER_USERNAME} && ${DOCKER_PASSWORD} && ${TRAVIS_PULL_REQUEST} == false && ${DEPLOY} ]]; then + docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; + docker push "${TRAVIS_REPO_SLUG}:${DOCKER_TAG}"; fi - - if [[ ${GMX_VERSION} = 9999 ]]; then - CMAKE_VERSION=3.4.3-Linux-x86_64 && - wget --no-check-certificate -qO- http://www.cmake.org/files/v${CMAKE_VERSION:0:3}/cmake-${CMAKE_VERSION}.tar.gz | tar -xz && - export CMAKE="$PWD/cmake-${CMAKE_VERSION}/bin/cmake" ; + - if [[ ${DOXYGEN} = yes && ! ${SKIP} ]]; then + git clone --depth=1 https://github.com/votca/doxygen.git "$HOME/devdoc"; + cd $HOME/devdoc; + rm -f *; + git checkout -- CNAME; + docker cp ${CON}:/home/votca/votca/build/share/doc/html . ; + mv html/* .; rmdir html; + docker cp ${CON}:/home/votca/votca/build/csg-manual/manual.pdf . ; + docker cp ${CON}:/home/votca/votca/build/ctp/manual/ctp-manual.pdf . ; + docker cp ${CON}:/home/votca/votca/build/xtp/manual/xtp-manual.pdf . ; + git add --all .; + if [[ ${TRAVIS_BRANCH} = master && ${encrypted_7abbb71c3ba6_key} && ${encrypted_7abbb71c3ba6_iv} && ${TRAVIS_PULL_REQUEST} == false ]]; then + git config --global user.name "Automatic Deployment (Travis CI)"; + git config --global user.email "votca-comm...@googlegroups.com"; + git commit -m "Documentation Update"; + openssl aes-256-cbc -K $encrypted_7abbb71c3ba6_key -iv $encrypted_7abbb71c3ba6_iv -in keys/deploy3.enc -out ~/.ssh/id_rsa -d; + chmod 600 ~/.ssh/id_rsa; + git push g...@github.com:votca/doxygen.git gh-pages; + else + git status; + git diff --cached --no-color | head -c 1k; + fi; fi - - if [[ ${MAN} ]]; then git clone --depth=1 https://github.com/votca/doxygen.git "$HOME/votca/src/devdoc"; fi - - if [[ ${GVER} ]]; then export CC=gcc-${GVER}; export CXX=g++-${GVER}; fi - - pip install --user numpy -script: - - PATH="$HOME/hdf5:$PATH" ./build.sh -Wu --prefix "$HOME/votca" - ${TYPE:+-DCMAKE_BUILD_TYPE=${TYPE}} - ${TEST:+--runtest=$TEST} ${WERROR:+--warn-to-errors} -DWITH_H5MD=ON ${MINIMAL:+--minimal} ${MAN:+--devdoc} - ${J:+-j$J} ${BDIR:+--builddir=$BDIR} ${NINJA:+--ninja} ${WALL:+--Wall} ${GMX_VERSION:+--gmx-release ${GMX_VERSION}} - --directory "$HOME/votca/src" --no-clean --depth 1 -DGMX_USE_RDTSCP=OFF ${GMX_DOUBLE:+-DGMX_DOUBLE=yes} - tools $([[ ${MINIMAL} ]] || echo gromacs) csg csgapps ${MAN:+csg-manual} ${TEST:+csg-tutorials} - ${CTP:+kmc moo ctp} ${XTP:+xtp} +branches: + only: + - master + - development + - stable + - next + - /^v\d+\.\d+(\.\d+|_rc\d+)?$/ cache: - ccache compiler: - gcc + - clang notifications: email: - - votca-comm...@googlegroups.com + - votca-comm...@googlegroups.com diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/CMakeLists.txt new/csgapps-1.5/CMakeLists.txt --- old/csgapps-1.4.1/CMakeLists.txt 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/CMakeLists.txt 2019-01-31 15:48:15.000000000 +0100 @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.1) project(csgapps) -set(PROJECT_VERSION "1.4.1") +set(PROJECT_VERSION "1.5") set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules) @@ -18,20 +18,29 @@ # these need ot be done early (before further tests). ##################################################################### -#needed by csg include(CheckCXXCompilerFlag) -check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) -if(COMPILER_SUPPORTS_CXX11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") -else() - message(FATAL_ERROR "Could not find a C++-11 compiler") +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11 +if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" AND CMAKE_VERSION VERSION_LESS "3.6.0") + message(FATAL_ERROR "Using the intel compiler requires cmake 3.6 or higher") endif() ######################################################################## +# User input options # +######################################################################## +include(GNUInstallDirs) + +option(ENABLE_TESTING "Build and enable testing stuff" OFF) +if(ENABLE_TESTING) + enable_testing() +endif(ENABLE_TESTING) + +######################################################################## #Find external packages ######################################################################## -find_package(Boost 1.39.0 REQUIRED COMPONENTS program_options ) +find_package(Boost 1.57.0 REQUIRED COMPONENTS program_options ) include_directories(${Boost_INCLUDE_DIRS}) set (BOOST_LIBRARIES ${Boost_PROGRAM_OPTIONS_LIBRARY}) @@ -51,8 +60,13 @@ add_executable(${DIR} ${SRC}) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${DIR}) #needed for out-of-source build target_link_libraries(${DIR} ${VOTCA_CSG_LIBRARIES} ${VOTCA_TOOLS_LIBRARIES} ${BOOST_LIBRARIES}) - install(TARGETS ${DIR} RUNTIME DESTINATION bin) + install(TARGETS ${DIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) set_target_properties(${DIR} PROPERTIES OUTPUT_NAME ${DIR}/csg_${DIR}) + if(ENABLE_TESTING) + add_test(${DIR}Help ${DIR}/csg_${DIR} --help) + # run tests for tools and csg as well for coverage + set_tests_properties(${DIR}Help PROPERTIES LABELS "csgapps;csg;tools;votca") + endif(ENABLE_TESTING) endforeach(DIR) configure_file(${CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY) @@ -62,5 +76,7 @@ endif() add_dependencies(uninstall uninstall-csgapps) -include(FeatureSummary) -feature_summary(INCLUDE_QUIET_PACKAGES WHAT ALL) +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + include(FeatureSummary) + feature_summary(INCLUDE_QUIET_PACKAGES WHAT ALL) +endif (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/CMakeModules/FindEigen3.cmake new/csgapps-1.5/CMakeModules/FindEigen3.cmake --- old/csgapps-1.4.1/CMakeModules/FindEigen3.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/csgapps-1.5/CMakeModules/FindEigen3.cmake 2019-01-31 15:48:15.000000000 +0100 @@ -0,0 +1,107 @@ +# - Try to find Eigen3 lib +# +# This module supports requiring a minimum version, e.g. you can do +# find_package(Eigen3 3.1.2) +# to require version 3.1.2 or newer of Eigen3. +# +# Once done this will define +# +# EIGEN3_FOUND - system has eigen lib with correct version +# EIGEN3_INCLUDE_DIR - the eigen include directory +# EIGEN3_VERSION - eigen version +# +# and the following imported target: +# +# Eigen3::Eigen - The header-only Eigen library +# +# This module reads hints about search locations from +# the following environment variables: +# +# EIGEN3_ROOT +# EIGEN3_ROOT_DIR + +# Copyright (c) 2006, 2007 Montel Laurent, <mon...@kde.org> +# Copyright (c) 2008, 2009 Gael Guennebaud, <g.g...@free.fr> +# Copyright (c) 2009 Benoit Jacob <jacob.benoi...@gmail.com> +# Redistribution and use is allowed according to the terms of the 2-clause BSD license. + +if(NOT Eigen3_FIND_VERSION) + if(NOT Eigen3_FIND_VERSION_MAJOR) + set(Eigen3_FIND_VERSION_MAJOR 2) + endif(NOT Eigen3_FIND_VERSION_MAJOR) + if(NOT Eigen3_FIND_VERSION_MINOR) + set(Eigen3_FIND_VERSION_MINOR 91) + endif(NOT Eigen3_FIND_VERSION_MINOR) + if(NOT Eigen3_FIND_VERSION_PATCH) + set(Eigen3_FIND_VERSION_PATCH 0) + endif(NOT Eigen3_FIND_VERSION_PATCH) + + set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}") +endif(NOT Eigen3_FIND_VERSION) + +macro(_eigen3_check_version) + file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) + + string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") + set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") + string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") + set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") + string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") + set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") + + set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) + if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) + set(EIGEN3_VERSION_OK FALSE) + else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) + set(EIGEN3_VERSION_OK TRUE) + endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) + + if(NOT EIGEN3_VERSION_OK) + + message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " + "but at least version ${Eigen3_FIND_VERSION} is required") + endif(NOT EIGEN3_VERSION_OK) +endmacro(_eigen3_check_version) + +if (EIGEN3_INCLUDE_DIR) + + # in cache already + _eigen3_check_version() + set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) + set(Eigen3_FOUND ${EIGEN3_VERSION_OK}) + +else (EIGEN3_INCLUDE_DIR) + + # search first if an Eigen3Config.cmake is available in the system, + # if successful this would set EIGEN3_INCLUDE_DIR and the rest of + # the script will work as usual + find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET) + + if(NOT EIGEN3_INCLUDE_DIR) + find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library + HINTS + ENV EIGEN3_ROOT + ENV EIGEN3_ROOT_DIR + PATHS + ${CMAKE_INSTALL_PREFIX}/include + ${KDE4_INCLUDE_DIR} + PATH_SUFFIXES eigen3 eigen + ) + endif(NOT EIGEN3_INCLUDE_DIR) + + if(EIGEN3_INCLUDE_DIR) + _eigen3_check_version() + endif(EIGEN3_INCLUDE_DIR) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) + + mark_as_advanced(EIGEN3_INCLUDE_DIR) + +endif(EIGEN3_INCLUDE_DIR) + +if(EIGEN3_FOUND AND NOT TARGET Eigen3::Eigen) + add_library(Eigen3::Eigen INTERFACE IMPORTED) + set_target_properties(Eigen3::Eigen PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${EIGEN3_INCLUDE_DIR}") +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/CMakeModules/FindMKL.cmake new/csgapps-1.5/CMakeModules/FindMKL.cmake --- old/csgapps-1.4.1/CMakeModules/FindMKL.cmake 1970-01-01 01:00:00.000000000 +0100 +++ new/csgapps-1.5/CMakeModules/FindMKL.cmake 2019-01-31 15:48:15.000000000 +0100 @@ -0,0 +1,339 @@ +# CMake script to detect Intel(R) Math Kernel Library (MKL) +# +# This will try to find Intel MKL libraries, and include path by automatic +# search through typical install locations and if failed it will +# examine MKLROOT environment variable. +# Note, MKLROOT is not set by IPP installer, it should be set manually. +# +# Usage example: +# set(MKL_USE_STATIC_LIBS ON) +# find_package(MKL) +# if (MKL_FOUND) +# include_directories(${MKL_INCLUDE_DIRS}) +# add_executable(foo foo.cc) +# target_link_libraries(foo ${MKL_LIBRARIES}) +# endif() +# +# Variables used by this module, they can change the default behaviour and +# need to be set before calling find_package: +# +# MKL_ADDITIONAL_VERSIONS A list of version numbers to use for searching +# the MKL include directory. +# +# MKL_USE_STATIC_LIBS Can be set to ON to force the use of the static +# boost libraries. Defaults to OFF. +# +# MKL_FIND_DEBUG Set this to TRUE to enable debugging output +# of FindMKL.cmake if you are having problems. +# +# On return this will define: +# MKL_FOUND Indicates whether MKL was found (True/False) +# MKL_INCLUDE_DIRS MKL include folder +# MKL_LIBRARY_DIRS MKL libraries folder +# MKL_LIBRARIES MKL libraries names +# +# NOTE: this script has only been tested with Intel(R) Parallel Studio XE 2011 +# and may need changes for compatibility with older versions. +# +# Adapted from OpenCV IPP detection script +# https://code.ros.org/trac/opencv/browser/trunk/opencv/OpenCVFindIPP.cmake +# Many portions taken from FindBoost.cmake + +# TODO: +# - caller needs to link with libiomp5md.lib or /Qopenmp... +# - runtime DLLs: +# <Composer XE directory> -> C:\Program Files\Intel\ComposerXE-2011 +# redist\ia32\mkl +# redist\intel64\mkl + +set(_MKL_IA32 FALSE) +set(_MKL_INTEL64 FALSE) +if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set(_MKL_IA32 TRUE) +elseif (CMAKE_SIZEOF_VOID_P EQUAL 8) + set(_MKL_INTEL64 TRUE) +else() + message(FATAL_ERROR "Unsupported 'void *' size (${SIZEOF_VOID_P})") +endif() + +# Versions should be listed is decreasing order of preference +set(_MKL_TEST_VERSIONS ${MKL_ADDITIONAL_VERSIONS} + "2011" + # alternative form: "2011.xxx.y" + # (y is the release-update number and xxx is the package number) +) + +if (MKL_FIND_VERSION AND NOT MKL_FIND_QUIETLY) + message(WARNING "Requesting a specific version of Intel(R) MKL is not supported") +endif() + +# Use environment variables from Intel build scripts, if available +if (NOT MKL_ROOT AND NOT $ENV{MKLROOT} STREQUAL "") + set(MKL_ROOT $ENV{MKLROOT}) +endif() + +if (MKL_ROOT) + file(TO_CMAKE_PATH ${MKL_ROOT} MKL_ROOT) +endif() + +if (NOT INTEL_ROOT AND NOT $ENV{INTELROOT} STREQUAL "") + set(INTEL_ROOT $ENV{INTELROOT}) +endif() + +if (INTEL_ROOT) + file(TO_CMAKE_PATH ${INTEL_ROOT} INTEL_ROOT) +endif() + +if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "_MKL_TEST_VERSIONS = ${_MKL_TEST_VERSIONS}") + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "MKL_ADDITIONAL_VERSIONS = ${MKL_ADDITIONAL_VERSIONS}") + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "MKL_USE_STATIC_LIBS = ${MKL_USE_STATIC_LIBS}") + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "MKL_ROOT = ${MKL_ROOT}") + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "INTEL_ROOT = ${INTEL_ROOT}") +endif() + +# Find MKL include directory + +set(_MKL_ROOT_SEARCH_DIRS + ${MKL_ROOT} +) + +foreach (_MKL_VER ${_MKL_TEST_VERSIONS}) + if (WIN32) + list(APPEND _MKL_ROOT_SEARCH_DIRS "$ENV{ProgramFiles}/Intel/Composer XE/mkl") + else() + list(APPEND _MKL_ROOT_SEARCH_DIRS "/opt/intel/composerxe-${_MKL_VER}/mkl") + endif() +endforeach() + +if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "_MKL_ROOT_SEARCH_DIRS = ${_MKL_ROOT_SEARCH_DIRS}") +endif() + +find_path(MKL_INCLUDE_DIR + NAMES mkl.h + PATHS ${_MKL_ROOT_SEARCH_DIRS} + PATH_SUFFIXES include + DOC "The path to Intel(R) MKL header files" +) + +if (MKL_INCLUDE_DIR) + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "location of mkl.h: ${MKL_INCLUDE_DIR}/mkl.h") + endif() +else() + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "unable to find Intel(R) MKL header files. Please set MKLROOT" + " to the root directory containing MKL.") + endif() +endif() + +# Find MKL library directory + +set(_INTEL_LIBRARY_DIR_SUFFIXES "lib") +if (_MKL_IA32) + list(APPEND _INTEL_LIBRARY_DIR_SUFFIXES "lib/ia32") +elseif (_MKL_INTEL64) + list(APPEND _INTEL_LIBRARY_DIR_SUFFIXES "lib/intel64") +else() + message(FATAL_ERROR "unreachable") +endif() + +set(_MKL_LIBRARY_SEARCH_DIRS ${_MKL_ROOT_SEARCH_DIRS}) +if (MKL_INCLUDE_DIR) + list(APPEND _MKL_LIBRARY_SEARCH_DIRS "${MKL_INCLUDE_DIR}/..") +endif() + +if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "_INTEL_LIBRARY_DIR_SUFFIXES = ${_INTEL_LIBRARY_DIR_SUFFIXES}") + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "_MKL_LIBRARY_SEARCH_DIRS = ${_MKL_LIBRARY_SEARCH_DIRS}") +endif() + +set(MKL_LIB_PREFIX "mkl_") +if (MKL_USE_STATIC_LIBS) + if (_MKL_IA32) + if (WIN32) + set(_MKL_LIBRARIES intel_c) + else() + set(_MKL_LIBRARIES intel) + endif() + elseif (_MKL_INTEL64) + set(_MKL_LIBRARIES intel_lp64) + else() + message(FATAL_ERROR "unreachable") + endif() + + list(APPEND _MKL_LIBRARIES intel_thread) + list(APPEND _MKL_LIBRARIES core) +else() + set(_MKL_LIBRARIES rt) +endif() + +set(_MKL_MISSING_LIBRARIES "") +set(MKL_LIBRARIES "") +set(MKL_LIBRARY_DIRS "") +# Find MKL libraries +foreach (_MKL_LIB_RAW ${_MKL_LIBRARIES}) + set(_MKL_LIB ${MKL_LIB_PREFIX}${_MKL_LIB_RAW}) + string(TOUPPER ${_MKL_LIB} _MKL_LIB_UPPER) + + find_library(${_MKL_LIB_UPPER}_LIBRARY + NAMES ${_MKL_LIB} + PATHS ${_MKL_LIBRARY_SEARCH_DIRS} + PATH_SUFFIXES ${_INTEL_LIBRARY_DIR_SUFFIXES} + DOC "The path to Intel(R) MKL ${_MKL_LIB_RAW} library" + ) + mark_as_advanced(${_MKL_LIB_UPPER}_LIBRARY) + + if (NOT ${_MKL_LIB_UPPER}_LIBRARY) + list(APPEND _MKL_MISSING_LIBRARIES ${_MKL_LIB}) + else() + list(APPEND MKL_LIBRARIES ${${_MKL_LIB_UPPER}_LIBRARY}) + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "Found ${_MKL_LIB}: ${${_MKL_LIB_UPPER}_LIBRARY}") + endif() + + get_filename_component(_MKL_LIB_PATH "${${_MKL_LIB_UPPER}_LIBRARY}" PATH) + list(APPEND MKL_LIBRARY_DIRS ${_MKL_LIB_PATH}) + endif() +endforeach() + +## Find OpenMP, pthread and math libraries + +set(_INTEL_LIBRARY_SEARCH_DIRS + ${INTEL_ROOT} + ${INTEL_ROOT}/compiler +) + +foreach(_MKL_DIR ${_MKL_ROOT_SEARCH_DIRS}) + list(APPEND _INTEL_LIBRARY_SEARCH_DIRS "${_MKL_DIR}/..") + list(APPEND _INTEL_LIBRARY_SEARCH_DIRS "${_MKL_DIR}/../compiler") +endforeach() + +if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "_INTEL_LIBRARY_SEARCH_DIRS = ${_INTEL_LIBRARY_SEARCH_DIRS}") +endif() + +if (NOT WIN32) + find_library(PTHREAD_LIBRARY pthread DOC "Path to POSIX threads library") +endif() + +set(_IOMP5_LIB iomp5) +if (WIN32) + if (MKL_USE_STATIC_LIBS) + list(APPEND _IOMP5_LIB libiomp5mt.lib) + else() + list(APPEND _IOMP5_LIB libiomp5md.lib) + endif() +endif() + +find_library(IOMP5_LIBRARY + NAMES ${_IOMP5_LIB} + PATHS ${_INTEL_LIBRARY_SEARCH_DIRS} + PATH_SUFFIXES ${_INTEL_LIBRARY_DIR_SUFFIXES} + DOC "Path to OpenMP runtime library" +) + +if (NOT IOMP5_LIBRARY) + # we could instead fallback to default library (via FindOpenMP.cmake) + list(APPEND _MKL_MISSING_LIBRARIES IOMP5) +else() + list(APPEND MKL_LIBRARIES ${IOMP5_LIBRARY}) + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "Found IOMP5_LIBRARY: ${IOMP5_LIBRARY}") + endif() + + get_filename_component(_MKL_LIB_PATH "${IOMP5_LIBRARY}" PATH) + list(APPEND MKL_LIBRARY_DIRS ${_MKL_LIB_PATH}) +endif() + +# Optimized math library (optional) +set(_MATH_LIB imf) # linked by default with Intel compiler +if (WIN32) + if (MKL_USE_STATIC_LIBS) + list(APPEND _MATH_LIB libmmds.lib) # assumes (/MD) otherwise libmmt.lib (for /MT) + else() + list(APPEND _MATH_LIB libmmd.lib) + endif() +endif() + +find_library(MATH_LIBRARY + NAMES ${_MATH_LIB} + PATHS ${_INTEL_LIBRARY_SEARCH_DIRS} + PATH_SUFFIXES ${_INTEL_LIBRARY_DIR_SUFFIXES} + DOC "Path to optimized math library" +) + +if (NOT MATH_LIBRARY) + # we could instead fallback to default library (via FindOpenMP.cmake) + list(APPEND _MKL_MISSING_LIBRARIES MATH) +else() + list(APPEND MKL_LIBRARIES ${MATH_LIBRARY}) + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "Found MATH_LIBRARY: ${MATH_LIBRARY}") + endif() + + get_filename_component(_MKL_LIB_PATH "${MATH_LIBRARY}" PATH) + list(APPEND MKL_LIBRARY_DIRS ${_MKL_LIB_PATH}) +endif() + +# Check all required libraries are available +list(REMOVE_DUPLICATES MKL_LIBRARY_DIRS) + +set(MKL_INCLUDE_DIRS + ${MKL_INCLUDE_DIR} +) + +set(MKL_FOUND TRUE) +if (NOT MKL_INCLUDE_DIR) + set(MKL_FOUND FALSE) + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "MKL not found - MKL_INCLUDE_DIR was empty") + endif() +elseif (_MKL_MISSING_LIBRARIES) + set(MKL_FOUND FALSE) + if (MKL_FIND_DEBUG) + message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] " + "MKL not found - the following libraries are missing: " + "${_MKL_MISSING_LIBRARIES}") + endif() +endif() + +if (MKL_FOUND) + if (NOT MKL_FIND_QUIETLY OR MKL_FIND_DEBUG) + message(STATUS + "Intel(R) MKL was found:\n" + " MKL_INCLUDE_DIRS: ${MKL_INCLUDE_DIRS}\n" + " MKL_LIBRARY_DIRS: ${MKL_LIBRARY_DIRS}\n" + " MKL_LIBRARIES: ${MKL_LIBRARIES}" + ) + endif() +else() + if (MKL_FIND_REQUIRED) + message(SEND_ERROR "Intel(R) MKL could not be found.") + else() + message(STATUS "Intel(R) MKL could not be found.") + endif() +endif() + +mark_as_advanced( + MKL_INCLUDE_DIR + MKL_INCLUDE_DIRS + MKL_LIBRARY_DIRS +) + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/CMakeModules/FindVOTCA_TOOLS.cmake new/csgapps-1.5/CMakeModules/FindVOTCA_TOOLS.cmake --- old/csgapps-1.4.1/CMakeModules/FindVOTCA_TOOLS.cmake 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/CMakeModules/FindVOTCA_TOOLS.cmake 2019-01-31 15:48:15.000000000 +0100 @@ -6,7 +6,7 @@ # VOTCA_TOOLS_FOUND - True if expat found. # VOTCA_TOOLS_HAS_SQLITE3 - True if votca tools was build with sqlite3 support # -# Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org) +# Copyright 2009-2018 The VOTCA Development Team (http://www.votca.org) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -26,19 +26,27 @@ pkg_check_modules(PC_VOTCA_TOOLS libvotca_tools) find_path(VOTCA_TOOLS_INCLUDE_DIR votca/tools/version.h HINTS ${PC_VOTCA_TOOLS_INCLUDE_DIRS}) -find_path(VOTCA_TOOLS_HAS_SQLITE3 votca/tools/database.h HINTS ${PC_VOTCA_TOOLS_INCLUDE_DIRS}) -if (VOTCA_TOOLS_HAS_SQLITE3) +find_package(Eigen3 3.3.0 REQUIRED) +find_package(MKL) +if (NOT MKL_FOUND) + set(MKL_LIBRARIES) + set(MKL_INCLUDE_DIRS) +endif() + +find_path(VOTCA_TOOLS_HAS_SQLITE3 votca/tools/database.h HINTS ${VOTCA_TOOLS_INCLUDE_DIR} ${PC_VOTCA_TOOLS_INCLUDE_DIRS}) +if(DEFINED WITH_SQLITE3 AND NOT WITH_SQLITE3) + set(SQLITE3_INCLUDE_DIR) +elseif(VOTCA_TOOLS_HAS_SQLITE3) #due to include <sqlite3.h> in database.h find_package(SQLITE3 REQUIRED) - set(VOTCA_TOOLS_INCLUDE_DIRS "${VOTCA_TOOLS_INCLUDE_DIR};${SQLITE3_INCLUDE_DIR}" ) -else(VOTCA_TOOLS_HAS_SQLITE3) - set(VOTCA_TOOLS_INCLUDE_DIRS "${VOTCA_TOOLS_INCLUDE_DIR}" ) -endif (VOTCA_TOOLS_HAS_SQLITE3) - +else() + set(SQLITE3_INCLUDE_DIR) +endif() find_library(VOTCA_TOOLS_LIBRARY NAMES votca_tools HINTS ${PC_VOTCA_TOOLS_LIBRARY_DIRS} ) -set(VOTCA_TOOLS_LIBRARIES "${VOTCA_TOOLS_LIBRARY}" ) +set(VOTCA_TOOLS_INCLUDE_DIRS "${VOTCA_TOOLS_INCLUDE_DIR};${SQLITE3_INCLUDE_DIR};${EIGEN3_INCLUDE_DIR};${MKL_INCLUDE_DIRS}" ) +set(VOTCA_TOOLS_LIBRARIES "${VOTCA_TOOLS_LIBRARY};${MKL_LIBRARIES}" ) include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set VOTCA_TOOLS_FOUND to TRUE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/fluctuations/fluctuations.cc new/csgapps-1.5/fluctuations/fluctuations.cc --- old/csgapps-1.4.1/fluctuations/fluctuations.cc 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/fluctuations/fluctuations.cc 2019-01-31 15:48:15.000000000 +0100 @@ -168,7 +168,7 @@ void CsgFluctuations::EvalConfiguration(Topology *conf, Topology*conf_atom = 0) { vec eR; - double r; + double r = 0; int rbin; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/orientcorr/orientcorr.cc new/csgapps-1.5/orientcorr/orientcorr.cc --- old/csgapps-1.4.1/orientcorr/orientcorr.cc 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/orientcorr/orientcorr.cc 2019-01-31 15:48:15.000000000 +0100 @@ -1,3 +1,20 @@ +/* + * Copyright 2009-2018 The VOTCA Development Team (http://www.votca.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include <stdlib.h> #include <votca/csg/csgapplication.h> #include <votca/tools/histogramnew.h> @@ -227,9 +244,9 @@ // write out the data void OrientCorrApp::EndEvaluate() { - _cor.data().y() = element_div(_cor.data().y(), _count.data().y()); + _cor.data().y() = _cor.data().y().cwiseQuotient( _count.data().y()); _cor.data().Save("correlation.dat"); - _cor_excl.data().y() = element_div(_cor_excl.data().y(), _count_excl.data().y()); + _cor_excl.data().y() = _cor_excl.data().y().cwiseQuotient(_count_excl.data().y()); _cor_excl.data().Save("correlation_excl.dat"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/part_dist/part_dist.cc new/csgapps-1.5/part_dist/part_dist.cc --- old/csgapps-1.4.1/part_dist/part_dist.cc 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/part_dist/part_dist.cc 2019-01-31 15:48:15.000000000 +0100 @@ -104,7 +104,7 @@ po::store(po::parse_command_line(argc, argv, desc), vm); po::notify(vm); } - catch(po::error err) { + catch(po::error& err) { cout << "error parsing command line: " << err.what() << endl; return -1; } @@ -170,18 +170,18 @@ } else { // Include all particle types - for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { - for(int i=0; i<(*mol)->BeadCount(); ++i) { - flag_found = 0; - part_type = atoi((*mol)->getBead(i)->getType()->getName().c_str()); - for (size_t j=0; j < ptypes.size(); ++j) { - if (part_type == ptypes[j]) - flag_found = 1; - } - if (!flag_found) - ptypes.push_back(part_type); - } - } + for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { + for(int i=0; i<(*mol)->BeadCount(); ++i) { + flag_found = 0; + part_type = atoi((*mol)->getBead(i)->getBeadTypeName().c_str()); + for (size_t j=0; j < ptypes.size(); ++j) { + if (part_type == ptypes[j]) + flag_found = 1; + } + if (!flag_found) + ptypes.push_back(part_type); + } + } } // Allocate array used to store particle occupancy p_occ @@ -192,16 +192,16 @@ // If we need to shift the center of mass, calculate the number of // particles (only the ones that belong to the particle type index // ptypes) - if (vm.count("shift_com")) { - for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { - for(int i=0; i<(*mol)->BeadCount(); ++i) { - part_type = atoi((*mol)->getBead(i)->getType()->getName().c_str()); - for (size_t j=0; j < ptypes.size(); ++j) - if (part_type == ptypes[j]) - ++n_part; - } - } - } + if (vm.count("shift_com")) { + for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { + for(int i=0; i<(*mol)->BeadCount(); ++i) { + part_type = atoi((*mol)->getBead(i)->getBeadTypeName().c_str()); + for (size_t j=0; j < ptypes.size(); ++j) + if (part_type == ptypes[j]) + ++n_part; + } + } + } // Now load trajectory @@ -233,52 +233,52 @@ // Calculate new center of mass position in the direction of 'coordinate' com = 0.; if (vm.count("shift_com")) { - for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { - for(int i=0; i<(*mol)->BeadCount(); ++i) { - part_type = atoi((*mol)->getBead(i)->getType()->getName().c_str()); - for (size_t j=0; j < ptypes.size(); ++j) { - if (part_type == ptypes[j]) { - if (coordinate.compare("x") == 0) { - com += (*mol)->getBead(i)->getPos().getX(); - } - else if (coordinate.compare("y") == 0) { - com += (*mol)->getBead(i)->getPos().getY(); - } - else { - com += (*mol)->getBead(i)->getPos().getZ(); - } - } - } - } - } - com /= n_part; + for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { + for(int i=0; i<(*mol)->BeadCount(); ++i) { + part_type = atoi((*mol)->getBead(i)->getBeadTypeName().c_str()); + for (size_t j=0; j < ptypes.size(); ++j) { + if (part_type == ptypes[j]) { + if (coordinate.compare("x") == 0) { + com += (*mol)->getBead(i)->getPos().getX(); + } + else if (coordinate.compare("y") == 0) { + com += (*mol)->getBead(i)->getPos().getY(); + } + else { + com += (*mol)->getBead(i)->getPos().getZ(); + } + } + } + } + } + com /= n_part; } // Analyze frame if (moreframes && frame_id >= first_frame && not_the_last) { ++analyzed_frames; // Loop over each atom property - for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { - for(int i=0; i<(*mol)->BeadCount(); ++i) { - part_type = atoi((*mol)->getBead(i)->getType()->getName().c_str()); - for (size_t j=0; j < ptypes.size(); ++j) { - if (part_type == ptypes[j]) { - if (coordinate.compare("x") == 0) - coord = (*mol)->getBead(i)->getPos().getX(); - else if (coordinate.compare("y") == 0) - coord = (*mol)->getBead(i)->getPos().getY(); - else - coord = (*mol)->getBead(i)->getPos().getZ(); - - if (coord-com > min && coord-com < max) - ++p_occ[j][(int)floor((coord-com-min)/step)]; - } - } - } - } - } - ++frame_id; - } + for(mol=top.Molecules().begin(); mol!=top.Molecules().end();++mol) { + for(int i=0; i<(*mol)->BeadCount(); ++i) { + part_type = atoi((*mol)->getBead(i)->getBeadTypeName().c_str()); + for (size_t j=0; j < ptypes.size(); ++j) { + if (part_type == ptypes[j]) { + if (coordinate.compare("x") == 0) + coord = (*mol)->getBead(i)->getPos().getX(); + else if (coordinate.compare("y") == 0) + coord = (*mol)->getBead(i)->getPos().getY(); + else + coord = (*mol)->getBead(i)->getPos().getZ(); + + if (coord-com > min && coord-com < max) + ++p_occ[j][(int)floor((coord-com-min)/step)]; + } + } + } + } + } + ++frame_id; + } trajreader->Close(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/partial_rdf/rdf_calculator.cc new/csgapps-1.5/partial_rdf/rdf_calculator.cc --- old/csgapps-1.4.1/partial_rdf/rdf_calculator.cc 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/partial_rdf/rdf_calculator.cc 2019-01-31 15:48:15.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org) + * Copyright 2009-2018 The VOTCA Development Team (http://www.votca.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -199,7 +199,7 @@ ic_iter->second->_average.Clear(); for (group_iter = _groups.begin(); group_iter != _groups.end(); ++group_iter) - group_iter->second->_corr.clear(); + group_iter->second->_corr.setZero(); } class IMCNBSearchHandler { @@ -370,10 +370,8 @@ // dist.y() = _avg_vol.getAvg()*iter->second->_norm * // factor 1/2 if beadlist1==beadlist2 already inclyded in _avg_beadlist_2_count!! iter->second->_norm/=(iter->second->_avg_beadlist_1_count.getAvg()*iter->second->_avg_beadlist_2_count.getAvg()); - dist.y() = _avg_vol.getAvg()*iter->second->_norm * - element_div(dist.y(), - element_prod(dist.x(), dist.x()) - ); + dist.y() = _avg_vol.getAvg()*iter->second->_norm *dist.y().cwiseQuotient(dist.x().cwiseAbs2()); + dist.Save((iter->first) + suffix + ".dist.new"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/csgapps-1.4.1/partial_rdf/rdf_calculator.h new/csgapps-1.5/partial_rdf/rdf_calculator.h --- old/csgapps-1.4.1/partial_rdf/rdf_calculator.h 2017-09-03 01:42:18.000000000 +0200 +++ new/csgapps-1.5/partial_rdf/rdf_calculator.h 2019-01-31 15:48:15.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org) + * Copyright 2009-2018 The VOTCA Development Team (http://www.votca.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -72,8 +72,8 @@ Average<double> _avg_vol; - typedef ub::matrix<double> group_matrix; - typedef ub::matrix_range< group_matrix > pair_matrix; + typedef Eigen::MatrixXd group_matrix; + typedef Eigen::Block<group_matrix > pair_matrix; /// struct to store collected information for interactions struct interaction_t {