From cc40ba496431327b285891feacbad022bf92d686 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Fri, 7 Nov 2025 17:26:07 +0200 Subject: [PATCH 01/20] testing commit --- test commit | 1 + 1 file changed, 1 insertion(+) create mode 100644 test commit diff --git a/test commit b/test commit new file mode 100644 index 000000000..d60e9a190 --- /dev/null +++ b/test commit @@ -0,0 +1 @@ +test commit \ No newline at end of file From fd813f1badf841cc8133baa7c121dbc81f303a5e Mon Sep 17 00:00:00 2001 From: kostas Date: Fri, 7 Nov 2025 17:30:00 +0200 Subject: [PATCH 02/20] Test commit --- temp.cpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 temp.cpp diff --git a/temp.cpp b/temp.cpp new file mode 100644 index 000000000..e69de29bb From f74b4c35aabd90bdeb5938dc653240156acd5b14 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Fri, 7 Nov 2025 17:37:27 +0200 Subject: [PATCH 03/20] test --- test commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test commit b/test commit index d60e9a190..f7b2b70a8 100644 --- a/test commit +++ b/test commit @@ -1 +1 @@ -test commit \ No newline at end of file +test commit 23r \ No newline at end of file From 1710beeee514b44be0eb6041eeabbe8c8b05dded Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Fri, 7 Nov 2025 17:48:05 +0200 Subject: [PATCH 04/20] test on branch --- test commit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test commit b/test commit index f7b2b70a8..9059ffcb5 100644 --- a/test commit +++ b/test commit @@ -1 +1 @@ -test commit 23r \ No newline at end of file +test commit on branch \ No newline at end of file From 05d1afbc3eec936836ef924f9591f36c065a80ff Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Sat, 22 Nov 2025 12:41:23 +0200 Subject: [PATCH 05/20] added ccache and lld checks --- CMakeLists.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a74a671e8..b828ea97e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,25 @@ if(SKBUILD) set(WITH_PYTHON_BINDINGS ON) endif() +#Use ccache to speed up rebuilds +find_program(CCACHE_PROGRAM ccache) +if(CCACHE_PROGRAM) + message(STATUS "Found ccache in ${CCACHE_PROGRAM}") + set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") +else() + message(WARNING "ccache not found, compiling without it") +endif() + +#Use lld as faster alternative to ld +find_program(LLD_PROGRAM lld) +if(LLD_PROGRAM) + message(STATUS "Using lld linker at ${LLD_PROGRAM}") + set(CMAKE_LINKER "${LLD_PROGRAM}") +else() + message(WARNING "lld linker not found, using default linker") +endif() + if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) include(CTest) From 357a0a47b8bebf43498a2f22ce065a84b25136c0 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Sat, 22 Nov 2025 13:29:18 +0200 Subject: [PATCH 06/20] moved PES::solve_linear_system to .cpp to compile once --- include/occ/elastic_fit/pes.h | 23 +++-------------------- src/elastic_fit/pes.cpp | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/include/occ/elastic_fit/pes.h b/include/occ/elastic_fit/pes.h index e54a1210a..0e981f89f 100644 --- a/include/occ/elastic_fit/pes.h +++ b/include/occ/elastic_fit/pes.h @@ -100,26 +100,9 @@ class PES { } } - static inline occ::Mat solve_linear_system(const occ::Mat &A, - const occ::Mat &B, - LinearSolverType solver_type, - double svd_threshold = 1e-12) { - switch (solver_type) { - case LinearSolverType::LU: - return A.lu().solve(B); - case LinearSolverType::SVD: { - Eigen::JacobiSVD svd(A, - Eigen::ComputeThinU | Eigen::ComputeThinV); - return svd.solve(B); - } - case LinearSolverType::QR: - return A.householderQr().solve(B); - case LinearSolverType::LDLT: - return A.ldlt().solve(B); - default: - throw std::runtime_error("Unknown linear solver type"); - } - } + static occ::Mat solve_linear_system(const occ::Mat &A, const occ::Mat &B, + LinearSolverType solver_type, + double svd_threshold = 1e-12); }; } // namespace occ::elastic_fit diff --git a/src/elastic_fit/pes.cpp b/src/elastic_fit/pes.cpp index 3eead44b8..3bb72b9cc 100644 --- a/src/elastic_fit/pes.cpp +++ b/src/elastic_fit/pes.cpp @@ -74,6 +74,26 @@ inline void print_vector(const occ::Vec &vec, int per_line) { } } +occ::Mat PES::solve_linear_system(const occ::Mat &A, const occ::Mat &B, + LinearSolverType solver_type, + double svd_threshold) { + switch (solver_type) { + case LinearSolverType::LU: + return A.lu().solve(B); + case LinearSolverType::SVD: { + Eigen::JacobiSVD svd(A, Eigen::ComputeThinU | Eigen::ComputeThinV); + svd.setThreshold(svd_threshold); + return svd.solve(B); + } + case LinearSolverType::QR: + return A.householderQr().solve(B); + case LinearSolverType::LDLT: + return A.ldlt().solve(B); + default: + throw std::runtime_error("Unknown linear solver type"); + } +} + occ::Mat6 PES::compute_elastic_tensor(double volume, LinearSolverType solver_type, double svd_threshold, From 7c6e569596cc09452f8286a8affb84766976995d Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Sat, 22 Nov 2025 20:39:24 +0200 Subject: [PATCH 07/20] Removed unnecessary includes --- src/elastic_fit/pes.cpp | 2 +- src/qm/integral_engine_2c.cpp | 9 ++++----- src/qm/integral_engine_4c.cpp | 6 +----- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/elastic_fit/pes.cpp b/src/elastic_fit/pes.cpp index 3bb72b9cc..69ed455d4 100644 --- a/src/elastic_fit/pes.cpp +++ b/src/elastic_fit/pes.cpp @@ -82,7 +82,7 @@ occ::Mat PES::solve_linear_system(const occ::Mat &A, const occ::Mat &B, return A.lu().solve(B); case LinearSolverType::SVD: { Eigen::JacobiSVD svd(A, Eigen::ComputeThinU | Eigen::ComputeThinV); - svd.setThreshold(svd_threshold); + svd.setThreshold(svd_threshold); // Added to control svd_threshold return svd.solve(B); } case LinearSolverType::QR: diff --git a/src/qm/integral_engine_2c.cpp b/src/qm/integral_engine_2c.cpp index 5421b3c6f..2b7c7656d 100644 --- a/src/qm/integral_engine_2c.cpp +++ b/src/qm/integral_engine_2c.cpp @@ -2,11 +2,10 @@ #include "detail/multipole_kernel.h" #include "detail/schwarz_kernel.h" #include "detail/two_center_kernels.h" -#include -#include -#include -#include -#include + +#if HAVE_ECPINT + #include +#endif namespace occ::qm { diff --git a/src/qm/integral_engine_4c.cpp b/src/qm/integral_engine_4c.cpp index 3b41a81b3..5cfcb3cef 100644 --- a/src/qm/integral_engine_4c.cpp +++ b/src/qm/integral_engine_4c.cpp @@ -1,9 +1,5 @@ #include "detail/four_center_kernels.h" -#include -#include -#include -#include -#include + namespace occ::qm { From 48b85253e7eea60ae30ca713bf5bf67df93dddfa Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Tue, 9 Dec 2025 19:15:41 +0200 Subject: [PATCH 08/20] Removed unnecessary libraries from integral_engine_df --- .gitignore | 1 + CMakeLists.txt | 3 +++ include/occ/qm/integral_engine.h | 4 +--- include/occ/qm/shell.h | 2 +- src/qm/detail/kernel_traits.h | 2 +- src/qm/integral_engine_df.cpp | 5 ----- 6 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 2518ad7da..8251ec739 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ occjs.js occjs.wasm wasm/ examples/* +CMakeFiles/ # Node.js node_modules/ diff --git a/CMakeLists.txt b/CMakeLists.txt index b828ea97e..220d54a19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,9 @@ else() endif() +#Debug flags +set(CMAKE_CXX_FLAGS_DEBUG "-g -ftime-trace") + if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) include(CTest) option(BUILD_FPIC "Build with position independent code" OFF) diff --git a/include/occ/qm/integral_engine.h b/include/occ/qm/integral_engine.h index 43e472600..9d27d1699 100644 --- a/include/occ/qm/integral_engine.h +++ b/include/occ/qm/integral_engine.h @@ -1,6 +1,4 @@ #pragma once -#include -#include #include #include #include @@ -12,7 +10,7 @@ #include #include #include -#include + #if HAVE_ECPINT #include diff --git a/include/occ/qm/shell.h b/include/occ/qm/shell.h index 51495bf6b..d67f5ecba 100644 --- a/include/occ/qm/shell.h +++ b/include/occ/qm/shell.h @@ -5,7 +5,7 @@ #include #include #include -#include + namespace occ::qm { diff --git a/src/qm/detail/kernel_traits.h b/src/qm/detail/kernel_traits.h index 944399e5c..4ba300783 100644 --- a/src/qm/detail/kernel_traits.h +++ b/src/qm/detail/kernel_traits.h @@ -2,7 +2,7 @@ #include #include #include -#include + namespace occ::qm::detail { diff --git a/src/qm/integral_engine_df.cpp b/src/qm/integral_engine_df.cpp index fea64301b..72d30d4f5 100644 --- a/src/qm/integral_engine_df.cpp +++ b/src/qm/integral_engine_df.cpp @@ -1,9 +1,4 @@ #include "detail/df_kernels.h" -#include -#include -#include -#include -#include namespace occ::qm { From fed5cc0db434d8fe9063c8debaaa7c052cfffe55 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Tue, 9 Dec 2025 19:46:19 +0200 Subject: [PATCH 09/20] small changes to cint_interface.h --- include/occ/qm/cint_interface.h | 33 ++++---------------------------- include/occ/qm/integral_engine.h | 2 -- src/qm/cint_interface.cpp | 33 ++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 31 deletions(-) diff --git a/include/occ/qm/cint_interface.h b/include/occ/qm/cint_interface.h index f74d957f1..2f9b41fbd 100644 --- a/include/occ/qm/cint_interface.h +++ b/include/occ/qm/cint_interface.h @@ -146,17 +146,9 @@ class IntegralEnvironment { } } - void set_common_origin(const std::array &origin) { - m_env_data[libcint::common_origin_offset] = origin[0]; - m_env_data[libcint::common_origin_offset + 1] = origin[1]; - m_env_data[libcint::common_origin_offset + 2] = origin[2]; - } + void set_common_origin(const std::array &origin); - void set_rinv_origin(const std::array &origin) { - m_env_data[libcint::rinv_origin_offset] = origin[0]; - m_env_data[libcint::rinv_origin_offset + 1] = origin[1]; - m_env_data[libcint::rinv_origin_offset + 2] = origin[2]; - } + void set_rinv_origin(const std::array &origin); void set_rinv_zeta(double zeta) { m_env_data[libcint::rinv_zeta_offset] = zeta; @@ -556,25 +548,8 @@ class IntegralEnvironment { m_env_data[libcint::range_omega_offset] = omega; } - inline void print() const { - fmt::print("Atom Info {}\n", m_atom_info.size()); - for (const auto &atom : m_atom_info) { - fmt::print("{} {} {} {} {} {}\n", atom.data[0], atom.data[1], - atom.data[2], atom.data[3], atom.data[4], atom.data[5]); - } - fmt::print("Basis Info {}\n", m_basis_info.size()); - for (const auto &sh : m_basis_info) { - fmt::print("{} {} {} {} {} {}\n", sh.data[0], sh.data[1], sh.data[2], - sh.data[3], sh.data[4], sh.data[5], sh.data[6], sh.data[7]); - } - fmt::print("Env Data {}\n", m_env_data.size()); - for (size_t i = 0; i < m_env_data.size(); i++) { - fmt::print("{:12.6f} ", m_env_data[i]); - if (i > 0 && (i % 6 == 0)) - fmt::print("\n"); - } - fmt::print("\n"); - } + void print() const ; + inline size_t buffer_size_1e(const Operator op = Operator::overlap, int grad = 0) const { diff --git a/include/occ/qm/integral_engine.h b/include/occ/qm/integral_engine.h index 9d27d1699..146cb2199 100644 --- a/include/occ/qm/integral_engine.h +++ b/include/occ/qm/integral_engine.h @@ -1,12 +1,10 @@ #pragma once #include -#include #include #include #include #include #include -#include #include #include #include diff --git a/src/qm/cint_interface.cpp b/src/qm/cint_interface.cpp index 5dd5df1df..20434381a 100644 --- a/src/qm/cint_interface.cpp +++ b/src/qm/cint_interface.cpp @@ -165,4 +165,37 @@ void Optimizer::create4c_grad(IntegralEnvironment &env) { "Invalid operator for 4-center integral optimizer"); } } + +void IntegralEnvironment::set_common_origin(const std::array &origin) { + m_env_data[libcint::common_origin_offset] = origin[0]; + m_env_data[libcint::common_origin_offset + 1] = origin[1]; + m_env_data[libcint::common_origin_offset + 2] = origin[2]; +} + +void IntegralEnvironment::set_rinv_origin(const std::array &origin) { + m_env_data[libcint::rinv_origin_offset] = origin[0]; + m_env_data[libcint::rinv_origin_offset + 1] = origin[1]; + m_env_data[libcint::rinv_origin_offset + 2] = origin[2]; +} + +void IntegralEnvironment::print() const { + fmt::print("Atom Info {}\n", m_atom_info.size()); + for (const auto &atom : m_atom_info) { + fmt::print("{} {} {} {} {} {}\n", atom.data[0], atom.data[1], + atom.data[2], atom.data[3], atom.data[4], atom.data[5]); + } + fmt::print("Basis Info {}\n", m_basis_info.size()); + for (const auto &sh : m_basis_info) { + fmt::print("{} {} {} {} {} {}\n", sh.data[0], sh.data[1], sh.data[2], + sh.data[3], sh.data[4], sh.data[5], sh.data[6], sh.data[7]); + } + fmt::print("Env Data {}\n", m_env_data.size()); + for (size_t i = 0; i < m_env_data.size(); i++) { + fmt::print("{:12.6f} ", m_env_data[i]); + if (i > 0 && (i % 6 == 0)) + fmt::print("\n"); + } + fmt::print("\n"); +} + } // namespace occ::qm::cint From 0bfdecb5cb55c2944163b2f7c4a8d694e6fa23e3 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Tue, 9 Dec 2025 20:19:02 +0200 Subject: [PATCH 10/20] Removed unnecessary includes from smd_salvation.cpp,occ_cube.cpp,mo.cpp --- src/cg/smd_solvation.cpp | 3 --- src/main/occ_cube.cpp | 8 -------- src/qm/mo.cpp | 3 --- 3 files changed, 14 deletions(-) diff --git a/src/cg/smd_solvation.cpp b/src/cg/smd_solvation.cpp index c6cf8edbc..695a41518 100644 --- a/src/cg/smd_solvation.cpp +++ b/src/cg/smd_solvation.cpp @@ -1,10 +1,7 @@ #include #include #include -#include #include -#include -#include #include namespace occ::cg { diff --git a/src/main/occ_cube.cpp b/src/main/occ_cube.cpp index c32c59c25..fce12c035 100644 --- a/src/main/occ_cube.cpp +++ b/src/main/occ_cube.cpp @@ -1,22 +1,14 @@ #include #include #include -#include -#include -#include #include #include -#include #include -#include #include #include -#include #include -#include #include #include -#include namespace fs = std::filesystem; using occ::IVec; diff --git a/src/qm/mo.cpp b/src/qm/mo.cpp index 8416dca27..b64e38ca4 100644 --- a/src/qm/mo.cpp +++ b/src/qm/mo.cpp @@ -1,7 +1,4 @@ -#include #include -#include -#include #include #include #include From a6bfd19323fd74a9dc8acf71e413a72bf927b370 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Wed, 10 Dec 2025 11:30:20 +0200 Subject: [PATCH 11/20] Removed unnecessary libraries --- include/occ/elastic_fit/potentials.h | 2 +- include/occ/io/cifparser.h | 3 --- include/occ/io/fchkwriter.h | 3 --- include/occ/io/moldenreader.h | 1 - src/elastic_fit/pes.cpp | 1 - src/isosurface/isosurface.cpp | 1 - tests/io_tests.cpp | 5 ----- 7 files changed, 1 insertion(+), 15 deletions(-) diff --git a/include/occ/elastic_fit/potentials.h b/include/occ/elastic_fit/potentials.h index 47e16448f..ed4f39e03 100644 --- a/include/occ/elastic_fit/potentials.h +++ b/include/occ/elastic_fit/potentials.h @@ -5,7 +5,7 @@ #include #include #include -#include + namespace occ::elastic_fit { diff --git a/include/occ/io/cifparser.h b/include/occ/io/cifparser.h index e3b5495ef..faecaaaee 100644 --- a/include/occ/io/cifparser.h +++ b/include/occ/io/cifparser.h @@ -1,11 +1,8 @@ #pragma once #include #include -#include -#include #include #include -#include #include namespace occ::io { diff --git a/include/occ/io/fchkwriter.h b/include/occ/io/fchkwriter.h index 51cff9b9b..f10ae6a97 100644 --- a/include/occ/io/fchkwriter.h +++ b/include/occ/io/fchkwriter.h @@ -1,13 +1,10 @@ #pragma once #include -#include #include -#include #include #include #include #include -#include namespace occ::io { diff --git a/include/occ/io/moldenreader.h b/include/occ/io/moldenreader.h index eed0bcf3c..45a4ee77b 100644 --- a/include/occ/io/moldenreader.h +++ b/include/occ/io/moldenreader.h @@ -5,7 +5,6 @@ #include #include #include -#include namespace occ::io { diff --git a/src/elastic_fit/pes.cpp b/src/elastic_fit/pes.cpp index 69ed455d4..498a7836b 100644 --- a/src/elastic_fit/pes.cpp +++ b/src/elastic_fit/pes.cpp @@ -1,5 +1,4 @@ #include -#include #include #include diff --git a/src/isosurface/isosurface.cpp b/src/isosurface/isosurface.cpp index 1e7f34893..2cfc88024 100644 --- a/src/isosurface/isosurface.cpp +++ b/src/isosurface/isosurface.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include #include diff --git a/tests/io_tests.cpp b/tests/io_tests.cpp index df3f27fe1..85d40b116 100644 --- a/tests/io_tests.cpp +++ b/tests/io_tests.cpp @@ -1,10 +1,6 @@ #include #include #include -#include -#include -#include -#include #include #include #include @@ -19,7 +15,6 @@ #include #include #include -#include using occ::format_matrix; using occ::util::all_close; From 6b9fb28714cae24fd15d936315e13cd4b177f15e Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Wed, 10 Dec 2025 17:43:41 +0200 Subject: [PATCH 12/20] Removed unnecessary libraries mostly linear_algebra double includes --- include/occ/cg/neighbor_atoms.h | 1 - include/occ/cg/solvation_types.h | 4 +--- include/occ/core/molecular_axis.h | 1 - include/occ/core/molecule.h | 1 - include/occ/core/point_charge.h | 1 - include/occ/core/util.h | 1 - include/occ/core/vibration.h | 1 - include/occ/crystal/crystal.h | 1 - include/occ/driver/dma_driver.h | 1 - include/occ/elastic_fit/potentials.h | 2 -- include/occ/io/occ_input.h | 1 - include/occ/slater/slaterbasis.h | 1 - include/occ/solvent/smd.h | 1 - src/crystal/crystal.cpp | 1 - src/elastic_fit/elastic_fitting.cpp | 1 - src/main/xdm.cpp | 3 --- tests/qm_hessian_tests.cpp | 1 - tests/slater_tests.cpp | 1 - tests/wavefunction_io_tests.cpp | 1 - tests/xtb_tests.cpp | 1 - 20 files changed, 1 insertion(+), 25 deletions(-) diff --git a/include/occ/cg/neighbor_atoms.h b/include/occ/cg/neighbor_atoms.h index 02d1204bd..cc53d5e73 100644 --- a/include/occ/cg/neighbor_atoms.h +++ b/include/occ/cg/neighbor_atoms.h @@ -1,5 +1,4 @@ #pragma once -#include #include namespace occ::cg { diff --git a/include/occ/cg/solvation_types.h b/include/occ/cg/solvation_types.h index 46f807c04..4c146c984 100644 --- a/include/occ/cg/solvation_types.h +++ b/include/occ/cg/solvation_types.h @@ -2,9 +2,7 @@ #include #include #include -#include -#include -#include + namespace occ::cg { diff --git a/include/occ/core/molecular_axis.h b/include/occ/core/molecular_axis.h index 97c89a4a3..6838ce6c2 100644 --- a/include/occ/core/molecular_axis.h +++ b/include/occ/core/molecular_axis.h @@ -1,5 +1,4 @@ #pragma once -#include #include #include #include diff --git a/include/occ/core/molecule.h b/include/occ/core/molecule.h index 851fbddad..8bd29b276 100644 --- a/include/occ/core/molecule.h +++ b/include/occ/core/molecule.h @@ -2,7 +2,6 @@ #include #include #include -#include #include namespace occ::core { diff --git a/include/occ/core/point_charge.h b/include/occ/core/point_charge.h index fb87ac329..c44ef487e 100644 --- a/include/occ/core/point_charge.h +++ b/include/occ/core/point_charge.h @@ -1,7 +1,6 @@ #pragma once #include #include -#include namespace occ::core { diff --git a/include/occ/core/util.h b/include/occ/core/util.h index 02f32261c..56256feca 100644 --- a/include/occ/core/util.h +++ b/include/occ/core/util.h @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include diff --git a/include/occ/core/vibration.h b/include/occ/core/vibration.h index e7aed2acd..f8bc909ab 100644 --- a/include/occ/core/vibration.h +++ b/include/occ/core/vibration.h @@ -1,5 +1,4 @@ #pragma once -#include #include #include #include diff --git a/include/occ/crystal/crystal.h b/include/occ/crystal/crystal.h index e132df842..88b99697d 100644 --- a/include/occ/crystal/crystal.h +++ b/include/occ/crystal/crystal.h @@ -1,7 +1,6 @@ #pragma once #include #include -#include #include #include #include diff --git a/include/occ/driver/dma_driver.h b/include/occ/driver/dma_driver.h index 3dcfd9403..024d401f5 100644 --- a/include/occ/driver/dma_driver.h +++ b/include/occ/driver/dma_driver.h @@ -1,5 +1,4 @@ #pragma once -#include #include #include #include diff --git a/include/occ/elastic_fit/potentials.h b/include/occ/elastic_fit/potentials.h index ed4f39e03..666129f24 100644 --- a/include/occ/elastic_fit/potentials.h +++ b/include/occ/elastic_fit/potentials.h @@ -1,10 +1,8 @@ #pragma once #include -#include #include #include #include -#include namespace occ::elastic_fit { diff --git a/include/occ/io/occ_input.h b/include/occ/io/occ_input.h index 067af7663..18c1737f3 100644 --- a/include/occ/io/occ_input.h +++ b/include/occ/io/occ_input.h @@ -7,7 +7,6 @@ #include #include #include -#include namespace occ::io { using occ::core::Element; diff --git a/include/occ/slater/slaterbasis.h b/include/occ/slater/slaterbasis.h index 0de433b80..56c937180 100644 --- a/include/occ/slater/slaterbasis.h +++ b/include/occ/slater/slaterbasis.h @@ -1,7 +1,6 @@ #pragma once #include #include -#include #include #include diff --git a/include/occ/solvent/smd.h b/include/occ/solvent/smd.h index 4a923a3ae..6bcd6b5ef 100644 --- a/include/occ/solvent/smd.h +++ b/include/occ/solvent/smd.h @@ -1,6 +1,5 @@ #pragma once #include -#include #include #include diff --git a/src/crystal/crystal.cpp b/src/crystal/crystal.cpp index 186ef1292..322f30879 100644 --- a/src/crystal/crystal.cpp +++ b/src/crystal/crystal.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include #include diff --git a/src/elastic_fit/elastic_fitting.cpp b/src/elastic_fit/elastic_fitting.cpp index b1d892dd7..f33f6c136 100644 --- a/src/elastic_fit/elastic_fitting.cpp +++ b/src/elastic_fit/elastic_fitting.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/main/xdm.cpp b/src/main/xdm.cpp index f4bef99ac..7ce2dac07 100644 --- a/src/main/xdm.cpp +++ b/src/main/xdm.cpp @@ -1,14 +1,11 @@ #include #include #include -#include -#include #include #include #include #include #include -#include using occ::qm::Wavefunction; diff --git a/tests/qm_hessian_tests.cpp b/tests/qm_hessian_tests.cpp index 6f1da6f0d..03c6966b0 100644 --- a/tests/qm_hessian_tests.cpp +++ b/tests/qm_hessian_tests.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include #include diff --git a/tests/slater_tests.cpp b/tests/slater_tests.cpp index 62563562c..dcc4c1865 100644 --- a/tests/slater_tests.cpp +++ b/tests/slater_tests.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include #include diff --git a/tests/wavefunction_io_tests.cpp b/tests/wavefunction_io_tests.cpp index d612599d3..ab4ea01cb 100644 --- a/tests/wavefunction_io_tests.cpp +++ b/tests/wavefunction_io_tests.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include diff --git a/tests/xtb_tests.cpp b/tests/xtb_tests.cpp index 0d0103006..88aadc2ba 100644 --- a/tests/xtb_tests.cpp +++ b/tests/xtb_tests.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include From bba5b2b318804f745b743824d06ec7d61ed6a83d Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Thu, 11 Dec 2025 11:31:11 +0200 Subject: [PATCH 13/20] Removed unnecessary libraries --- include/occ/cg/solvation_contribution.h | 1 - include/occ/driver/crystal_growth.h | 2 -- include/occ/elastic_fit/elastic_fitting.h | 3 +-- include/occ/interaction/energy_model_base.h | 1 - include/occ/io/orca_json.h | 1 - include/occ/main/occ_elastic_fit.h | 1 - include/occ/qm/scf.h | 5 ----- include/occ/solvent/solvation_correction.h | 2 -- src/elastic_fit/elastic_fitting.cpp | 1 - src/main/occ_cg.cpp | 10 ---------- src/main/occ_elastic_fit.cpp | 6 ------ 11 files changed, 1 insertion(+), 32 deletions(-) diff --git a/include/occ/cg/solvation_contribution.h b/include/occ/cg/solvation_contribution.h index 590ac648a..085886150 100644 --- a/include/occ/cg/solvation_contribution.h +++ b/include/occ/cg/solvation_contribution.h @@ -1,5 +1,4 @@ #pragma once -#include namespace occ::cg { diff --git a/include/occ/driver/crystal_growth.h b/include/occ/driver/crystal_growth.h index 1da825cdb..ea19b9758 100644 --- a/include/occ/driver/crystal_growth.h +++ b/include/occ/driver/crystal_growth.h @@ -5,7 +5,6 @@ #include #include #include -#include #include #include #include @@ -14,7 +13,6 @@ #include #include #include -#include namespace occ::driver { diff --git a/include/occ/elastic_fit/elastic_fitting.h b/include/occ/elastic_fit/elastic_fitting.h index b9c8e8b14..53ae8f28c 100644 --- a/include/occ/elastic_fit/elastic_fitting.h +++ b/include/occ/elastic_fit/elastic_fitting.h @@ -2,8 +2,7 @@ #include #include #include -#include -#include + namespace occ::elastic_fit { diff --git a/include/occ/interaction/energy_model_base.h b/include/occ/interaction/energy_model_base.h index 6deb9b1e4..cfb803a36 100644 --- a/include/occ/interaction/energy_model_base.h +++ b/include/occ/interaction/energy_model_base.h @@ -1,5 +1,4 @@ #pragma once -#include #include namespace occ::interaction { diff --git a/include/occ/io/orca_json.h b/include/occ/io/orca_json.h index 63257c1e1..2e72682ad 100644 --- a/include/occ/io/orca_json.h +++ b/include/occ/io/orca_json.h @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include diff --git a/include/occ/main/occ_elastic_fit.h b/include/occ/main/occ_elastic_fit.h index 9cf6bf353..22a127b41 100644 --- a/include/occ/main/occ_elastic_fit.h +++ b/include/occ/main/occ_elastic_fit.h @@ -1,6 +1,5 @@ #pragma once #include -#include #include #include #include diff --git a/include/occ/qm/scf.h b/include/occ/qm/scf.h index b758a173c..b5c53e9ac 100644 --- a/include/occ/qm/scf.h +++ b/include/occ/qm/scf.h @@ -1,22 +1,17 @@ #pragma once #include #include -#include #include #include #include -#include #include #include #include #include -#include #include #include #include #include -#include -#include #include namespace occ::qm { diff --git a/include/occ/solvent/solvation_correction.h b/include/occ/solvent/solvation_correction.h index 02089d7a4..61d4ed3b0 100644 --- a/include/occ/solvent/solvation_correction.h +++ b/include/occ/solvent/solvation_correction.h @@ -1,6 +1,4 @@ #pragma once -#include -#include #include #include #include diff --git a/src/elastic_fit/elastic_fitting.cpp b/src/elastic_fit/elastic_fitting.cpp index f33f6c136..cfb99a25c 100644 --- a/src/elastic_fit/elastic_fitting.cpp +++ b/src/elastic_fit/elastic_fitting.cpp @@ -1,5 +1,4 @@ #include -#include #include #include #include diff --git a/src/main/occ_cg.cpp b/src/main/occ_cg.cpp index 4e7c548f1..88cd38f37 100644 --- a/src/main/occ_cg.cpp +++ b/src/main/occ_cg.cpp @@ -3,24 +3,14 @@ #include #include #include -#include -#include #include -#include #include -#include #include -#include -#include -#include #include -#include #include #include #include #include -#include -#include #include #include #include diff --git a/src/main/occ_elastic_fit.cpp b/src/main/occ_elastic_fit.cpp index 4f51304bc..b4c8700d8 100644 --- a/src/main/occ_elastic_fit.cpp +++ b/src/main/occ_elastic_fit.cpp @@ -4,13 +4,8 @@ #include #include #include -#include #include -#include #include -#include -#include -#include #include #include #include @@ -19,7 +14,6 @@ #include #include -#include using occ::crystal::Crystal; using occ::main::EFSettings; From 84338ea0a7874ac5e83e9dab8de420760afc06d5 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Fri, 12 Dec 2025 16:02:09 +0200 Subject: [PATCH 14/20] Removed unnecessary libraries from source files --- include/occ/core/optimize.h | 1 - include/occ/dft/seminumerical_exchange.h | 4 +--- include/occ/qm/integral_engine.h | 1 - src/cg/solvation_types.cpp | 2 +- src/core/elastic_tensor.cpp | 1 - src/core/element.cpp | 1 - src/core/fraction.cpp | 1 - src/core/inertia_tensor.cpp | 1 - src/core/molecular_symmetry.cpp | 2 -- src/core/molecule.cpp | 1 - src/core/point_group.cpp | 2 -- src/core/progress.cpp | 2 -- src/core/timings.cpp | 2 +- src/core/vibration.cpp | 3 +-- src/crystal/crystal.cpp | 1 - src/crystal/surface.cpp | 2 -- src/crystal/unitcell.cpp | 2 +- src/descriptors/pdd_amd.cpp | 2 -- src/dft/dft.cpp | 7 ------- src/dft/dft_gradients.cpp | 1 - src/dft/functional.cpp | 2 -- src/dft/grid_utils.cpp | 1 - src/dft/hirshfeld.cpp | 3 --- src/dft/molecular_grid.cpp | 2 -- src/dft/nonlocal_correlation.cpp | 1 - src/dft/voronoi_charges.cpp | 1 - src/dft/xc_potential_matrix.cpp | 2 +- src/disp/dftd4.cpp | 2 +- src/dma/add_qlm.cpp | 2 +- src/dma/dma.cpp | 5 +---- src/dma/linear_multipole_shifter.cpp | 1 - src/dma/multipole_calculator.cpp | 4 ---- src/dma/multipole_shifter.cpp | 3 +-- src/dma/quadrature.cpp | 1 - src/driver/geometry_optimization.cpp | 2 -- src/driver/single_point.cpp | 2 -- src/driver/vibrational_analysis.cpp | 4 +--- src/geometry/icosphere_mesh.cpp | 2 -- src/geometry/index_cache.cpp | 4 ---- src/gto/gto.cpp | 2 +- src/gto/rotation.cpp | 4 +--- src/interaction/external_energy_model.cpp | 1 - src/interaction/pair_energy.cpp | 10 ---------- src/interaction/pair_potential.cpp | 1 - src/interaction/pairinteraction.cpp | 4 ++-- src/io/cifparser.cpp | 2 -- src/io/cifwriter.cpp | 1 - src/io/conversion.cpp | 1 - src/io/crystalgrower.cpp | 1 - src/io/cube.cpp | 1 - src/io/fchkwriter.cpp | 1 - src/io/isosurface_json.cpp | 1 - src/io/json_basis.cpp | 4 ---- src/io/kmcpp.cpp | 2 -- src/io/moldenreader.cpp | 1 - src/io/occ_input.cpp | 3 +-- 56 files changed, 16 insertions(+), 107 deletions(-) diff --git a/include/occ/core/optimize.h b/include/occ/core/optimize.h index ba29943f8..ac277d4b9 100644 --- a/include/occ/core/optimize.h +++ b/include/occ/core/optimize.h @@ -1,5 +1,4 @@ #pragma once -#include #include namespace occ::core::opt { diff --git a/include/occ/dft/seminumerical_exchange.h b/include/occ/dft/seminumerical_exchange.h index d48f37fef..18f4b1f91 100644 --- a/include/occ/dft/seminumerical_exchange.h +++ b/include/occ/dft/seminumerical_exchange.h @@ -1,10 +1,8 @@ #pragma once #include -#include #include #include -#include -#include + namespace occ::dft::cosx { diff --git a/include/occ/qm/integral_engine.h b/include/occ/qm/integral_engine.h index 146cb2199..50a28c12c 100644 --- a/include/occ/qm/integral_engine.h +++ b/include/occ/qm/integral_engine.h @@ -6,7 +6,6 @@ #include #include #include -#include #include diff --git a/src/cg/solvation_types.cpp b/src/cg/solvation_types.cpp index 59ee3dafe..65de9aef3 100644 --- a/src/cg/solvation_types.cpp +++ b/src/cg/solvation_types.cpp @@ -1,5 +1,5 @@ #include -#include + namespace occ::cg { diff --git a/src/core/elastic_tensor.cpp b/src/core/elastic_tensor.cpp index c0fb85b58..e6da7f732 100644 --- a/src/core/elastic_tensor.cpp +++ b/src/core/elastic_tensor.cpp @@ -1,5 +1,4 @@ #include -#include #include namespace occ::core { diff --git a/src/core/element.cpp b/src/core/element.cpp index 32f915341..9d9e0c860 100644 --- a/src/core/element.cpp +++ b/src/core/element.cpp @@ -1,7 +1,6 @@ #include #include #include -#include namespace occ::core { diff --git a/src/core/fraction.cpp b/src/core/fraction.cpp index f90e027e8..63239f8d5 100644 --- a/src/core/fraction.cpp +++ b/src/core/fraction.cpp @@ -2,7 +2,6 @@ #include #include #include -#include namespace occ::core { diff --git a/src/core/inertia_tensor.cpp b/src/core/inertia_tensor.cpp index 44b05dd7c..13e5045a6 100644 --- a/src/core/inertia_tensor.cpp +++ b/src/core/inertia_tensor.cpp @@ -1,5 +1,4 @@ #include -#include namespace occ::core { diff --git a/src/core/molecular_symmetry.cpp b/src/core/molecular_symmetry.cpp index a6b1a38cb..823aa0648 100644 --- a/src/core/molecular_symmetry.cpp +++ b/src/core/molecular_symmetry.cpp @@ -1,7 +1,5 @@ -#include #include #include -#include #include namespace occ::core { diff --git a/src/core/molecule.cpp b/src/core/molecule.cpp index 2fb5e5264..53bcab5a0 100644 --- a/src/core/molecule.cpp +++ b/src/core/molecule.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include diff --git a/src/core/point_group.cpp b/src/core/point_group.cpp index 610b3cd98..747c96e17 100644 --- a/src/core/point_group.cpp +++ b/src/core/point_group.cpp @@ -1,6 +1,4 @@ -#include #include -#include #include #include #include diff --git a/src/core/progress.cpp b/src/core/progress.cpp index 0b56c5f6c..4a8931cd2 100644 --- a/src/core/progress.cpp +++ b/src/core/progress.cpp @@ -1,12 +1,10 @@ #include #include -#include #include #include #include #include -#include #if defined(_WIN32) || defined(_WIN64) #include diff --git a/src/core/timings.cpp b/src/core/timings.cpp index 0a65691cf..fb76afc0b 100644 --- a/src/core/timings.cpp +++ b/src/core/timings.cpp @@ -1,4 +1,4 @@ -#include + #include #include #include diff --git a/src/core/vibration.cpp b/src/core/vibration.cpp index d92fa9648..4ba964a9c 100644 --- a/src/core/vibration.cpp +++ b/src/core/vibration.cpp @@ -6,8 +6,7 @@ #include #include #include -#include -#include + namespace occ::core { diff --git a/src/crystal/crystal.cpp b/src/crystal/crystal.cpp index 322f30879..ea4f3e4df 100644 --- a/src/crystal/crystal.cpp +++ b/src/crystal/crystal.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include #include #include diff --git a/src/crystal/surface.cpp b/src/crystal/surface.cpp index 0e20b8a55..a4f2445b9 100644 --- a/src/crystal/surface.cpp +++ b/src/crystal/surface.cpp @@ -3,9 +3,7 @@ #include #include #include -#include #include -#include namespace occ::crystal { diff --git a/src/crystal/unitcell.cpp b/src/crystal/unitcell.cpp index a501c933d..f9a069397 100644 --- a/src/crystal/unitcell.cpp +++ b/src/crystal/unitcell.cpp @@ -1,4 +1,4 @@ -#include + #include namespace occ::crystal { diff --git a/src/descriptors/pdd_amd.cpp b/src/descriptors/pdd_amd.cpp index 28a3da608..76b12c3f6 100644 --- a/src/descriptors/pdd_amd.cpp +++ b/src/descriptors/pdd_amd.cpp @@ -1,7 +1,5 @@ #include #include -#include -#include #include #include diff --git a/src/dft/dft.cpp b/src/dft/dft.cpp index dc34046bc..6ffd33518 100644 --- a/src/dft/dft.cpp +++ b/src/dft/dft.cpp @@ -1,14 +1,7 @@ -#include -#include -#include -#include #include #include #include -#include #include -#include -#include namespace occ::dft { diff --git a/src/dft/dft_gradients.cpp b/src/dft/dft_gradients.cpp index 0b8015d4c..62e75acfe 100644 --- a/src/dft/dft_gradients.cpp +++ b/src/dft/dft_gradients.cpp @@ -1,7 +1,6 @@ #include #include #include -#include namespace occ::dft { diff --git a/src/dft/functional.cpp b/src/dft/functional.cpp index 1ce2d88cb..043c3da6c 100644 --- a/src/dft/functional.cpp +++ b/src/dft/functional.cpp @@ -1,6 +1,4 @@ #include -#include -#include #include namespace occ::dft { diff --git a/src/dft/grid_utils.cpp b/src/dft/grid_utils.cpp index e7dc2baf6..53a47428f 100644 --- a/src/dft/grid_utils.cpp +++ b/src/dft/grid_utils.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include #include diff --git a/src/dft/hirshfeld.cpp b/src/dft/hirshfeld.cpp index 1de6acf91..0b84d818a 100644 --- a/src/dft/hirshfeld.cpp +++ b/src/dft/hirshfeld.cpp @@ -1,9 +1,6 @@ -#include -#include #include #include #include -#include #include #include #include diff --git a/src/dft/molecular_grid.cpp b/src/dft/molecular_grid.cpp index cb1dfc06a..afa9292e3 100644 --- a/src/dft/molecular_grid.cpp +++ b/src/dft/molecular_grid.cpp @@ -1,8 +1,6 @@ #include -#include #include #include -#include #include #include diff --git a/src/dft/nonlocal_correlation.cpp b/src/dft/nonlocal_correlation.cpp index 60669d9cf..bf107012b 100644 --- a/src/dft/nonlocal_correlation.cpp +++ b/src/dft/nonlocal_correlation.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include #include diff --git a/src/dft/voronoi_charges.cpp b/src/dft/voronoi_charges.cpp index 7c889a05b..c87bdc5e9 100644 --- a/src/dft/voronoi_charges.cpp +++ b/src/dft/voronoi_charges.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/dft/xc_potential_matrix.cpp b/src/dft/xc_potential_matrix.cpp index f6c25bc00..b86157dd8 100644 --- a/src/dft/xc_potential_matrix.cpp +++ b/src/dft/xc_potential_matrix.cpp @@ -1,4 +1,4 @@ -#include + #include namespace occ::dft { diff --git a/src/disp/dftd4.cpp b/src/disp/dftd4.cpp index e41647993..beea946b7 100644 --- a/src/disp/dftd4.cpp +++ b/src/disp/dftd4.cpp @@ -1,5 +1,5 @@ #include "dftd_damping.h" -#include "dftd_parameters.h" + #include #include diff --git a/src/dma/add_qlm.cpp b/src/dma/add_qlm.cpp index 4de24fc08..63567fa02 100644 --- a/src/dma/add_qlm.cpp +++ b/src/dma/add_qlm.cpp @@ -1,4 +1,4 @@ -#include + #include namespace occ::dma { diff --git a/src/dma/dma.cpp b/src/dma/dma.cpp index 7eec4c240..b2fe7d329 100644 --- a/src/dma/dma.cpp +++ b/src/dma/dma.cpp @@ -1,12 +1,9 @@ #include -#include #include #include #include #include -#include -#include -#include + namespace occ::dma { diff --git a/src/dma/linear_multipole_shifter.cpp b/src/dma/linear_multipole_shifter.cpp index 89018cd7f..bb001c6f2 100644 --- a/src/dma/linear_multipole_shifter.cpp +++ b/src/dma/linear_multipole_shifter.cpp @@ -1,6 +1,5 @@ #include #include -#include #include namespace occ::dma { diff --git a/src/dma/multipole_calculator.cpp b/src/dma/multipole_calculator.cpp index e88cd74f6..d010f187c 100644 --- a/src/dma/multipole_calculator.cpp +++ b/src/dma/multipole_calculator.cpp @@ -1,15 +1,11 @@ -#include #include #include -#include #include #include #include #include -#include #include #include -#include namespace occ::dma { diff --git a/src/dma/multipole_shifter.cpp b/src/dma/multipole_shifter.cpp index bb07cf0b7..a8dfeee76 100644 --- a/src/dma/multipole_shifter.cpp +++ b/src/dma/multipole_shifter.cpp @@ -1,7 +1,6 @@ -#include + #include #include -#include #include namespace occ::dma { diff --git a/src/dma/quadrature.cpp b/src/dma/quadrature.cpp index db75193c3..4bb39818c 100644 --- a/src/dma/quadrature.cpp +++ b/src/dma/quadrature.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include diff --git a/src/driver/geometry_optimization.cpp b/src/driver/geometry_optimization.cpp index 1d2e036ba..78ab56f74 100644 --- a/src/driver/geometry_optimization.cpp +++ b/src/driver/geometry_optimization.cpp @@ -1,6 +1,4 @@ #include -#include -#include #include #include #include diff --git a/src/driver/single_point.cpp b/src/driver/single_point.cpp index 52596b7d5..ddfe51920 100644 --- a/src/driver/single_point.cpp +++ b/src/driver/single_point.cpp @@ -6,8 +6,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/src/driver/vibrational_analysis.cpp b/src/driver/vibrational_analysis.cpp index c5a321661..3f87f7d8a 100644 --- a/src/driver/vibrational_analysis.cpp +++ b/src/driver/vibrational_analysis.cpp @@ -2,16 +2,14 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include -#include -#include using occ::core::Molecule; using occ::core::VibrationalModes; diff --git a/src/geometry/icosphere_mesh.cpp b/src/geometry/icosphere_mesh.cpp index 224991be0..4a89c6ed7 100644 --- a/src/geometry/icosphere_mesh.cpp +++ b/src/geometry/icosphere_mesh.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include diff --git a/src/geometry/index_cache.cpp b/src/geometry/index_cache.cpp index 1b9d99d74..332a09e1b 100644 --- a/src/geometry/index_cache.cpp +++ b/src/geometry/index_cache.cpp @@ -1,9 +1,5 @@ -#include -#include #include -#include #include -#include namespace occ::geometry { diff --git a/src/gto/gto.cpp b/src/gto/gto.cpp index bc79b4043..24898ed85 100644 --- a/src/gto/gto.cpp +++ b/src/gto/gto.cpp @@ -1,4 +1,4 @@ -#include + #include #include diff --git a/src/gto/rotation.cpp b/src/gto/rotation.cpp index b73261af2..b6028dc0f 100644 --- a/src/gto/rotation.cpp +++ b/src/gto/rotation.cpp @@ -1,9 +1,7 @@ #include -#include -#include #include #include - +#include namespace occ::gto { // The code for these matrices has been modified from diff --git a/src/interaction/external_energy_model.cpp b/src/interaction/external_energy_model.cpp index 14a935124..a59420aac 100644 --- a/src/interaction/external_energy_model.cpp +++ b/src/interaction/external_energy_model.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include diff --git a/src/interaction/pair_energy.cpp b/src/interaction/pair_energy.cpp index b62a33c09..5694e4b2e 100644 --- a/src/interaction/pair_energy.cpp +++ b/src/interaction/pair_energy.cpp @@ -1,15 +1,5 @@ -#include -#include -#include -#include -#include #include -#include -#include -#include -#include #include -#include #include namespace occ::interaction { diff --git a/src/interaction/pair_potential.cpp b/src/interaction/pair_potential.cpp index 9c226e10b..75e909484 100644 --- a/src/interaction/pair_potential.cpp +++ b/src/interaction/pair_potential.cpp @@ -1,5 +1,4 @@ #include -#include #include namespace occ::interaction { diff --git a/src/interaction/pairinteraction.cpp b/src/interaction/pairinteraction.cpp index 1e86af6ab..38ce5d7a5 100644 --- a/src/interaction/pairinteraction.cpp +++ b/src/interaction/pairinteraction.cpp @@ -1,11 +1,11 @@ #include #include #include -#include + #include #include #include -#include + #include #include diff --git a/src/io/cifparser.cpp b/src/io/cifparser.cpp index 3566566ad..8ac022147 100644 --- a/src/io/cifparser.cpp +++ b/src/io/cifparser.cpp @@ -1,9 +1,7 @@ #include #include -#include #include #include -#include #include namespace fs = std::filesystem; diff --git a/src/io/cifwriter.cpp b/src/io/cifwriter.cpp index eba4e04b5..d7272e7a8 100644 --- a/src/io/cifwriter.cpp +++ b/src/io/cifwriter.cpp @@ -5,7 +5,6 @@ #include #include #include -#include namespace occ::io { diff --git a/src/io/conversion.cpp b/src/io/conversion.cpp index 531cf8ebc..5389dd63c 100644 --- a/src/io/conversion.cpp +++ b/src/io/conversion.cpp @@ -1,5 +1,4 @@ #include -#include #include #include diff --git a/src/io/crystalgrower.cpp b/src/io/crystalgrower.cpp index 2b810facc..525714ff2 100644 --- a/src/io/crystalgrower.cpp +++ b/src/io/crystalgrower.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include #include diff --git a/src/io/cube.cpp b/src/io/cube.cpp index 5fe72cb4f..277b922c3 100644 --- a/src/io/cube.cpp +++ b/src/io/cube.cpp @@ -1,6 +1,5 @@ #include #include -#include #include #include diff --git a/src/io/fchkwriter.cpp b/src/io/fchkwriter.cpp index 7a4ca398d..1b71363e6 100644 --- a/src/io/fchkwriter.cpp +++ b/src/io/fchkwriter.cpp @@ -1,5 +1,4 @@ #include -#include #include namespace occ::io { diff --git a/src/io/isosurface_json.cpp b/src/io/isosurface_json.cpp index 31bf1fb2c..ea18c9d63 100644 --- a/src/io/isosurface_json.cpp +++ b/src/io/isosurface_json.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/io/json_basis.cpp b/src/io/json_basis.cpp index 3c3824b6d..2bef9d3b6 100644 --- a/src/io/json_basis.cpp +++ b/src/io/json_basis.cpp @@ -1,15 +1,11 @@ #include -#include #include -#include #include -#include #include #include #include #include #include -#include namespace occ::io { diff --git a/src/io/kmcpp.cpp b/src/io/kmcpp.cpp index 177873ea2..0993ef236 100644 --- a/src/io/kmcpp.cpp +++ b/src/io/kmcpp.cpp @@ -1,7 +1,5 @@ #include -#include #include -#include #include #include #include diff --git a/src/io/moldenreader.cpp b/src/io/moldenreader.cpp index 2013ac3d1..788a74a31 100644 --- a/src/io/moldenreader.cpp +++ b/src/io/moldenreader.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include #include diff --git a/src/io/occ_input.cpp b/src/io/occ_input.cpp index edf90997c..9e7c7c5c5 100644 --- a/src/io/occ_input.cpp +++ b/src/io/occ_input.cpp @@ -1,5 +1,4 @@ -#include -#include + #include namespace occ::io { From e6c18103405acee5105c2a876b5fb8eb16d496b3 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Fri, 12 Dec 2025 19:27:21 +0200 Subject: [PATCH 15/20] Removed unnecessary libraries from source files (final) --- src/io/orca_json.cpp | 1 - src/io/qcschema.cpp | 1 - src/io/wavefunction_json.cpp | 1 - src/isosurface/eeq_esp.cpp | 1 - src/isosurface/promolecule_density.cpp | 1 - src/isosurface/stockholder_weight.cpp | 2 +- src/isosurface/volume_calculator.cpp | 3 --- src/js/crystal_bindings.cpp | 3 +-- src/js/cube_bindings.cpp | 1 - src/js/isosurface_bindings.cpp | 1 - src/js/qm_bindings.cpp | 2 -- src/js/volume_bindings.cpp | 2 -- src/main/cli_validators.cpp | 2 -- src/main/mlx.cpp | 1 - src/main/occ_cube.cpp | 2 -- src/main/occ_dimers.cpp | 4 ---- src/main/occ_dma.cpp | 6 ------ src/main/occ_elastic.cpp | 4 ---- src/main/occ_elat.cpp | 8 -------- src/main/occ_embed.cpp | 8 +------- src/main/occ_isosurface.cpp | 9 --------- src/main/occ_pair.cpp | 8 -------- src/main/occ_scf.cpp | 5 ----- src/main/properties.cpp | 1 - src/main/xdm.cpp | 2 -- src/opt/bond_coordinate.cpp | 1 - src/opt/internal_coordinates.cpp | 4 ---- src/qm/chelpg.cpp | 1 - src/qm/ediis.cpp | 3 --- src/qm/gradients.cpp | 1 - src/qm/guess_density.cpp | 2 -- src/qm/integral_engine_3c.cpp | 3 --- src/qm/integral_engine_grad1.cpp | 1 - src/qm/integral_engine_grad2.cpp | 2 +- src/qm/mo_integral_engine.cpp | 3 --- src/qm/mp2.cpp | 5 +---- src/qm/scf.cpp | 1 - src/qm/shell.cpp | 1 - src/qm/wavefunction.cpp | 2 -- src/sht/sht.cpp | 3 --- src/solvent/cosmo.cpp | 2 -- src/solvent/draco.cpp | 2 -- src/solvent/surface.cpp | 3 --- src/xdm/xdm.cpp | 1 - src/xtb/tblite_wrapper.cpp | 2 -- 45 files changed, 5 insertions(+), 117 deletions(-) diff --git a/src/io/orca_json.cpp b/src/io/orca_json.cpp index 7cd95fea7..ced923a54 100644 --- a/src/io/orca_json.cpp +++ b/src/io/orca_json.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/io/qcschema.cpp b/src/io/qcschema.cpp index 8c26198ce..e47d7635f 100644 --- a/src/io/qcschema.cpp +++ b/src/io/qcschema.cpp @@ -4,7 +4,6 @@ #include #include #include -#include namespace occ::io { diff --git a/src/io/wavefunction_json.cpp b/src/io/wavefunction_json.cpp index e612036f5..b1a563aac 100644 --- a/src/io/wavefunction_json.cpp +++ b/src/io/wavefunction_json.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/isosurface/eeq_esp.cpp b/src/isosurface/eeq_esp.cpp index 56f37977a..e82c25ceb 100644 --- a/src/isosurface/eeq_esp.cpp +++ b/src/isosurface/eeq_esp.cpp @@ -1,4 +1,3 @@ -#include #include #include diff --git a/src/isosurface/promolecule_density.cpp b/src/isosurface/promolecule_density.cpp index a39e2601f..176727711 100644 --- a/src/isosurface/promolecule_density.cpp +++ b/src/isosurface/promolecule_density.cpp @@ -1,6 +1,5 @@ #include #include -#include namespace occ::isosurface { diff --git a/src/isosurface/stockholder_weight.cpp b/src/isosurface/stockholder_weight.cpp index a38222e02..c46f28895 100644 --- a/src/isosurface/stockholder_weight.cpp +++ b/src/isosurface/stockholder_weight.cpp @@ -1,6 +1,6 @@ #include #include -#include + namespace occ::isosurface { diff --git a/src/isosurface/volume_calculator.cpp b/src/isosurface/volume_calculator.cpp index 1ab8c30b5..e227b6683 100644 --- a/src/isosurface/volume_calculator.cpp +++ b/src/isosurface/volume_calculator.cpp @@ -1,13 +1,10 @@ #include #include #include -#include -#include #include #include #include #include -#include #include namespace occ::isosurface { diff --git a/src/js/crystal_bindings.cpp b/src/js/crystal_bindings.cpp index 8c0ec66d4..5334fc353 100644 --- a/src/js/crystal_bindings.cpp +++ b/src/js/crystal_bindings.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include @@ -10,7 +9,7 @@ #include #include #include -#include + using namespace emscripten; using namespace occ; diff --git a/src/js/cube_bindings.cpp b/src/js/cube_bindings.cpp index 696e70467..41c09a950 100644 --- a/src/js/cube_bindings.cpp +++ b/src/js/cube_bindings.cpp @@ -1,7 +1,6 @@ #include "cube_bindings.h" #include #include -#include #include #include #include diff --git a/src/js/isosurface_bindings.cpp b/src/js/isosurface_bindings.cpp index 5dcbd9c6d..8834bc963 100644 --- a/src/js/isosurface_bindings.cpp +++ b/src/js/isosurface_bindings.cpp @@ -7,7 +7,6 @@ #include #include #include -#include using namespace emscripten; using namespace occ; diff --git a/src/js/qm_bindings.cpp b/src/js/qm_bindings.cpp index 2d83080e1..82c2246bc 100644 --- a/src/js/qm_bindings.cpp +++ b/src/js/qm_bindings.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include @@ -21,7 +20,6 @@ #include #include #include -#include using namespace emscripten; using namespace occ::qm; diff --git a/src/js/volume_bindings.cpp b/src/js/volume_bindings.cpp index 500f087ff..1c22dc8bc 100644 --- a/src/js/volume_bindings.cpp +++ b/src/js/volume_bindings.cpp @@ -1,12 +1,10 @@ #include "volume_bindings.h" #include #include -#include #include #include #include #include -#include using namespace emscripten; using namespace occ; diff --git a/src/main/cli_validators.cpp b/src/main/cli_validators.cpp index 8e5d52b85..5903f0d34 100644 --- a/src/main/cli_validators.cpp +++ b/src/main/cli_validators.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include diff --git a/src/main/mlx.cpp b/src/main/mlx.cpp index 3282cbdb1..eb94ac852 100644 --- a/src/main/mlx.cpp +++ b/src/main/mlx.cpp @@ -1,5 +1,4 @@ #include -#include #include #include "mlx/mlx.h" diff --git a/src/main/occ_cube.cpp b/src/main/occ_cube.cpp index fce12c035..765a121b9 100644 --- a/src/main/occ_cube.cpp +++ b/src/main/occ_cube.cpp @@ -1,7 +1,5 @@ #include #include -#include -#include #include #include #include diff --git a/src/main/occ_dimers.cpp b/src/main/occ_dimers.cpp index dda9f6e93..a4a58c2fa 100644 --- a/src/main/occ_dimers.cpp +++ b/src/main/occ_dimers.cpp @@ -1,10 +1,6 @@ #include -#include -#include #include -#include #include -#include #include #include #include diff --git a/src/main/occ_dma.cpp b/src/main/occ_dma.cpp index 7d825ac74..6af9ea35a 100644 --- a/src/main/occ_dma.cpp +++ b/src/main/occ_dma.cpp @@ -1,16 +1,10 @@ #include -#include -#include -#include -#include #include -#include #include #include #include #include #include -#include namespace occ::main { diff --git a/src/main/occ_elastic.cpp b/src/main/occ_elastic.cpp index a1aea67f0..69fb1fa55 100644 --- a/src/main/occ_elastic.cpp +++ b/src/main/occ_elastic.cpp @@ -1,11 +1,7 @@ #include -#include -#include #include #include -#include #include -#include #include #include #include diff --git a/src/main/occ_elat.cpp b/src/main/occ_elat.cpp index 40cf7a16a..b4a659b89 100644 --- a/src/main/occ_elat.cpp +++ b/src/main/occ_elat.cpp @@ -1,22 +1,15 @@ #include -#include -#include #include #include #include -#include -#include #include -#include #include #include #include #include -#include #include #include #include -#include #include #include #include @@ -28,7 +21,6 @@ #include #include #include -#include namespace fs = std::filesystem; using occ::crystal::Crystal; diff --git a/src/main/occ_embed.cpp b/src/main/occ_embed.cpp index e26332bcd..6f1502540 100644 --- a/src/main/occ_embed.cpp +++ b/src/main/occ_embed.cpp @@ -1,29 +1,23 @@ -#include -#include + #include #include #include #include #include -#include #include #include #include #include -#include #include #include -#include #include #include #include #include #include -#include #include #include #include -#include #include #include #include diff --git a/src/main/occ_isosurface.cpp b/src/main/occ_isosurface.cpp index a7b7d9e40..67142313d 100644 --- a/src/main/occ_isosurface.cpp +++ b/src/main/occ_isosurface.cpp @@ -1,20 +1,11 @@ #include #include -#include -#include -#include #include -#include -#include #include #include -#include #include -#include #include -#include #include -#include #include #include diff --git a/src/main/occ_pair.cpp b/src/main/occ_pair.cpp index df7748fc3..b15b76490 100644 --- a/src/main/occ_pair.cpp +++ b/src/main/occ_pair.cpp @@ -5,23 +5,15 @@ #include #include #include -#include #include -#include -#include -#include #include #include #include -#include #include -#include -#include #include #include #include #include -#include #include namespace occ::interaction { diff --git a/src/main/occ_scf.cpp b/src/main/occ_scf.cpp index ec1024870..ca9325417 100644 --- a/src/main/occ_scf.cpp +++ b/src/main/occ_scf.cpp @@ -4,16 +4,12 @@ #include #include #include -#include #include #include -#include #include #include -#include #include #include -#include #include #include #include @@ -24,7 +20,6 @@ #include #include #include -#include namespace occ::main { diff --git a/src/main/properties.cpp b/src/main/properties.cpp index e60d98551..5c2583ea8 100644 --- a/src/main/properties.cpp +++ b/src/main/properties.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include diff --git a/src/main/xdm.cpp b/src/main/xdm.cpp index 7ce2dac07..cb10826d0 100644 --- a/src/main/xdm.cpp +++ b/src/main/xdm.cpp @@ -1,7 +1,5 @@ -#include #include #include -#include #include #include #include diff --git a/src/opt/bond_coordinate.cpp b/src/opt/bond_coordinate.cpp index 309c718f8..46ace66b0 100644 --- a/src/opt/bond_coordinate.cpp +++ b/src/opt/bond_coordinate.cpp @@ -9,7 +9,6 @@ #include #include -#include namespace occ::opt { diff --git a/src/opt/internal_coordinates.cpp b/src/opt/internal_coordinates.cpp index d038f9fa5..d7a2a2158 100644 --- a/src/opt/internal_coordinates.cpp +++ b/src/opt/internal_coordinates.cpp @@ -9,16 +9,12 @@ #include #include -#include -#include -#include #include #include #include #include #include #include -#include #include #include #include diff --git a/src/qm/chelpg.cpp b/src/qm/chelpg.cpp index eb66bf160..25fd78cb5 100644 --- a/src/qm/chelpg.cpp +++ b/src/qm/chelpg.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/qm/ediis.cpp b/src/qm/ediis.cpp index 35e6472d3..f593975b5 100644 --- a/src/qm/ediis.cpp +++ b/src/qm/ediis.cpp @@ -1,9 +1,6 @@ #include -#include -#include #include #include -#include namespace occ::qm { diff --git a/src/qm/gradients.cpp b/src/qm/gradients.cpp index 06da54dab..9f7842b6a 100644 --- a/src/qm/gradients.cpp +++ b/src/qm/gradients.cpp @@ -2,7 +2,6 @@ #include #include #include -#include namespace occ::qm { diff --git a/src/qm/guess_density.cpp b/src/qm/guess_density.cpp index 43c96d722..c379bb355 100644 --- a/src/qm/guess_density.cpp +++ b/src/qm/guess_density.cpp @@ -1,7 +1,5 @@ -#include "Faddeeva.hpp" #include "detail/three_center_kernels.h" #include -#include #include #include // modified routines from libint2 diff --git a/src/qm/integral_engine_3c.cpp b/src/qm/integral_engine_3c.cpp index 59adad308..756325e23 100644 --- a/src/qm/integral_engine_3c.cpp +++ b/src/qm/integral_engine_3c.cpp @@ -1,8 +1,5 @@ #include "detail/three_center_kernels.h" -#include #include -#include -#include #include namespace occ::qm { diff --git a/src/qm/integral_engine_grad1.cpp b/src/qm/integral_engine_grad1.cpp index 8b75075a2..fa64a1dcd 100644 --- a/src/qm/integral_engine_grad1.cpp +++ b/src/qm/integral_engine_grad1.cpp @@ -1,7 +1,6 @@ #include "detail/gradient_kernels.h" #include "detail/jk_grad.h" #include "detail/kernel_traits.h" -#include #include #include #include diff --git a/src/qm/integral_engine_grad2.cpp b/src/qm/integral_engine_grad2.cpp index 48e19aee8..f6df2cd97 100644 --- a/src/qm/integral_engine_grad2.cpp +++ b/src/qm/integral_engine_grad2.cpp @@ -1,7 +1,7 @@ #include "detail/hessian_kernels.h" #include "detail/jk_hess.h" #include "detail/kernel_traits.h" -#include + #include #include #include diff --git a/src/qm/mo_integral_engine.cpp b/src/qm/mo_integral_engine.cpp index 6db2af8f9..201b16df7 100644 --- a/src/qm/mo_integral_engine.cpp +++ b/src/qm/mo_integral_engine.cpp @@ -1,8 +1,5 @@ #include -#include -#include #include -#include #include #include #include diff --git a/src/qm/mp2.cpp b/src/qm/mp2.cpp index 3640c2524..c88252175 100644 --- a/src/qm/mp2.cpp +++ b/src/qm/mp2.cpp @@ -1,12 +1,9 @@ -#include -#include -#include + #include #include #include #include #include -#include namespace occ::qm { diff --git a/src/qm/scf.cpp b/src/qm/scf.cpp index 51a52cb85..dc4860a92 100644 --- a/src/qm/scf.cpp +++ b/src/qm/scf.cpp @@ -1,4 +1,3 @@ -#include #include namespace occ::qm {} // namespace occ::qm diff --git a/src/qm/shell.cpp b/src/qm/shell.cpp index 840daa721..9bdc9537c 100644 --- a/src/qm/shell.cpp +++ b/src/qm/shell.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include diff --git a/src/qm/wavefunction.cpp b/src/qm/wavefunction.cpp index e4634779e..77d6a225d 100644 --- a/src/qm/wavefunction.cpp +++ b/src/qm/wavefunction.cpp @@ -2,14 +2,12 @@ #include #include #include -#include #include #include #include #include #include #include -#include #include #include #include diff --git a/src/sht/sht.cpp b/src/sht/sht.cpp index 883352b76..74448a195 100644 --- a/src/sht/sht.cpp +++ b/src/sht/sht.cpp @@ -1,10 +1,7 @@ -#include -#include #include #include #include -#include namespace occ::sht { diff --git a/src/solvent/cosmo.cpp b/src/solvent/cosmo.cpp index f13e3fbc6..141986109 100644 --- a/src/solvent/cosmo.cpp +++ b/src/solvent/cosmo.cpp @@ -1,7 +1,5 @@ #include #include -#include -#include #include #include diff --git a/src/solvent/draco.cpp b/src/solvent/draco.cpp index 9c1375072..b75e8077d 100644 --- a/src/solvent/draco.cpp +++ b/src/solvent/draco.cpp @@ -1,10 +1,8 @@ #include #include -#include #include #include #include -#include namespace occ::solvent::draco { diff --git a/src/solvent/surface.cpp b/src/solvent/surface.cpp index 40a2f87e3..bf0a6743e 100644 --- a/src/solvent/surface.cpp +++ b/src/solvent/surface.cpp @@ -1,9 +1,6 @@ #include -#include -#include #include #include -#include #include namespace occ::solvent::surface { diff --git a/src/xdm/xdm.cpp b/src/xdm/xdm.cpp index a25722902..aa5d07510 100644 --- a/src/xdm/xdm.cpp +++ b/src/xdm/xdm.cpp @@ -1,4 +1,3 @@ -#include #include #include #include diff --git a/src/xtb/tblite_wrapper.cpp b/src/xtb/tblite_wrapper.cpp index 55ff860ab..ed8411fb5 100644 --- a/src/xtb/tblite_wrapper.cpp +++ b/src/xtb/tblite_wrapper.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include #include From 4db8349450126ca21a3967e88026796d95930693 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Fri, 12 Dec 2025 21:02:50 +0200 Subject: [PATCH 16/20] fix to removed includes --- src/io/moldenreader.cpp | 1 + src/solvent/draco.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/io/moldenreader.cpp b/src/io/moldenreader.cpp index 788a74a31..2013ac3d1 100644 --- a/src/io/moldenreader.cpp +++ b/src/io/moldenreader.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include diff --git a/src/solvent/draco.cpp b/src/solvent/draco.cpp index b75e8077d..fa4e20195 100644 --- a/src/solvent/draco.cpp +++ b/src/solvent/draco.cpp @@ -3,6 +3,8 @@ #include #include #include +#include +#include namespace occ::solvent::draco { From d63aa58adf34a891b38e159b9529a6ae36408273 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Sat, 13 Dec 2025 12:57:07 +0200 Subject: [PATCH 17/20] Implemented Unity builds --- 3rdparty/CMakeLists.txt | 2 ++ CMakeLists.txt | 4 ++++ include/occ/core/eeq.h | 1 + include/occ/elastic_fit/monkhorst_pack.h | 1 + include/occ/geometry/index_cache.h | 2 +- include/occ/isosurface/point_functors.h | 10 +++++----- include/occ/qm/merge.h | 1 + src/3rdparty/CMakeLists.txt | 3 +++ src/core/CMakeLists.txt | 6 ++++++ src/core/molecular_axis.cpp | 1 + src/dma/linear_multipole_calculator.cpp | 1 + src/dma/multipole_calculator.cpp | 7 ++++--- src/elastic_fit/CMakeLists.txt | 1 + src/elastic_fit/monkhorst_pack.cpp | 1 + src/elastic_fit/pes.cpp | 1 + src/io/orca_json.cpp | 4 ++-- src/isosurface/point_functors.cpp | 8 ++++---- src/isosurface/volume_calculator.cpp | 20 ++++++++++---------- src/main/occ_cube.cpp | 12 ++++++------ src/main/occ_dimers.cpp | 4 ++-- src/qm/detail/four_center_kernels.h | 1 - src/qm/detail/gradient_kernels.h | 2 +- tests/CMakeLists.txt | 23 +++++++++++++++++++++++ 23 files changed, 81 insertions(+), 35 deletions(-) diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index 43ef44af2..f8f7a9bb1 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -1,3 +1,5 @@ +set(CMAKE_UNITY_BUILD OFF) + CPMAddPackage( NAME fmt GITHUB_REPOSITORY "fmtlib/fmt" diff --git a/CMakeLists.txt b/CMakeLists.txt index 220d54a19..ba186714d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,10 @@ endif() #Debug flags set(CMAKE_CXX_FLAGS_DEBUG "-g -ftime-trace") +#Testing unity builds +set(CMAKE_UNITY_BUILD ON) +set(PROPERTIES UNITY_BUILD_BATCH_SIZE 8) + if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) include(CTest) option(BUILD_FPIC "Build with position independent code" OFF) diff --git a/include/occ/core/eeq.h b/include/occ/core/eeq.h index d477757ce..cf8ad0855 100644 --- a/include/occ/core/eeq.h +++ b/include/occ/core/eeq.h @@ -1,3 +1,4 @@ +#pragma once #include diff --git a/include/occ/elastic_fit/monkhorst_pack.h b/include/occ/elastic_fit/monkhorst_pack.h index b6fc182b2..954f05c34 100644 --- a/include/occ/elastic_fit/monkhorst_pack.h +++ b/include/occ/elastic_fit/monkhorst_pack.h @@ -1,3 +1,4 @@ +#pragma once #include namespace occ::elastic_fit { diff --git a/include/occ/geometry/index_cache.h b/include/occ/geometry/index_cache.h index 128f99b6d..7c900bd7a 100644 --- a/include/occ/geometry/index_cache.h +++ b/include/occ/geometry/index_cache.h @@ -1,8 +1,8 @@ +#pragma once #include #include #include #include -#include namespace occ::geometry { diff --git a/include/occ/isosurface/point_functors.h b/include/occ/isosurface/point_functors.h index 837c2d777..762d5ab8e 100644 --- a/include/occ/isosurface/point_functors.h +++ b/include/occ/isosurface/point_functors.h @@ -62,8 +62,8 @@ struct PromolDensityFunctor { std::vector atom_interpolators; }; -struct ElectronDensityFunctor { - ElectronDensityFunctor(const Wavefunction &wfn, +struct Point_ElectronDensityFunctor { + Point_ElectronDensityFunctor(const Wavefunction &wfn, SpinConstraint spin = SpinConstraint::Total); void operator()(Eigen::Ref points, Eigen::Ref dest); @@ -72,13 +72,13 @@ struct ElectronDensityFunctor { int mo_index{-1}; }; -struct DeformationDensityFunctor { - DeformationDensityFunctor(const Wavefunction &wfn, +struct Point_DeformationDensityFunctor { + Point_DeformationDensityFunctor(const Wavefunction &wfn, SpinConstraint = SpinConstraint::Total); void operator()(Eigen::Ref points, Eigen::Ref dest); PromolDensityFunctor pro_func; - ElectronDensityFunctor rho_func; + Point_ElectronDensityFunctor rho_func; }; struct XCDensityFunctor { diff --git a/include/occ/qm/merge.h b/include/occ/qm/merge.h index 9d1e4e16c..7f8d123b5 100644 --- a/include/occ/qm/merge.h +++ b/include/occ/qm/merge.h @@ -1,3 +1,4 @@ +#pragma once #include #include #include diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 432f69eb9..5fa22a76c 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -16,6 +16,9 @@ target_link_libraries(_subprocess Threads::Threads ) +# Disable Unity Build for ONLY this target +set_target_properties(_subprocess PROPERTIES UNITY_BUILD OFF) + target_compile_features(_subprocess PUBLIC cxx_std_20) set(OCC_3RDPARTY_SUBPROCESS_INCLUDE_DIR diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 7b7916238..6c43d1f4b 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -32,6 +32,12 @@ add_library(occ_core ${OCC_CORE_INCLUDE_FILES} ) +set_source_files_properties( + "${CMAKE_CURRENT_SOURCE_DIR}/molecular_axis.cpp" + PROPERTIES + SKIP_UNITY_BUILD_INCLUSION ON +) + if("${USE_SYSTEM_BLAS}") target_link_libraries(occ_core PUBLIC diff --git a/src/core/molecular_axis.cpp b/src/core/molecular_axis.cpp index 7b5146500..9df8b52ad 100644 --- a/src/core/molecular_axis.cpp +++ b/src/core/molecular_axis.cpp @@ -7,6 +7,7 @@ #include #include + namespace occ::core { MolecularAxisCalculator::MolecularAxisCalculator(const occ::qm::Wavefunction& wfn) diff --git a/src/dma/linear_multipole_calculator.cpp b/src/dma/linear_multipole_calculator.cpp index 3eefc9ad3..c05939fe6 100644 --- a/src/dma/linear_multipole_calculator.cpp +++ b/src/dma/linear_multipole_calculator.cpp @@ -1,3 +1,4 @@ +#pragma once #include #include #include diff --git a/src/dma/multipole_calculator.cpp b/src/dma/multipole_calculator.cpp index d010f187c..2d3382805 100644 --- a/src/dma/multipole_calculator.cpp +++ b/src/dma/multipole_calculator.cpp @@ -1,3 +1,4 @@ +#pragma once #include #include #include @@ -9,7 +10,7 @@ namespace occ::dma { -inline double get_normalization_factor(int l, int m, int n) { +inline double multipole_get_normalization_factor(int l, int m, int n) { int angular_momenta = l + m + n; if (angular_momenta == 2 && ((l == 1) || (m == 1) || (n == 1))) { return std::sqrt(3.0); @@ -383,12 +384,12 @@ void MultipoleCalculator::setup_normalized_density_matrix() { int bf_i_idx = 0; gto::iterate_over_shell( [&](int i1, int j1, int k1, int ll1) { - double norm_i = get_normalization_factor(i1, j1, k1); + double norm_i = multipole_get_normalization_factor(i1, j1, k1); int bf_j_idx = 0; gto::iterate_over_shell( [&](int i2, int j2, int k2, int ll2) { - double norm_j = get_normalization_factor(i2, j2, k2); + double norm_j = multipole_get_normalization_factor(i2, j2, k2); m_normalized_density(first_bf[i_shell_idx] + bf_i_idx, first_bf[j_shell_idx] + bf_j_idx) *= diff --git a/src/elastic_fit/CMakeLists.txt b/src/elastic_fit/CMakeLists.txt index 7e9106ee8..579d4ca35 100644 --- a/src/elastic_fit/CMakeLists.txt +++ b/src/elastic_fit/CMakeLists.txt @@ -18,3 +18,4 @@ target_include_directories(occ_elastic_fit PUBLIC ) target_compile_features(occ_elastic_fit PUBLIC cxx_std_20) + diff --git a/src/elastic_fit/monkhorst_pack.cpp b/src/elastic_fit/monkhorst_pack.cpp index 81c321eb7..9f3a0825a 100644 --- a/src/elastic_fit/monkhorst_pack.cpp +++ b/src/elastic_fit/monkhorst_pack.cpp @@ -1,3 +1,4 @@ +#pragma once #include namespace occ::elastic_fit {} diff --git a/src/elastic_fit/pes.cpp b/src/elastic_fit/pes.cpp index 498a7836b..5c4e39569 100644 --- a/src/elastic_fit/pes.cpp +++ b/src/elastic_fit/pes.cpp @@ -1,6 +1,7 @@ #include #include #include +#include namespace occ::elastic_fit { diff --git a/src/io/orca_json.cpp b/src/io/orca_json.cpp index ced923a54..03d54b49e 100644 --- a/src/io/orca_json.cpp +++ b/src/io/orca_json.cpp @@ -7,7 +7,7 @@ namespace occ::io { -inline int fix_orca_phase_convention(int l, int m) { +inline int orca_fix_orca_phase_convention(int l, int m) { if (l == 3 && std::abs(m) == 3) { // c0 c1 s1 c2 s2 c3 s3 // + + + + + - - @@ -51,7 +51,7 @@ Mat convert_mo_coefficients_from_orca_convention(const occ::qm::AOBasis &basis, auto func = [&](int am, int m) { int their_idx = occ::gto::shell_index_spherical(am, m); int sign = 1; - sign = fix_orca_phase_convention(am, m); + sign = orca_fix_orca_phase_convention(am, m); result.row(bf_first + idx) = sign * mo.row(bf_first + their_idx); occ::log::debug("Swapping (l={}): {} <-> {}", l, idx, their_idx); idx++; diff --git a/src/isosurface/point_functors.cpp b/src/isosurface/point_functors.cpp index a99551df8..07fb950b1 100644 --- a/src/isosurface/point_functors.cpp +++ b/src/isosurface/point_functors.cpp @@ -108,11 +108,11 @@ void PromolDensityFunctor::operator()(Eigen::Ref points, } } -ElectronDensityFunctor::ElectronDensityFunctor(const Wavefunction &w, +Point_ElectronDensityFunctor::Point_ElectronDensityFunctor(const Wavefunction &w, SpinConstraint s) : wfn(w), spin(s) {} -void ElectronDensityFunctor::operator()(Eigen::Ref points, +void Point_ElectronDensityFunctor::operator()(Eigen::Ref points, Eigen::Ref dest) { constexpr auto R = qm::SpinorbitalKind::Restricted; @@ -155,11 +155,11 @@ void ElectronDensityFunctor::operator()(Eigen::Ref points, } } -DeformationDensityFunctor::DeformationDensityFunctor(const Wavefunction &wfn, +Point_DeformationDensityFunctor::Point_DeformationDensityFunctor(const Wavefunction &wfn, SpinConstraint spin) : pro_func(wfn.atoms), rho_func(wfn, spin) {} -void DeformationDensityFunctor::operator()(Eigen::Ref points, +void Point_DeformationDensityFunctor::operator()(Eigen::Ref points, Eigen::Ref dest) { Vec tmp = Vec::Zero(dest.rows(), dest.cols()); rho_func(points, dest); diff --git a/src/isosurface/volume_calculator.cpp b/src/isosurface/volume_calculator.cpp index e227b6683..89e7589d4 100644 --- a/src/isosurface/volume_calculator.cpp +++ b/src/isosurface/volume_calculator.cpp @@ -319,7 +319,7 @@ void VolumeCalculator::setup_grid_parameters(VolumeData& volume, const VolumeGen case VolumePropertyKind::ElectronDensityAlpha: case VolumePropertyKind::ElectronDensityBeta: { if (m_wavefunction.has_value()) { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.mo_index = params.mo_number; if (params.property == VolumePropertyKind::ElectronDensityAlpha) { func.spin = SpinConstraint::Alpha; @@ -349,7 +349,7 @@ void VolumeCalculator::setup_grid_parameters(VolumeData& volume, const VolumeGen } case VolumePropertyKind::DeformationDensity: { if (m_wavefunction.has_value()) { - DeformationDensityFunctor func(m_wavefunction.value()); + Point_DeformationDensityFunctor func(m_wavefunction.value()); apply_adaptive_bounds(func, params, atoms, volume); } break; @@ -445,20 +445,20 @@ void VolumeCalculator::fill_volume_data(VolumeData& volume, const VolumeGenerati switch (params.property) { case VolumePropertyKind::ElectronDensity: { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.mo_index = params.mo_number; func(points, values); break; } case VolumePropertyKind::ElectronDensityAlpha: { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.spin = SpinConstraint::Alpha; func.mo_index = params.mo_number; func(points, values); break; } case VolumePropertyKind::ElectronDensityBeta: { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.spin = SpinConstraint::Beta; func.mo_index = params.mo_number; func(points, values); @@ -481,7 +481,7 @@ void VolumeCalculator::fill_volume_data(VolumeData& volume, const VolumeGenerati break; } case VolumePropertyKind::DeformationDensity: { - DeformationDensityFunctor func(m_wavefunction.value()); + Point_DeformationDensityFunctor func(m_wavefunction.value()); func(points, values); break; } @@ -550,20 +550,20 @@ Vec VolumeCalculator::evaluate_at_points(const Mat3N& points, const VolumeGenera switch (params.property) { case VolumePropertyKind::ElectronDensity: { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.mo_index = params.mo_number; func(points, result); break; } case VolumePropertyKind::ElectronDensityAlpha: { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.spin = SpinConstraint::Alpha; func.mo_index = params.mo_number; func(points, result); break; } case VolumePropertyKind::ElectronDensityBeta: { - ElectronDensityFunctor func(m_wavefunction.value()); + Point_ElectronDensityFunctor func(m_wavefunction.value()); func.spin = SpinConstraint::Beta; func.mo_index = params.mo_number; func(points, result); @@ -586,7 +586,7 @@ Vec VolumeCalculator::evaluate_at_points(const Mat3N& points, const VolumeGenera break; } case VolumePropertyKind::DeformationDensity: { - DeformationDensityFunctor func(m_wavefunction.value()); + Point_DeformationDensityFunctor func(m_wavefunction.value()); func(points, result); break; } diff --git a/src/main/occ_cube.cpp b/src/main/occ_cube.cpp index 765a121b9..4a7c67e84 100644 --- a/src/main/occ_cube.cpp +++ b/src/main/occ_cube.cpp @@ -17,11 +17,11 @@ using occ::core::Element; using occ::core::Molecule; using occ::io::Cube; using occ::qm::Wavefunction; -using occ::isosurface::ElectronDensityFunctor; +using occ::isosurface::Point_ElectronDensityFunctor; using occ::isosurface::EspFunctor; using occ::isosurface::EEQEspFunctor; using occ::isosurface::PromolDensityFunctor; -using occ::isosurface::DeformationDensityFunctor; +using occ::isosurface::Point_DeformationDensityFunctor; using occ::isosurface::XCDensityFunctor; using occ::isosurface::SpinConstraint; @@ -216,24 +216,24 @@ void evaluate_custom_points(const Wavefunction &wfn, CubeConfig const &config, func(points, data); } else if (config.property == "deformation_density") { require_wfn(config, have_wfn); - DeformationDensityFunctor func(wfn); + Point_DeformationDensityFunctor func(wfn); func(points, data); } else if (config.property == "rho" || config.property == "electron_density" || config.property == "density") { require_wfn(config, have_wfn); - ElectronDensityFunctor func(wfn); + Point_ElectronDensityFunctor func(wfn); func.mo_index = config.mo_number; func(points, data); } else if (config.property == "rho_alpha") { require_wfn(config, have_wfn); - ElectronDensityFunctor func(wfn); + Point_ElectronDensityFunctor func(wfn); func.spin = SpinConstraint::Alpha; func.mo_index = config.mo_number; func(points, data); } else if (config.property == "rho_beta") { require_wfn(config, have_wfn); - ElectronDensityFunctor func(wfn); + Point_ElectronDensityFunctor func(wfn); func.spin = SpinConstraint::Beta; func.mo_index = config.mo_number; func(points, data); diff --git a/src/main/occ_dimers.cpp b/src/main/occ_dimers.cpp index a4a58c2fa..f0b19b141 100644 --- a/src/main/occ_dimers.cpp +++ b/src/main/occ_dimers.cpp @@ -10,7 +10,7 @@ namespace fs = std::filesystem; using occ::crystal::Crystal; -inline Crystal read_crystal(const std::string &filename) { +inline Crystal dimer_read_crystal(const std::string &filename) { occ::io::CifParser parser; return parser.parse_crystal_from_file(filename).value(); } @@ -40,7 +40,7 @@ void run_dimers_subcommand(const DimerGenerationSettings &settings) { std::string filename = settings.crystal_filename; std::string basename = fs::path(filename).stem().string(); - Crystal c = read_crystal(filename); + Crystal c = dimer_read_crystal(filename); occ::log::info("Loaded crystal from {}", filename); auto molecules = c.symmetry_unique_molecules(); auto uc_molecules = c.unit_cell_molecules(); diff --git a/src/qm/detail/four_center_kernels.h b/src/qm/detail/four_center_kernels.h index 8c8e01bcd..d9572663b 100644 --- a/src/qm/detail/four_center_kernels.h +++ b/src/qm/detail/four_center_kernels.h @@ -2,7 +2,6 @@ #include "kernel_traits.h" #include "jk.h" -#include #include #include #include diff --git a/src/qm/detail/gradient_kernels.h b/src/qm/detail/gradient_kernels.h index 7e6a05e98..cc060c247 100644 --- a/src/qm/detail/gradient_kernels.h +++ b/src/qm/detail/gradient_kernels.h @@ -186,7 +186,7 @@ four_center_inner_loop(Func &store, } template -void evaluate_four_center_tbb(Lambda &f, IntEnv &env, const AOBasis &basis, +void gradient_evaluate_four_center_tbb(Lambda &f, IntEnv &env, const AOBasis &basis, const ShellPairList &shellpairs, const Mat &Dnorm = Mat(), const Mat &Schwarz = Mat(), diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 69b6edc55..bd9cfb85e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -4,6 +4,29 @@ CPMAddPackage( GIT_TAG v3.5.2 ) +set(CMAKE_UNITY_BUILD OFF) + + +#Use ccache to speed up rebuilds +find_program(CCACHE_PROGRAM ccache) +if(CCACHE_PROGRAM) + message(STATUS "Found ccache in ${CCACHE_PROGRAM}") + set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") +else() + message(WARNING "ccache not found, compiling without it") +endif() + +#Use lld as faster alternative to ld +find_program(LLD_PROGRAM lld) +if(LLD_PROGRAM) + message(STATUS "Using lld linker at ${LLD_PROGRAM}") + set(CMAKE_LINKER "${LLD_PROGRAM}") +else() + message(WARNING "lld linker not found, using default linker") +endif() + + list(APPEND CMAKE_MODULE_PATH "${catch_SOURCE_DIR}/extras") include(CTest) include(Catch) From a24e08f430bce6a236a39699acdd14d06017eb26 Mon Sep 17 00:00:00 2001 From: PanagiotisAthanasiadis Date: Mon, 15 Dec 2025 14:38:20 +0200 Subject: [PATCH 18/20] removed temp --- temp.cpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 temp.cpp diff --git a/temp.cpp b/temp.cpp deleted file mode 100644 index e69de29bb..000000000 From 6ca1d062274eee8a372f087fd50053b0c070c623 Mon Sep 17 00:00:00 2001 From: Peter Spackman Date: Tue, 13 Jan 2026 09:09:23 +0800 Subject: [PATCH 19/20] Fix gradient bug, clean up build acceleration options --- CMakeLists.txt | 49 ++++++++++++++++++-------------- src/qm/integral_engine_grad1.cpp | 4 +-- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cc0613d75..41bb1cdd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,35 +19,42 @@ endif() set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) if(SKBUILD) - set(WITH_PYTHON_BINDINGS ON) + set(WITH_PYTHON_BINDINGS ON) endif() -#Use ccache to speed up rebuilds -find_program(CCACHE_PROGRAM ccache) -if(CCACHE_PROGRAM) - message(STATUS "Found ccache in ${CCACHE_PROGRAM}") - set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") - set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") -else() - message(WARNING "ccache not found, compiling without it") -endif() +# Build acceleration options +option(WITH_CCACHE "Use ccache for faster clean rebuilds (if available)" ON) +option(WITH_UNITY_BUILD "Enable unity builds (faster clean builds, slower incremental)" OFF) -#Use lld as faster alternative to ld -find_program(LLD_PROGRAM lld) -if(LLD_PROGRAM) - message(STATUS "Using lld linker at ${LLD_PROGRAM}") - set(CMAKE_LINKER "${LLD_PROGRAM}") +# lld is faster on Linux but incompatible with Apple clang on macOS +if(NOT APPLE) + option(WITH_LLD "Use lld linker for faster linking (if available)" ON) else() - message(WARNING "lld linker not found, using default linker") + option(WITH_LLD "Use lld linker for faster linking (if available)" OFF) endif() +if(WITH_CCACHE) + find_program(CCACHE_PROGRAM ccache) + if(CCACHE_PROGRAM) + message(STATUS "Using ccache: ${CCACHE_PROGRAM}") + set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") + endif() +endif() -#Debug flags -set(CMAKE_CXX_FLAGS_DEBUG "-g -ftime-trace") +if(WITH_LLD) + find_program(LLD_PROGRAM lld) + if(LLD_PROGRAM) + message(STATUS "Using lld linker: ${LLD_PROGRAM}") + add_link_options("-fuse-ld=lld") + endif() +endif() -#Testing unity builds -set(CMAKE_UNITY_BUILD ON) -set(PROPERTIES UNITY_BUILD_BATCH_SIZE 8) +if(WITH_UNITY_BUILD) + message(STATUS "Unity builds enabled") + set(CMAKE_UNITY_BUILD ON) + set(CMAKE_UNITY_BUILD_BATCH_SIZE 8) +endif() if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) include(CTest) diff --git a/src/qm/integral_engine_grad1.cpp b/src/qm/integral_engine_grad1.cpp index fa64a1dcd..5eca23259 100644 --- a/src/qm/integral_engine_grad1.cpp +++ b/src/qm/integral_engine_grad1.cpp @@ -232,7 +232,7 @@ coulomb_kernel_grad(cint::IntegralEnvironment &env, const AOBasis &basis, }; occ::timing::start(occ::timing::category::fock); - detail::evaluate_four_center_tbb( + detail::gradient_evaluate_four_center_tbb( f, env, basis, shellpairs, Dnorm, Schwarz, precision); occ::timing::stop(occ::timing::category::fock); @@ -337,7 +337,7 @@ JKTriple coulomb_exchange_kernel_grad(IntEnv &env, const AOBasis &basis, }; occ::timing::start(occ::timing::category::fock); - detail::evaluate_four_center_tbb( + detail::gradient_evaluate_four_center_tbb( f, env, basis, shellpairs, Dnorm, Schwarz, precision); occ::timing::stop(occ::timing::category::fock); From 4ec8c863381d45dbc65a0d4502615bbfd8ea3523 Mon Sep 17 00:00:00 2001 From: Peter Spackman Date: Tue, 13 Jan 2026 09:30:13 +0800 Subject: [PATCH 20/20] Remove accidental test file --- test commit | 1 - 1 file changed, 1 deletion(-) delete mode 100644 test commit diff --git a/test commit b/test commit deleted file mode 100644 index 9059ffcb5..000000000 --- a/test commit +++ /dev/null @@ -1 +0,0 @@ -test commit on branch \ No newline at end of file