Skip to content

Commit

Permalink
Release 3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
reiher-research-group committed Nov 27, 2020
1 parent 0c2c78a commit 1e24050
Show file tree
Hide file tree
Showing 540 changed files with 15,320 additions and 3,134 deletions.
103 changes: 103 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
Language: Cpp
# BasedOnStyle: Google
# Reiher Group, SCINE subgroup
AccessModifierOffset: -1
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlinesLeft: true
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
FixNamespaceComments: true
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
IncludeBlocks: Merge
IncludeCategories:
- Regex: '^".*\.h"'
Priority: 1
- Regex: '^".*'
Priority: 2
- Regex: '^<.*\.h>'
Priority: 3
- Regex: '^<.*'
Priority: 4
- Regex: '.*'
Priority: 5
IncludeIsMainRegex: '([-_](test|unittest))?$'
IndentCaseLabels: true
IndentPPDirectives: AfterHash
IndentWidth: 2
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
PenaltyBreakBeforeFirstCallParameter: 20
PenaltyBreakComment: 5
PenaltyBreakFirstLessLess: 3
PenaltyBreakString: 100
PenaltyExcessCharacter: 2
PenaltyReturnTypeOnItsOwnLine: 40
PointerAlignment: Left
ReflowComments: true
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
...

1 change: 1 addition & 0 deletions .clang-format-excludes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Dftd3ReferencePairs.h
63 changes: 63 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
# Remarks about the checks:
# * modernize-use-equals-delete: removed to avoid warnings generated in TEST_F macro from google-test
# * clang-analyzer-cplusplus.NewDelete: removed to avoid warnings generated in TEST_F macro from google-test
# * clang-analyzer-cplusplus.NewDeleteLeaks: removed to avoid warnings generated in TEST_F macro from google-test
# * clang-analyzer-optin.cplusplus.VirtualCall: removed to avoid warnings generated in google-test
# * cppcoreguidelines-slicing: removed because of PropertyData in Delib
# * clang-analyzer-core.NullDereference: removed because of warning in clang's headers
Checks: '-*,
bugprone-*,
clang-analyzer-*,
-clang-analyzer-cplusplus.NewDelete,
-clang-analyzer-cplusplus.NewDeleteLeaks,
-clang-analyzer-optin.cplusplus.VirtualCall,
-clang-analyzer-core.NullDereference,
cppcoreguidelines-*,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-type-const-cast,
-cppcoreguidelines-pro-type-member-init,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions,
-cppcoreguidelines-slicing,
misc-*,
modernize-*,
-modernize-use-equals-delete,
performance-*,
portability-*,
readability-*,
-readability-braces-around-statements,
-readability-else-after-return'
#HeaderFilterRegex: './src/*'
AnalyzeTemporaryDtors: false
FormatStyle: none
CheckOptions:
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: google-readability-function-size.StatementThreshold
value: '800'
- key: google-readability-namespace-comments.ShortNamespaceLines
value: '10'
- key: google-readability-namespace-comments.SpacesBeforeComments
value: '2'
- key: modernize-loop-convert.MaxCopySize
value: '16'
- key: modernize-loop-convert.MinConfidence
value: reasonable
- key: modernize-loop-convert.NamingStyle
value: CamelCase
- key: modernize-pass-by-value.IncludeStyle
value: llvm
- key: modernize-replace-auto-ptr.IncludeStyle
value: llvm
- key: modernize-use-nullptr.NullMacros
value: 'NULL'
- key: readability-implicit-bool-conversion.AllowPointerConditions # Do not complain for "if (x)" when x is a pointer
value: 1
- key: performance-move-const-arg.CheckTriviallyCopyableMove # Do not complain on "std::move(x)" if x is trivially copyable
value: 0
...

10 changes: 10 additions & 0 deletions .conan_test_package/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.9)

project(UtilsTestPackage)

find_package(ScineUtilsOS REQUIRED)

add_executable(TestPackageTest ${CMAKE_CURRENT_SOURCE_DIR}/test.cpp)
target_link_libraries(TestPackageTest PRIVATE Scine::UtilsOS)
enable_testing()
add_test(NAME LinkingTest COMMAND TestPackageTest)
34 changes: 34 additions & 0 deletions .conan_test_package/conanfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
__copyright__ = """This file is part of SCINE Utilities.
This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.
See LICENSE.txt for details.
"""

import os
from conans import ConanFile, CMake


def conan_paths_str(build_folder):
return os.path.join(build_folder, "conan_paths.cmake")


class TestPackageConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "cmake_paths"
build_requires = [("cmake/[>3.13.4]@scine/stable")]
exports_sources = "CMakeLists.txt", "test.cpp"

def _configure(self):
cmake = CMake(self)
cmake.definitions["CMAKE_PROJECT_UtilsTestPackage_INCLUDE"] = conan_paths_str(
self.build_folder)
cmake.configure()
return cmake

def build(self):
cmake = self._configure()
cmake.build()

def test(self):
cmake = self._configure()
cmake.test()
11 changes: 11 additions & 0 deletions .conan_test_package/test.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#include "Utils/Geometry/ElementInfo.h"

using namespace Scine::Utils;

int main() {
if(ElementInfo::element(1) == ElementType::H) {
return 0;
}

return 1;
}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@
build/*
cmake-build-*
compile_commands.json
install/*

# hidden files
*.swp
.idea/*
.lvimrc
.vscode
.conan_test_package/build

# python files
*__pycache__*
Expand All @@ -16,4 +18,8 @@ compile_commands.json
resource/Documentation/*

# generated source files
externalQC_output_location.h
orca_output_location.h

# conan ci files
conan/*
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "cmake"]
path = cmake
url = https://github.com/qcscine/cmake.git
[submodule "dev"]
path = dev
url = https://github.com/qcscine/development-utils.git
27 changes: 0 additions & 27 deletions CHANGELOG.md

This file was deleted.

47 changes: 47 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
=========
Changelog
=========

Release 3.0.0
=============

- Enable ``conan`` builds and PyPI releases
- Add Newton-Trajectory type optimizer
- Add statistics and machine learning tools (PCA, k-fold cross-validation, kernel ridge regression)
- Add chemical representations for machine-learned force fields
- Charge Model 5 corrections for Hirshfeld atomic partial charges
- Add various conceptual DFT quantities
- Enable access to the density matrix and GTOs in Python
- Improve Dimer transition state search algorithm
- Add implicit solvation option to ORCA and Gaussian interfaces
- Add python bindings sphinx documentation
- Separate ``Settings`` from its base ``ValueCollection`` in python bindings

Release 2.0.0
=============

- Add support for internal coordinates
- Add interface to Gaussian
- Improve ORCA interface (and make compatible with ORCA 4.2.0)
- Add BFGS optimizer and G-DIIS convergence accelerator
- Improve Bofill transition state search algorithm
- Various bugfixes and improvements

Release 1.0.1
=============

Hotfix to allow compilation on OSX using Clang.

Release 1.0.0
=============

Initial release with all necessary functionality to support Sparrow and ReaDuct.
Among other things, this includes:

- Analytic evaluation of gradients
- Calculation of bond orders
- Interface to the ORCA quantum chemistry program
- Numerical Hessian calculator
- Optimizers to find minima and transition states on the PES
- Python bindings
- SCF algorithm (including convergence accelerators such as DIIS)
16 changes: 14 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ cmake_minimum_required(VERSION 3.9)
# tree must then provide a properly namespaced target with the same name as
# your project.
project(UtilsOS
VERSION 2.0.0
VERSION 3.0.0
DESCRIPTION "Utilities to be used (statically linked) in all other SCINE modules."
)

# Set the module path for universal cmake files inclusion
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/dev/cmake)

# Component setup
include(ComponentSetup)
Expand All @@ -20,5 +20,17 @@ if(SCINE_BUILD_TESTS)
enable_testing()
endif()

# Set rpaths of shared libraries if generated
if(APPLE)
set(CMAKE_BUILD_RPATH "@loader_path")
set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@loader_path")
elseif(UNIX)
set(CMAKE_BUILD_RPATH "\$ORIGIN")
set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib;\$ORIGIN")
endif()

# Subdirectories
add_subdirectory(src)

# Documentation
scine_component_documentation(CoreDocumentation)
Loading

0 comments on commit 1e24050

Please sign in to comment.