From eacb8748e6cc8df22cc7d19d9fb7b5bc829763fa Mon Sep 17 00:00:00 2001 From: mkirsz <s1351949@sms.ed.ac.uk> Date: Sun, 9 Mar 2025 01:20:33 +0000 Subject: [PATCH] Working tadah::mlip workspace --- CMakeLists.txt | 2 + include/tadah/mlip/descriptors_calc.h | 2 +- include/tadah/mlip/descriptors_calc.hpp | 4 +- .../tadah/mlip/design_matrix/design_matrix.h | 4 +- .../functions/basis_functions/dm_bf_base.h | 2 +- .../functions/basis_functions/dm_bf_linear.h | 2 +- .../basis_functions/dm_bf_polynomial2.h | 2 +- .../functions/dm_function_base.h | 2 +- .../functions/kernels/dm_kern_all.h | 2 + .../functions/kernels/dm_kern_base.h | 2 +- .../functions/kernels/dm_kern_linear.h | 4 +- .../functions/kernels/dm_kern_lq.h | 2 +- .../functions/kernels/dm_kern_polynomial.h | 2 +- .../functions/kernels/dm_kern_quadratic.h | 2 +- .../functions/kernels/dm_kern_rbf.h | 2 +- .../functions/kernels/dm_kern_sigmoid.h | 2 +- include/tadah/mlip/models/m_all.h | 2 + include/tadah/mlip/models/m_blr.h | 38 +++++++-------- include/tadah/mlip/models/m_krr.h | 48 +++++++++---------- include/tadah/mlip/models/m_tadah_base.h | 10 ++-- include/tadah/mlip/normaliser.h | 4 +- src/dm_bf_base.cpp | 4 +- src/dm_bf_linear.cpp | 8 ++-- src/dm_bf_polynomial2.cpp | 8 ++-- src/dm_f_all.cpp | 32 ++++++------- src/dm_function_base.cpp | 2 +- src/dm_kern_base.cpp | 4 +- src/dm_kern_linear.cpp | 8 ++-- src/dm_kern_lq.cpp | 8 ++-- src/dm_kern_polynomial.cpp | 8 ++-- src/dm_kern_quadratic.cpp | 8 ++-- src/dm_kern_rbf.cpp | 8 ++-- src/dm_kern_sigmoid.cpp | 8 ++-- src/m_all.cpp | 24 +++++----- src/structure_db.cpp | 4 +- tests/test_atom.cpp | 3 ++ tests/test_dataset_readers.cpp | 2 + tests/test_structure.cpp | 2 + tests/test_structure_properties.cpp | 2 + tests/test_structure_transformations.cpp | 2 + 40 files changed, 152 insertions(+), 133 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a88da8..d2081fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,8 @@ endif() message("${TADAH} Develop build: Directory not found.") endif() endfunction() + find_directory_case_insensitive("core" "$ENV{TADAH_PATH}" DEVELOP_CORE_DIR) + set(FETCHCONTENT_SOURCE_DIR_TADAH.CORE "${DEVELOP_CORE_DIR}") find_directory_case_insensitive("models" "$ENV{TADAH_PATH}" DEVELOP_MODELS_DIR) set(FETCHCONTENT_SOURCE_DIR_TADAH.MODELS "${DEVELOP_MODELS_DIR}") endif() diff --git a/include/tadah/mlip/descriptors_calc.h b/include/tadah/mlip/descriptors_calc.h index ef8df5c..f9968f0 100644 --- a/include/tadah/mlip/descriptors_calc.h +++ b/include/tadah/mlip/descriptors_calc.h @@ -47,7 +47,7 @@ namespace mlip { * @tparam C3 Cut_Base child, three-body cutoff function. * @tparam CM Cut_Base child, many-body cutoff function. */ -template <typename D2=D2_Base&, typename D3=D3_Base&, typename DM=DM_Base&, typename C2=Cut_Base&, typename C3=Cut_Base&, typename CM=Cut_Base&> +template <typename D2=tadah::models::D2_Base&, typename D3=tadah::models::D3_Base&, typename DM=tadah::models::DM_Base&, typename C2=tadah::models::Cut_Base&, typename C3=tadah::models::Cut_Base&, typename CM=tadah::models::Cut_Base&> class DescriptorsCalc: public DC_Base { public: diff --git a/include/tadah/mlip/descriptors_calc.hpp b/include/tadah/mlip/descriptors_calc.hpp index 4f32e0e..b21a587 100644 --- a/include/tadah/mlip/descriptors_calc.hpp +++ b/include/tadah/mlip/descriptors_calc.hpp @@ -162,7 +162,7 @@ void DescriptorsCalc<D2,D3,DM,C2,C3,CM>::common_constructor() { template <typename D2, typename D3, typename DM, typename C2, typename C3, typename CM> void DescriptorsCalc<D2,D3,DM,C2,C3,CM>::calc_rho(const Structure &st, StDescriptors &st_d) { double rcut_mb_sq = pow(config.get<double>("RCUTMBMAX"),2); - tadah::core::tadah::core::rhos_type &rhos = st_d.rhos; + tadah::core::rhos_type &rhos = st_d.rhos; size_t s = dm.rhoi_size()+dm.rhoip_size(); rhos.resize(s,st.natoms()); rhos.set_zero(); @@ -336,7 +336,7 @@ void DescriptorsCalc<D2,D3,DM,C2,C3,CM>::calc_dimer(const Structure &st, StDescr // Not that this differ to how lammps implements this // TODO make it consistent between those two - Mat6R3C delM; //i1-j1,i2-j1,i1-j2,i2-j2,i1-i2,j1-j2 + tadah::core::Mat6R3C delM; //i1-j1,i2-j1,i1-j2,i2-j2,i1-i2,j1-j2 double r_sq[6]; double r[6]; diff --git a/include/tadah/mlip/design_matrix/design_matrix.h b/include/tadah/mlip/design_matrix/design_matrix.h index f886482..425ccbf 100644 --- a/include/tadah/mlip/design_matrix/design_matrix.h +++ b/include/tadah/mlip/design_matrix/design_matrix.h @@ -65,7 +65,7 @@ public: * - Stresses are scaled by 1/6. * - Energies are scaled by 1/N_i * - * @tparam F Function_Base child -> BF_Base or Kern_Base + * @tparam F tadah::models::Function_Base child -> tadah::models::BF_Base or tadah::models::Kern_Base * */ template <typename F> @@ -88,7 +88,7 @@ public: * Usage example: * \code{.cpp} * tadah::core::Config config("tadah::core::Config"); - * BF_Linear bf(config); + * tadah::models::BF_Linear bf(config); * DesignMatrix<LinearKernel> desmat(bf, config); * * \endcode diff --git a/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_base.h b/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_base.h index 56d0ef7..d5fb15b 100644 --- a/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_base.h +++ b/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_base.h @@ -11,7 +11,7 @@ namespace tadah { namespace mlip { -struct DM_BF_Base: public DM_Function_Base, public virtual BF_Base { +struct DM_BF_Base: public DM_Function_Base, public virtual tadah::models::BF_Base { DM_BF_Base(); DM_BF_Base(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_linear.h b/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_linear.h index 63cdeea..871bcc0 100644 --- a/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_linear.h +++ b/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_linear.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -struct DM_BF_Linear: public DM_BF_Base, public BF_Linear +struct DM_BF_Linear: public DM_BF_Base, public tadah::models::BF_Linear { DM_BF_Linear(); DM_BF_Linear(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_polynomial2.h b/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_polynomial2.h index 510dcfd..48f41a8 100644 --- a/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_polynomial2.h +++ b/include/tadah/mlip/design_matrix/functions/basis_functions/dm_bf_polynomial2.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -struct DM_BF_Polynomial2: public DM_BF_Base, public BF_Polynomial2 +struct DM_BF_Polynomial2: public DM_BF_Base, public tadah::models::BF_Polynomial2 { DM_BF_Polynomial2(); DM_BF_Polynomial2(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/dm_function_base.h b/include/tadah/mlip/design_matrix/functions/dm_function_base.h index 49b2581..37efe68 100644 --- a/include/tadah/mlip/design_matrix/functions/dm_function_base.h +++ b/include/tadah/mlip/design_matrix/functions/dm_function_base.h @@ -16,7 +16,7 @@ namespace tadah { namespace mlip { /** Base class for Kernels and Basis Functions */ -struct DM_Function_Base: public virtual Function_Base { +struct DM_Function_Base: public virtual tadah::models::Function_Base { // Derived classes must implement Derived() and Derived(tadah::core::Config) DM_Function_Base(); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_all.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_all.h index aa96079..ac38408 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_all.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_all.h @@ -7,3 +7,5 @@ #include <tadah/mlip/design_matrix/functions/kernels/dm_kern_quadratic.h> namespace tadah { namespace mlip { +} // namespace mlip +} // namespace tadah diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_base.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_base.h index 4f73e75..0fc6729 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_base.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_base.h @@ -19,7 +19,7 @@ namespace mlip { * - ff = force descriptor * - all derivatives are defined wrt to the second argument */ -class DM_Kern_Base: public DM_Function_Base, public virtual Kern_Base { +class DM_Kern_Base: public DM_Function_Base, public virtual tadah::models::Kern_Base { public: DM_Kern_Base(); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_linear.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_linear.h index e54041f..b3f6d71 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_linear.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_linear.h @@ -14,9 +14,9 @@ namespace mlip { * K(\mathbf{x}, \mathbf{y}) = \mathbf{x}^T \mathbf{y} = \sum_i x^{(i)} y^{(i)} * \f] * - * @see Kern_Base BF_Linear + * @see tadah::models::Kern_Base tadah::models::BF_Linear */ -class DM_Kern_Linear : public DM_Kern_Base, public Kern_Linear { +class DM_Kern_Linear : public DM_Kern_Base, public tadah::models::Kern_Linear { public: DM_Kern_Linear (); DM_Kern_Linear (const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_lq.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_lq.h index 0ad81aa..2d0c2af 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_lq.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_lq.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -class DM_Kern_LQ : public DM_Kern_Base, public Kern_LQ { +class DM_Kern_LQ : public DM_Kern_Base, public tadah::models::Kern_LQ { public: DM_Kern_LQ(); DM_Kern_LQ(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_polynomial.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_polynomial.h index 13c78e6..05911bf 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_polynomial.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_polynomial.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -class DM_Kern_Polynomial : public DM_Kern_Base, public Kern_Polynomial { +class DM_Kern_Polynomial : public DM_Kern_Base, public tadah::models::Kern_Polynomial { public: DM_Kern_Polynomial(); DM_Kern_Polynomial(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_quadratic.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_quadratic.h index de31022..c0d9e68 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_quadratic.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_quadratic.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -class DM_Kern_Quadratic : public DM_Kern_Base, public Kern_Quadratic { +class DM_Kern_Quadratic : public DM_Kern_Base, public tadah::models::Kern_Quadratic { public: DM_Kern_Quadratic(); DM_Kern_Quadratic(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_rbf.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_rbf.h index 5d349e7..6281e97 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_rbf.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_rbf.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -class DM_Kern_RBF : public DM_Kern_Base, public Kern_RBF { +class DM_Kern_RBF : public DM_Kern_Base, public tadah::models::Kern_RBF { public: DM_Kern_RBF(); DM_Kern_RBF(const tadah::core::Config &c); diff --git a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_sigmoid.h b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_sigmoid.h index bf3cc1a..bd59f45 100644 --- a/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_sigmoid.h +++ b/include/tadah/mlip/design_matrix/functions/kernels/dm_kern_sigmoid.h @@ -6,7 +6,7 @@ namespace tadah { namespace mlip { -class DM_Kern_Sigmoid : public DM_Kern_Base, public Kern_Sigmoid { +class DM_Kern_Sigmoid : public DM_Kern_Base, public tadah::models::Kern_Sigmoid { public: DM_Kern_Sigmoid(); DM_Kern_Sigmoid(const tadah::core::Config &c); diff --git a/include/tadah/mlip/models/m_all.h b/include/tadah/mlip/models/m_all.h index 2a2a344..c3a0a08 100644 --- a/include/tadah/mlip/models/m_all.h +++ b/include/tadah/mlip/models/m_all.h @@ -3,3 +3,5 @@ #include <tadah/mlip/models/m_krr.h> namespace tadah { namespace mlip { +} // namespace mlip +} // namespace tadah diff --git a/include/tadah/mlip/models/m_blr.h b/include/tadah/mlip/models/m_blr.h index b02aabe..a290b12 100644 --- a/include/tadah/mlip/models/m_blr.h +++ b/include/tadah/mlip/models/m_blr.h @@ -41,12 +41,12 @@ namespace mlip { */ template <class BF=DM_Function_Base&> -class M_BLR: public M_Tadah_Base, public M_BLR_Train<BF> { +class M_BLR: public M_Tadah_Base, public tadah::models::M_BLR_Train<BF> { public: - using M_BLR_Train<BF>::config; - using M_BLR_Train<BF>::bf; + using tadah::models::M_BLR_Train<BF>::config; + using tadah::models::M_BLR_Train<BF>::bf; /** * @brief Initializes for training or prediction using a configuration. @@ -54,14 +54,14 @@ public: * **Example**: * \code{.cpp} * tadah::core::Config config("tadah::core::Config"); - * M_BLR<BF_Linear> blr(config); + * M_BLR<tadah::models::BF_Linear> blr(config); * \endcode * * @param c Configuration object. */ M_BLR(tadah::core::Config &c): - M_BLR_Train<BF>(c), - desmat(M_BLR_Train<BF>::bf,c) + tadah::models::M_BLR_Train<BF>(c), + desmat(tadah::models::M_BLR_Train<BF>::bf,c) { norm = Normaliser(c); } @@ -73,14 +73,14 @@ public: * @param c Configuration object. */ M_BLR(BF &bf, tadah::core::Config &c): - M_BLR_Train<BF>(bf,c), + tadah::models::M_BLR_Train<BF>(bf,c), desmat(bf,c) { norm = Normaliser(c); } M_BLR(BF &bf, tadah::core::Config &c, tadah::mlip::memory::IMLIPWorkspaceManager& workspaceManager): - M_BLR_Train<BF>(bf,c,workspaceManager), + tadah::models::M_BLR_Train<BF>(bf,c,workspaceManager), desmat(bf,c,workspaceManager) { norm = Normaliser(c); @@ -140,7 +140,7 @@ public: } Structure predict(const tadah::core::Config &c, StDescriptors &std, const Structure &st) { - if(config.template get<bool>("NORM") && !std.normalised && bf.get_label()!="BF_Linear") + if(config.template get<bool>("NORM") && !std.normalised && bf.get_label()!="tadah::models::BF_Linear") norm.normalise(std); return M_Tadah_Base::predict(c,std,st); } @@ -181,7 +181,7 @@ public: StructureDB predict(tadah::core::Config config_pred, StructureDB &stdb, DC_Base &dc, tadah::core::aed_type &predicted_error) { - LinearRegressor::read_sigma(config_pred,Sigma); + tadah::models::LinearRegressor::read_sigma(config_pred,Sigma); DesignMatrix<BF> dm(bf,config_pred); // dm.scale=false; // do not scale energy, forces and stresses bool wcopy=false; @@ -273,7 +273,7 @@ private: // normalise weights such that when predict is called // we can supply it with a non-normalised descriptor tadah::core::t_type convert_to_nweights(const tadah::core::t_type &weights) const { - if(bf.get_label()!="BF_Linear") { + if(bf.get_label()!="tadah::models::BF_Linear") { throw std::runtime_error("Cannot convert weights to nweights for\n\ non linear basis function\n"); } @@ -293,7 +293,7 @@ non linear basis function\n"); } // The opposite of convert_to_nweights() tadah::core::t_type convert_to_weights(const tadah::core::t_type &nw) const { - if(bf.get_label()!="BF_Linear") { + if(bf.get_label()!="tadah::models::BF_Linear") { throw std::runtime_error("Cannot convert nweights to weights for\n\ non linear basis function\n"); } @@ -321,21 +321,21 @@ non linear basis function\n"); tadah::core::phi_type Phi = desmat.getPhi(); tadah::core::t_type T = desmat.getT(); //tadah::core::t_type &T = desmat.T; - M_BLR_Train<BF>::train(Phi,T); + tadah::models::M_BLR_Train<BF>::train(Phi,T); if (config.template get<bool>("NORM") && - bf.get_label()=="BF_Linear") { + bf.get_label()=="tadah::models::BF_Linear") { weights = convert_to_nweights(weights); } } // Do we want to confuse user with those and make them public? // Either way they must be stated as below to silence clang warning - using M_BLR_Train<BF>::predict; - using M_BLR_Train<BF>::train; - using M_BLR_Train<BF>::trained; - using M_BLR_Train<BF>::weights; - using M_BLR_Train<BF>::Sigma; + using tadah::models::M_BLR_Train<BF>::predict; + using tadah::models::M_BLR_Train<BF>::train; + using tadah::models::M_BLR_Train<BF>::trained; + using tadah::models::M_BLR_Train<BF>::weights; + using tadah::models::M_BLR_Train<BF>::Sigma; }; } // namespace mlip } // namespace tadah diff --git a/include/tadah/mlip/models/m_krr.h b/include/tadah/mlip/models/m_krr.h index d022e68..baa4960 100644 --- a/include/tadah/mlip/models/m_krr.h +++ b/include/tadah/mlip/models/m_krr.h @@ -44,7 +44,7 @@ namespace mlip { template <class K=DM_Function_Base&> class M_KRR: public M_Tadah_Base, - public M_KRR_Train<K> + public tadah::models::M_KRR_Train<K> { public: @@ -55,13 +55,13 @@ public: * **Example**: * \code{.cpp} * tadah::core::Config config("tadah::core::Config"); - * M_KRR<Kern_Linear> krr(config); + * M_KRR<tadah::models::Kern_Linear> krr(config); * \endcode * * @param c Configuration object. */ M_KRR(tadah::core::Config &c): - M_KRR_Train<K>(c), + tadah::models::M_KRR_Train<K>(c), basis(c), desmat(kernel,c) { @@ -75,7 +75,7 @@ public: * @param c Configuration object. */ M_KRR(K &kernel, tadah::core::Config &c): - M_KRR_Train<K>(kernel,c), + tadah::models::M_KRR_Train<K>(kernel,c), basis(c), desmat(kernel,c) { @@ -83,7 +83,7 @@ public: } M_KRR(K &kernel, tadah::core::Config &c, tadah::mlip::memory::IMLIPWorkspaceManager& workspaceManager): - M_KRR_Train<K>(kernel,c,workspaceManager), + tadah::models::M_KRR_Train<K>(kernel,c,workspaceManager), basis(c), desmat(kernel,c) { @@ -133,7 +133,7 @@ public: } void train1(StructureDB &stdb, DC_Base &dc) { // KRR implementation using EKM - if(config.template get<bool>("NORM") || kernel.get_label()!="Kern_Linear") { + if(config.template get<bool>("NORM") || kernel.get_label()!="tadah::models::Kern_Linear") { // either build basis or prep normaliser std::string force=config.template get<std::string>("FORCE"); std::string stress=config.template get<std::string>("STRESS"); @@ -156,7 +156,7 @@ public: config.add("FORCE", force); config.add("STRESS", stress); - if (kernel.get_label()!="Kern_Linear") { + if (kernel.get_label()!="tadah::models::Kern_Linear") { basis.build_random_basis(config.template get<size_t>("SBASIS"),st_desc_db_temp); desmat.f.set_basis(basis.b); kernel.set_basis(basis.b); @@ -190,11 +190,11 @@ public: config.add("STRESS", stress); basis.prep_basis_for_krr(st_desc_db_temp,stdb); kernel.set_basis(basis.b); - M_KRR_Train<K>::train2(basis.b, basis.T); + tadah::models::M_KRR_Train<K>::train2(basis.b, basis.T); } Structure predict(const tadah::core::Config &c, StDescriptors &std, const Structure &st) { - if(config.template get<bool>("NORM") && !std.normalised && kernel.get_label()!="Kern_Linear") + if(config.template get<bool>("NORM") && !std.normalised && kernel.get_label()!="tadah::models::Kern_Linear") norm.normalise(std); return M_Tadah_Base::predict(c,std,st); } @@ -231,7 +231,7 @@ public: c.add("NSTDEV", norm.std_dev[i]); } } - if (kernel.get_label()!="Kern_Linear") { + if (kernel.get_label()!="tadah::models::Kern_Linear") { // dump basis to the config file file // make sure keys are not accidently assigned if (c.exist("SBASIS")) @@ -251,7 +251,7 @@ public: StructureDB predict(tadah::core::Config config_pred, StructureDB &stdb, DC_Base &dc, tadah::core::aed_type &predicted_error) { - LinearRegressor::read_sigma(config_pred,Sigma); + tadah::models::LinearRegressor::read_sigma(config_pred,Sigma); DesignMatrix<K> dm(kernel,config_pred); // dm.scale=false; // do not scale energy, forces and stresses bool wcopy=false; @@ -343,12 +343,12 @@ private: DesignMatrix<K> desmat; tadah::core::t_type convert_to_nweights(const tadah::core::t_type &weights) const { - if(kernel.get_label()!="Kern_Linear") { + if(kernel.get_label()!="tadah::models::Kern_Linear") { throw std::runtime_error("Cannot convert weights to nweights for\n\ non linear kernel\n"); } tadah::core::t_type kw(weights.rows()); - if(config.template get<bool>("NORM") && kernel.get_label()=="Kern_Linear") { + if(config.template get<bool>("NORM") && kernel.get_label()=="tadah::models::Kern_Linear") { // normalise weights such that when predict is called // we can supply it with a non-normalised descriptor kw.resize(weights.rows()); @@ -368,7 +368,7 @@ non linear kernel\n"); } // The opposite of convert_to_nweights() tadah::core::t_type convert_to_weights(const tadah::core::t_type &kw) const { - if(kernel.get_label()!="Kern_Linear") { + if(kernel.get_label()!="tadah::models::Kern_Linear") { throw std::runtime_error("Cannot convert nweights to weights for\n\ non linear kernel\n"); } @@ -391,24 +391,24 @@ non linear kernel\n"); // TODO see comments in M_BLR tadah::core::phi_type Phi = desmat.getPhi(); tadah::core::t_type T = desmat.getT(); - M_KRR_Train<K>::train(Phi,T); + tadah::models::M_KRR_Train<K>::train(Phi,T); if (config.template get<bool>("NORM") && - kernel.get_label()=="Kern_Linear") { + kernel.get_label()=="tadah::models::Kern_Linear") { weights = convert_to_nweights(weights); } } // Do we want to confuse user with those and make them public? // Either way they must be stated as below to silence clang warning - using M_KRR_Train<K>::predict; - using M_KRR_Train<K>::train; - using M_KRR_Train<K>::trained; - using M_KRR_Train<K>::weights; - using M_KRR_Train<K>::Sigma; - using M_KRR_Train<K>::config; - using M_KRR_Train<K>::kernel; - using M_KRR_Train<K>::ekm; + using tadah::models::M_KRR_Train<K>::predict; + using tadah::models::M_KRR_Train<K>::train; + using tadah::models::M_KRR_Train<K>::trained; + using tadah::models::M_KRR_Train<K>::weights; + using tadah::models::M_KRR_Train<K>::Sigma; + using tadah::models::M_KRR_Train<K>::config; + using tadah::models::M_KRR_Train<K>::kernel; + using tadah::models::M_KRR_Train<K>::ekm; }; } // namespace mlip } // namespace tadah diff --git a/include/tadah/mlip/models/m_tadah_base.h b/include/tadah/mlip/models/m_tadah_base.h index 3c2b884..670dc89 100644 --- a/include/tadah/mlip/models/m_tadah_base.h +++ b/include/tadah/mlip/models/m_tadah_base.h @@ -16,8 +16,8 @@ namespace mlip { /** This interface provides functionality required from all models. */ class M_Tadah_Base: - public virtual M_Core, - public virtual M_Predict + public virtual tadah::models::M_Core, + public virtual tadah::models::M_Predict { public: @@ -26,9 +26,9 @@ public: virtual ~M_Tadah_Base() {}; /** \brief Predict total energy for a set of atoms. */ - using M_Predict::epredict; - using M_Predict::fpredict; - using M_Core::predict; + using tadah::models::M_Predict::epredict; + using tadah::models::M_Predict::fpredict; + using tadah::models::M_Core::predict; double epredict(const StDescriptors &std); ///** \brief Predict force between a pair of atoms in a k-direction. */ diff --git a/include/tadah/mlip/normaliser.h b/include/tadah/mlip/normaliser.h index 5088935..c5631e7 100644 --- a/include/tadah/mlip/normaliser.h +++ b/include/tadah/mlip/normaliser.h @@ -11,7 +11,9 @@ namespace tadah { namespace mlip { -class Normaliser: public Normaliser_Core { +using tadah::core::operator<<; + +class Normaliser: public tadah::core::Normaliser_Core { public: using Normaliser_Core::normalise; diff --git a/src/dm_bf_base.cpp b/src/dm_bf_base.cpp index 11a6587..ab800c4 100644 --- a/src/dm_bf_base.cpp +++ b/src/dm_bf_base.cpp @@ -5,8 +5,8 @@ namespace tadah { namespace mlip { DM_BF_Base::DM_BF_Base() {} DM_BF_Base::DM_BF_Base(const tadah::core::Config &c): - Function_Base(c), - BF_Base(c), + tadah::models::Function_Base(c), + tadah::models::BF_Base(c), DM_Function_Base(c) {} DM_BF_Base::~DM_BF_Base() {} } // namespace mlip diff --git a/src/dm_bf_linear.cpp b/src/dm_bf_linear.cpp index 5fd5f13..10e095e 100644 --- a/src/dm_bf_linear.cpp +++ b/src/dm_bf_linear.cpp @@ -2,14 +2,14 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_BF_Linear> DM_BF_Linear_1( "BF_Linear" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Linear> DM_BF_Linear_2( "BF_Linear" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_BF_Linear> DM_BF_Linear_1( "tadah::models::BF_Linear" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Linear> DM_BF_Linear_2( "tadah::models::BF_Linear" ); DM_BF_Linear::DM_BF_Linear() {} DM_BF_Linear::DM_BF_Linear(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_BF_Base(c), - BF_Linear(c) + tadah::models::BF_Linear(c) {} size_t DM_BF_Linear::get_phi_cols(const tadah::core::Config &config) { diff --git a/src/dm_bf_polynomial2.cpp b/src/dm_bf_polynomial2.cpp index 0dfc14a..78af190 100644 --- a/src/dm_bf_polynomial2.cpp +++ b/src/dm_bf_polynomial2.cpp @@ -4,14 +4,14 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_1( "BF_Polynomial2" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_2( "BF_Polynomial2" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_1( "tadah::models::BF_Polynomial2" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_2( "tadah::models::BF_Polynomial2" ); DM_BF_Polynomial2::DM_BF_Polynomial2() {} DM_BF_Polynomial2::DM_BF_Polynomial2(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_BF_Base(c), - BF_Polynomial2(c) + tadah::models::BF_Polynomial2(c) {} size_t DM_BF_Polynomial2::get_phi_cols(const tadah::core::Config &config) { diff --git a/src/dm_f_all.cpp b/src/dm_f_all.cpp index 6faeda6..4730cd6 100644 --- a/src/dm_f_all.cpp +++ b/src/dm_f_all.cpp @@ -6,22 +6,22 @@ template<> tadah::core::Registry<DM_Function_Base>::Map tadah::core::Registry<DM template<> tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Map tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::registry{}; -tadah::core::Registry<DM_Function_Base>::Register<DM_BF_Linear> DM_BF_Linear_1( "BF_Linear" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Linear> DM_BF_Linear_2( "BF_Linear" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_1( "BF_Polynomial2" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_2( "BF_Polynomial2" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Linear> DM_Kern_Linear_1( "Kern_Linear" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Linear> DM_Kern_Linear_2( "Kern_Linear" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_LQ> DM_Kern_LQ_1( "Kern_LQ" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_LQ> DM_Kern_LQ_2( "Kern_LQ" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_1( "Kern_Polynomial" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_2( "Kern_Polynomial" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_1( "Kern_Quadratic" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_2( "Kern_Quadratic" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_RBF> DM_Kern_RBF_1( "Kern_RBF" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_RBF> DM_Kern_RBF_2( "Kern_RBF" ); -tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_1( "Kern_Sigmoid" ); -tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_2( "Kern_Sigmoid" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_BF_Linear> DM_BF_Linear_1( "tadah::models::BF_Linear" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Linear> DM_BF_Linear_2( "tadah::models::BF_Linear" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_1( "tadah::models::BF_Polynomial2" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_BF_Polynomial2> DM_BF_Polynomial2_2( "tadah::models::BF_Polynomial2" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Linear> DM_Kern_Linear_1( "tadah::models::Kern_Linear" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Linear> DM_Kern_Linear_2( "tadah::models::Kern_Linear" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_LQ> DM_Kern_LQ_1( "tadah::models::Kern_LQ" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_LQ> DM_Kern_LQ_2( "tadah::models::Kern_LQ" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_1( "tadah::models::Kern_Polynomial" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_2( "tadah::models::Kern_Polynomial" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_1( "tadah::models::Kern_Quadratic" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_2( "tadah::models::Kern_Quadratic" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_RBF> DM_Kern_RBF_1( "tadah::models::Kern_RBF" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_RBF> DM_Kern_RBF_2( "tadah::models::Kern_RBF" ); +tadah::core::Registry<DM_Function_Base>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_1( "tadah::models::Kern_Sigmoid" ); +tadah::core::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_2( "tadah::models::Kern_Sigmoid" ); } // namespace mlip } // namespace tadah diff --git a/src/dm_function_base.cpp b/src/dm_function_base.cpp index 72490e2..0e03343 100644 --- a/src/dm_function_base.cpp +++ b/src/dm_function_base.cpp @@ -3,7 +3,7 @@ namespace tadah { namespace mlip { DM_Function_Base::DM_Function_Base() {} -DM_Function_Base::DM_Function_Base(const tadah::core::Config &c): Function_Base(c) {} +DM_Function_Base::DM_Function_Base(const tadah::core::Config &c): tadah::models::Function_Base(c) {} DM_Function_Base::~DM_Function_Base() {} } // namespace mlip } // namespace tadah diff --git a/src/dm_kern_base.cpp b/src/dm_kern_base.cpp index 0c32977..444a810 100644 --- a/src/dm_kern_base.cpp +++ b/src/dm_kern_base.cpp @@ -8,8 +8,8 @@ namespace mlip { DM_Kern_Base::~DM_Kern_Base() {} DM_Kern_Base::DM_Kern_Base() {} DM_Kern_Base::DM_Kern_Base(const tadah::core::Config &c): - Function_Base(c), - Kern_Base(c), + tadah::models::Function_Base(c), + tadah::models::Kern_Base(c), DM_Function_Base(c) {} size_t DM_Kern_Base::get_phi_cols(const tadah::core::Config &) { diff --git a/src/dm_kern_linear.cpp b/src/dm_kern_linear.cpp index 3390526..225803e 100644 --- a/src/dm_kern_linear.cpp +++ b/src/dm_kern_linear.cpp @@ -3,14 +3,14 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Linear> DM_Kern_Linear_1( "Kern_Linear" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Linear> DM_Kern_Linear_2( "Kern_Linear" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Linear> DM_Kern_Linear_1( "tadah::models::Kern_Linear" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Linear> DM_Kern_Linear_2( "tadah::models::Kern_Linear" ); DM_Kern_Linear::DM_Kern_Linear() {} DM_Kern_Linear::DM_Kern_Linear (const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_Kern_Base(c), - Kern_Linear(c) + tadah::models::Kern_Linear(c) {} size_t DM_Kern_Linear::get_phi_cols(const tadah::core::Config &config) { diff --git a/src/dm_kern_lq.cpp b/src/dm_kern_lq.cpp index d9be686..3006e46 100644 --- a/src/dm_kern_lq.cpp +++ b/src/dm_kern_lq.cpp @@ -4,15 +4,15 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_LQ> DM_Kern_LQ_1( "Kern_LQ" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_LQ> DM_Kern_LQ_2( "Kern_LQ" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_LQ> DM_Kern_LQ_1( "tadah::models::Kern_LQ" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_LQ> DM_Kern_LQ_2( "tadah::models::Kern_LQ" ); DM_Kern_LQ::DM_Kern_LQ() {} DM_Kern_LQ::DM_Kern_LQ(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_Kern_Base(c), - Kern_LQ(c) + tadah::models::Kern_LQ(c) {} } // namespace mlip } // namespace tadah diff --git a/src/dm_kern_polynomial.cpp b/src/dm_kern_polynomial.cpp index b2d1c7d..e79844d 100644 --- a/src/dm_kern_polynomial.cpp +++ b/src/dm_kern_polynomial.cpp @@ -2,15 +2,15 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_1( "Kern_Polynomial" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_2( "Kern_Polynomial" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_1( "tadah::models::Kern_Polynomial" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_2( "tadah::models::Kern_Polynomial" ); DM_Kern_Polynomial::DM_Kern_Polynomial() {} DM_Kern_Polynomial::DM_Kern_Polynomial(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_Kern_Base(c), - Kern_Polynomial(c) + tadah::models::Kern_Polynomial(c) {} } // namespace mlip } // namespace tadah diff --git a/src/dm_kern_quadratic.cpp b/src/dm_kern_quadratic.cpp index b8a1efe..aafbf8b 100644 --- a/src/dm_kern_quadratic.cpp +++ b/src/dm_kern_quadratic.cpp @@ -3,15 +3,15 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_1( "Kern_Quadratic" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_2( "Kern_Quadratic" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_1( "tadah::models::Kern_Quadratic" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_2( "tadah::models::Kern_Quadratic" ); DM_Kern_Quadratic::DM_Kern_Quadratic() {} DM_Kern_Quadratic::DM_Kern_Quadratic(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_Kern_Base(c), - Kern_Quadratic(c) + tadah::models::Kern_Quadratic(c) {} } // namespace mlip } // namespace tadah diff --git a/src/dm_kern_rbf.cpp b/src/dm_kern_rbf.cpp index 4489073..6ce20d4 100644 --- a/src/dm_kern_rbf.cpp +++ b/src/dm_kern_rbf.cpp @@ -2,15 +2,15 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_RBF> DM_Kern_RBF_1( "Kern_RBF" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_RBF> DM_Kern_RBF_2( "Kern_RBF" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_RBF> DM_Kern_RBF_1( "tadah::models::Kern_RBF" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_RBF> DM_Kern_RBF_2( "tadah::models::Kern_RBF" ); DM_Kern_RBF::DM_Kern_RBF() {} DM_Kern_RBF::DM_Kern_RBF(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_Kern_Base(c), - Kern_RBF(c) + tadah::models::Kern_RBF(c) {} } // namespace mlip } // namespace tadah diff --git a/src/dm_kern_sigmoid.cpp b/src/dm_kern_sigmoid.cpp index fb1482c..2304227 100644 --- a/src/dm_kern_sigmoid.cpp +++ b/src/dm_kern_sigmoid.cpp @@ -2,15 +2,15 @@ namespace tadah { namespace mlip { -//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_1( "Kern_Sigmoid" ); -//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_2( "Kern_Sigmoid" ); +//CONFIG::Registry<DM_Function_Base>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_1( "tadah::models::Kern_Sigmoid" ); +//CONFIG::Registry<DM_Function_Base,tadah::core::Config&>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_2( "tadah::models::Kern_Sigmoid" ); DM_Kern_Sigmoid::DM_Kern_Sigmoid() {} DM_Kern_Sigmoid::DM_Kern_Sigmoid(const tadah::core::Config &c): - Function_Base(c), + tadah::models::Function_Base(c), DM_Kern_Base(c), - Kern_Sigmoid(c) + tadah::models::Kern_Sigmoid(c) {} } // namespace mlip } // namespace tadah diff --git a/src/m_all.cpp b/src/m_all.cpp index 6ddcebe..783da52 100644 --- a/src/m_all.cpp +++ b/src/m_all.cpp @@ -5,24 +5,24 @@ namespace tadah { namespace mlip { template<> -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::Map -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::registry{}; +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::Map +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::registry{}; -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::Register<M_KRR<>> M_KRR_1("M_KRR"); -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::Register<M_BLR<>> M_BLR_1("M_BLR"); +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::Register<M_KRR<>> M_KRR_1("M_KRR"); +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&>::Register<M_BLR<>> M_BLR_1("M_BLR"); /*template<>*/ -/*CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::Map*/ -/*CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::registry{};*/ +/*tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::Map*/ +/*tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::registry{};*/ /**/ -/*CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::Register<M_BLR<>> M_BLR_2("M_BLR");*/ -/*CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::Register<M_KRR<>> M_KRR_2("M_KRR");*/ +/*tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::Register<M_BLR<>> M_BLR_2("M_BLR");*/ +/*tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::models::memory::IModelsWorkspaceManager&>::Register<M_KRR<>> M_KRR_2("M_KRR");*/ template<> -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::Map -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::registry{}; +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::Map +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::registry{}; -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::Register<M_BLR<>> M_BLR_3("M_BLR"); -CONFIG::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::Register<M_KRR<>> M_KRR_3("M_KRR"); +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::Register<M_BLR<>> M_BLR_3("M_BLR"); +tadah::core::Registry<M_Tadah_Base, DM_Function_Base&, tadah::core::Config&, tadah::mlip::memory::IMLIPWorkspaceManager&>::Register<M_KRR<>> M_KRR_3("M_KRR"); } // namespace mlip } // namespace tadah diff --git a/src/structure_db.cpp b/src/structure_db.cpp index 7028155..16dbc7e 100644 --- a/src/structure_db.cpp +++ b/src/structure_db.cpp @@ -283,9 +283,9 @@ void StructureDB::dump_to_file(const std::string& filepath, bool append, size_t } std::string StructureDB::summary() const { - std::string str = "# of structures : " + to_string(structures.size()); + std::string str = "# of structures : " + std::to_string(structures.size()); - str += " | # of atoms : " + to_string(calc_natoms()); + str += " | # of atoms : " + std::to_string(calc_natoms()); str += " | Elements : "; std::set<tadah::core::Element> ue = get_unique_elements(); diff --git a/tests/test_atom.cpp b/tests/test_atom.cpp index fb60b03..fb9b639 100644 --- a/tests/test_atom.cpp +++ b/tests/test_atom.cpp @@ -3,6 +3,9 @@ #include <tadah/mlip/atom.h> #include <string> +using namespace tadah::core; +using namespace tadah::mlip; + char symbol1[]="Ti"; int Z1 = 22; diff --git a/tests/test_dataset_readers.cpp b/tests/test_dataset_readers.cpp index 430bd3d..30e65ce 100644 --- a/tests/test_dataset_readers.cpp +++ b/tests/test_dataset_readers.cpp @@ -10,6 +10,8 @@ #include <vector> namespace fs = std::filesystem; +using namespace tadah::core; +using namespace tadah::mlip; // Function to list all files in a directory std::vector<std::string> get_all_files(const std::string& directory) { diff --git a/tests/test_structure.cpp b/tests/test_structure.cpp index 0b890d5..9d6059d 100644 --- a/tests/test_structure.cpp +++ b/tests/test_structure.cpp @@ -4,6 +4,8 @@ #include <tadah/mlip/atom.h> #include <tadah/mlip/structure.h> +using namespace tadah::core; +using namespace tadah::mlip; // Conversion factor from eV/A^3 to kbar; double fac = 1602.1766208; diff --git a/tests/test_structure_properties.cpp b/tests/test_structure_properties.cpp index bddbfaf..9af9f8e 100644 --- a/tests/test_structure_properties.cpp +++ b/tests/test_structure_properties.cpp @@ -4,6 +4,8 @@ #include <tadah/mlip/atom.h> #include <tadah/core/periodic_table.h> +using namespace tadah::core; +using namespace tadah::mlip; // Helper to create an element from symbol static Element makeElement(const std::string& sym) { return PeriodicTable::find_by_symbol(sym); diff --git a/tests/test_structure_transformations.cpp b/tests/test_structure_transformations.cpp index b147320..cad23c4 100644 --- a/tests/test_structure_transformations.cpp +++ b/tests/test_structure_transformations.cpp @@ -10,6 +10,8 @@ #include <vector> #include <iostream> +using namespace tadah::core; +using namespace tadah::mlip; // Helper function to build a simple 2×2×2 box with two atoms. static Structure makeSimpleStructure() { -- GitLab