diff --git a/src/integrals/integrals_mm.cpp b/src/integrals/integrals_mm.cpp index 691d7c78..936e8c16 100644 --- a/src/integrals/integrals_mm.cpp +++ b/src/integrals/integrals_mm.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "ao_integrals/ao_integrals.hpp" +#include "libint/libint.hpp" #include namespace integrals { @@ -30,7 +30,7 @@ void set_defaults(pluginplay::ModuleManager& mm) { } void load_modules(pluginplay::ModuleManager& mm) { - ao_integrals::load_ao_integrals(mm); + libint::load_libint(mm); set_defaults(mm); } diff --git a/src/integrals/ao_integrals/detail_/get_basis_sets.hpp b/src/integrals/libint/detail_/get_basis_sets.hpp similarity index 96% rename from src/integrals/ao_integrals/detail_/get_basis_sets.hpp rename to src/integrals/libint/detail_/get_basis_sets.hpp index 8263eb85..9e69bcf4 100644 --- a/src/integrals/ao_integrals/detail_/get_basis_sets.hpp +++ b/src/integrals/libint/detail_/get_basis_sets.hpp @@ -18,7 +18,7 @@ #include "make_libint_basis_set.hpp" #include -namespace integrals::ao_integrals::detail_ { +namespace integrals::libint::detail_ { /** @brief Deterimine how many basis sets are in the Bra and Ket. * @@ -78,4 +78,4 @@ std::vector get_basis_sets(const BraType& bra, return basis_sets; } -} // namespace integrals::ao_integrals::detail_ +} // namespace integrals::libint::detail_ diff --git a/src/integrals/ao_integrals/detail_/libint_op.hpp b/src/integrals/libint/detail_/libint_op.hpp similarity index 93% rename from src/integrals/ao_integrals/detail_/libint_op.hpp rename to src/integrals/libint/detail_/libint_op.hpp index f7f74142..9e1429f8 100644 --- a/src/integrals/ao_integrals/detail_/libint_op.hpp +++ b/src/integrals/libint/detail_/libint_op.hpp @@ -18,7 +18,7 @@ #include #include -namespace integrals::ao_integrals::detail_ { +namespace integrals::libint::detail_ { template struct LibintOp; @@ -46,4 +46,4 @@ struct LibintOp { template static constexpr auto op_v = detail_::LibintOp::value; -} // namespace integrals::ao_integrals::detail_ +} // namespace integrals::libint::detail_ diff --git a/src/integrals/ao_integrals/detail_/make_engine.hpp b/src/integrals/libint/detail_/make_engine.hpp similarity index 94% rename from src/integrals/ao_integrals/detail_/make_engine.hpp rename to src/integrals/libint/detail_/make_engine.hpp index 19b9f2fe..1ae89c89 100644 --- a/src/integrals/ao_integrals/detail_/make_engine.hpp +++ b/src/integrals/libint/detail_/make_engine.hpp @@ -19,7 +19,7 @@ #include #include -namespace integrals::ao_integrals::detail_ { +namespace integrals::libint::detail_ { /** @brief Constructs a Libint engine. * @@ -34,7 +34,7 @@ template auto make_engine(const std::vector& bases, const OpType& op, double thresh, std::size_t deriv = 0) { // Variables for engine construction - constexpr auto libint_op = integrals::ao_integrals::detail_::op_v; + constexpr auto libint_op = integrals::libint::detail_::op_v; auto max_nprims = libint2::max_nprim(bases[0]); auto max_l = libint2::max_l(bases[0]); @@ -85,4 +85,4 @@ void run_engine_(libint2::Engine& engine, engine.compute(bases[Is][shells[Is]]...); } -} // namespace integrals::ao_integrals::detail_ +} // namespace integrals::libint::detail_ diff --git a/src/integrals/ao_integrals/detail_/make_libint_basis_set.hpp b/src/integrals/libint/detail_/make_libint_basis_set.hpp similarity index 97% rename from src/integrals/ao_integrals/detail_/make_libint_basis_set.hpp rename to src/integrals/libint/detail_/make_libint_basis_set.hpp index 2baa6597..d9b7fdf4 100644 --- a/src/integrals/ao_integrals/detail_/make_libint_basis_set.hpp +++ b/src/integrals/libint/detail_/make_libint_basis_set.hpp @@ -21,7 +21,7 @@ #include #include -namespace integrals::ao_integrals::detail_ { +namespace integrals::libint::detail_ { /** @brief Converts an NWX basis set object to a LibInt2 basis set object. * @@ -87,4 +87,4 @@ inline auto make_libint_basis_set(const simde::type::ao_basis_set& bs) { return basis_t(centers, element_bases); } -} // namespace integrals::ao_integrals::detail_ +} // namespace integrals::libint::detail_ diff --git a/src/integrals/ao_integrals/detail_/shells2ord.hpp b/src/integrals/libint/detail_/shells2ord.hpp similarity index 96% rename from src/integrals/ao_integrals/detail_/shells2ord.hpp rename to src/integrals/libint/detail_/shells2ord.hpp index b26f1c4b..20cdce39 100644 --- a/src/integrals/ao_integrals/detail_/shells2ord.hpp +++ b/src/integrals/libint/detail_/shells2ord.hpp @@ -18,7 +18,7 @@ #include #include -namespace integrals::ao_integrals::detail_ { +namespace integrals::libint::detail_ { /** @brief Find the ordinal indices spanned by the shell * @@ -71,4 +71,4 @@ inline auto shells2ord(const std::vector& bases, return ords; } -} // namespace integrals::ao_integrals::detail_ +} // namespace integrals::libint::detail_ diff --git a/src/integrals/ao_integrals/ao_integrals.cpp b/src/integrals/libint/libint.cpp similarity index 74% rename from src/integrals/ao_integrals/ao_integrals.cpp rename to src/integrals/libint/libint.cpp index 8d66aaeb..cad962dd 100644 --- a/src/integrals/ao_integrals/ao_integrals.cpp +++ b/src/integrals/libint/libint.cpp @@ -14,16 +14,16 @@ * limitations under the License. */ #include "../uncertain_types.hpp" -#include "ao_integrals.hpp" #include "detail_/get_basis_sets.hpp" #include "detail_/libint_op.hpp" #include "detail_/make_engine.hpp" #include "detail_/make_libint_basis_set.hpp" #include "detail_/shells2ord.hpp" -#include "lib_int_visitor.hpp" +#include "libint.hpp" +#include "libint_visitor.hpp" #include -namespace integrals::ao_integrals { +namespace integrals::libint { namespace { template @@ -61,7 +61,7 @@ auto fill_tensor(const std::vector& basis_sets, auto b = build_eigen_buffer(basis_sets, thresh); // Make libint engine - LibIntVisitor visitor(basis_sets, thresh); + LibintVisitor visitor(basis_sets, thresh); op.visit(visitor); auto engine = visitor.engine(); const auto& buf = engine.results(); @@ -99,7 +99,7 @@ auto fill_tensor(const std::vector& basis_sets, } // namespace template -TEMPLATED_MODULE_CTOR(AOIntegral, BraKetType) { +TEMPLATED_MODULE_CTOR(Libint, BraKetType) { using my_pt = simde::EvaluateBraKet; satisfies_property_type(); description("Driver for computing integrals with Libint"); @@ -113,7 +113,7 @@ TEMPLATED_MODULE_CTOR(AOIntegral, BraKetType) { } template -TEMPLATED_MODULE_RUN(AOIntegral, BraKetType) { +TEMPLATED_MODULE_RUN(Libint, BraKetType) { using my_pt = simde::EvaluateBraKet; const auto& [braket] = my_pt::unwrap_inputs(inputs); @@ -142,38 +142,42 @@ TEMPLATED_MODULE_RUN(AOIntegral, BraKetType) { return my_pt::wrap_results(rv, t); } -#define AOI(bra, op, ket) AOIntegral> -#define EXTERN_AOI(bra, op, ket) template struct AOI(bra, op, ket) -#define LOAD_AOI(bra, op, ket, key) mm.add_module(key) - -EXTERN_AOI(aos, op_base_type, aos); -EXTERN_AOI(aos, op_base_type, aos_squared); -EXTERN_AOI(aos_squared, op_base_type, aos_squared); -EXTERN_AOI(aos, s_e_type, aos); -EXTERN_AOI(aos, t_e_type, aos); -EXTERN_AOI(aos, v_en_type, aos); -EXTERN_AOI(aos, v_ee_type, aos); -EXTERN_AOI(aos, v_ee_type, aos_squared); -EXTERN_AOI(aos_squared, v_ee_type, aos_squared); - -void ao_integrals_set_defaults(pluginplay::ModuleManager& mm) { +#define LIBINT(bra, op, ket) Libint> +#define EXTERN_LIBINT(bra, op, ket) template struct LIBINT(bra, op, ket) + +EXTERN_LIBINT(aos, op_base_type, aos); +EXTERN_LIBINT(aos, op_base_type, aos_squared); +EXTERN_LIBINT(aos_squared, op_base_type, aos_squared); +EXTERN_LIBINT(aos, s_e_type, aos); +EXTERN_LIBINT(aos, t_e_type, aos); +EXTERN_LIBINT(aos, v_en_type, aos); +EXTERN_LIBINT(aos, v_ee_type, aos); +EXTERN_LIBINT(aos, v_ee_type, aos_squared); +EXTERN_LIBINT(aos_squared, v_ee_type, aos_squared); + +#undef EXTERN_LIBINT + +void libint_set_defaults(pluginplay::ModuleManager& mm) { // Set any default associations } -void load_ao_integrals(pluginplay::ModuleManager& mm) { - LOAD_AOI(aos, op_base_type, aos, "Evaluate 2-Index BraKet"); - LOAD_AOI(aos, op_base_type, aos_squared, "Evaluate 3-Index BraKet"); - LOAD_AOI(aos_squared, op_base_type, aos_squared, "Evaluate 4-Index BraKet"); - LOAD_AOI(aos, s_e_type, aos, "Overlap"); - LOAD_AOI(aos, t_e_type, aos, "Kinetic"); - LOAD_AOI(aos, v_en_type, aos, "Nuclear"); - LOAD_AOI(aos, v_ee_type, aos, "ERI2"); - LOAD_AOI(aos, v_ee_type, aos_squared, "ERI3"); - LOAD_AOI(aos_squared, v_ee_type, aos_squared, "ERI4"); - ao_integrals_set_defaults(mm); +#define LOAD_LIBINT(bra, op, ket, key) mm.add_module(key) + +void load_libint(pluginplay::ModuleManager& mm) { + LOAD_LIBINT(aos, op_base_type, aos, "Evaluate 2-Index BraKet"); + LOAD_LIBINT(aos, op_base_type, aos_squared, "Evaluate 3-Index BraKet"); + LOAD_LIBINT(aos_squared, op_base_type, aos_squared, + "Evaluate 4-Index BraKet"); + LOAD_LIBINT(aos, s_e_type, aos, "Overlap"); + LOAD_LIBINT(aos, t_e_type, aos, "Kinetic"); + LOAD_LIBINT(aos, v_en_type, aos, "Nuclear"); + LOAD_LIBINT(aos, v_ee_type, aos, "ERI2"); + LOAD_LIBINT(aos, v_ee_type, aos_squared, "ERI3"); + LOAD_LIBINT(aos_squared, v_ee_type, aos_squared, "ERI4"); + libint_set_defaults(mm); } -#undef AOI -#undef ADD_AOI +#undef LOAD_LIBINT +#undef LIBINT -} // namespace integrals::ao_integrals \ No newline at end of file +} // namespace integrals::libint \ No newline at end of file diff --git a/src/integrals/ao_integrals/ao_integrals.hpp b/src/integrals/libint/libint.hpp similarity index 63% rename from src/integrals/ao_integrals/ao_integrals.hpp rename to src/integrals/libint/libint.hpp index 56b5dd8a..b3f172ce 100644 --- a/src/integrals/ao_integrals/ao_integrals.hpp +++ b/src/integrals/libint/libint.hpp @@ -18,11 +18,11 @@ #include #include -/** @namespace integrals::ao_integrals +/** @namespace integrals::libint * * @brief The namespace for the modules that produce AO Integrals */ -namespace integrals::ao_integrals { +namespace integrals::libint { using simde::type::braket; @@ -40,15 +40,15 @@ using simde::type::v_en_type; * @tparam BraKetType The type of the BraKet input */ template -DECLARE_MODULE(AOIntegral); +DECLARE_MODULE(Libint); -/** @brief Load the AO integral modules into a Module Manager +/** @brief Load the libint modules into a Module Manager * * @param mm The Module Manager to load the modules into * * @throw none No throw guarantee */ -void load_ao_integrals(pluginplay::ModuleManager& mm); +void load_libint(pluginplay::ModuleManager& mm); /** @brief Set default module relationships * @@ -56,21 +56,21 @@ void load_ao_integrals(pluginplay::ModuleManager& mm); * * @throw none No throw guarantee */ -void ao_integrals_set_defaults(pluginplay::ModuleManager& mm); +void libint_set_defaults(pluginplay::ModuleManager& mm); // Forward External Template Declarations -#define EXTERN_AOI extern template struct AOIntegral +#define EXTERN_LIBINT extern template struct Libint -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; -EXTERN_AOI>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; +EXTERN_LIBINT>; -#undef EXTERN_AOI +#undef EXTERN_LIBINT -} // namespace integrals::ao_integrals +} // namespace integrals::libint diff --git a/src/integrals/ao_integrals/lib_int_visitor.hpp b/src/integrals/libint/libint_visitor.hpp similarity index 88% rename from src/integrals/ao_integrals/lib_int_visitor.hpp rename to src/integrals/libint/libint_visitor.hpp index 1ddb2564..c2c1a43f 100644 --- a/src/integrals/ao_integrals/lib_int_visitor.hpp +++ b/src/integrals/libint/libint_visitor.hpp @@ -16,16 +16,16 @@ #pragma once #include -namespace integrals::ao_integrals { +namespace integrals::libint { -class LibIntVisitor : public chemist::qm_operator::OperatorVisitor { +class LibintVisitor : public chemist::qm_operator::OperatorVisitor { public: using s_e_type = simde::type::s_e_type; using t_e_type = simde::type::t_e_type; using v_ee_type = simde::type::v_ee_type; using v_en_type = simde::type::v_en_type; - LibIntVisitor(const std::vector& bases, double thresh, + LibintVisitor(const std::vector& bases, double thresh, std::size_t deriv = 0) : m_bases(bases), m_thresh(thresh), m_deriv(deriv){}; @@ -54,4 +54,4 @@ class LibIntVisitor : public chemist::qm_operator::OperatorVisitor { libint2::Engine m_engine; }; -} // namespace integrals::ao_integrals \ No newline at end of file +} // namespace integrals::libint \ No newline at end of file diff --git a/tests/cxx/unit/integrals/ao_integrals/detail_/libint_basis_set_water.hpp b/tests/cxx/unit/integrals/libint/detail_/libint_basis_set_water.hpp similarity index 100% rename from tests/cxx/unit/integrals/ao_integrals/detail_/libint_basis_set_water.hpp rename to tests/cxx/unit/integrals/libint/detail_/libint_basis_set_water.hpp diff --git a/tests/cxx/unit/integrals/ao_integrals/detail_/test_make_libint_basis_set.cpp b/tests/cxx/unit/integrals/libint/detail_/test_make_libint_basis_set.cpp similarity index 87% rename from tests/cxx/unit/integrals/ao_integrals/detail_/test_make_libint_basis_set.cpp rename to tests/cxx/unit/integrals/libint/detail_/test_make_libint_basis_set.cpp index 016c11d1..a1a85110 100644 --- a/tests/cxx/unit/integrals/ao_integrals/detail_/test_make_libint_basis_set.cpp +++ b/tests/cxx/unit/integrals/libint/detail_/test_make_libint_basis_set.cpp @@ -15,12 +15,12 @@ */ #include "../../water_sto3g.hpp" -#include "integrals/ao_integrals/detail_/make_libint_basis_set.hpp" +#include "integrals/libint/detail_/make_libint_basis_set.hpp" #include "libint_basis_set_water.hpp" #include TEST_CASE("make_libint_basis_set") { - using integrals::ao_integrals::detail_::make_libint_basis_set; + using integrals::libint::detail_::make_libint_basis_set; auto aobs = test::water_sto3g_basis_set(); auto libint_bs = make_libint_basis_set(aobs); auto libint_corr = test::water_basis_set(); diff --git a/tests/cxx/unit/integrals/ao_integrals/detail_/test_shells2ord.cpp b/tests/cxx/unit/integrals/libint/detail_/test_shells2ord.cpp similarity index 89% rename from tests/cxx/unit/integrals/ao_integrals/detail_/test_shells2ord.cpp rename to tests/cxx/unit/integrals/libint/detail_/test_shells2ord.cpp index 911b9147..9a7f4631 100644 --- a/tests/cxx/unit/integrals/ao_integrals/detail_/test_shells2ord.cpp +++ b/tests/cxx/unit/integrals/libint/detail_/test_shells2ord.cpp @@ -14,12 +14,12 @@ * limitations under the License. */ -#include "integrals/ao_integrals/detail_/shells2ord.hpp" +#include "integrals/libint/detail_/shells2ord.hpp" #include "libint_basis_set_water.hpp" #include TEST_CASE("shells2ord") { - using integrals::ao_integrals::detail_::shells2ord; + using integrals::libint::detail_::shells2ord; auto aobs = test::water_basis_set(); std::vector basis_sets{aobs, aobs}; std::vector shells{2, 2}; diff --git a/tests/cxx/unit/integrals/ao_integrals/test_arbitrary_operator.cpp b/tests/cxx/unit/integrals/libint/test_arbitrary_operator.cpp similarity index 99% rename from tests/cxx/unit/integrals/ao_integrals/test_arbitrary_operator.cpp rename to tests/cxx/unit/integrals/libint/test_arbitrary_operator.cpp index f20d312d..1f78c0aa 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_arbitrary_operator.cpp +++ b/tests/cxx/unit/integrals/libint/test_arbitrary_operator.cpp @@ -15,7 +15,7 @@ */ #include "integrals/uncertain_types.hpp" -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" using udouble = integrals::type::uncertain_double; constexpr bool has_sigma = integrals::type::has_sigma(); diff --git a/tests/cxx/unit/integrals/ao_integrals/test_eri2.cpp b/tests/cxx/unit/integrals/libint/test_eri2.cpp similarity index 97% rename from tests/cxx/unit/integrals/ao_integrals/test_eri2.cpp rename to tests/cxx/unit/integrals/libint/test_eri2.cpp index 4204f716..d1a61bbb 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_eri2.cpp +++ b/tests/cxx/unit/integrals/libint/test_eri2.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" TEST_CASE("ERI2") { using test_pt = simde::ERI2; diff --git a/tests/cxx/unit/integrals/ao_integrals/test_eri3.cpp b/tests/cxx/unit/integrals/libint/test_eri3.cpp similarity index 97% rename from tests/cxx/unit/integrals/ao_integrals/test_eri3.cpp rename to tests/cxx/unit/integrals/libint/test_eri3.cpp index cc386cd2..ae16ebea 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_eri3.cpp +++ b/tests/cxx/unit/integrals/libint/test_eri3.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" TEST_CASE("ERI3") { using test_pt = simde::ERI3; diff --git a/tests/cxx/unit/integrals/ao_integrals/test_eri4.cpp b/tests/cxx/unit/integrals/libint/test_eri4.cpp similarity index 97% rename from tests/cxx/unit/integrals/ao_integrals/test_eri4.cpp rename to tests/cxx/unit/integrals/libint/test_eri4.cpp index 4fd4f436..c82a0628 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_eri4.cpp +++ b/tests/cxx/unit/integrals/libint/test_eri4.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" TEST_CASE("ERI4") { using test_pt = simde::ERI4; diff --git a/tests/cxx/unit/integrals/ao_integrals/test_kinetic.cpp b/tests/cxx/unit/integrals/libint/test_kinetic.cpp similarity index 97% rename from tests/cxx/unit/integrals/ao_integrals/test_kinetic.cpp rename to tests/cxx/unit/integrals/libint/test_kinetic.cpp index 3bfba42b..15bed72f 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_kinetic.cpp +++ b/tests/cxx/unit/integrals/libint/test_kinetic.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" TEST_CASE("Kinetic") { using test_pt = simde::aos_t_e_aos; diff --git a/tests/cxx/unit/integrals/ao_integrals/test_ao_integrals.hpp b/tests/cxx/unit/integrals/libint/test_libint.hpp similarity index 100% rename from tests/cxx/unit/integrals/ao_integrals/test_ao_integrals.hpp rename to tests/cxx/unit/integrals/libint/test_libint.hpp diff --git a/tests/cxx/unit/integrals/ao_integrals/test_nuclear.cpp b/tests/cxx/unit/integrals/libint/test_nuclear.cpp similarity index 97% rename from tests/cxx/unit/integrals/ao_integrals/test_nuclear.cpp rename to tests/cxx/unit/integrals/libint/test_nuclear.cpp index 5abb3cca..9cb163da 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_nuclear.cpp +++ b/tests/cxx/unit/integrals/libint/test_nuclear.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" TEST_CASE("Nuclear") { using test_pt = simde::aos_v_en_aos; diff --git a/tests/cxx/unit/integrals/ao_integrals/test_overlap.cpp b/tests/cxx/unit/integrals/libint/test_overlap.cpp similarity index 97% rename from tests/cxx/unit/integrals/ao_integrals/test_overlap.cpp rename to tests/cxx/unit/integrals/libint/test_overlap.cpp index 139e4275..190b7f2c 100644 --- a/tests/cxx/unit/integrals/ao_integrals/test_overlap.cpp +++ b/tests/cxx/unit/integrals/libint/test_overlap.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "test_ao_integrals.hpp" +#include "test_libint.hpp" TEST_CASE("Overlap") { using test_pt = simde::aos_s_e_aos;