Skip to content

Commit

Permalink
Release 9.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
reiher-research-group committed Nov 20, 2023
1 parent a498b9b commit 8c6c5bf
Show file tree
Hide file tree
Showing 707 changed files with 50,435 additions and 1,179 deletions.
2 changes: 1 addition & 1 deletion .conan_test_package/conanfile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__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.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

Expand Down
22 changes: 21 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,32 @@ It is intended that only the first two groups (``New Features and Feature Update
``Important Technical Changes``) are important for the average user, while
the last one is mainly aimed at developers and users that link deeply into the code.

Release 8.0.0
Release 9.0.0
-------------

New Features and Feature Updates
................................
- Enable calculation of 57-Fe Mössbauer parameters with Orca.
- Enable DLPNO-CCSD(T)-F12 calculations with Orca.
- Added a MRCC calculator (requires MRCC executables at the `MRCC_BINARY_PATH` path
environment variable).
- Supported methods: DFT, HF, MP2 [LNO-MP2], CC [LNO-CCSD, LNO-CCSD(T)]
- Added transition state optimizer for QM/MM
- Molecular trajectories in the PDB file format can now be read.

Important Technical Changes
...........................
- Improve support for compilation on Windows (MSVC)

Other
.....
- Update address in license

Release 8.0.0
-------------

New Features and Feature Updates
................................
- Turbomole calculator can now calculate Hessians numerically.
- The DFT grid for the Turbomole calculator can now be varied.
- The cavity construction for implicit solvation with the Turbomole calculator can now be modified by setting the points and segments per atom.
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.9)
# tree must then provide a properly namespaced target with the same name as
# your project.
project(UtilsOS
VERSION 8.0.0
VERSION 9.0.0
DESCRIPTION "Utilities to be used (statically linked) in all other SCINE modules."
)

Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ Further Contributors
(https://github.com/qcscine/utilities/pull/1)
- Sebastian Ehlert (`@awvwgk <https://github.com/awvwgk>`_), University of Bonn
(https://github.com/qcscine/utilities/issues/4)
- Juuso Lehtivarjo, NMR Solutions Ltd.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ commands::
git submodule update
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../inst ..
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../inst -DSCINE_BUILD_PYTHON_BINDINGS=ON ..
make -j 4
make UtilsOSDocumentation
make test
Expand Down
4 changes: 2 additions & 2 deletions conanfile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__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.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

Expand All @@ -12,7 +12,7 @@

class ScineUtilsConan(ScineConan):
name = "scine_utilities"
version = "8.0.0"
version = "9.0.0"
url = "https://github.com/qcscine/utilities"
description = """
Functionality which is used in most SCINE modules. It is vital for the correct
Expand Down
16 changes: 16 additions & 0 deletions src/Utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ set_target_properties(UtilsOS PROPERTIES
WINDOWS_EXPORT_ALL_SYMBOLS ON
)

if(MSVC)
target_compile_options(UtilsOS PRIVATE /bigobj /MP /openmp-)
endif()

target_link_libraries(UtilsOS
PUBLIC
Boost::boost
Expand All @@ -58,6 +62,10 @@ target_link_libraries(UtilsOS
symspg_objects
)

if(MSVC)
target_compile_definitions(UtilsOS PUBLIC BOOST_ALL_NO_LIB)
endif()

target_include_directories(UtilsOS
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
Expand All @@ -77,6 +85,10 @@ set_target_properties(UtilsOSModule PROPERTIES
PREFIX ""
)

if(MSVC)
target_compile_options(UtilsOSModule PRIVATE /bigobj /MP /openmp-)
endif()

# -- Define Install
# Headers
install(
Expand Down Expand Up @@ -125,6 +137,10 @@ if(SCINE_BUILD_TESTS)
COPY ${CMAKE_CURRENT_SOURCE_DIR}/Tests/Resources
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
)

if(MSVC)
target_compile_options(UtilsOS_tests PRIVATE /bigobj /MP /openmp-)
endif()
endif()

# Python bindings
Expand Down
2 changes: 1 addition & 1 deletion src/Utils/Module/Cp2kModule.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

Expand Down
4 changes: 2 additions & 2 deletions src/Utils/Module/Cp2kModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/
#ifndef SCINE_CP2K_MODULE_H
Expand Down Expand Up @@ -41,4 +41,4 @@ std::vector<std::shared_ptr<Core::Module>> moduleFactory();
} // namespace Utils
} // namespace Scine

#endif // SCINE_CP2K_MODULE_H
#endif // SCINE_CP2K_MODULE_H
2 changes: 1 addition & 1 deletion src/Utils/Module/GaussianModule.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

Expand Down
2 changes: 1 addition & 1 deletion src/Utils/Module/GaussianModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/
#ifndef SCINE_GAUSSIAN_MODULE_H
Expand Down
2 changes: 1 addition & 1 deletion src/Utils/Module/LennardJonesModule.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

Expand Down
2 changes: 1 addition & 1 deletion src/Utils/Module/LennardJonesModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/
#ifndef SCINE_LENNARDJONES_MODULE_H
Expand Down
7 changes: 4 additions & 3 deletions src/Utils/Module/ModuleFactory.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

#include "Cp2kModule.h"
#include "GaussianModule.h"
#include "LennardJonesModule.h"
#include "MrccModule.h"
#include "OrcaModule.h"
#include "TestModule.h"
#include "TurbomoleModule.h"
Expand All @@ -16,8 +17,8 @@ namespace Scine {
namespace Utils {

std::vector<std::shared_ptr<Scine::Core::Module>> moduleFactory() {
return {Cp2kModule::make(), OrcaModule::make(), GaussianModule::make(),
TurbomoleModule::make(), TestModule::make(), LennardJonesModule::make()};
return {Cp2kModule::make(), OrcaModule::make(), GaussianModule::make(), TurbomoleModule::make(),
TestModule::make(), LennardJonesModule::make(), MrccModule::make()};
}

} // namespace Utils
Expand Down
65 changes: 65 additions & 0 deletions src/Utils/Module/MrccModule.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/**
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/
#include "MrccModule.h"
#include <Core/DerivedModule.h>
#include <Utils/ExternalQC/MRCC/MrccCCCalculator.h>
#include <Utils/ExternalQC/MRCC/MrccDFTCalculator.h>
#include <Utils/ExternalQC/MRCC/MrccHFCalculator.h>
#include <Utils/ExternalQC/MRCC/MrccMP2Calculator.h>

namespace Scine {
namespace Utils {

using MrccInterfaceModelMap =
boost::mpl::map<boost::mpl::pair<Scine::Core::Calculator, boost::mpl::vector<ExternalQC::MrccHFCalculator, ExternalQC::MrccDFTCalculator,
ExternalQC::MrccMP2Calculator, ExternalQC::MrccCCCalculator>>>;

std::string MrccModule::name() const noexcept {
return "MRCC";
}

bool MrccModule::mrccFound() {
return std::getenv(ExternalQC::MrccCalculator::binaryEnvVariable) != nullptr;
}

boost::any MrccModule::get(const std::string& interface, const std::string& model) const {
boost::any resolved = Scine::Core::DerivedModule::resolve<MrccInterfaceModelMap>(interface, model);
// Throw an exception if we could not match an interface or model
if (resolved.empty()) {
throw Scine::Core::ClassNotImplementedError();
}
return resolved;
}

bool MrccModule::has(const std::string& interface, const std::string& model) const noexcept {
return Scine::Core::DerivedModule::has<MrccInterfaceModelMap>(interface, model) && mrccFound();
}

std::vector<std::string> MrccModule::announceInterfaces() const noexcept {
return Scine::Core::DerivedModule::announceInterfaces<MrccInterfaceModelMap>();
}

std::vector<std::string> MrccModule::announceModels(const std::string& interface) const noexcept {
auto models = Scine::Core::DerivedModule::announceModels<MrccInterfaceModelMap>(interface);

if (interface == Scine::Core::Calculator::interface && !mrccFound()) {
auto mrccModels = {ExternalQC::MrccHFCalculator::model, ExternalQC::MrccDFTCalculator::model,
ExternalQC::MrccMP2Calculator::model, ExternalQC::MrccCCCalculator::model};
for (const auto& mrccModel : mrccModels) {
models.erase(std::remove(std::begin(models), std::end(models), mrccModel), std::end(models));
}
}
return models;
}

std::shared_ptr<Scine::Core::Module> MrccModule::make() {
return std::make_shared<MrccModule>();
}

} // namespace Utils
} // namespace Scine
43 changes: 43 additions & 0 deletions src/Utils/Module/MrccModule.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/**
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

#ifndef UTILS_MRCCMODULE_H
#define UTILS_MRCCMODULE_H

#include "Core/Module.h"

namespace Scine {
namespace Utils {
/**
* @class
* @brief MRCC module provided by OSUtils.
*/
class MrccModule : public Core::Module {
public:
std::string name() const noexcept final;

boost::any get(const std::string& interface, const std::string& model) const final;

bool has(const std::string& interface, const std::string& model) const noexcept final;

std::vector<std::string> announceInterfaces() const noexcept final;

std::vector<std::string> announceModels(const std::string& interface) const noexcept final;

static std::shared_ptr<Core::Module> make();

static bool mrccFound();
};

// Shared library entry point creating pointers to all contained modules
std::vector<std::shared_ptr<Core::Module>> moduleFactory();

} // namespace Utils
} // namespace Scine

#endif // UTILS_MRCCMODULE_H
2 changes: 1 addition & 1 deletion src/Utils/Module/OrcaModule.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

Expand Down
4 changes: 2 additions & 2 deletions src/Utils/Module/OrcaModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/
#ifndef SCINE_ORCA_MODULE_H
Expand Down Expand Up @@ -41,4 +41,4 @@ std::vector<std::shared_ptr<Core::Module>> moduleFactory();
} // namespace Utils
} // namespace Scine

#endif // SCINE_ORCA_MODULE_H
#endif // SCINE_ORCA_MODULE_H
2 changes: 1 addition & 1 deletion src/Utils/Module/TestModule.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

Expand Down
2 changes: 1 addition & 1 deletion src/Utils/Module/TestModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @file
* @brief Default module that is always loaded by Core
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/
#ifndef SCINE_TEST_MODULE_H
Expand Down
2 changes: 1 addition & 1 deletion src/Utils/Module/TurbomoleModule.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @file
* @copyright This code is licensed under the 3-clause BSD license.\n
* Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.\n
* Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.\n
* See LICENSE.txt for details.
*/

Expand Down
Loading

0 comments on commit 8c6c5bf

Please sign in to comment.