diff --git a/include/tadah/mlip/dataset_readers/castep_castep_reader.h b/include/tadah/mlip/dataset_readers/castep_castep_reader.h index db0db0143353ca811055bcf8df99f16bc353dd43..794a1144c29a4ed44c7c5abf65a88e26dc90f68c 100644 --- a/include/tadah/mlip/dataset_readers/castep_castep_reader.h +++ b/include/tadah/mlip/dataset_readers/castep_castep_reader.h @@ -74,6 +74,7 @@ public: * @brief Prints a summary of the parsed .castep data. */ virtual void print_summary() const override; + virtual std::string get_summary() const override; protected: std::string raw_data_; /**< Stores raw file data */ diff --git a/include/tadah/mlip/dataset_readers/castep_md_reader.h b/include/tadah/mlip/dataset_readers/castep_md_reader.h index 147f54d366b75dd50fd8fc2ea24533a8bb06ef5e..8ef93cff2537900fe1d137b8bc354d7cdc315a6f 100644 --- a/include/tadah/mlip/dataset_readers/castep_md_reader.h +++ b/include/tadah/mlip/dataset_readers/castep_md_reader.h @@ -67,6 +67,7 @@ public: * @brief Prints a summary of the parsed .md data. */ virtual void print_summary() const override; + virtual std::string get_summary() const override; /** * @brief Checks if a string ends with a given suffix. @@ -107,8 +108,9 @@ protected: double T = 0; /**< Temperature in atomic units (Hartree/k_B) */ bool stress_tensor_bool = false; /**< Indicates presence of a stress tensor */ - virtual std::string get_first_label(std::string &); - virtual std::string get_label(std::string &); +private: + virtual std::string get_first_label(std::string &) override; + virtual std::string get_label(std::string &) override; }; diff --git a/include/tadah/mlip/dataset_readers/dataset_reader.h b/include/tadah/mlip/dataset_readers/dataset_reader.h index ccf4030e89778a5493fa237a092e12eaf51ef388..a83ab7e012fdfd8d4a1ef77edad4ad0b6d9ae529 100644 --- a/include/tadah/mlip/dataset_readers/dataset_reader.h +++ b/include/tadah/mlip/dataset_readers/dataset_reader.h @@ -41,7 +41,7 @@ public: virtual void parse_data() = 0; /** - * @brief Prints or returns a summary of the data. + * @brief Prints a summary of the data. * * This pure virtual function must be implemented by derived classes * to provide a summary of the dataset. @@ -50,6 +50,16 @@ public: */ virtual void print_summary() const = 0; + /** + * @brief Returns a summary of the data. + * + * This pure virtual function must be implemented by derived classes + * to provide a summary of the dataset. + * + * @param stdb Reference to a StructureDB object for data summary. + */ + virtual std::string get_summary() const = 0; + /** * @brief Constructor initializing the reference. * @@ -69,5 +79,8 @@ public: protected: StructureDB& stdb; /**< Reference to store parsed data. */ std::string filename; /**< Filename for data reading. */ +private: + virtual std::string get_first_label(std::string &); + virtual std::string get_label(std::string &); }; #endif // DATASET_READER_H diff --git a/include/tadah/mlip/dataset_readers/dataset_reader_selector.h b/include/tadah/mlip/dataset_readers/dataset_reader_selector.h new file mode 100644 index 0000000000000000000000000000000000000000..9c4808b416a9469d2b562883faa815a9f0b499bb --- /dev/null +++ b/include/tadah/mlip/dataset_readers/dataset_reader_selector.h @@ -0,0 +1,34 @@ +#ifndef DATASET_READER_SELECTOR_H +#define DATASET_READER_SELECTOR_H + +#include <tadah/mlip/structure_db.h> +#include <tadah/mlip/dataset_readers/dataset_reader.h> +#include <string> +#include <memory> + +/** + * @class DatasetReaderSelector + * @brief Selects the appropriate DatasetReader based on file type. + */ +class DatasetReaderSelector { +public: + /** + * @brief Factory method to create specific DatasetReader objects. + * + * @param type The type of the dataset reader to create. + * @param db Reference to a StructureDB object to store parsed data. + * @return A unique pointer to a DatasetReader object. + */ + static std::unique_ptr<DatasetReader> get_reader(const std::string& type, StructureDB& db); + + /** + * @brief Determines the file type based on its content. + * + * @param filepath File path to check the content. + * @return A string representing the detected file type. + */ + static std::string determine_file_type_by_content(const std::string& filepath); + +}; + +#endif // DATASET_READER_SELECTOR_H diff --git a/include/tadah/mlip/dataset_readers/vasp_outcar_reader.h b/include/tadah/mlip/dataset_readers/vasp_outcar_reader.h index 81b4e6f772b3aed8e5cccc8764b35474f2e123c7..b5bc0644fd5e30e7faef4d08d62499f4ffe0e8c6 100644 --- a/include/tadah/mlip/dataset_readers/vasp_outcar_reader.h +++ b/include/tadah/mlip/dataset_readers/vasp_outcar_reader.h @@ -68,10 +68,12 @@ public: * * @param stdb Reference to a StructureDB object for data summary. */ - void print_summary() const override; + virtual void print_summary() const override; + virtual std::string get_summary() const override; private: std::string raw_data_; // Stores raw file data + double s_conv = 6.241509074e-4; // kbar -> eV/A^3 }; #endif // VASP_OUTCAR_READER_H diff --git a/include/tadah/mlip/dataset_readers/vasp_vasprun_reader.h b/include/tadah/mlip/dataset_readers/vasp_vasprun_reader.h index 589d8d3995a5e9e0a63c45abb6d705a0deba278c..b43e279f822909b7a0660d0c5d1274824f863384 100644 --- a/include/tadah/mlip/dataset_readers/vasp_vasprun_reader.h +++ b/include/tadah/mlip/dataset_readers/vasp_vasprun_reader.h @@ -84,7 +84,8 @@ public: * * Uses the parsed data stored in the StructureDB to provide a summary. */ - void print_summary() const override; + virtual void print_summary() const override; + virtual std::string get_summary() const override; protected: /** @@ -159,6 +160,7 @@ protected: private: Structure _s; ///< Internal structure representation. bool stress_tensor_bool = false; ///< Flag indicating stress tensor presence. + double s_conv = 6.241509074e-4; // kbar -> eV/A^3 }; #endif // VASP_VASPRUN_READER_H diff --git a/include/tadah/mlip/descriptors_calc.hpp b/include/tadah/mlip/descriptors_calc.hpp index 74b4b91b5b922d12ae501d2ff0b9de27d9fdf884..7cf86c1a321cdc794a57d2d1ef2067b070595509 100644 --- a/include/tadah/mlip/descriptors_calc.hpp +++ b/include/tadah/mlip/descriptors_calc.hpp @@ -443,7 +443,9 @@ template <typename D2, typename D3, typename DM, typename C2, typename C3, typen StDescriptorsDB DescriptorsCalc<D2,D3,DM,C2,C3,CM>::calc(const StructureDB &stdb) { StDescriptorsDB st_desc_db(stdb, config); -#pragma omp parallel for +#ifdef _OPENMP + #pragma omp parallel for +#endif for(size_t i=0; i<stdb.size(); ++i) if (config.get<bool>("DIMER",0)) calc_dimer(stdb(i),st_desc_db(i)); diff --git a/include/tadah/mlip/design_matrix/design_matrix.h b/include/tadah/mlip/design_matrix/design_matrix.h index 3f87b5fec3bb6b1188e33da264b93ab0af37c2d2..0289b7a61a3c6ccd522d3bd38419509924968b84 100644 --- a/include/tadah/mlip/design_matrix/design_matrix.h +++ b/include/tadah/mlip/design_matrix/design_matrix.h @@ -11,15 +11,15 @@ class DesignMatrixBase { - public: - static int phi_rows_num(Config &c, int nstruct_tot, int natoms_tot) { - bool force = c.get<bool>("FORCE"); - bool stress = c.get<bool>("STRESS"); - int rows = nstruct_tot; - if (stress) rows += 6*nstruct_tot; - if (force) rows += 3*natoms_tot; - return rows; - } +public: + static int phi_rows_num(Config &c, int nstruct_tot, int natoms_tot) { + bool force = c.get<bool>("FORCE"); + bool stress = c.get<bool>("STRESS"); + int rows = nstruct_tot; + if (stress) rows += 6*nstruct_tot; + if (force) rows += 3*natoms_tot; + return rows; + } }; @@ -65,19 +65,19 @@ class DesignMatrixBase { template <typename F> class DesignMatrix : public DesignMatrixBase { - public: +public: - F f; - phi_type Phi; - t_type T; - t_type Tlabels; // 0-Energy, 1-Force, 2-Stress // TODO should be array of int not double - bool scale=true; // Control escale,fscale,sscale + F f; + phi_type Phi; + t_type T; + t_type Tlabels; // 0-Energy, 1-Force, 2-Stress // TODO should be array of int not double + bool scale=true; // Control escale,fscale,sscale - double e_std_dev=1; - double f_std_dev=1; - double s_std_dev[6] = {1,1,1,1,1,1}; + double e_std_dev=1; + double f_std_dev=1; + double s_std_dev[6] = {1,1,1,1,1,1}; - /** \brief This constructor fully initialise this object + /** \brief This constructor fully initialise this object * * This class is used to build a Design Matrix. * @@ -89,15 +89,15 @@ class DesignMatrix : public DesignMatrixBase { * * \endcode */ - DesignMatrix(F &f, Config &c): - f(f), - config(c), - force(config.get<bool>("FORCE")), - stress(config.get<bool>("STRESS")), - verbose(config.get<int>("VERBOSE")), - eweightglob(config.get<double>("EWEIGHT")), - fweightglob(config.get<double>("FWEIGHT")), - sweightglob(config.get<double>("SWEIGHT")) + DesignMatrix(F &f, Config &c): + f(f), + config(c), + force(config.get<bool>("FORCE")), + stress(config.get<bool>("STRESS")), + verbose(config.get<int>("VERBOSE")), + eweightglob(config.get<double>("EWEIGHT")), + fweightglob(config.get<double>("FWEIGHT")), + sweightglob(config.get<double>("SWEIGHT")) { if (config.exist("ESTDEV")) e_std_dev = config.get<double>("ESTDEV"); @@ -108,215 +108,219 @@ class DesignMatrix : public DesignMatrixBase { } - /** \brief Build design matrix from already calculated StDescriptorsDB + /** \brief Build design matrix from already calculated StDescriptorsDB * * Here we simply build matrix from already calculated descriptors. * The vector of targets **T** is build from StructureDB. * D2, D3 and DM calculators are not used. */ - void build(StDescriptorsDB &st_desc_db, const StructureDB &stdb) { - resize(stdb); - compute_stdevs(stdb); - fill_T(stdb); - std::vector<size_t> rows(stdb.size()); - size_t row=0; - for (size_t s=0; s<stdb.size(); ++s) { - rows[s] = row; - row++; - if (force) { - for (size_t a=0; a<stdb(s).natoms(); ++a) { - row+=3; - } - } - if (stress) { - row+=6; + void build(StDescriptorsDB &st_desc_db, const StructureDB &stdb) { + resize(stdb); + compute_stdevs(stdb); + fill_T(stdb); + std::vector<size_t> rows(stdb.size()); + size_t row=0; + for (size_t s=0; s<stdb.size(); ++s) { + rows[s] = row; + row++; + if (force) { + for (size_t a=0; a<stdb(s).natoms(); ++a) { + row+=3; } } - // loop over all structures and build -#pragma omp parallel for - for (size_t s=0; s<stdb.size(); ++s) { - build(rows[s], stdb(s),st_desc_db(s)); + if (stress) { + row+=6; } - }; - - /** \brief Calculate descriptors and build design matrix. */ - template <typename DC> - void build(const StructureDB &stdb, Normaliser &norm, - DC &dc) { - //DescriptorsCalc<D2,D3,DM,C2,C3,CM> dc(config); - resize(stdb); // call after dc set DSIZE key - compute_stdevs(stdb); - fill_T(stdb); - // for opm we need to find first rows for each structure - - - std::vector<size_t> rows(stdb.size()); - size_t row=0; - for (size_t s=0; s<stdb.size(); ++s) { - rows[s] = row; - row++; - if (force) { - for (size_t a=0; a<stdb(s).natoms(); ++a) { - row+=3; - } - } - if (stress) { - row+=6; - } + } + // loop over all structures and build +#ifdef _OPENMP + #pragma omp parallel for +#endif + for (size_t s=0; s<stdb.size(); ++s) { + build(rows[s], stdb(s),st_desc_db(s)); + } + }; + + /** \brief Calculate descriptors and build design matrix. */ + template <typename DC> + void build(const StructureDB &stdb, Normaliser &norm, + DC &dc) { + //DescriptorsCalc<D2,D3,DM,C2,C3,CM> dc(config); + resize(stdb); // call after dc set DSIZE key + compute_stdevs(stdb); + fill_T(stdb); + // for opm we need to find first rows for each structure + + + std::vector<size_t> rows(stdb.size()); + size_t row=0; + for (size_t s=0; s<stdb.size(); ++s) { + rows[s] = row; + row++; + if (force) { + for (size_t a=0; a<stdb(s).natoms(); ++a) { + row+=3; } -#pragma omp parallel for - for (size_t s=0; s<stdb.size(); ++s) { - StDescriptors st_d = dc.calc(stdb(s)); + } + if (stress) { + row+=6; + } + } +#ifdef _OPENMP + #pragma omp parallel for +#endif + for (size_t s=0; s<stdb.size(); ++s) { + StDescriptors st_d = dc.calc(stdb(s)); - if(config.get<bool>("NORM")) - norm.normalise(st_d); + if(config.get<bool>("NORM")) + norm.normalise(st_d); - build(rows[s], stdb(s), st_d); - } + build(rows[s], stdb(s), st_d); + } - } - void build(size_t &row, const Structure &st, const StDescriptors &st_d) { + } + void build(size_t &row, const Structure &st, const StDescriptors &st_d) { + + double escale = 1; + if (scale) escale = st.eweight*eweightglob/st.natoms(); + f.calc_phi_energy_row(Phi,row,escale,st,st_d); + if (force) { + double fscale = 1; + if (scale) fscale = st.fweight*fweightglob/st.natoms()/3.0;///f_std_dev; + f.calc_phi_force_rows(Phi,row,fscale,st,st_d); + } + if (stress) { + double sscale_arr[6] {1,1,1,1,1,1}; + if (scale) + for(size_t xy=0;xy<6;++xy) + sscale_arr[xy] = st.sweight*sweightglob/6.0;///s_std_dev[xy]; + f.calc_phi_stress_rows(Phi,row,sscale_arr,st,st_d); + } + } + void fill_T(const StructureDB &stdb, size_t start=0) { + size_t j=start; + for (size_t s=0; s<stdb.size(); ++s) { double escale = 1; - if (scale) escale = st.eweight*eweightglob/st.natoms(); - f.calc_phi_energy_row(Phi,row,escale,st,st_d); + if (scale) escale = stdb(s).eweight*eweightglob/stdb(s).natoms();///e_std_dev; + Tlabels(j) = 0; + T(j++) = stdb(s).energy*escale; + if (force) { double fscale = 1; - if (scale) fscale = st.fweight*fweightglob/st.natoms()/3.0;///f_std_dev; - f.calc_phi_force_rows(Phi,row,fscale,st,st_d); + if (scale) fscale = stdb(s).fweight*fweightglob/stdb(s).natoms()/3.0;///e_std_dev/f_std_dev; + for (const Atom &a : stdb(s).atoms) { + Tlabels(j) = 1; + T(j++) = a.force(0)*fscale; + Tlabels(j) = 1; + T(j++) = a.force(1)*fscale; + Tlabels(j) = 1; + T(j++) = a.force(2)*fscale; + } } if (stress) { double sscale_arr[6] {1,1,1,1,1,1}; if (scale) for(size_t xy=0;xy<6;++xy) - sscale_arr[xy] = st.sweight*sweightglob/6.0;///s_std_dev[xy]; - f.calc_phi_stress_rows(Phi,row,sscale_arr,st,st_d); - } - } - void fill_T(const StructureDB &stdb, size_t start=0) { - size_t j=start; - for (size_t s=0; s<stdb.size(); ++s) { - - double escale = 1; - if (scale) escale = stdb(s).eweight*eweightglob/stdb(s).natoms();///e_std_dev; - Tlabels(j) = 0; - T(j++) = stdb(s).energy*escale; - - if (force) { - double fscale = 1; - if (scale) fscale = stdb(s).fweight*fweightglob/stdb(s).natoms()/3.0;///e_std_dev/f_std_dev; - for (const Atom &a : stdb(s).atoms) { - Tlabels(j) = 1; - T(j++) = a.force(0)*fscale; - Tlabels(j) = 1; - T(j++) = a.force(1)*fscale; - Tlabels(j) = 1; - T(j++) = a.force(2)*fscale; - } - } - if (stress) { - double sscale_arr[6] {1,1,1,1,1,1}; - if (scale) - for(size_t xy=0;xy<6;++xy) - sscale_arr[xy] = stdb(s).sweight*sweightglob/6.0;///e_std_dev/s_std_dev[xy]; - size_t xy=0; - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - Tlabels(j) = 2; - T(j++)=stdb(s).stress(x,y)*sscale_arr[xy++]; - } + sscale_arr[xy] = stdb(s).sweight*sweightglob/6.0;///e_std_dev/s_std_dev[xy]; + size_t xy=0; + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + Tlabels(j) = 2; + T(j++)=stdb(s).stress(x,y)*sscale_arr[xy++]; } } } } + } - private: - Config &config; - size_t rows=0; - size_t cols=0; - bool force; - bool stress; - int verbose; - double eweightglob; - double fweightglob; - double sweightglob; - - // resize Phi and T and set all elements to zero - void resize(const StructureDB &stdb) { - rows=0; - cols = f.get_phi_cols(config); - - for (size_t s=0; s<stdb.size(); ++s) { - rows++; - if (stress) rows+=6; - if (force) rows+=stdb(s).natoms()*3; - } +private: + Config &config; + size_t rows=0; + size_t cols=0; + bool force; + bool stress; + int verbose; + double eweightglob; + double fweightglob; + double sweightglob; + + // resize Phi and T and set all elements to zero + void resize(const StructureDB &stdb) { + rows=0; + cols = f.get_phi_cols(config); + + for (size_t s=0; s<stdb.size(); ++s) { + rows++; + if (stress) rows+=6; + if (force) rows+=stdb(s).natoms()*3; + } - T.resize(rows); - Tlabels.resize(rows); - Phi.resize(rows,cols); + T.resize(rows); + Tlabels.resize(rows); + Phi.resize(rows,cols); - if (verbose) { - std::cout << "Phi rows: "<< Phi.rows() << std::endl; - std::cout << "Phi cols: "<< Phi.cols() << std::endl; - } + if (verbose) { + std::cout << "Phi rows: "<< Phi.rows() << std::endl; + std::cout << "Phi cols: "<< Phi.cols() << std::endl; + } - T.set_zero(); - Phi.set_zero(); + T.set_zero(); + Phi.set_zero(); - } + } - void compute_stdevs(const StructureDB &stdb) { - t_type evec(stdb.size()); - Matrix svec(stdb.size(),6); - size_t num_forces=0; - for (size_t s=0; s<stdb.size(); ++s) { - evec(s) = stdb(s).energy/stdb(s).natoms(); - if (stress) { - size_t j=0; - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - svec(s,j++)=stdb(s).stress(x,y); - } + void compute_stdevs(const StructureDB &stdb) { + t_type evec(stdb.size()); + Matrix svec(stdb.size(),6); + size_t num_forces=0; + for (size_t s=0; s<stdb.size(); ++s) { + evec(s) = stdb(s).energy/stdb(s).natoms(); + if (stress) { + size_t j=0; + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + svec(s,j++)=stdb(s).stress(x,y); } } - num_forces +=3*stdb(s).natoms(); } + num_forces +=3*stdb(s).natoms(); + } - //e_std_dev = std::sqrt((evec - evec.mean()).square().sum()/(evec.size()-1)); - e_std_dev = evec.std_dev(evec.mean(), evec.size()-1); - if (verbose) std::cout << "Energy standard deviation (eV/atom): " << e_std_dev << std::endl; + //e_std_dev = std::sqrt((evec - evec.mean()).square().sum()/(evec.size()-1)); + e_std_dev = evec.std_dev(evec.mean(), evec.size()-1); + if (verbose) std::cout << "Energy standard deviation (eV/atom): " << e_std_dev << std::endl; - if (stress) { - for (size_t j=0; j<6; ++j) { - s_std_dev[j] = svec.col(j).std_dev(svec.col(j).mean(), svec.col(j).size()-1); - if (verbose) std::cout << "Stress standard deviation (eV): " << s_std_dev[j] << std::endl; - } + if (stress) { + for (size_t j=0; j<6; ++j) { + s_std_dev[j] = svec.col(j).std_dev(svec.col(j).mean(), svec.col(j).size()-1); + if (verbose) std::cout << "Stress standard deviation (eV): " << s_std_dev[j] << std::endl; } + } - if (force) { - size_t j=0; - t_type fvec(num_forces); - for (size_t s=0; s<stdb.size(); ++s) { - for (const Atom &a : stdb(s).atoms) { - fvec(j++) = a.force(0); - fvec(j++) = a.force(1); - fvec(j++) = a.force(2); - } + if (force) { + size_t j=0; + t_type fvec(num_forces); + for (size_t s=0; s<stdb.size(); ++s) { + for (const Atom &a : stdb(s).atoms) { + fvec(j++) = a.force(0); + fvec(j++) = a.force(1); + fvec(j++) = a.force(2); } - //fvec /= e_std_dev; - //svec /= e_std_dev; - // e_std_dev has units of energy - // f_std_dev has units of inverse distance - f_std_dev = fvec.std_dev(fvec.mean(),fvec.size()-1); - if (verbose) std::cout << "Force standard deviation (1/A): " << f_std_dev << std::endl; } - - config.add("ESTDEV",e_std_dev); - config.add("FSTDEV",f_std_dev); - for (size_t j=0; j<6; ++j) - config.add("SSTDEV",s_std_dev[j]); + //fvec /= e_std_dev; + //svec /= e_std_dev; + // e_std_dev has units of energy + // f_std_dev has units of inverse distance + f_std_dev = fvec.std_dev(fvec.mean(),fvec.size()-1); + if (verbose) std::cout << "Force standard deviation (1/A): " << f_std_dev << std::endl; } + + config.add("ESTDEV",e_std_dev); + config.add("FSTDEV",f_std_dev); + for (size_t j=0; j<6; ++j) + config.add("SSTDEV",s_std_dev[j]); + } }; #endif diff --git a/include/tadah/mlip/models/m_blr.h b/include/tadah/mlip/models/m_blr.h index eafc784ea1734ddbc6028c99637067fcdfc39b1f..82ebbffa15b34b1fb2d404a98dada21d796f5b89 100644 --- a/include/tadah/mlip/models/m_blr.h +++ b/include/tadah/mlip/models/m_blr.h @@ -71,9 +71,9 @@ template <class BF=DM_Function_Base&> class M_BLR: public M_Tadah_Base, public M_BLR_Train<BF> { - public: +public: - /** This constructor will preapare this object for either training + /** This constructor will preapare this object for either training * or prediction (if potential is provides as a Config) * * Usage example: @@ -84,16 +84,16 @@ class M_BLR: public M_Tadah_Base, public M_BLR_Train<BF> { * \endcode * */ - using M_BLR_Train<BF>::config; - using M_BLR_Train<BF>::bf; - M_BLR(Config &c): - M_BLR_Train<BF>(c), - desmat(M_BLR_Train<BF>::bf,c) + using M_BLR_Train<BF>::config; + using M_BLR_Train<BF>::bf; + M_BLR(Config &c): + M_BLR_Train<BF>(c), + desmat(M_BLR_Train<BF>::bf,c) { norm = Normaliser(c); } - /** This constructor will preapare this object for either training + /** This constructor will preapare this object for either training * or prediction (if potential is provides as a Config) * * Usage example: @@ -105,260 +105,260 @@ class M_BLR: public M_Tadah_Base, public M_BLR_Train<BF> { * \endcode * */ - M_BLR(BF &bf, Config &c): - M_BLR_Train<BF>(bf,c), - desmat(bf,c) + M_BLR(BF &bf, Config &c): + M_BLR_Train<BF>(bf,c), + desmat(bf,c) { norm = Normaliser(c); } - double epredict(const aed_type2 &aed) const{ - return bf.epredict(weights,aed); - }; + double epredict(const aed_type2 &aed) const{ + return bf.epredict(weights,aed); + }; - double fpredict(const fd_type &fdij, const aed_type2 &aedi, const size_t k) const{ - return bf.fpredict(weights,fdij,aedi,k); - } - - force_type fpredict(const fd_type &fdij, const aed_type2 &aedi) const{ - return bf.fpredict(weights,fdij,aedi); - } + double fpredict(const fd_type &fdij, const aed_type2 &aedi, const size_t k) const{ + return bf.fpredict(weights,fdij,aedi,k); + } - void train(StDescriptorsDB &st_desc_db, const StructureDB &stdb) { + force_type fpredict(const fd_type &fdij, const aed_type2 &aedi) const{ + return bf.fpredict(weights,fdij,aedi); + } - if(config.template get<bool>("NORM")) - norm = Normaliser(config,st_desc_db); + void train(StDescriptorsDB &st_desc_db, const StructureDB &stdb) { - desmat.build(st_desc_db,stdb); - train(desmat); - } + if(config.template get<bool>("NORM")) + norm = Normaliser(config,st_desc_db); - void train(StructureDB &stdb, DC_Base &dc) { + desmat.build(st_desc_db,stdb); + train(desmat); + } - if(config.template get<bool>("NORM")) { + void train(StructureDB &stdb, DC_Base &dc) { - std::string force=config.template get<std::string>("FORCE"); - std::string stress=config.template get<std::string>("STRESS"); + if(config.template get<bool>("NORM")) { - config.remove("FORCE"); - config.remove("STRESS"); - config.add("FORCE", "false"); - config.add("STRESS", "false"); + std::string force=config.template get<std::string>("FORCE"); + std::string stress=config.template get<std::string>("STRESS"); - StDescriptorsDB st_desc_db_temp = dc.calc(stdb); + config.remove("FORCE"); + config.remove("STRESS"); + config.add("FORCE", "false"); + config.add("STRESS", "false"); - if(config.template get<bool>("NORM")) { - norm = Normaliser(config); - norm.learn(st_desc_db_temp); - // norm.normalise(st_desc_db_temp); - } + StDescriptorsDB st_desc_db_temp = dc.calc(stdb); - config.remove("FORCE"); - config.remove("STRESS"); - config.add("FORCE", force); - config.add("STRESS", stress); + if(config.template get<bool>("NORM")) { + norm = Normaliser(config); + norm.learn(st_desc_db_temp); + // norm.normalise(st_desc_db_temp); } - desmat.build(stdb,norm,dc); - train(desmat); + config.remove("FORCE"); + config.remove("STRESS"); + config.add("FORCE", force); + config.add("STRESS", stress); } - Structure predict(const Config &c, StDescriptors &std, const Structure &st) { - if(config.template get<bool>("NORM") && !std.normalised && bf.get_label()!="BF_Linear") - norm.normalise(std); - return M_Tadah_Base::predict(c,std,st); - } + desmat.build(stdb,norm,dc); + train(desmat); + } - StructureDB predict(Config &c, const StructureDB &stdb, DC_Base &dc) { - return M_Tadah_Base::predict(c,stdb,dc); + Structure predict(const Config &c, StDescriptors &std, const Structure &st) { + if(config.template get<bool>("NORM") && !std.normalised && bf.get_label()!="BF_Linear") + norm.normalise(std); + return M_Tadah_Base::predict(c,std,st); + } + + StructureDB predict(Config &c, const StructureDB &stdb, DC_Base &dc) { + return M_Tadah_Base::predict(c,stdb,dc); + } + + Config get_param_file() { + Config c = config; + //c.remove("ALPHA"); + //c.remove("BETA"); + c.remove("DBFILE"); + c.remove("FORCE"); + c.remove("STRESS"); + c.remove("VERBOSE"); + c.add("VERBOSE", 0); + + c.clear_internal_keys(); + c.remove("MODEL"); + c.add("MODEL", label); + c.add("MODEL", bf.get_label()); + + for (size_t i=0;i<weights.size();++i) { + c.add("WEIGHTS", weights(i)); } - Config get_param_file() { - Config c = config; - //c.remove("ALPHA"); - //c.remove("BETA"); - c.remove("DBFILE"); - c.remove("FORCE"); - c.remove("STRESS"); - c.remove("VERBOSE"); - c.add("VERBOSE", 0); - - c.clear_internal_keys(); - c.remove("MODEL"); - c.add("MODEL", label); - c.add("MODEL", bf.get_label()); - - for (size_t i=0;i<weights.size();++i) { - c.add("WEIGHTS", weights(i)); + if(config.template get<bool>("NORM")) { + for (size_t i=0;i<norm.mean.size();++i) { + c.add("NMEAN", norm.mean[i]); } - - if(config.template get<bool>("NORM")) { - for (size_t i=0;i<norm.mean.size();++i) { - c.add("NMEAN", norm.mean[i]); - } - for (size_t i=0;i<norm.std_dev.size();++i) { - c.add("NSTDEV", norm.std_dev[i]); - } + for (size_t i=0;i<norm.std_dev.size();++i) { + c.add("NSTDEV", norm.std_dev[i]); } - return c; } - StructureDB predict(Config config_pred, StructureDB &stdb, DC_Base &dc, - aed_type2 &predicted_error) { - - LinearRegressor::read_sigma(config_pred,Sigma); - DesignMatrix<BF> dm(bf,config_pred); - dm.scale=false; // do not scale energy, forces and stresses - dm.build(stdb,norm,dc); - - predicted_error = T_MDMT_diag(dm.Phi, Sigma); - double pmean = sqrt(predicted_error.mean()); - - // compute energy, forces and stresses - aed_type2 Tpred = T_dgemv(dm.Phi, weights); - - // Construct StructureDB object with predicted values - StructureDB stdb_; - stdb_.structures.resize(stdb.size()); - size_t i=0; - for (size_t s=0; s<stdb.size(); ++s) { - stdb_(s) = Structure(stdb(s)); - - predicted_error(i) = (sqrt(predicted_error(i))-pmean)/stdb(s).natoms(); - stdb_(s).energy = Tpred(i++); - if (config_pred.get<bool>("FORCE")) { - for (size_t a=0; a<stdb(s).natoms(); ++a) { - for (size_t k=0; k<3; ++k) { - stdb_(s).atoms[a].force[k] = Tpred(i++); - predicted_error(i) = (sqrt(predicted_error(i))-pmean); - } + return c; + } + StructureDB predict(Config config_pred, StructureDB &stdb, DC_Base &dc, + aed_type2 &predicted_error) { + + LinearRegressor::read_sigma(config_pred,Sigma); + DesignMatrix<BF> dm(bf,config_pred); + dm.scale=false; // do not scale energy, forces and stresses + dm.build(stdb,norm,dc); + + predicted_error = T_MDMT_diag(dm.Phi, Sigma); + double pmean = sqrt(predicted_error.mean()); + + // compute energy, forces and stresses + aed_type2 Tpred = T_dgemv(dm.Phi, weights); + + // Construct StructureDB object with predicted values + StructureDB stdb_; + stdb_.structures.resize(stdb.size()); + size_t i=0; + for (size_t s=0; s<stdb.size(); ++s) { + stdb_(s) = Structure(stdb(s)); + + predicted_error(i) = (sqrt(predicted_error(i))-pmean)/stdb(s).natoms(); + stdb_(s).energy = Tpred(i++); + if (config_pred.get<bool>("FORCE")) { + for (size_t a=0; a<stdb(s).natoms(); ++a) { + for (size_t k=0; k<3; ++k) { + stdb_(s).atoms[a].force[k] = Tpred(i++); + predicted_error(i) = (sqrt(predicted_error(i))-pmean); } } - if (config_pred.get<bool>("STRESS")) { - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - stdb_(s).stress(x,y) = Tpred(i++); - predicted_error(i) = (sqrt(predicted_error(i))-pmean); - if (x!=y) - stdb_(s).stress(y,x) = stdb_(s).stress(x,y); - } + } + if (config_pred.get<bool>("STRESS")) { + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + stdb_(s).stress(x,y) = Tpred(i++); + predicted_error(i) = (sqrt(predicted_error(i))-pmean); + if (x!=y) + stdb_(s).stress(y,x) = stdb_(s).stress(x,y); } } } - return stdb_; } - StructureDB predict(StructureDB &stdb) { - if(!trained) throw std::runtime_error("This object is not trained!\n\ - Hint: check different predict() methods."); - - phi_type &Phi = desmat.Phi; - //std::cout << Phi.row(0) << std::endl; - - // compute energy, forces and stresses - aed_type2 Tpred = T_dgemv(Phi, weights); - - double eweightglob=config.template get<double>("EWEIGHT"); - double fweightglob=config.template get<double>("FWEIGHT"); - double sweightglob=config.template get<double>("SWEIGHT"); - - // Construct StructureDB object with predicted values - StructureDB stdb_; - stdb_.structures.resize(stdb.size()); - size_t s=0; - size_t i=0; - while (i<Phi.rows()) { - - stdb_(s).energy = Tpred(i++)*stdb(s).natoms()/eweightglob/stdb(s).eweight; - if (config.template get<bool>("FORCE")) { - stdb_(s).atoms.resize(stdb(s).natoms()); - for (size_t a=0; a<stdb(s).natoms(); ++a) { - for (size_t k=0; k<3; ++k) { - stdb_(s).atoms[a].force[k] = Tpred(i++)/fweightglob/stdb(s).fweight; - } + return stdb_; + } + StructureDB predict(StructureDB &stdb) { + if(!trained) throw std::runtime_error("This object is not trained!\n\ +Hint: check different predict() methods."); + + phi_type &Phi = desmat.Phi; + //std::cout << Phi.row(0) << std::endl; + + // compute energy, forces and stresses + aed_type2 Tpred = T_dgemv(Phi, weights); + + double eweightglob=config.template get<double>("EWEIGHT"); + double fweightglob=config.template get<double>("FWEIGHT"); + double sweightglob=config.template get<double>("SWEIGHT"); + + // Construct StructureDB object with predicted values + StructureDB stdb_; + stdb_.structures.resize(stdb.size()); + size_t s=0; + size_t i=0; + while (i<Phi.rows()) { + + stdb_(s).energy = Tpred(i++)*stdb(s).natoms()/eweightglob/stdb(s).eweight; + if (config.template get<bool>("FORCE")) { + stdb_(s).atoms.resize(stdb(s).natoms()); + for (size_t a=0; a<stdb(s).natoms(); ++a) { + for (size_t k=0; k<3; ++k) { + stdb_(s).atoms[a].force[k] = Tpred(i++)/fweightglob/stdb(s).fweight; } } - if (config.template get<bool>("STRESS")) { - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - stdb_(s).stress(x,y) = Tpred(i++)/sweightglob/stdb(s).sweight; - if (x!=y) - stdb_(s).stress(y,x) = stdb_(s).stress(x,y); - } + } + if (config.template get<bool>("STRESS")) { + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + stdb_(s).stress(x,y) = Tpred(i++)/sweightglob/stdb(s).sweight; + if (x!=y) + stdb_(s).stress(y,x) = stdb_(s).stress(x,y); } } - s++; } - return stdb_; + s++; } + return stdb_; + } - private: - std::string label="M_BLR"; - DesignMatrix<BF> desmat; +private: + std::string label="M_BLR"; + DesignMatrix<BF> desmat; - // normalise weights such that when predict is called - // we can supply it with a non-normalised descriptor - t_type convert_to_nweights(const t_type &weights) const { - if(bf.get_label()!="BF_Linear") { - throw std::runtime_error("Cannot convert weights to nweights for\n\ - non linear basis function\n"); - } - t_type nw(weights.rows()); - nw(0) = weights(0); - for (size_t i=1; i<weights.size(); ++i) { + // normalise weights such that when predict is called + // we can supply it with a non-normalised descriptor + t_type convert_to_nweights(const t_type &weights) const { + if(bf.get_label()!="BF_Linear") { + throw std::runtime_error("Cannot convert weights to nweights for\n\ +non linear basis function\n"); + } + t_type nw(weights.rows()); + nw(0) = weights(0); + for (size_t i=1; i<weights.size(); ++i) { - if (norm.std_dev[i] > std::numeric_limits<double>::min()) - nw(i) = weights(i) / norm.std_dev[i]; - else - nw(i) = weights(i); + if (norm.std_dev[i] > std::numeric_limits<double>::min()) + nw(i) = weights(i) / norm.std_dev[i]; + else + nw(i) = weights(i); - nw(0) -= norm.mean[i]*nw(i); + nw(0) -= norm.mean[i]*nw(i); - } - return nw; } - // The opposite of convert_to_nweights() - t_type convert_to_weights(const t_type &nw) const { - if(bf.get_label()!="BF_Linear") { - throw std::runtime_error("Cannot convert nweights to weights for\n\ - non linear basis function\n"); - } - // convert normalised weights back to "normal" - t_type w(nw.rows()); - w(0) = nw(0); - for (size_t i=1; i<nw.size(); ++i) { - if (norm.std_dev[i] > std::numeric_limits<double>::min()) - w(i) = nw(i) * norm.std_dev[i]; - else - w(i) = nw(i); - - w(0) += nw(i)*norm.mean[i]; - } - return w; + return nw; + } + // The opposite of convert_to_nweights() + t_type convert_to_weights(const t_type &nw) const { + if(bf.get_label()!="BF_Linear") { + throw std::runtime_error("Cannot convert nweights to weights for\n\ +non linear basis function\n"); } + // convert normalised weights back to "normal" + t_type w(nw.rows()); + w(0) = nw(0); + for (size_t i=1; i<nw.size(); ++i) { + if (norm.std_dev[i] > std::numeric_limits<double>::min()) + w(i) = nw(i) * norm.std_dev[i]; + else + w(i) = nw(i); + + w(0) += nw(i)*norm.mean[i]; + } + return w; + } - template <typename D> - void train(D &desmat) { - // TODO - // the train method destroys the Phi matrix - // In consequence, we cannot use it for quick prediction - // The simple solution, for now, is to make a copy of the Phi matrix - //phi_type &Phi = desmat.Phi; - phi_type Phi = desmat.Phi; - t_type T = desmat.T; - //t_type &T = desmat.T; - M_BLR_Train<BF>::train(Phi,T); - - if (config.template get<bool>("NORM") && - bf.get_label()=="BF_Linear") { - weights = convert_to_nweights(weights); - } - } + template <typename D> + void train(D &desmat) { + // TODO + // the train method destroys the Phi matrix + // In consequence, we cannot use it for quick prediction + // The simple solution, for now, is to make a copy of the Phi matrix + //phi_type &Phi = desmat.Phi; + phi_type Phi = desmat.Phi; + t_type T = desmat.T; + //t_type &T = desmat.T; + M_BLR_Train<BF>::train(Phi,T); + + if (config.template get<bool>("NORM") && + bf.get_label()=="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; + // 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; }; #endif diff --git a/include/tadah/mlip/models/m_krr.h b/include/tadah/mlip/models/m_krr.h index 9062779b400a239743eb54f244205176b392d46f..6e79ae3363f5079b1be9c7cb9a2a7c68a002541a 100644 --- a/include/tadah/mlip/models/m_krr.h +++ b/include/tadah/mlip/models/m_krr.h @@ -49,12 +49,12 @@ template <class K=DM_Function_Base&> class M_KRR: public M_Tadah_Base, public M_KRR_Train<K> - //public M_KRR_Predict<K> +//public M_KRR_Predict<K> { - public: +public: - /** This constructor will preapare this object for either training + /** This constructor will preapare this object for either training * or prediction (if potential is provides as a Config) * * Usage example: @@ -65,15 +65,15 @@ class M_KRR: public M_Tadah_Base, * \endcode * */ - M_KRR(Config &c): - M_KRR_Train<K>(c), - basis(c), - desmat(kernel,c) + M_KRR(Config &c): + M_KRR_Train<K>(c), + basis(c), + desmat(kernel,c) { norm = Normaliser(c); } - /** This constructor will preapare this object for either training + /** This constructor will preapare this object for either training * or prediction (if potential is provides as a Config) * * Usage example: @@ -85,330 +85,330 @@ class M_KRR: public M_Tadah_Base, * \endcode * */ - M_KRR(K &kernel, Config &c): - M_KRR_Train<K>(kernel,c), - basis(c), - desmat(kernel,c) + M_KRR(K &kernel, Config &c): + M_KRR_Train<K>(kernel,c), + basis(c), + desmat(kernel,c) { norm = Normaliser(c); } - double epredict(const aed_type2 &aed) const { - return kernel.epredict(weights,aed); - }; + double epredict(const aed_type2 &aed) const { + return kernel.epredict(weights,aed); + }; - double fpredict(const fd_type &fdij, const aed_type2 &aedi, const size_t k) const { - return kernel.fpredict(weights,fdij,aedi,k); - } + double fpredict(const fd_type &fdij, const aed_type2 &aedi, const size_t k) const { + return kernel.fpredict(weights,fdij,aedi,k); + } - force_type fpredict(const fd_type &fdij, const aed_type2 &aedi) const { - return kernel.fpredict(weights,fdij,aedi); - } + force_type fpredict(const fd_type &fdij, const aed_type2 &aedi) const { + return kernel.fpredict(weights,fdij,aedi); + } - void train(StDescriptorsDB &st_desc_db, const StructureDB &stdb) { + void train(StDescriptorsDB &st_desc_db, const StructureDB &stdb) { - if(config.template get<bool>("NORM")) - norm = Normaliser(config,st_desc_db); + if(config.template get<bool>("NORM")) + norm = Normaliser(config,st_desc_db); - desmat.build(st_desc_db,stdb); - train(desmat); - } + desmat.build(st_desc_db,stdb); + train(desmat); + } - void train(StructureDB &stdb, DC_Base &dc) { - int modelN; - try { - modelN=config.template get<int>("MODEL",2); - } - catch(std::runtime_error &e) { - // use default model - modelN=1; - config.add("MODEL", modelN); - } - if (modelN==1) - train1(stdb,dc); - else if (modelN==2) - train2(stdb,dc); - else - throw - std::runtime_error( - "This KRR implementation does exist: "\ - + std::to_string(modelN)+"\n"); + void train(StructureDB &stdb, DC_Base &dc) { + int modelN; + try { + modelN=config.template get<int>("MODEL",2); } - void train1(StructureDB &stdb, DC_Base &dc) { - // KRR implementation using EKM - if(config.template get<bool>("NORM") || kernel.get_label()!="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"); - - config.remove("FORCE"); - config.remove("STRESS"); - config.add("FORCE", "false"); - config.add("STRESS", "false"); - - StDescriptorsDB st_desc_db_temp = dc.calc(stdb); - - if(config.template get<bool>("NORM")) { - norm = Normaliser(config); - norm.learn(st_desc_db_temp); - norm.normalise(st_desc_db_temp); - } - - config.remove("FORCE"); - config.remove("STRESS"); - config.add("FORCE", force); - config.add("STRESS", stress); - - if (kernel.get_label()!="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); - // to configure ekm, we need basis vectors - ekm.configure(basis.b); - } - } - desmat.build(stdb,norm,dc); - train(desmat); + catch(std::runtime_error &e) { + // use default model + modelN=1; + config.add("MODEL", modelN); } - - void train2(StructureDB &stdb, DC_Base &dc) { - - // NEW (BASIC) IMPLEMENTATION OF KRR // + if (modelN==1) + train1(stdb,dc); + else if (modelN==2) + train2(stdb,dc); + else + throw + std::runtime_error( + "This KRR implementation does exist: "\ + + std::to_string(modelN)+"\n"); + } + void train1(StructureDB &stdb, DC_Base &dc) { + // KRR implementation using EKM + if(config.template get<bool>("NORM") || kernel.get_label()!="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"); + config.remove("FORCE"); config.remove("STRESS"); config.add("FORCE", "false"); config.add("STRESS", "false"); + StDescriptorsDB st_desc_db_temp = dc.calc(stdb); + if(config.template get<bool>("NORM")) { norm = Normaliser(config); norm.learn(st_desc_db_temp); norm.normalise(st_desc_db_temp); } + config.remove("FORCE"); config.remove("STRESS"); config.add("FORCE", force); 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); + + if (kernel.get_label()!="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); + // to configure ekm, we need basis vectors + ekm.configure(basis.b); + } } + desmat.build(stdb,norm,dc); + train(desmat); + } - Structure predict(const Config &c, StDescriptors &std, const Structure &st) { - if(config.template get<bool>("NORM") && !std.normalised && kernel.get_label()!="Kern_Linear") - norm.normalise(std); - return M_Tadah_Base::predict(c,std,st); + void train2(StructureDB &stdb, DC_Base &dc) { + + // NEW (BASIC) IMPLEMENTATION OF KRR // + std::string force=config.template get<std::string>("FORCE"); + std::string stress=config.template get<std::string>("STRESS"); + config.remove("FORCE"); + config.remove("STRESS"); + config.add("FORCE", "false"); + config.add("STRESS", "false"); + StDescriptorsDB st_desc_db_temp = dc.calc(stdb); + if(config.template get<bool>("NORM")) { + norm = Normaliser(config); + norm.learn(st_desc_db_temp); + norm.normalise(st_desc_db_temp); } + config.remove("FORCE"); + config.remove("STRESS"); + config.add("FORCE", force); + 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); + } + + Structure predict(const Config &c, StDescriptors &std, const Structure &st) { + if(config.template get<bool>("NORM") && !std.normalised && kernel.get_label()!="Kern_Linear") + norm.normalise(std); + return M_Tadah_Base::predict(c,std,st); + } + + StructureDB predict(Config &c, const StructureDB &stdb, DC_Base &dc) { + return M_Tadah_Base::predict(c,stdb,dc); + } - StructureDB predict(Config &c, const StructureDB &stdb, DC_Base &dc) { - return M_Tadah_Base::predict(c,stdb,dc); + Config get_param_file() { + Config c = config; + c.remove("ALPHA"); + c.remove("BETA"); + c.remove("DBFILE"); + c.remove("FORCE"); + c.remove("STRESS"); + c.remove("VERBOSE"); + c.add("VERBOSE", 0); + + c.clear_internal_keys(); + c.remove("MODEL"); + c.add("MODEL", label); + c.add("MODEL", kernel.get_label()); + int modelN=config.template get<int>("MODEL",2); + c.add("MODEL", modelN); + + for (size_t i=0;i<weights.size();++i) { + c.add("WEIGHTS", weights(i)); } - Config get_param_file() { - Config c = config; - c.remove("ALPHA"); - c.remove("BETA"); - c.remove("DBFILE"); - c.remove("FORCE"); - c.remove("STRESS"); - c.remove("VERBOSE"); - c.add("VERBOSE", 0); - - c.clear_internal_keys(); - c.remove("MODEL"); - c.add("MODEL", label); - c.add("MODEL", kernel.get_label()); - int modelN=config.template get<int>("MODEL",2); - c.add("MODEL", modelN); - - for (size_t i=0;i<weights.size();++i) { - c.add("WEIGHTS", weights(i)); + if(config.template get<bool>("NORM")) { + for (size_t i=0;i<norm.mean.size();++i) { + c.add("NMEAN", norm.mean[i]); } - - if(config.template get<bool>("NORM")) { - for (size_t i=0;i<norm.mean.size();++i) { - c.add("NMEAN", norm.mean[i]); - } - for (size_t i=0;i<norm.std_dev.size();++i) { - c.add("NSTDEV", norm.std_dev[i]); - } + for (size_t i=0;i<norm.std_dev.size();++i) { + c.add("NSTDEV", norm.std_dev[i]); } - if (kernel.get_label()!="Kern_Linear") { - // dump basis to the config file file - // make sure keys are not accidently assigned - if (c.exist("SBASIS")) - c.remove("SBASIS"); - if (c.exist("BASIS")) - c.remove("BASIS"); - c.add("SBASIS", basis.b.cols()); - for (size_t i=0;i<basis.b.cols();++i) { - for (size_t j=0;j<basis.b.rows();++j) { - c.add("BASIS", basis.b(j,i)); - } + } + if (kernel.get_label()!="Kern_Linear") { + // dump basis to the config file file + // make sure keys are not accidently assigned + if (c.exist("SBASIS")) + c.remove("SBASIS"); + if (c.exist("BASIS")) + c.remove("BASIS"); + c.add("SBASIS", basis.b.cols()); + for (size_t i=0;i<basis.b.cols();++i) { + for (size_t j=0;j<basis.b.rows();++j) { + c.add("BASIS", basis.b(j,i)); } } - return c; } - StructureDB predict(Config config_pred, StructureDB &stdb, DC_Base &dc, - aed_type2 &predicted_error) { - - LinearRegressor::read_sigma(config_pred,Sigma); - DesignMatrix<K> dm(kernel,config_pred); - dm.scale=false; // do not scale energy, forces and stresses - dm.build(stdb,norm,dc); - - // compute error - predicted_error = T_MDMT_diag(dm.Phi, Sigma); - double pmean = sqrt(predicted_error.mean()); - - // compute energy, forces and stresses - aed_type2 Tpred = T_dgemv(dm.Phi, weights); - - // Construct StructureDB object with predicted values - StructureDB stdb_; - stdb_.structures.resize(stdb.size()); - size_t i=0; - for (size_t s=0; s<stdb.size(); ++s) { - stdb_(s) = Structure(stdb(s)); - - stdb_(s).energy = Tpred(i++); - predicted_error(i) = (sqrt(predicted_error(i))-pmean)/stdb(s).natoms(); - if (config_pred.get<bool>("FORCE")) { - for (size_t a=0; a<stdb(s).natoms(); ++a) { - for (size_t k=0; k<3; ++k) { - stdb_(s).atoms[a].force[k] = Tpred(i++); - predicted_error(i) = (sqrt(predicted_error(i))-pmean); - } + return c; + } + StructureDB predict(Config config_pred, StructureDB &stdb, DC_Base &dc, + aed_type2 &predicted_error) { + + LinearRegressor::read_sigma(config_pred,Sigma); + DesignMatrix<K> dm(kernel,config_pred); + dm.scale=false; // do not scale energy, forces and stresses + dm.build(stdb,norm,dc); + + // compute error + predicted_error = T_MDMT_diag(dm.Phi, Sigma); + double pmean = sqrt(predicted_error.mean()); + + // compute energy, forces and stresses + aed_type2 Tpred = T_dgemv(dm.Phi, weights); + + // Construct StructureDB object with predicted values + StructureDB stdb_; + stdb_.structures.resize(stdb.size()); + size_t i=0; + for (size_t s=0; s<stdb.size(); ++s) { + stdb_(s) = Structure(stdb(s)); + + stdb_(s).energy = Tpred(i++); + predicted_error(i) = (sqrt(predicted_error(i))-pmean)/stdb(s).natoms(); + if (config_pred.get<bool>("FORCE")) { + for (size_t a=0; a<stdb(s).natoms(); ++a) { + for (size_t k=0; k<3; ++k) { + stdb_(s).atoms[a].force[k] = Tpred(i++); + predicted_error(i) = (sqrt(predicted_error(i))-pmean); } } - if (config_pred.get<bool>("STRESS")) { - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - predicted_error(i) = (sqrt(predicted_error(i))-pmean); - stdb_(s).stress(x,y) = Tpred(i++); - if (x!=y) - stdb_(s).stress(y,x) = stdb_(s).stress(x,y); - } + } + if (config_pred.get<bool>("STRESS")) { + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + predicted_error(i) = (sqrt(predicted_error(i))-pmean); + stdb_(s).stress(x,y) = Tpred(i++); + if (x!=y) + stdb_(s).stress(y,x) = stdb_(s).stress(x,y); } } } - return stdb_; } - StructureDB predict(StructureDB &stdb) { - if(!trained) throw std::runtime_error("This object is not trained!\n\ - Hint: check different predict() methods."); - - phi_type &Phi = desmat.Phi; - - // compute energy, forces and stresses - aed_type2 Tpred = T_dgemv(Phi, weights); - - double eweightglob=config.template get<double>("EWEIGHT"); - double fweightglob=config.template get<double>("FWEIGHT"); - double sweightglob=config.template get<double>("SWEIGHT"); - - // Construct StructureDB object with predicted values - StructureDB stdb_; - stdb_.structures.resize(stdb.size()); - size_t s=0; - size_t i=0; - while (i<Phi.rows()) { - - stdb_(s).energy = Tpred(i++)*stdb(s).natoms()/eweightglob/stdb(s).eweight; - if (config.template get<bool>("FORCE")) { - stdb_(s).atoms.resize(stdb(s).natoms()); - for (size_t a=0; a<stdb(s).natoms(); ++a) { - for (size_t k=0; k<3; ++k) { - stdb_(s).atoms[a].force[k] = Tpred(i++)/fweightglob/stdb(s).fweight; - } + return stdb_; + } + StructureDB predict(StructureDB &stdb) { + if(!trained) throw std::runtime_error("This object is not trained!\n\ +Hint: check different predict() methods."); + + phi_type &Phi = desmat.Phi; + + // compute energy, forces and stresses + aed_type2 Tpred = T_dgemv(Phi, weights); + + double eweightglob=config.template get<double>("EWEIGHT"); + double fweightglob=config.template get<double>("FWEIGHT"); + double sweightglob=config.template get<double>("SWEIGHT"); + + // Construct StructureDB object with predicted values + StructureDB stdb_; + stdb_.structures.resize(stdb.size()); + size_t s=0; + size_t i=0; + while (i<Phi.rows()) { + + stdb_(s).energy = Tpred(i++)*stdb(s).natoms()/eweightglob/stdb(s).eweight; + if (config.template get<bool>("FORCE")) { + stdb_(s).atoms.resize(stdb(s).natoms()); + for (size_t a=0; a<stdb(s).natoms(); ++a) { + for (size_t k=0; k<3; ++k) { + stdb_(s).atoms[a].force[k] = Tpred(i++)/fweightglob/stdb(s).fweight; } } - if (config.template get<bool>("STRESS")) { - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - stdb_(s).stress(x,y) = Tpred(i++)/sweightglob/stdb(s).sweight; - if (x!=y) - stdb_(s).stress(y,x) = stdb_(s).stress(x,y); - } + } + if (config.template get<bool>("STRESS")) { + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + stdb_(s).stress(x,y) = Tpred(i++)/sweightglob/stdb(s).sweight; + if (x!=y) + stdb_(s).stress(y,x) = stdb_(s).stress(x,y); } } - s++; } - return stdb_; + s++; } + return stdb_; + } - private: - std::string label="M_KRR"; - Basis<K> basis; - DesignMatrix<K> desmat; +private: + std::string label="M_KRR"; + Basis<K> basis; + DesignMatrix<K> desmat; - t_type convert_to_nweights(const t_type &weights) const { - if(kernel.get_label()!="Kern_Linear") { - throw std::runtime_error("Cannot convert weights to nweights for\n\ - non linear kernel\n"); - } - t_type kw(weights.rows()); - if(config.template get<bool>("NORM") && kernel.get_label()=="Kern_Linear") { - // normalise weights such that when predict is called - // we can supply it with a non-normalised descriptor - kw.resize(weights.rows()); - kw(0) = weights(0); - for (size_t i=1; i<weights.size(); ++i) { + t_type convert_to_nweights(const t_type &weights) const { + if(kernel.get_label()!="Kern_Linear") { + throw std::runtime_error("Cannot convert weights to nweights for\n\ +non linear kernel\n"); + } + t_type kw(weights.rows()); + if(config.template get<bool>("NORM") && kernel.get_label()=="Kern_Linear") { + // normalise weights such that when predict is called + // we can supply it with a non-normalised descriptor + kw.resize(weights.rows()); + kw(0) = weights(0); + for (size_t i=1; i<weights.size(); ++i) { - if (norm.std_dev[i] > std::numeric_limits<double>::min()) - kw(i) = weights(i) / norm.std_dev[i]; - else - kw(i) = weights(i); + if (norm.std_dev[i] > std::numeric_limits<double>::min()) + kw(i) = weights(i) / norm.std_dev[i]; + else + kw(i) = weights(i); - kw(0) -= norm.mean[i]*kw(i); + kw(0) -= norm.mean[i]*kw(i); - } } - return kw; } - // The opposite of convert_to_nweights() - t_type convert_to_weights(const t_type &kw) const { - if(kernel.get_label()!="Kern_Linear") { - throw std::runtime_error("Cannot convert nweights to weights for\n\ - non linear kernel\n"); - } - // convert normalised weights back to "normal" - t_type w(kw.rows()); - w(0) = kw(0); - for (size_t i=1; i<kw.size(); ++i) { - if (norm.std_dev[i] > std::numeric_limits<double>::min()) - w(i) = kw(i) * norm.std_dev[i]; - else - w(i) = kw(i); + return kw; + } + // The opposite of convert_to_nweights() + t_type convert_to_weights(const t_type &kw) const { + if(kernel.get_label()!="Kern_Linear") { + throw std::runtime_error("Cannot convert nweights to weights for\n\ +non linear kernel\n"); + } + // convert normalised weights back to "normal" + t_type w(kw.rows()); + w(0) = kw(0); + for (size_t i=1; i<kw.size(); ++i) { + if (norm.std_dev[i] > std::numeric_limits<double>::min()) + w(i) = kw(i) * norm.std_dev[i]; + else + w(i) = kw(i); - w(0) += kw(i)*norm.mean[i]; - } - return w; + w(0) += kw(i)*norm.mean[i]; } + return w; + } - template <typename D> - void train(D &desmat) { - // TODO see comments in M_BLR - phi_type Phi = desmat.Phi; - t_type T = desmat.T; - M_KRR_Train<K>::train(Phi,T); + template <typename D> + void train(D &desmat) { + // TODO see comments in M_BLR + phi_type Phi = desmat.Phi; + t_type T = desmat.T; + M_KRR_Train<K>::train(Phi,T); - if (config.template get<bool>("NORM") && - kernel.get_label()=="Kern_Linear") { - weights = convert_to_nweights(weights); - } - } + if (config.template get<bool>("NORM") && + kernel.get_label()=="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; + // 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; }; #endif diff --git a/include/tadah/mlip/structure.h b/include/tadah/mlip/structure.h index e9171f6c472c0fd12a984e921e0751937802fa96..1fa835b4a0b852dc47bfc5d2f01e619f167091d7 100644 --- a/include/tadah/mlip/structure.h +++ b/include/tadah/mlip/structure.h @@ -109,8 +109,6 @@ struct Structure { */ double sweight=1.0; - /** List of chemical elements in this structure. */ - std::set<Element> unique_elements; /** @return a reference to the i-th Atom. * @@ -271,9 +269,19 @@ struct Structure { std::vector<Atom>::const_iterator begin() const; std::vector<Atom>::const_iterator end() const; + /** Method to dump class content to a file */ + void dump_to_file(std::ostream &file, size_t prec=12) const; + + /** Method to dump class content to a file */ + void dump_to_file(const std::string& filepath, size_t prec=12) const; + + /** List of chemical elements in this structure. */ + std::set<Element> get_unique_elements() const; + private: const static size_t w=15; // controls output width const static size_t p=6; // controls output precision + }; #endif diff --git a/include/tadah/mlip/structure_db.h b/include/tadah/mlip/structure_db.h index 74697d6edb2dc255ab051141ea135e12337348b6..8354890fe31eb3c269ad1f89c04f739a14baf4dc 100644 --- a/include/tadah/mlip/structure_db.h +++ b/include/tadah/mlip/structure_db.h @@ -1,6 +1,7 @@ #ifndef STRUCTURE_DB_h #define STRUCTURE_DB_h +#include "tadah/core/utils.h" #include <tadah/core/element.h> #include <tadah/core/config.h> #include <tadah/mlip/structure.h> @@ -39,31 +40,31 @@ * */ struct StructureDB { - std::vector<Structure> structures; + std::vector<Structure> structures; - /** Create an empty StructureDB object. */ - StructureDB(); + /** Create an empty StructureDB object. */ + StructureDB(); - /** Create this object and load structures + /** Create this object and load structures * listed in the config file * * \note * Required Config key: \ref DBFILE */ - StructureDB(Config &config); + StructureDB(Config &config); - /** Add structures listed in the config file + /** Add structures listed in the config file * * \note * Required Config key: \ref DBFILE * */ - void add(Config &config); + void add(Config &config); - /** Add all structures from a file */ - void add(const std::string fn); + /** Add all structures from a file */ + void add(const std::string fn); - /** Add N structures from a file begining from first index. + /** Add N structures from a file begining from first index. * * Indexing starts from zero, i.e. * first=0 corresponds to the first structure in the file. @@ -73,24 +74,27 @@ struct StructureDB { * * Return the number of loaded structures. */ - int add(const std::string fn, int first, int N); + int add(const std::string fn, size_t first, int N); - /** Add a single Structure object to this container */ - void add(const Structure &s); + /** Add a single Structure object to this container */ + void add(const Structure &s); - /** remove i-th Structure object from this container */ - void remove(size_t i); + /** Add all structure from other Structure object to this container */ + void add(const StructureDB &stdb); - /** \return number of structures held by this object */ - size_t size() const; + /** remove i-th Structure object from this container */ + void remove(size_t i); - /** \return number of structures in the n-th DBFILE + /** \return number of structures held by this object */ + size_t size() const; + + /** \return number of structures in the n-th DBFILE * * n={0,...,number of DBFILEs-1} */ - size_t size(size_t n) const; + size_t size(size_t n) const; - /** \return reference to the s-th structure + /** \return reference to the s-th structure * * Usage example: * @@ -98,10 +102,10 @@ struct StructureDB { * # and bind it to Structure st. * Structure &st = st(1); */ - Structure& operator()(size_t s); - const Structure& operator()(size_t s) const; + Structure& operator()(size_t s); + const Structure& operator()(size_t s) const; - /** \return reference to the a-th atom in the s-th structure + /** \return reference to the a-th atom in the s-th structure * * Usage example: * @@ -109,58 +113,62 @@ struct StructureDB { * # held by this object and bind it to the atom object. * Atom &atom = st(2,4); */ - Atom& operator()(size_t s, size_t a); + Atom& operator()(size_t s, size_t a); - /** Print this object summary to the stream */ - friend std::ostream& operator<<(std::ostream& os, const StructureDB& stdb) - { - os << "# of structures : " << std::left << stdb.structures.size() << std::endl; - return os; - } + /** Print this object summary to the stream */ + friend std::ostream& operator<<(std::ostream& os, const StructureDB& stdb) + { + os << stdb.summary(); + return os; + } + std::string summary() const; - /** Store indices for each dataset. + /** Store indices for each dataset. * * e.g. if 3 datasets of sizes 11,13,15 * dbidx=={0,11,24,39} */ - std::vector<size_t> dbidx; + std::vector<size_t> dbidx; - /** Calculate total number of atoms stored by this object. */ - size_t calc_natoms() const; + /** Calculate total number of atoms stored by this object. */ + size_t calc_natoms() const; - /** Calculate total number of atoms in the n-th DBFILE. + /** Calculate total number of atoms in the n-th DBFILE. * * n={0,...,number of DBFILEs-1} */ - size_t calc_natoms(size_t n) const; + size_t calc_natoms(size_t n) const; + + /** Return unique elements for all Structures. */ + std::set<Element> get_unique_elements() const; - /** Return unique elements for all Structures. */ - std::set<Element> get_unique_elements() const; + /** Find unique elements in provided Config file */ + static std::set<Element> find_unique_elements(const Config &c); - /** Find unique elements in provided Config file */ - static std::set<Element> find_unique_elements(const Config &c); + /** Find unique elements in provided file */ + static std::set<Element> find_unique_elements(const std::string &fn); - /** Find unique elements in provided file */ - static std::set<Element> find_unique_elements(const std::string &fn); + /** Count number of structures and atoms in all datasets from the Config file. */ + static std::pair<int,int> count(const Config &c); - /** Count number of structures and atoms in all datasets from the Config file. */ - static std::pair<int,int> count(const Config &c); + /** Count number of structures and atoms in a single dataset. */ + static std::pair<int,int> count(const std::string fn); - /** Count number of structures and atoms in a single dataset. */ - static std::pair<int,int> count(const std::string fn); + void clear_nn(); - void clear_nn(); + /** Check consistency of the ATOMS key. */ + static void check_atoms_key(Config &config, std::set<Element> &unique_elements); - /** Check consistency of the ATOMS key. */ - static void check_atoms_key(Config &config, std::set<Element> &unique_elements); + /** Check consistency of the WATOMS key. Add if missing*/ + static void check_watoms_key(Config &config, std::set<Element> &unique_elements); - /** Check consistency of the WATOMS key. Add if missing*/ - static void check_watoms_key(Config &config, std::set<Element> &unique_elements); + // Methods to enable range-based for loop + std::vector<Structure>::iterator begin(); + std::vector<Structure>::iterator end(); + std::vector<Structure>::const_iterator begin() const; + std::vector<Structure>::const_iterator end() const; - // Methods to enable range-based for loop - std::vector<Structure>::iterator begin(); - std::vector<Structure>::iterator end(); - std::vector<Structure>::const_iterator begin() const; - std::vector<Structure>::const_iterator end() const; + /** Method to dump class content to a file */ + void dump_to_file(const std::string& filepath, size_t prec=12) const; }; #endif diff --git a/src/castep_castep_reader.cpp b/src/castep_castep_reader.cpp index ad07f944a28896b23c3604e9d8c57f016a332a7c..89fed3a698fe276636ae9f808a7e8207adda284d 100644 --- a/src/castep_castep_reader.cpp +++ b/src/castep_castep_reader.cpp @@ -11,7 +11,6 @@ CastepCastepReader::CastepCastepReader(StructureDB& db) : DatasetReader(db) {} CastepCastepReader::CastepCastepReader(StructureDB& db, const std::string& filename) : DatasetReader(db, filename) { read_data(filename); - parse_data(); } void CastepCastepReader::read_data(const std::string& filename) { @@ -36,24 +35,52 @@ void CastepCastepReader::parse_data() { bool stress_tensor_bool = false; bool constant_volume = false; bool complete_structure = false; + bool md_run = false; + bool go_run = false; + bool restart = false; + int scf_idx = 0; Structure s; std::string label; + size_t counter=0; while (std::getline(stream, line)) { - if (line.find("Unit Cell") != std::string::npos) { + + if (line.find("type of calculation") != std::string::npos) { + stress_tensor_bool=false; + constant_volume=false; + md_run = false; + go_run = false; + restart=false; + if (line.find(": geometry optimization") != std::string::npos) { + go_run = true; + } + if (line.find(": molecular dynamics") != std::string::npos) { + md_run = true; + } + } + else if (line.find("Restarting MD") != std::string::npos) { + restart=true; + } + else if (line.find("Unit Cell") != std::string::npos) { if (!std::getline(stream, line) || !std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atom information" << std::endl; } + counter++; + counter++; s = Structure(); for (int i = 0; i < 3; ++i) { if (!std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading lattice vectors at row " << i << std::endl; break; } + counter++; std::istringstream iss(line); if (!(iss >> s.cell(0,i) >> s.cell(1,i) >> s.cell(2,i))) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading lattice vectors at row " << i << std::endl; break; } @@ -72,16 +99,16 @@ void CastepCastepReader::parse_data() { // Process the line to reach the 8th element while (iss >> temp) { if (++count == 7 && !(iss >> natoms)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Error: Failed to read number of atoms from line: " << line << std::endl; } } // Check if the line was too short if (count < 7) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Error: Line is too short to extract total number of ions in a cell. Line: " << line << std::endl; } - stress_tensor_bool=false; - constant_volume=false; } else if (line.find("so fixing cell parameters") != std::string::npos) { @@ -98,25 +125,36 @@ void CastepCastepReader::parse_data() { label = "CASTEP MD, const. volume: " + oss.str() + ", step: " + step; } + else if (constant_volume && line.find("Cell Contents") != std::string::npos) { - s = Structure(); - s.cell = stdb.structures.back().cell; // copy last cell as it is not repeated in castep for const. volume + if (restart) { + s.atoms.clear(); + } else { + s = Structure(); + s.cell = stdb.structures.back().cell; // copy last cell as it is not repeated in castep for const. volume + } } else if (line.find("Fractional coordinates of atoms") != std::string::npos) { if (!std::getline(stream, line) || !std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atom information" << std::endl; } + counter++; + counter++; for (size_t i = 0; i < natoms; ++i) { if (!std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atomic coordinates at row " << i << std::endl; break; } + counter++; std::istringstream iss(line); std::string type, tmp; double px,py,pz; if (!(iss >> tmp >> type >> tmp >> px >> py >> pz)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atomic coordiantes at row " << i << std::endl; break; } @@ -126,18 +164,26 @@ void CastepCastepReader::parse_data() { } else if (line.find("Cartesian components (eV/A)") != std::string::npos) { + if (s.natoms()!=natoms) continue; if (!std::getline(stream, line) || !std::getline(stream, line) || !std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atom forces" << std::endl; } + counter++; + counter++; + counter++; for (size_t i = 0; i < natoms; ++i) { if (!std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atom forces: " << line << std::endl; break; } + counter++; std::istringstream iss(line); std::string tmp; double fx,fy,fz; if (!(iss >> tmp >> tmp >> tmp >> fx >> fy >> fz)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atom forces: " << line << std::endl; } else { s.atoms[i].force = Vec3d(fx,fy,fz); @@ -147,16 +193,23 @@ void CastepCastepReader::parse_data() { else if (line.find("Cartesian components (GPa)") != std::string::npos) { if (!std::getline(stream, line) || !std::getline(stream, line) || !std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading stress tensor" << std::endl; } + counter++; + counter++; + counter++; for (size_t i = 0; i < 3; ++i) { if (!std::getline(stream, line)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading stress tensor: " << line << std::endl; break; } + counter++; std::istringstream iss(line); std::string tmp; if (!(iss >> tmp >> tmp >> s.stress(i,0) >> s.stress(i,1) >> s.stress(i,2))) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading atom forces: " << line << std::endl; } } @@ -170,8 +223,14 @@ void CastepCastepReader::parse_data() { std::istringstream iss(line); std::string tmp; if (!(iss >> tmp >> tmp >> tmp >> tmp >> tmp >> s.energy)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading total energy" << std::endl; } + // scf only loop + if (!md_run && !go_run) { + s.label = "SCF run: " + std::to_string(scf_idx++); + complete_structure = true; + } } else if (line.find("enthalpy=") != std::string::npos) { @@ -190,6 +249,7 @@ void CastepCastepReader::parse_data() { std::istringstream iss(line); std::string tmp; if (!(iss >> tmp >> tmp >> tmp >> s.energy)) { + std::cerr << "Warning, file" << filename << " line: " << counter << std::endl; std::cerr << "Warning: Unexpected end of data when reading total energy" << std::endl; } @@ -207,12 +267,15 @@ void CastepCastepReader::parse_data() { stdb.add(s); complete_structure = false; } - + counter++; } } void CastepCastepReader::print_summary() const { - std::cout << stdb; + std::cout << get_summary(); } +std::string CastepCastepReader::get_summary() const { + return stdb.summary(); +} diff --git a/src/castep_md_reader.cpp b/src/castep_md_reader.cpp index 43809c1383b441354b9e2d10f4f75b556518ca8b..a592172754bda721a102bac7326d85a9c1763d35 100644 --- a/src/castep_md_reader.cpp +++ b/src/castep_md_reader.cpp @@ -7,7 +7,6 @@ CastepMDReader::CastepMDReader(StructureDB& db) CastepMDReader::CastepMDReader(StructureDB& db, const std::string& filename) : DatasetReader(db, filename) { read_data(filename); - parse_data(); } void CastepMDReader::read_data(const std::string& filename) { @@ -62,7 +61,16 @@ std::string CastepMDReader::get_first_label(std::string &time) { + std::to_string(std::stod(time)*t_conv) + " ps"; } std::string CastepMDReader::get_label(std::string &time) { - return "Time: " + std::to_string(std::stod(time)*t_conv) + " ps"; + try { + return "Time: " + std::to_string(std::stod(time)*t_conv) + " ps"; + } catch (const std::invalid_argument& e) { + std::cerr << "Warning: " << filename << std::endl; + std::cerr << "Invalid argument: unable to convert to double: " << time << std::endl; + } catch (const std::out_of_range& e) { + std::cerr << "Warning: " << filename << std::endl; + std::cerr << "Out of range: string represents a value too large: " << time << std::endl; + } + return "Time: FAIL" ; } void CastepMDReader::parse_data() { @@ -80,41 +88,72 @@ void CastepMDReader::parse_data() { while (std::getline(stream, line)) { std::istringstream iss(line); if (ends_with(line,"<-- E")) { - s.label = get_first_label(time); iss >> s.energy; s.energy *= e_conv; break; } iss >> time; } + bool error=false; + //bool T_flag=false; + bool E_flag=false; + int H_flag=0; + int S_flag=0; + bool R_flag=false; + bool F_flag=false; + bool complete_structure=false; while (std::getline(stream, line)) { if (ends_with(line,"<-- T")) { + if (/* T_flag || */ complete_structure) { + error=true; + continue; + } std::istringstream iss(line); iss >> T; + //T_flag=true; } else if (ends_with(line,"<-- E")) { + if (/* T_flag || */ E_flag || complete_structure) { + error=true; + continue; + } std::istringstream iss(line); iss >> s.energy; s.energy *= e_conv; + E_flag=true; } else if (ends_with(line,"<-- h")) { // the current matrix of cell vectors + if (/* !T_flag || */ !E_flag || H_flag==3 || complete_structure) { + error=true; + continue; + } std::istringstream iss(line); if (!(iss >> s.cell(0,cell_idx) >> s.cell(1,cell_idx) >> s.cell(2,cell_idx))) std::cerr << "Warning: Unexpected end of data when reading lattice vectors at row " << cell_idx << std::endl; cell_idx++; + H_flag++; } else if (ends_with(line,"<-- S")) { // The full pressure tensor (including kinetic contributions) + if (/* !T_flag || */ !E_flag || H_flag!=3 || S_flag==3 || complete_structure) { + error=true; + continue; + } std::istringstream iss(line); if (!(iss >> s.stress(0,stress_idx) >> s.stress(1,stress_idx) >> s.stress(2,stress_idx))) std::cerr << "Warning: Unexpected end of data when reading stress tensor at row " << stress_idx << std::endl; stress_idx++; stress_tensor_bool = true; + S_flag++; } else if (ends_with(line,"<-- R")) { + if (/* !T_flag || */ !E_flag || H_flag!=3 || F_flag || complete_structure) { + error=true; + continue; + } // First the position vectors of all ions are printed with the label <-- R. std::string element; int temp; @@ -123,8 +162,13 @@ void CastepMDReader::parse_data() { if (!(iss >> element >> temp >> px >> py >> pz)) std::cerr << "Warning: Unexpected end of data when reading atomic positions:\n" << line << std::endl; s.add_atom(Atom(Element(element),px*d_conv,py*d_conv,pz*d_conv,0,0,0)); + R_flag=true; } else if (ends_with(line,"<-- F")) { + if (/* !T_flag || */ !E_flag || H_flag!=3 || !R_flag || force_idx==s.natoms() || complete_structure) { + error=true; + continue; + } std::string element; int temp; double fx, fy, fz; @@ -135,15 +179,28 @@ void CastepMDReader::parse_data() { s.atoms[force_idx].force[1]=fy*f_conv; s.atoms[force_idx].force[2]=fz*f_conv; force_idx++; + F_flag=true; + if (force_idx==s.natoms()) complete_structure=true; } else if (is_blank_line(line)) { - postproc_structure(s); + if (!error && complete_structure) + postproc_structure(s); + + error=false; + //T_flag=false; + E_flag=false; + H_flag=0; + S_flag=0; + R_flag=false; + F_flag=false; + complete_structure=false; + if (std::getline(stream, line)) { std::string time; std::istringstream iss(line); iss >> time; - s.label = get_label(time); + s.label = !stdb.size() ? get_first_label(time) : get_label(time); } cell_idx=0; @@ -154,11 +211,15 @@ void CastepMDReader::parse_data() { } // in case there is no blank line at the end we have to add last strcuture here - if (s.natoms()) { + if (s.natoms() && !error && complete_structure) { postproc_structure(s); } } void CastepMDReader::print_summary() const { - std::cout << stdb; + std::cout << get_summary(); +} + +std::string CastepMDReader::get_summary() const { + return stdb.summary(); } diff --git a/src/dataset_reader.cpp b/src/dataset_reader.cpp new file mode 100644 index 0000000000000000000000000000000000000000..048bbd6b1481a5f76ec8306541b701b6dd259a68 --- /dev/null +++ b/src/dataset_reader.cpp @@ -0,0 +1,4 @@ +#include <tadah/mlip/dataset_readers/dataset_reader.h> + +std::string DatasetReader::get_first_label(std::string &) { return std::string(); } +std::string DatasetReader::get_label(std::string &) { return std::string(); } diff --git a/src/dataset_reader_selector.cpp b/src/dataset_reader_selector.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bdc6d2004520d482132c70e7627dd562d7cef1ee --- /dev/null +++ b/src/dataset_reader_selector.cpp @@ -0,0 +1,62 @@ +#include <tadah/mlip/dataset_readers/dataset_reader_selector.h> +#include <tadah/mlip/dataset_readers/castep_castep_reader.h> +#include <tadah/mlip/dataset_readers/castep_md_reader.h> +#include <tadah/mlip/dataset_readers/castep_geom_reader.h> +#include <tadah/mlip/dataset_readers/vasp_outcar_reader.h> +#include <tadah/mlip/dataset_readers/vasp_vasprun_reader.h> + +#include <fstream> +#include <iostream> + +// Factory method implementation +std::unique_ptr<DatasetReader> DatasetReaderSelector::get_reader(const std::string& filepath, StructureDB& db) { + + std::string type = determine_file_type_by_content(filepath); + + if (type == "CASTEP.CASTEP") { + return std::make_unique<CastepCastepReader>(db,filepath); + } else if (type == "CASTEP.MD") { + return std::make_unique<CastepMDReader>(db,filepath); + } else if (type == "CASTEP.GEOM") { + return std::make_unique<CastepGeomReader>(db,filepath); + } else if (type == "VASP.VASPRUN") { + return std::make_unique<VaspVasprunReader>(db,filepath); + } else if (type == "VASP.OUTCAR") { + return std::make_unique<VaspOutcarReader>(db,filepath); + } else { + std::cerr << "Unknown type! Returning nullptr." << std::endl; + return nullptr; + } + +} + +// Function to determine the file type based on content +std::string DatasetReaderSelector::determine_file_type_by_content(const std::string& filepath) { + std::ifstream file(filepath); + if (!file.is_open()) { + std::cerr << "Could not open file: " << filepath << std::endl; + return "Unknown file type"; + } + + std::string line; + while (std::getline(file, line)) { + + if (line.find("vasp") != std::string::npos) { + if (line.find("incar:") != std::string::npos || line.find("outcar") != std::string::npos) { + return "VASP.OUTCAR"; + } else if (line.find("<modeling>") != std::string::npos || line.find("<calculation>") != std::string::npos) { + return "VASP.VASPRUN"; + } + } + else if (line.find("<-- c") != std::string::npos) { + return "CASTEP.GEOM"; + } else if (line.find("<-- E") != std::string::npos) { + // <-- E is also in .geom but .geom has <-- c before <-- E + return "CASTEP.MD"; + } else if (line.find("Unit Cell") != std::string::npos) { + return "CASTEP.CASTEP"; + } + } + + return "Unknown file type"; +} diff --git a/src/dm_bf_linear.cpp b/src/dm_bf_linear.cpp index f04f66e4921900f8ec3dea20e5c5adae8bc3fd1d..ab467e8c4ba7eb31f43ab3cdc26ec860061b312a 100644 --- a/src/dm_bf_linear.cpp +++ b/src/dm_bf_linear.cpp @@ -44,6 +44,7 @@ void DM_BF_Linear::calc_phi_force_rows(phi_type &Phi, size_t &row, void DM_BF_Linear::calc_phi_stress_rows(phi_type &Phi, size_t &row, const double fac[6], const Structure &st, const StDescriptors &st_d) { + double V_inv = 1/st.get_volume(); for (size_t i=0; i<st.natoms(); ++i) { const Vec3d &ri = st(i).position; for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { @@ -56,7 +57,7 @@ void DM_BF_Linear::calc_phi_stress_rows(phi_type &Phi, size_t &row, for (size_t x=0; x<3; ++x) { for (size_t y=x; y<3; ++y) { for (size_t d=0; d<fdij.rows(); ++d) { - Phi(row+mn,d) += (fdij(d,y)-fdji(d,y))*0.5*fac[mn]*(ri(x)-rj(x)); + Phi(row+mn,d) += V_inv*(fdij(d,y)-fdji(d,y))*0.5*fac[mn]*(ri(x)-rj(x)); } mn++; } diff --git a/src/dm_bf_polynomial2.cpp b/src/dm_bf_polynomial2.cpp index 51c3f561ce32df7c67017f379ec9f76a5eb3f123..6638fdb19ce46998b511e14e90b8b0b0f2f51c0f 100644 --- a/src/dm_bf_polynomial2.cpp +++ b/src/dm_bf_polynomial2.cpp @@ -64,6 +64,7 @@ void DM_BF_Polynomial2::calc_phi_stress_rows(phi_type &Phi, const Structure &st, const StDescriptors &st_d) { + double V_inv = 1/st.get_volume(); for (size_t a=0; a<st.natoms(); ++a) { const Vec3d &ri = st(a).position; const aed_type2& aedi = st_d.get_aed(a); @@ -80,7 +81,7 @@ void DM_BF_Polynomial2::calc_phi_stress_rows(phi_type &Phi, size_t b=0; for (size_t i=0; i<fdij.rows(); ++i) { for (size_t ii=i; ii<fdij.rows(); ++ii) { - Phi(row+mn,b) += 0.5*fac[mn]*(ri(x)-rj(x)) + Phi(row+mn,b) += V_inv*0.5*fac[mn]*(ri(x)-rj(x)) *(fdij(i,y)*aedi(ii) + fdij(ii,y)*aedi(i) - fdji(i,y)*aedj(ii) - fdji(ii,y)*aedj(i)); b++; diff --git a/src/dm_kern_base.cpp b/src/dm_kern_base.cpp index 92d62af48cb6227225fd049ada42970b2bfed683..ecf679c39ad18a36219dc36aa0aa3de34cb80c95 100644 --- a/src/dm_kern_base.cpp +++ b/src/dm_kern_base.cpp @@ -3,64 +3,65 @@ DM_Kern_Base::~DM_Kern_Base() {} size_t DM_Kern_Base::get_phi_cols(const Config &) { - return basis.cols(); + return basis.cols(); } void DM_Kern_Base::calc_phi_energy_row(phi_type &Phi, size_t &row, const double fac, - const Structure &, const StDescriptors &st_d) + const Structure &, const StDescriptors &st_d) { - for (size_t a=0; a<st_d.naed();++a) { - for (size_t b=0; b<basis.cols(); ++b) { - Phi(row,b) += (*this)(basis.col(b),st_d.get_aed(a))*fac; - } + for (size_t a=0; a<st_d.naed();++a) { + for (size_t b=0; b<basis.cols(); ++b) { + Phi(row,b) += (*this)(basis.col(b),st_d.get_aed(a))*fac; } - row++; - //Phi.row(row++) *= fac; + } + row++; + //Phi.row(row++) *= fac; } void DM_Kern_Base::calc_phi_force_rows(phi_type &Phi, size_t &row, const double fac, - const Structure &st, const StDescriptors &st_d) { - for (size_t i=0; i<st.natoms(); ++i) { - const aed_type2& aedi = st_d.get_aed(i); - for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { - size_t j=st.near_neigh_idx[i][jj]; - size_t ii = st.get_nn_iindex(i,j,jj); - const fd_type &fdji = st_d.fd[j][ii]; - const fd_type &fdij = st_d.fd[i][jj]; - const aed_type2& aedj = st_d.get_aed(j); - for (size_t b=0; b<basis.cols(); ++b) { - for (size_t k=0; k<3; ++k) { - Phi(row+k,b) -= fac*((*this).prime(basis.col(b), aedi,fdij(k)) - - (*this).prime(basis.col(b),aedj,fdji(k))); - } - } + const Structure &st, const StDescriptors &st_d) { + for (size_t i=0; i<st.natoms(); ++i) { + const aed_type2& aedi = st_d.get_aed(i); + for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { + size_t j=st.near_neigh_idx[i][jj]; + size_t ii = st.get_nn_iindex(i,j,jj); + const fd_type &fdji = st_d.fd[j][ii]; + const fd_type &fdij = st_d.fd[i][jj]; + const aed_type2& aedj = st_d.get_aed(j); + for (size_t b=0; b<basis.cols(); ++b) { + for (size_t k=0; k<3; ++k) { + Phi(row+k,b) -= fac*((*this).prime(basis.col(b), aedi,fdij(k)) - + (*this).prime(basis.col(b),aedj,fdji(k))); } - row+=3; + } } + row+=3; + } } void DM_Kern_Base::calc_phi_stress_rows(phi_type &Phi, size_t &row, const double fac[6], - const Structure &st, const StDescriptors &st_d) + const Structure &st, const StDescriptors &st_d) { - for (size_t i=0; i<st.natoms(); ++i) { - const Vec3d &ri = st(i).position; - const aed_type2& aedi = st_d.get_aed(i); - for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { - size_t j=st.near_neigh_idx[i][jj]; - size_t ii = st.get_nn_iindex(i,j,jj); - const fd_type &fdji = st_d.fd[j][ii]; - const fd_type &fdij = st_d.fd[i][jj]; - const aed_type2& aedj = st_d.get_aed(j); - const Vec3d &rj = st.nn_pos(i,jj); - size_t mn=0; - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - for (size_t b=0; b<basis.cols(); ++b) { - Phi(row+mn,b) += 0.5*fac[mn]*(ri(x)-rj(x))* - ((*this).prime(basis.col(b),aedi,fdij(y)) - - (*this).prime(basis.col(b),aedj,fdji(y))); - } - mn++; - } - } + double V_inv = 1/st.get_volume(); + for (size_t i=0; i<st.natoms(); ++i) { + const Vec3d &ri = st(i).position; + const aed_type2& aedi = st_d.get_aed(i); + for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { + size_t j=st.near_neigh_idx[i][jj]; + size_t ii = st.get_nn_iindex(i,j,jj); + const fd_type &fdji = st_d.fd[j][ii]; + const fd_type &fdij = st_d.fd[i][jj]; + const aed_type2& aedj = st_d.get_aed(j); + const Vec3d &rj = st.nn_pos(i,jj); + size_t mn=0; + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + for (size_t b=0; b<basis.cols(); ++b) { + Phi(row+mn,b) += V_inv*0.5*fac[mn]*(ri(x)-rj(x))* + ((*this).prime(basis.col(b),aedi,fdij(y)) - + (*this).prime(basis.col(b),aedj,fdji(y))); + } + mn++; } + } } - row+=6; + } + row+=6; } diff --git a/src/dm_kern_linear.cpp b/src/dm_kern_linear.cpp index c04a361d072d474389ef8b0bcbdee9cc25340ba2..90f97a7eda24374a7bad06a72f926a97c67370fe 100644 --- a/src/dm_kern_linear.cpp +++ b/src/dm_kern_linear.cpp @@ -8,61 +8,62 @@ DM_Kern_Linear::DM_Kern_Linear (const Config &c): Kern_Linear(c) {} size_t DM_Kern_Linear::get_phi_cols(const Config &config) { - size_t cols = config.get<size_t>("DSIZE"); - return cols; + size_t cols = config.get<size_t>("DSIZE"); + return cols; } void DM_Kern_Linear::calc_phi_energy_row(phi_type &Phi, size_t &row, - const double fac, const Structure &, const StDescriptors &st_d) + const double fac, const Structure &, const StDescriptors &st_d) { - for (size_t a=0; a<st_d.naed();++a) { - const aed_type2 &aed = st_d.get_aed(a); // TODO - for (size_t j=0; j<aed.size(); ++j) { - Phi(row,j)+=aed[j]*fac; - } + for (size_t a=0; a<st_d.naed();++a) { + const aed_type2 &aed = st_d.get_aed(a); // TODO + for (size_t j=0; j<aed.size(); ++j) { + Phi(row,j)+=aed[j]*fac; } - row++; + } + row++; } void DM_Kern_Linear::calc_phi_force_rows(phi_type &Phi, size_t &row, - const double fac, const Structure &st, const StDescriptors &st_d) + const double fac, const Structure &st, const StDescriptors &st_d) { - for (size_t a=0; a<st.natoms(); ++a) { - for (size_t jj=0; jj<st_d.fd[a].size(); ++jj) { - const size_t j=st.near_neigh_idx[a][jj]; - const size_t aa = st.get_nn_iindex(a,j,jj); - for (size_t k=0; k<3; ++k) { - aed_type2 temp = (st_d.fd[a][jj](k)- - st_d.fd[j][aa](k))*fac; - for (size_t d=0; d<temp.size(); ++d) { - Phi(row+k,d) -= temp[d]; - } - } + for (size_t a=0; a<st.natoms(); ++a) { + for (size_t jj=0; jj<st_d.fd[a].size(); ++jj) { + const size_t j=st.near_neigh_idx[a][jj]; + const size_t aa = st.get_nn_iindex(a,j,jj); + for (size_t k=0; k<3; ++k) { + aed_type2 temp = (st_d.fd[a][jj](k)- + st_d.fd[j][aa](k))*fac; + for (size_t d=0; d<temp.size(); ++d) { + Phi(row+k,d) -= temp[d]; } - row+=3; + } } + row+=3; + } } void DM_Kern_Linear::calc_phi_stress_rows(phi_type &Phi, size_t &row, - const double fac[6], const Structure &st, const StDescriptors &st_d) + const double fac[6], const Structure &st, const StDescriptors &st_d) { - for (size_t i=0; i<st.natoms(); ++i) { - const Vec3d &ri = st(i).position; - for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { - const size_t j=st.near_neigh_idx[i][jj]; - const size_t ii = st.get_nn_iindex(i,j,jj); - const fd_type &fdij = st_d.fd[i][jj]; - const fd_type &fdji = st_d.fd[j][ii]; - const Vec3d &rj = st.nn_pos(i,jj); - size_t mn=0; - for (size_t x=0; x<3; ++x) { - for (size_t y=x; y<3; ++y) { - aed_type2 temp = (fdij(y)-fdji(y))*0.5*fac[mn]*(ri(x)-rj(x)); - for (size_t d=0; d<temp.size(); ++d) { - Phi(row+mn,d) += temp[d]; - } - mn++; - } - } + double V_inv = 1/st.get_volume(); + for (size_t i=0; i<st.natoms(); ++i) { + const Vec3d &ri = st(i).position; + for (size_t jj=0; jj<st_d.fd[i].size(); ++jj) { + const size_t j=st.near_neigh_idx[i][jj]; + const size_t ii = st.get_nn_iindex(i,j,jj); + const fd_type &fdij = st_d.fd[i][jj]; + const fd_type &fdji = st_d.fd[j][ii]; + const Vec3d &rj = st.nn_pos(i,jj); + size_t mn=0; + for (size_t x=0; x<3; ++x) { + for (size_t y=x; y<3; ++y) { + aed_type2 temp = V_inv*(fdij(y)-fdji(y))*0.5*fac[mn]*(ri(x)-rj(x)); + for (size_t d=0; d<temp.size(); ++d) { + Phi(row+mn,d) += temp[d]; + } + mn++; } + } } - row += 6; + } + row += 6; } diff --git a/src/dm_kern_lq.cpp b/src/dm_kern_lq.cpp index 0333db06a7ce4a9c9113e4b484bc1dc007d43db4..3c14dfaad5465facd3ef725b13d7a323fd29f7b0 100644 --- a/src/dm_kern_lq.cpp +++ b/src/dm_kern_lq.cpp @@ -4,8 +4,8 @@ //CONFIG::Registry<DM_Function_Base,Config&>::Register<DM_Kern_LQ> DM_Kern_LQ_2( "Kern_LQ" ); DM_Kern_LQ::DM_Kern_LQ(): - Kern_LQ() + Kern_LQ() {} DM_Kern_LQ::DM_Kern_LQ(const Config &c): - Kern_LQ(c) + Kern_LQ(c) {} diff --git a/src/dm_kern_polynomial.cpp b/src/dm_kern_polynomial.cpp index b5fccbd4ab82ae3c397a002abcdadddeacb582c8..b60e9d913d808a63f48a6bb76cbb2547888b3500 100644 --- a/src/dm_kern_polynomial.cpp +++ b/src/dm_kern_polynomial.cpp @@ -4,8 +4,8 @@ //CONFIG::Registry<DM_Function_Base,Config&>::Register<DM_Kern_Polynomial> DM_Kern_Polynomial_2( "Kern_Polynomial" ); DM_Kern_Polynomial::DM_Kern_Polynomial(): - Kern_Polynomial() + Kern_Polynomial() {} DM_Kern_Polynomial::DM_Kern_Polynomial(const Config &c): - Kern_Polynomial(c) + Kern_Polynomial(c) {} diff --git a/src/dm_kern_quadratic.cpp b/src/dm_kern_quadratic.cpp index 402c7771f57933a289a08802eddc6de1ad79ddfb..83a71981b1312f04f7c713d21f1e4ac546402d08 100644 --- a/src/dm_kern_quadratic.cpp +++ b/src/dm_kern_quadratic.cpp @@ -4,8 +4,8 @@ //CONFIG::Registry<DM_Function_Base,Config&>::Register<DM_Kern_Quadratic> DM_Kern_Quadratic_2( "Kern_Quadratic" ); DM_Kern_Quadratic::DM_Kern_Quadratic(): - Kern_Quadratic() + Kern_Quadratic() {} DM_Kern_Quadratic::DM_Kern_Quadratic(const Config &c): - Kern_Quadratic(c) + Kern_Quadratic(c) {} diff --git a/src/dm_kern_rbf.cpp b/src/dm_kern_rbf.cpp index 7ff05ef7af2d432ef6a82e33d1118c1d1ae31374..1870190d591d2c0df7b88acadbcd00f9b5839326 100644 --- a/src/dm_kern_rbf.cpp +++ b/src/dm_kern_rbf.cpp @@ -4,8 +4,8 @@ //CONFIG::Registry<DM_Function_Base,Config&>::Register<DM_Kern_RBF> DM_Kern_RBF_2( "Kern_RBF" ); DM_Kern_RBF::DM_Kern_RBF(): - Kern_RBF() + Kern_RBF() {} DM_Kern_RBF::DM_Kern_RBF(const Config &c): - Kern_RBF(c) + Kern_RBF(c) {} diff --git a/src/dm_kern_sigmoid.cpp b/src/dm_kern_sigmoid.cpp index d1fb598553daa2c9fb695f2da49c3393e246ed6e..2da37c905a1be2f801beafd7ed9bbcbd83f99295 100644 --- a/src/dm_kern_sigmoid.cpp +++ b/src/dm_kern_sigmoid.cpp @@ -4,8 +4,8 @@ //CONFIG::Registry<DM_Function_Base,Config&>::Register<DM_Kern_Sigmoid> DM_Kern_Sigmoid_2( "Kern_Sigmoid" ); DM_Kern_Sigmoid::DM_Kern_Sigmoid(): - Kern_Sigmoid() + Kern_Sigmoid() {} DM_Kern_Sigmoid::DM_Kern_Sigmoid(const Config &c): - Kern_Sigmoid(c) + Kern_Sigmoid(c) {} diff --git a/src/m_tadah_base.cpp b/src/m_tadah_base.cpp index 11cac065b7dff94a3c0eb954d44c95b9c88ab74c..66a70b0747838608dceb6505fbefeb4caa328e37 100644 --- a/src/m_tadah_base.cpp +++ b/src/m_tadah_base.cpp @@ -63,7 +63,9 @@ predict(const Config &c, StDescriptorsDB &st_desc_db, const StructureDB &stdb) { StructureDB stdb_; stdb_.structures.resize(stdb.size()); +#ifdef _OPENMP #pragma omp parallel for +#endif for (size_t i=0; i<stdb.size(); ++i) { stdb_(i) = predict(c,st_desc_db(i), stdb(i)); } @@ -75,7 +77,9 @@ predict(Config &c, const StructureDB &stdb, DC_Base &dc) { StructureDB stdb_; stdb_.structures.resize(stdb.size()); +#ifdef _OPENMP #pragma omp parallel for +#endif for (size_t i=0; i<stdb.size(); ++i) { StDescriptors st_d = dc.calc(stdb(i)); stdb_(i) = predict(c,st_d, stdb(i)); @@ -105,6 +109,7 @@ void M_Tadah_Base:: spredict(const size_t a, stress_type &s, const StDescriptors &std, const Structure &st) { + double V_inv = 1/st.get_volume(); const Vec3d &ri = st.atoms[a].position; const aed_type2 &aedi = std.get_aed(a); for (size_t jj=0; jj<st.nn_size(a); ++jj) { @@ -122,7 +127,7 @@ spredict(const size_t a, stress_type &s, // resutling from the pairwise i-j interaction. for (size_t x=0; x<3; ++x) { for (size_t y=x; y<3; ++y) { - s(x,y) -= 0.5*(ri[x]-rj[x])*(fij[y]-fji[y]); + s(x,y) -= V_inv*0.5*(ri[x]-rj[x])*(fij[y]-fji[y]); } } } diff --git a/src/nn_finder.cpp b/src/nn_finder.cpp index 9c41cb4d4fbe4713447c104111ecbf7fc5e8bfdf..c2840d9cd04d2265724e183075f772b6d8f2819c 100644 --- a/src/nn_finder.cpp +++ b/src/nn_finder.cpp @@ -72,7 +72,9 @@ void NNFinder::calc(Structure &st) { } } void NNFinder::calc(StructureDB &stdb) { +#ifdef _OPENMP #pragma omp parallel for +#endif for (size_t s=0; s<stdb.size(); ++s) { calc(stdb(s)); } diff --git a/src/structure.cpp b/src/structure.cpp index 4c923ac9966a283dcca399b05f5ba3a1e363e98d..4aa06757172e37fc6e5ac39e66845846f5d99222 100644 --- a/src/structure.cpp +++ b/src/structure.cpp @@ -87,7 +87,6 @@ int Structure::read(std::ifstream &ifs) { std::istringstream tmp(line); tmp >> symbol >> px >> py >> pz >> fx >> fy >> fz; Element e = PeriodicTable::find_by_symbol(symbol); - unique_elements.insert(e); atoms.push_back(Atom(e,px,py,pz,fx,fy,fz)); //Atom &a = atoms.back(); @@ -241,3 +240,57 @@ std::vector<Atom>::const_iterator Structure::begin() const { std::vector<Atom>::const_iterator Structure::end() const { return atoms.cend(); } +void Structure::dump_to_file(std::ostream& file, size_t prec) const { + const int n = 5; + file << label << std::endl; + file << std::fixed << std::setprecision(prec); + file << eweight << " " << fweight << " " << sweight << std::endl; + file << energy << std::endl; + + file + << std::setw(prec+n) << cell(0,0) << " " + << std::setw(prec+n) << cell(0,1) << " " + << std::setw(prec+n) << cell(0,2) << " " << std::endl + << std::setw(prec+n) << cell(1,0) << " " + << std::setw(prec+n) << cell(1,1) << " " + << std::setw(prec+n) << cell(1,2) << " " << std::endl + << std::setw(prec+n) << cell(2,0) << " " + << std::setw(prec+n) << cell(2,1) << " " + << std::setw(prec+n) << cell(2,2) << " " << std::endl; + + file + << std::setw(prec+n) << stress(0,0) << " " + << std::setw(prec+n) << stress(0,1) << " " + << std::setw(prec+n) << stress(0,2) << " " << std::endl + << std::setw(prec+n) << stress(1,0) << " " + << std::setw(prec+n) << stress(1,1) << " " + << std::setw(prec+n) << stress(1,2) << " " << std::endl + << std::setw(prec+n) << stress(2,0) << " " + << std::setw(prec+n) << stress(2,1) << " " + << std::setw(prec+n) << stress(2,2) << " " << std::endl; + + for (const auto& a : atoms) { + file << std::setw(2) << a.symbol << " " + << std::setw(prec+n) << a.position[0] << " " + << std::setw(prec+n) << a.position[1] << " " + << std::setw(prec+n) << a.position[2] << " " + << std::setw(prec+n) << a.force[0] << " " + << std::setw(prec+n) << a.force[1] << " " + << std::setw(prec+n) << a.force[2] << std::endl; + } + file << std::endl; +} +void Structure::dump_to_file(const std::string& filepath, size_t prec) const { + std::ofstream file(filepath, std::ios::app); // Open in append mode + if (!file.is_open()) { + std::cerr << "Error: Could not open file for writing: " << filepath << std::endl; + return; + } + dump_to_file(file,prec); + file.close(); +} +std::set<Element> Structure::get_unique_elements() const{ + std::set<Element> unique_elements; + for (const auto& a:atoms) unique_elements.insert(a); + return unique_elements; +} diff --git a/src/structure_db.cpp b/src/structure_db.cpp index 08caaffbb156c3b4967c53675ab1515c3822fbf0..384e0a7a563514c4188f76f2f9a762a9b28ff572 100644 --- a/src/structure_db.cpp +++ b/src/structure_db.cpp @@ -1,3 +1,4 @@ +#include "tadah/core/element.h" #include <tadah/mlip/structure_db.h> #include <tadah/core/periodic_table.h> #include <cstdio> @@ -27,7 +28,7 @@ void StructureDB::add(const std::string fn) { } ifs.close(); } -int StructureDB::add(const std::string fn, int first, int N) { +int StructureDB::add(const std::string fn, size_t first, int N) { std::ifstream ifs(fn); if (!ifs.is_open()) { throw std::runtime_error("DBFILE does not exist: "+fn); @@ -57,6 +58,9 @@ int StructureDB::add(const std::string fn, int first, int N) { void StructureDB::add(const Structure &s) { structures.push_back(s); } +void StructureDB::add(const StructureDB &stdb) { + for (const auto &s: stdb) add(s); +} void StructureDB::remove(size_t i) { structures.erase(structures.begin()+i); @@ -105,8 +109,10 @@ size_t StructureDB::calc_natoms(size_t n) const { } std::set<Element> StructureDB::get_unique_elements() const { std::set<Element> s; - for (const auto & st: structures) s.insert( - st.unique_elements.begin(),st.unique_elements.end()); + for (const auto & st: structures) { + std::set<Element> u = st.get_unique_elements(); + s.insert(u.cbegin(),u.cend()); + } return s; } std::set<Element> StructureDB::find_unique_elements(const std::string &fn) { @@ -248,3 +254,26 @@ std::vector<Structure>::const_iterator StructureDB::begin() const { std::vector<Structure>::const_iterator StructureDB::end() const { return structures.cend(); } +void StructureDB::dump_to_file(const std::string& filepath, size_t prec) const { + std::ofstream file(filepath, std::ios::app); // Open in append mode + if (!file.is_open()) { + std::cerr << "Error: Could not open file for writing: " << filepath << std::endl; + return; + } + for (const auto &s : structures) { + s.dump_to_file(file,prec); + } + file.close(); +} + +std::string StructureDB::summary() const { + std::string str = "# of structures : " + to_string(structures.size()); + + str += " | # of atoms : " + to_string(calc_natoms()); + + str += " | Elements : "; + std::set<Element> ue = get_unique_elements(); + for (const auto &e: ue) str+= e.symbol + " "; + str+="\n"; + return str; +} diff --git a/src/vasp_outcar_reader.cpp b/src/vasp_outcar_reader.cpp index 2f3f53a8c133f0dea4c72f23f6a76c1ce846a118..d5fccef6162056f6137a513447d1b122a0452d15 100644 --- a/src/vasp_outcar_reader.cpp +++ b/src/vasp_outcar_reader.cpp @@ -12,7 +12,6 @@ VaspOutcarReader::VaspOutcarReader(StructureDB& db) : DatasetReader(db) {} VaspOutcarReader::VaspOutcarReader(StructureDB& db, const std::string& filename) : DatasetReader(db, filename) { read_data(filename); - parse_data(); } void VaspOutcarReader::read_data(const std::string& filename) { @@ -110,6 +109,7 @@ void VaspOutcarReader::parse_data() { s.stress(0,1) = s.stress(1,0) = row[3]; // xy s.stress(1,2) = s.stress(2,1) = row[4]; // yz s.stress(0,2) = s.stress(2,0) = row[5]; // zx + s.stress *= s_conv; } } @@ -183,5 +183,9 @@ void VaspOutcarReader::parse_data() { } void VaspOutcarReader::print_summary() const { - std::cout << stdb; + std::cout << get_summary(); +} + +std::string VaspOutcarReader::get_summary() const { + return stdb.summary(); } diff --git a/src/vasp_vasprun_reader.cpp b/src/vasp_vasprun_reader.cpp index cf72d1d27d9704c85d9efbe0765ef079963bcc5d..cc8e6620f9f2970a1a00eae8418991c35cbdf667 100644 --- a/src/vasp_vasprun_reader.cpp +++ b/src/vasp_vasprun_reader.cpp @@ -6,7 +6,6 @@ VaspVasprunReader::VaspVasprunReader(StructureDB& stdb) VaspVasprunReader::VaspVasprunReader(StructureDB& stdb, const std::string& filename) : DatasetReader(stdb, filename), stdb(stdb) { read_data(filename); - parse_data(); } VaspVasprunReader::~VaspVasprunReader() { @@ -141,6 +140,7 @@ void VaspVasprunReader::extract_stress_tensor(rx::xml_node<> *calculation_node) _s.stress(r, 0) = x; _s.stress(r, 1) = y; _s.stress(r, 2) = z; + _s.stress *= s_conv; } else { std::cerr << "Error parsing stress tensor components." << std::endl; } @@ -230,6 +230,9 @@ void VaspVasprunReader::extract_forces(rx::xml_node<> *calculation_node) { } void VaspVasprunReader::print_summary() const { - std::cout << stdb; + std::cout << get_summary(); } +std::string VaspVasprunReader::get_summary() const { + return stdb.summary(); +} diff --git a/tests/test_atom.cpp b/tests/test_atom.cpp index 359a8bf4affbe413975b52449968f7b889c94922..fb60b03fa03c14229235eb93a8950fb5ef8dabdb 100644 --- a/tests/test_atom.cpp +++ b/tests/test_atom.cpp @@ -1,4 +1,5 @@ #include "catch2/catch.hpp" +#include "tadah/core/periodic_table.h" #include <tadah/mlip/atom.h> #include <string> @@ -15,6 +16,10 @@ Vec3d pos2(-1.0,-2.0,-3.0); Vec3d force2(-4.0,-5.0,-6.0); Element element2(symbol2,Z2); +TEST_CASE("Testing Atom PeriodicTable Initialization") { + PeriodicTable::initialize(); +} + TEST_CASE( "Testing Atom class constructor", "[atom]" ) { @@ -24,22 +29,19 @@ TEST_CASE( "Testing Atom class constructor", "[atom]" ) { REQUIRE( pos1 == a.position ); REQUIRE( force1 == a.force ); - REQUIRE( symbol1[0] == a.symbol[0] ); - REQUIRE( symbol1[1] == a.symbol[1] ); + REQUIRE( symbol1 == a.symbol ); REQUIRE( Z1 == a.Z ); // Trivial case 2/2 Atom b; b.position = pos1; b.force = force1; - b.symbol[0] = symbol1[0]; - b.symbol[1] = symbol1[1]; + b.symbol = symbol1; b.Z = Z1; REQUIRE( pos1 == b.position ); REQUIRE( force1 == b.force ); - REQUIRE( symbol1[0] == b.symbol[0] ); - REQUIRE( symbol1[1] == b.symbol[1] ); + REQUIRE( symbol1 == b.symbol ); REQUIRE( Z1 == b.Z ); REQUIRE( a == b ); diff --git a/tests/test_dataset_readers.cpp b/tests/test_dataset_readers.cpp index 5c1fc06f8b83bffda1e1a484f8d0253b46a24f3d..430bd3d55f7b4497ffadcdcdb1bcbd94aa71c209 100644 --- a/tests/test_dataset_readers.cpp +++ b/tests/test_dataset_readers.cpp @@ -21,6 +21,9 @@ std::vector<std::string> get_all_files(const std::string& directory) { } return filenames; } +TEST_CASE("Dataset Readers PeriodicTable Initialization") { + PeriodicTable::initialize(); +} TEST_CASE("Dataset Readers process datasets in directories", "[DatasetReaders]") { diff --git a/tests/test_structure.cpp b/tests/test_structure.cpp index 1a0292c725f931e458256a6f5717bd6b58ead8a5..055f39a11503c12b1dfd3066d3b0e293abc0769d 100644 --- a/tests/test_structure.cpp +++ b/tests/test_structure.cpp @@ -1,6 +1,6 @@ #include <string> -#include <filesystem> #include "catch2/catch.hpp" +#include "tadah/core/element.h" #include <tadah/mlip/atom.h> #include <tadah/mlip/structure.h> @@ -8,6 +8,9 @@ double fac = 1602.1766208; +TEST_CASE("Testing Structure PeriodicTable Initialization") { + PeriodicTable::initialize(); +} TEST_CASE( "Testing Structure class volume", "[structure_volume]" ) { //using vec=Eigen::Vector3d; @@ -54,7 +57,6 @@ TEST_CASE( "Testing Structure virial pressure calculations", "[structure_virial_ } TEST_CASE( "Testing Structure read and write", "[structure_read_write]" ) { - PeriodicTable::initialize(); Structure st; st.read("tests_data/structure_1.dat"); @@ -82,7 +84,6 @@ TEST_CASE( "Testing Structure read and write", "[structure_read_write]" ) { } TEST_CASE( "Testing Structure compare", "[structure_compare]" ) { - PeriodicTable::initialize(); Structure st; st.read("tests_data/structure_1.dat"); std::string tempfile = std::tmpnam(nullptr); @@ -114,9 +115,13 @@ TEST_CASE( "Testing Structure compare", "[structure_compare]" ) { std::remove(tempfile.c_str()); } TEST_CASE( "Testing Structure copy", "[structure_copy]" ) { - PeriodicTable::initialize(); Structure st; st.read("tests_data/structure_1.dat"); Structure st2=st; REQUIRE(st==st2); } +TEST_CASE("Testing Structure Unique Element") { + Structure st; + st.add_atom(Atom(Element("Ta"),0,0,0,0,0,0)); + REQUIRE(st.get_unique_elements().size()==1); +} diff --git a/tests/tests_data/valid_castep_castep/Gd0.castep b/tests/tests_data/valid_castep_castep/Gd0.castep new file mode 100755 index 0000000000000000000000000000000000000000..c6177a5b0f2351428947c259ec67fae93055e8d7 --- /dev/null +++ b/tests/tests_data/valid_castep_castep/Gd0.castep @@ -0,0 +1,5860 @@ + +-------------------------------------------------+ + | | + | CCC AA SSS TTTTT EEEEE PPPP | + | C A A S T E P P | + | C AAAA SS T EEE PPPP | + | C A A S T E P | + | CCC A A SSS T EEEEE P | + | | + +-------------------------------------------------+ + | | + | Welcome to Academic Release CASTEP version 18.1 | + | Ab Initio Total Energy Program | + | | + | Authors: | + | M. Segall, M. Probert, C. Pickard, P. Hasnip, | + | S. Clark, K. Refson, J. R. Yates, M. Payne | + | | + | Contributors: | + | P. Lindan, P. Haynes, J. White, V. Milman, | + | N. Govind, M. Gibson, P. Tulip, V. Cocula, | + | B. Montanari, D. Quigley, M. Glover, | + | L. Bernasconi, A. Perlov, M. Plummer, | + | E. McNellis, J. Meyer, J. Gale, D. Jochym | + | J. Aarons, B. Walker, R. Gillen, D. Jones | + | T. Green, I. J. Bush, C. J. Armstrong, | + | E. J. Higgins, E. L. Brown, M. S. McFly, | + | J. Wilkins, B-C. Shih, P. J. P. Byrne | + | | + | Copyright (c) 2000 - 2017 | + | | + | Distributed under the terms of an | + | Agreement between the United Kingdom | + | Car-Parrinello (UKCP) Consortium, | + | Daresbury Laboratory and Accelrys, Inc. | + | | + | Please cite | + | | + | "First principles methods using CASTEP" | + | | + | Zeitschrift fuer Kristallographie | + | 220(5-6) pp. 567-570 (2005) | + | | + | S. J. Clark, M. D. Segall, C. J. Pickard, | + | P. J. Hasnip, M. J. Probert, K. Refson, | + | M. C. Payne | + | | + | in all publications arising from | + | your use of CASTEP | + | | + +-------------------------------------------------+ + + + Compiled for linux_x86_64_gfortran4.8 on Thu, 19 Jul 2018 15:42:32 +0100 + from code version 70483bd0ad64+ Sun, 10 Dec 2017 12:18:29 +0000 + Compiler: GNU Fortran 4.8.5; Optimisation: fast + MATHLIBS: Intel MKL(2018.0.0) (LAPACK version 3.7.0) + FFT Lib : mkl + Fundamental constants values: CODATA 2014 + + Run started: Fri, 23 Jul 2021 22:08:58 +0100 + Info: number of up-spin electrons is equal to the + number of down-spins and spin_polarized=true + - consider setting spin_polarized=false. + + Atomic calculation performed for Gd: + 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 4f7 5s2 5p6 5d1 6s2 + + Converged in 116 iterations to an ae energy of -306496.732 eV + + ============================================================ + | Pseudopotential Report - Date of generation 23-07-2021 | + ------------------------------------------------------------ + | Element: Gd Ionic charge: 18.00 Level of theory: LDA | + | Atomic Solver: Koelling-Harmon | + | | + | Reference Electronic Structure | + | Orbital Occupation Energy | + | 5s 2.000 -1.832 | + | 5p 6.000 -1.005 | + | 4f 7.000 -0.327 | + | 6s 2.000 -0.157 | + | 5d 1.000 -0.099 | + | | + | Pseudopotential Definition | + | Beta l e Rc scheme norm | + | 1 0 -1.832 2.098 qc 0 | + | 2 0 -0.157 2.098 qc 0 | + | 3 0 0.250 2.098 qc 0 | + | 4 1 -1.005 2.098 qc 0 | + | 5 1 0.250 2.098 qc 0 | + | 6 3 -0.327 2.098 qc 0 | + | 7 3 0.250 2.098 qc 0 | + | loc 2 -0.099 2.098 qc 1 | + | | + | Augmentation charge Rinner = 1.466 | + | Partial core correction Rc = 1.466 | + ------------------------------------------------------------ + | "2|2.1|10|12|13|50U:60:51:52L:43(qc=6)" | + ------------------------------------------------------------ + | Author: Chris J. Pickard, Cambridge University | + ============================================================ + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + + Calculation parallelised over 16 processes. + Data is distributed by G-vector(4-way) and k-point(4-way) + + ************************************ Title ************************************ + + + ***************************** General Parameters ****************************** + + output verbosity : normal (1) + write checkpoint data to : Gd0.check + type of calculation : band structure + stress calculation : off + density difference calculation : off + electron localisation func (ELF) calculation : off + Hirshfeld analysis : off + unlimited duration calculation + timing information : on + memory usage estimate : on + write extra output files : on + write final potential to formatted file : off + write final density to formatted file : off + write BibTeX reference list : on + write OTFG pseudopotential files : on + write electrostatic potential file : on + write bands file : on + checkpoint writing : both castep_bin and check files + + output length unit : A + output mass unit : amu + output time unit : ps + output charge unit : e + output spin unit : hbar/2 + output energy unit : eV + output force unit : eV/A + output velocity unit : A/ps + output pressure unit : GPa + output inv_length unit : 1/A + output frequency unit : cm-1 + output force constant unit : eV/A**2 + output volume unit : A**3 + output IR intensity unit : (D/A)**2/amu + output dipole unit : D + output efield unit : eV/A/e + output entropy unit : J/mol/K + + wavefunctions paging : none + random number generator seed : randomised (220859301) + data distribution : optimal for this architecture + optimization strategy : maximize speed(+++) + + *********************** Exchange-Correlation Parameters *********************** + + using functional : Local Density Approximation + relativistic treatment : Koelling-Harmon + DFT+D: Semi-empirical dispersion correction : off + + ************************* Pseudopotential Parameters ************************** + + pseudopotential representation : reciprocal space + <beta|phi> representation : reciprocal space + spin-orbit coupling : off + + **************************** Basis Set Parameters ***************************** + + plane wave basis set cut-off : 425.0000 eV + size of standard grid : 1.7500 + size of fine gmax : 18.4829 1/A + finite basis set correction : none + + **************************** Electronic Parameters **************************** + + number of electrons : 18.00 + net charge of system : 0.000 + net spin of system : 0.000 + number of up spins : 9.000 + number of down spins : 9.000 + treating system as spin-polarized + number of bands : 29 + + ********************* Electronic Minimization Parameters ********************** + + Method: Treating system as metallic with density mixing treatment of electrons, + and number of SD steps : 1 + and number of CG steps : 4 + + total energy / atom convergence tol. : 0.5000E-06 eV + eigen-energy convergence tolerance : 0.1724E-07 eV + max force / atom convergence tol. : ignored + convergence tolerance window : 3 cycles + max. number of SCF cycles : 100 + number of fixed-spin iterations : 10 + smearing scheme : Gaussian + smearing width : 0.2000 eV + Fermi energy convergence tolerance : 0.2721E-13 eV + periodic dipole correction : NONE + + ************************** Density Mixing Parameters ************************** + + density-mixing scheme : Broyden + max. length of mixing history : 20 + charge density mixing amplitude : 0.8000 + spin density mixing amplitude : 2.000 + cut-off energy for mixing : 425.0 eV + + *********************** Population Analysis Parameters ************************ + + Population analysis with cutoff : 3.000 A + Population analysis output : summary and pdos components + + ************************** Band Structure Parameters ************************** + + max. number of iterations : 60 + max. CG steps in BS calc : 25 + number of bands / k-point : 56 + band convergence tolerance : 0.1000E-05 eV + write orbitals file : on + + ******************************************************************************* + + + ------------------------------- + Unit Cell + ------------------------------- + Real Lattice(A) Reciprocal Lattice(1/A) + 0.0000000 2.6200000 2.6200000 -1.199081165 1.199081165 1.199081165 + 2.6200000 0.0000000 2.6200000 1.199081165 -1.199081165 1.199081165 + 2.6200000 2.6200000 0.0000000 1.199081165 1.199081165 -1.199081165 + + Lattice parameters(A) Cell Angles + a = 3.705240 alpha = 60.000000 + b = 3.705240 beta = 60.000000 + c = 3.705240 gamma = 60.000000 + + Current cell volume = 35.969456 A**3 + density = 4.371765 AMU/A**3 + = 7.259486 g/cm^3 + + ------------------------------- + Cell Contents + ------------------------------- + Total number of ions in cell = 1 + Total number of species in cell = 1 + Max number of any one species = 1 + + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + x Element Atom Fractional coordinates of atoms x + x Number u v w x + x----------------------------------------------------------x + x Gd 1 0.000000 0.000000 0.000000 x + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + No user defined ionic velocities + + ------------------------------- + Details of Species + ------------------------------- + + Mass of species in AMU + Gd 157.2500000 + + Electric Quadrupole Moment (Barn) + Gd 1.3500000 Isotope157 + + + Quantisation axis: 1.00000 -1.00000 1.00000 + + Units for Hubbard U values are eV + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + | Element Atom Hubbard U values by orbital type | + | Number s p d f | + |------------------------------------------------------------------| + |Gd 1 0.00000 0.00000 0.00000 6.70000 | + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + Files used for pseudopotentials: + Gd 2|2.1|10|12|13|50U:60:51:52L:43(qc=6) + + ------------------------------- + k-Points For BZ Sampling + ------------------------------- + Number of kpoints used = 468 + + ------------------------------- + Symmetry and Constraints + ------------------------------- + + Maximum deviation from symmetry = 0.470004E-15 ANG + Magnetic structure symmetry: + User supplied or default Hubbard U data has reduced the symmetry of the system + + Number of symmetry operations = 16 + Number of ionic constraints = 3 + Point group of crystal = 15: D4h, 4/mmm, 4/m 2/m 2/m + Space group of crystal = 225: Fm-3m, -F 4 2 3 + + Set iprint > 1 for details on symmetry rotations/translations + + Centre of mass is constrained + Set iprint > 1 for details of linear ionic constraints + + Number of cell constraints= 5 + Cell constraints are: 1 1 1 0 0 0 + + External pressure/stress (GPa) + 0.00000 0.00000 0.00000 + 0.00000 0.00000 + 0.00000 + ++---------------- MEMORY AND SCRATCH DISK ESTIMATES PER PROCESS --------------+ +| Memory Disk | +| Baseline code, static data and system overhead 412.0 MB 0.0 MB | +| BLAS internal memory storage 0.0 MB 0.0 MB | +| Model and support data 61.3 MB 0.0 MB | +| Electronic energy minimisation requirements 46.4 MB 0.0 MB | +| Force calculation requirements 0.8 MB 0.0 MB | +| ----------------------------- | +| Approx. total storage required per process 519.8 MB 0.0 MB | +| | +| Requirements will fluctuate during execution and may exceed these estimates | ++-----------------------------------------------------------------------------+ +Calculating total energy with cut-off of 425.000 eV. + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + +------------------------------------------------------------------------ <-- SCF +SCF loop Energy Fermi Energy gain Timer <-- SCF + energy per atom (sec) <-- SCF +------------------------------------------------------------------------ <-- SCF +Initial -2.89965509E+003 0.00000000E+000 23.29 <-- SCF + 1 -2.98520074E+003 5.92001968E+000 8.55456534E+001 31.55 <-- SCF + 2 -3.03447725E+003 3.86911470E+000 4.92765152E+001 36.97 <-- SCF + 3 -3.03681060E+003 3.63238351E+000 2.33334698E+000 43.81 <-- SCF + 4 -3.08547151E+003 1.11125785E+001 4.86609050E+001 50.50 <-- SCF + 5 -3.08550199E+003 1.11064276E+001 3.04836941E-002 56.76 <-- SCF + 6 -3.02275477E+003 6.81693038E+000 -6.27472234E+001 63.20 <-- SCF + 7 -3.02299014E+003 6.77095701E+000 2.35372118E-001 70.44 <-- SCF + 8 -3.04218983E+003 1.36123180E-001 1.91996938E+001 77.78 <-- SCF + 9 -3.04226024E+003 1.32481040E-001 7.04039618E-002 83.82 <-- SCF + 10 -3.04346335E+003 -3.60111841E-002 1.20311029E+000 90.86 <-- SCF + 11 -3.18377830E+003 1.23926479E+001 1.40314957E+002 97.55 <-- SCF + 12 -3.18388218E+003 1.23786135E+001 1.03873732E-001 103.56 <-- SCF + 13 -3.04005602E+003 9.81148656E+000 -1.43826153E+002 110.06 <-- SCF + 14 -3.04060896E+003 9.64709145E+000 5.52934090E-001 116.82 <-- SCF + 15 -3.21926684E+003 -2.66698179E+001 1.78657886E+002 126.49 <-- SCF + 16 -3.21995318E+003 -2.66884642E+001 6.86339316E-001 132.70 <-- SCF + 17 -3.06822919E+003 -1.00743714E+001 -1.51723994E+002 139.43 <-- SCF + 18 -3.06839525E+003 -1.00807260E+001 1.66060994E-001 146.17 <-- SCF + 19 -3.03568611E+003 6.91936508E+000 -3.27091430E+001 152.51 <-- SCF + 20 -3.03577872E+003 6.91141545E+000 9.26104454E-002 160.06 <-- SCF + 21 -3.03377995E+003 3.72897532E+000 -1.99877019E+000 166.53 <-- SCF + 22 -3.03551763E+003 4.26115079E+000 1.73767987E+000 172.99 <-- SCF + 23 -3.03667303E+003 5.67930673E+000 1.15539756E+000 180.65 <-- SCF + 24 -3.03773904E+003 5.77488976E+000 1.06601260E+000 187.04 <-- SCF + 25 -3.03530269E+003 5.55347087E+000 -2.43634714E+000 194.27 <-- SCF + 26 -3.05032776E+003 -9.70548183E-001 1.50250654E+001 201.68 <-- SCF + 27 -3.05033208E+003 -9.70678755E-001 4.32051862E-003 208.85 <-- SCF + 28 -3.04539413E+003 -1.45391667E-001 -4.93794546E+000 215.82 <-- SCF + 29 -3.04539557E+003 -1.45497023E-001 1.44054842E-003 222.81 <-- SCF + 30 -3.13452484E+003 1.30254108E+001 8.91292691E+001 229.42 <-- SCF + 31 -3.13460994E+003 1.30110021E+001 8.50980851E-002 235.51 <-- SCF + 32 -3.06845909E+003 1.14127813E+001 -6.61508513E+001 241.91 <-- SCF + 33 -3.06850908E+003 1.14098622E+001 4.99932106E-002 248.67 <-- SCF + 34 -3.20411507E+003 -2.77108829E+001 1.35605986E+002 256.46 <-- SCF + 35 -3.20803541E+003 -2.77582286E+001 3.92034643E+000 263.96 <-- SCF + 36 -3.20804627E+003 -2.77582828E+001 1.08581388E-002 269.81 <-- SCF + 37 -3.12705607E+003 -3.12322670E+001 -8.09902058E+001 276.78 <-- SCF + 38 -3.12726508E+003 -3.12325885E+001 2.09016565E-001 283.24 <-- SCF + 39 -2.80683975E+003 1.00683380E+001 -3.20425334E+002 289.43 <-- SCF + 40 -2.80981984E+003 1.00332056E+001 2.98008829E+000 296.42 <-- SCF + 41 -2.80983673E+003 1.00330337E+001 1.68957548E-002 302.66 <-- SCF + 42 -3.04675051E+003 3.05979985E+000 2.36913775E+002 309.19 <-- SCF + 43 -3.04770013E+003 3.04477995E+000 9.49622910E-001 316.24 <-- SCF + 44 -3.04319238E+003 6.32951414E+000 -4.50775184E+000 322.94 <-- SCF + 45 -3.04321010E+003 6.32922112E+000 1.77232477E-002 329.70 <-- SCF + 46 -3.04943311E+003 5.58467038E+000 6.22300834E+000 336.05 <-- SCF + 47 -3.04945005E+003 5.58445434E+000 1.69348793E-002 343.45 <-- SCF + 48 -3.05455023E+003 5.39146007E+000 5.10018256E+000 349.77 <-- SCF + 49 -3.05456243E+003 5.39108103E+000 1.22027647E-002 357.67 <-- SCF + 50 -3.05493417E+003 5.26679242E+000 3.71738203E-001 364.01 <-- SCF + 51 -3.05525737E+003 4.90318130E+000 3.23200386E-001 370.46 <-- SCF + 52 -3.05506850E+003 4.95046824E+000 -1.88868372E-001 376.87 <-- SCF + 53 -3.05509778E+003 4.93855394E+000 2.92747541E-002 383.16 <-- SCF + 54 -3.05515680E+003 4.98485842E+000 5.90291045E-002 389.88 <-- SCF + 55 -3.05516098E+003 4.95329078E+000 4.17686172E-003 396.12 <-- SCF + 56 -3.05516001E+003 4.95987680E+000 -9.74111769E-004 403.37 <-- SCF + 57 -3.05515903E+003 4.97052811E+000 -9.74714884E-004 410.40 <-- SCF + 58 -3.05515905E+003 4.97104973E+000 1.55635104E-005 417.73 <-- SCF + 59 -3.05515907E+003 4.97088718E+000 2.60727692E-005 423.86 <-- SCF + 60 -3.05515908E+003 4.97087885E+000 1.64496093E-006 427.91 <-- SCF + 61 -3.05515908E+003 4.97088929E+000 5.32972948E-008 431.93 <-- SCF + 62 -3.05515908E+003 4.97090488E+000 1.03062499E-008 435.90 <-- SCF +------------------------------------------------------------------------ <-- SCF + +Integrated Spin Density = -7.72332 hbar/2 +Integrated |Spin Density| = 7.72332 hbar/2 + + + Hubbard U occupation numbers + ---------------------------- +Species Ion l spin occupancies +================================================================== + Gd 1 3 up: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + dn: 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +================================================================== + +Final energy, E = -3055.124910556 eV +Final free energy (E-TS) = -3055.159075896 eV +(energies not corrected for finite basis set) + +NB est. 0K energy (E-0.5TS) = -3055.141993226 eV + + +Writing analysis data to Gd0.castep_bin + +Writing model to Gd0.check + ++---------------- MEMORY AND SCRATCH DISK ESTIMATES PER PROCESS --------------+ +| Memory Disk | +| Baseline code, static data and system overhead 412.0 MB 0.0 MB | +| BLAS internal memory storage 0.0 MB 0.0 MB | +| Model and support data 38.3 MB 0.0 MB | +| Band structure calculation requirements 12.2 MB 0.0 MB | +| Force calculation requirements 0.8 MB 0.0 MB | +| ----------------------------- | +| Approx. total storage required per process 462.5 MB 0.0 MB | +| | +| Requirements will fluctuate during execution and may exceed these estimates | ++-----------------------------------------------------------------------------+ + ===================================================================== + + Fermi energy for spin up electrons is: 4.97090 eV + + + Fermi energy for spin down electrons is: 4.97090 eV + + + + + + B A N D S T R U C T U R E C A L C U L A T I O N + + + (General k-point calculation - complex wavefunctions) + + + + + + Calculation re-parallelised over 16 processes. + + + Data distributed by G-vector(4-way), k-point(4-way) + + + + + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + + + ================================================================= + + + + + + Band Structure Calculation: Progress report on root process + + + + + + There are 44 BS k-points. Root process contains 11 of them. + + + + + + Spin= 1 of 2, K-point= 1 of 11 completed, Time: 0.83s. + + + Spin= 1 of 2, K-point= 2 of 11 completed, Time: 0.87s. + + + Spin= 1 of 2, K-point= 3 of 11 completed, Time: 0.88s. + + + Spin= 1 of 2, K-point= 4 of 11 completed, Time: 0.82s. + + + Spin= 1 of 2, K-point= 5 of 11 completed, Time: 0.82s. + + + Spin= 1 of 2, K-point= 6 of 11 completed, Time: 0.83s. + + + Spin= 1 of 2, K-point= 7 of 11 completed, Time: 0.83s. + + + Spin= 1 of 2, K-point= 8 of 11 completed, Time: 0.84s. + + + Spin= 1 of 2, K-point= 9 of 11 completed, Time: 0.85s. + + + Spin= 1 of 2, K-point= 10 of 11 completed, Time: 0.85s. + + + Spin= 1 of 2, K-point= 11 of 11 completed, Time: 0.86s. + + + Spin= 2 of 2, K-point= 1 of 11 completed, Time: 0.84s. + + + Spin= 2 of 2, K-point= 2 of 11 completed, Time: 0.86s. + + + Spin= 2 of 2, K-point= 3 of 11 completed, Time: 0.88s. + + + Spin= 2 of 2, K-point= 4 of 11 completed, Time: 0.84s. + + + Spin= 2 of 2, K-point= 5 of 11 completed, Time: 0.87s. + + + Spin= 2 of 2, K-point= 6 of 11 completed, Time: 0.91s. + + + Spin= 2 of 2, K-point= 7 of 11 completed, Time: 0.90s. + + + Spin= 2 of 2, K-point= 8 of 11 completed, Time: 0.89s. + + + Spin= 2 of 2, K-point= 9 of 11 completed, Time: 0.90s. + + + Spin= 2 of 2, K-point= 10 of 11 completed, Time: 0.89s. + + + Spin= 2 of 2, K-point= 11 of 11 completed, Time: 0.86s. + + + Finished BS calculation on root process (waiting for others). + + + + + + ================================================================= + + + Electronic energies + + + ------------------- + + + + + + Band number Energy in eV + + + ================================================================= + + + + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 1 ( 0.500000 0.250000 0.750000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.140489 + + + 2 -15.675150 + + + 3 -15.675127 + + + 4 -15.491406 + + + 5 4.646509 + + + 6 5.744927 + + + 7 5.744930 + + + 8 7.771775 + + + 9 11.451284 + + + 10 11.451325 + + + 11 11.464830 + + + 12 11.838905 + + + 13 11.975861 + + + 14 11.976025 + + + 15 11.976082 + + + 16 12.012922 + + + 17 13.221744 + + + 18 13.583317 + + + 19 13.583344 + + + 20 16.423704 + + + 21 21.923485 + + + 22 21.923487 + + + 23 22.058452 + + + 24 26.139975 + + + 25 26.350079 + + + 26 26.606292 + + + 27 26.606304 + + + 28 32.960917 + + + 29 33.506718 + + + 30 33.506723 + + + 31 33.543138 + + + 32 33.749210 + + + 33 34.685144 + + + 34 36.520578 + + + 35 36.520586 + + + 36 40.136922 + + + 37 41.847572 + + + 38 41.847582 + + + 39 43.182231 + + + 40 45.003133 + + + 41 45.003135 + + + 42 46.090413 + + + 43 49.837962 + + + 44 50.237963 + + + 45 54.052781 + + + 46 54.196182 + + + 47 54.196187 + + + 48 55.992576 + + + 49 56.020656 + + + 50 56.698365 + + + 51 56.807608 + + + 52 56.807616 + + + 53 59.304086 + + + 54 59.304095 + + + 55 59.912768 + + + 56 63.944189 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 2 ( 0.500000 0.361111 0.638889) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.148360 + + + 2 -15.795373 + + + 3 -15.536911 + + + 4 -15.399812 + + + 5 4.548600 + + + 6 5.202122 + + + 7 6.211527 + + + 8 7.919187 + + + 9 10.116837 + + + 10 11.325269 + + + 11 11.650279 + + + 12 11.697329 + + + 13 12.002019 + + + 14 12.003970 + + + 15 12.018323 + + + 16 12.086600 + + + 17 12.571365 + + + 18 12.854797 + + + 19 16.682938 + + + 20 16.896536 + + + 21 18.445611 + + + 22 22.585307 + + + 23 23.741458 + + + 24 25.750588 + + + 25 25.873439 + + + 26 26.994401 + + + 27 29.795812 + + + 28 30.590778 + + + 29 31.480176 + + + 30 32.362909 + + + 31 33.428301 + + + 32 36.039925 + + + 33 37.033770 + + + 34 37.684262 + + + 35 37.859753 + + + 36 39.021769 + + + 37 39.905960 + + + 38 41.457956 + + + 39 41.858487 + + + 40 45.157791 + + + 41 46.898060 + + + 42 48.412806 + + + 43 49.308326 + + + 44 50.969290 + + + 45 51.573751 + + + 46 51.734979 + + + 47 53.186060 + + + 48 53.553017 + + + 49 55.247737 + + + 50 55.782023 + + + 51 58.312015 + + + 52 59.713428 + + + 53 60.634973 + + + 54 61.899359 + + + 55 61.944860 + + + 56 62.588523 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 3 ( 0.500000 0.472222 0.527778) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.159194 + + + 2 -15.898788 + + + 3 -15.342554 + + + 4 -15.334534 + + + 5 3.408407 + + + 6 6.304426 + + + 7 6.905563 + + + 8 6.978126 + + + 9 10.900138 + + + 10 10.907034 + + + 11 11.100353 + + + 12 11.598372 + + + 13 11.629813 + + + 14 12.021213 + + + 15 12.022126 + + + 16 12.030674 + + + 17 12.121141 + + + 18 13.154244 + + + 19 15.370960 + + + 20 18.188984 + + + 21 18.221041 + + + 22 24.232169 + + + 23 24.452226 + + + 24 24.539758 + + + 25 27.195483 + + + 26 27.673711 + + + 27 27.940214 + + + 28 32.069410 + + + 29 32.192699 + + + 30 33.151414 + + + 31 34.041186 + + + 32 34.302526 + + + 33 34.727359 + + + 34 36.237321 + + + 35 39.210548 + + + 36 39.825545 + + + 37 40.775458 + + + 38 42.242385 + + + 39 43.498200 + + + 40 44.357470 + + + 41 45.691665 + + + 42 47.972549 + + + 43 48.782799 + + + 44 51.155139 + + + 45 51.477603 + + + 46 52.930401 + + + 47 53.217810 + + + 48 53.846709 + + + 49 54.145769 + + + 50 55.566223 + + + 51 57.956669 + + + 52 58.929312 + + + 53 58.975595 + + + 54 60.274465 + + + 55 60.829303 + + + 56 62.215372 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 4 ( 0.363636 0.363636 0.363636) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.169610 + + + 2 -15.796433 + + + 3 -15.317150 + + + 4 -15.317137 + + + 5 3.013359 + + + 6 6.049565 + + + 7 7.107198 + + + 8 7.107199 + + + 9 10.033435 + + + 10 10.033437 + + + 11 10.979614 + + + 12 11.913602 + + + 13 11.913607 + + + 14 11.947438 + + + 15 11.997309 + + + 16 11.997311 + + + 17 12.125961 + + + 18 14.209592 + + + 19 16.103741 + + + 20 19.436097 + + + 21 19.436098 + + + 22 21.542913 + + + 23 22.839688 + + + 24 22.839690 + + + 25 28.496499 + + + 26 28.528652 + + + 27 28.528653 + + + 28 30.470191 + + + 29 32.484087 + + + 30 32.484090 + + + 31 34.641898 + + + 32 35.093228 + + + 33 35.093233 + + + 34 38.483759 + + + 35 40.214270 + + + 36 42.018901 + + + 37 42.018904 + + + 38 43.027434 + + + 39 44.636840 + + + 40 44.636843 + + + 41 44.788210 + + + 42 49.058269 + + + 43 49.058280 + + + 44 49.177057 + + + 45 49.926939 + + + 46 49.926940 + + + 47 50.741199 + + + 48 53.079973 + + + 49 53.079981 + + + 50 54.050328 + + + 51 57.982340 + + + 52 57.982345 + + + 53 58.829869 + + + 54 62.856351 + + + 55 62.856355 + + + 56 63.560807 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 5 ( 0.181818 0.181818 0.181818) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.199717 + + + 2 -15.447679 + + + 3 -15.271033 + + + 4 -15.271020 + + + 5 1.554945 + + + 6 6.415261 + + + 7 7.393848 + + + 8 7.393851 + + + 9 8.980965 + + + 10 8.980967 + + + 11 11.261809 + + + 12 11.571087 + + + 13 11.795543 + + + 14 11.795544 + + + 15 12.077655 + + + 16 12.077660 + + + 17 12.120799 + + + 18 15.845868 + + + 19 16.993878 + + + 20 19.403510 + + + 21 19.403521 + + + 22 21.064762 + + + 23 23.591923 + + + 24 23.591929 + + + 25 23.800408 + + + 26 28.632430 + + + 27 28.632433 + + + 28 30.572761 + + + 29 31.833481 + + + 30 31.833488 + + + 31 37.476608 + + + 32 38.082794 + + + 33 38.646027 + + + 34 38.646039 + + + 35 41.087187 + + + 36 42.744175 + + + 37 42.744177 + + + 38 45.851378 + + + 39 45.851385 + + + 40 46.821388 + + + 41 47.589871 + + + 42 47.589874 + + + 43 48.351121 + + + 44 50.507514 + + + 45 50.507514 + + + 46 50.712053 + + + 47 51.143676 + + + 48 51.847100 + + + 49 51.847102 + + + 50 54.373895 + + + 51 56.212046 + + + 52 56.212049 + + + 53 57.138467 + + + 54 57.557465 + + + 55 57.557465 + + + 56 59.157901 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 6 ( 0.000000 0.000000 0.000000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.216176 + + + 2 -15.245317 + + + 3 -15.245300 + + + 4 -15.245284 + + + 5 0.761406 + + + 6 7.131048 + + + 7 7.131054 + + + 8 7.131054 + + + 9 9.263875 + + + 10 9.263880 + + + 11 10.925406 + + + 12 11.562380 + + + 13 11.562480 + + + 14 11.562480 + + + 15 12.118289 + + + 16 12.118293 + + + 17 12.118389 + + + 18 15.718431 + + + 19 18.055250 + + + 20 18.055275 + + + 21 18.055283 + + + 22 19.365516 + + + 23 27.262079 + + + 24 27.262079 + + + 25 27.262083 + + + 26 27.467370 + + + 27 27.467385 + + + 28 27.467389 + + + 29 31.573265 + + + 30 31.573279 + + + 31 35.224822 + + + 32 37.083224 + + + 33 37.083228 + + + 34 37.083241 + + + 35 44.541683 + + + 36 44.541708 + + + 37 48.024005 + + + 38 48.024013 + + + 39 48.024023 + + + 40 48.035617 + + + 41 48.035626 + + + 42 48.035626 + + + 43 51.727640 + + + 44 51.727651 + + + 45 51.727654 + + + 46 51.736043 + + + 47 52.531352 + + + 48 52.531352 + + + 49 52.531355 + + + 50 53.407847 + + + 51 54.378644 + + + 52 54.378646 + + + 53 54.378647 + + + 54 55.710616 + + + 55 55.710617 + + + 56 55.710623 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 7 ( 0.166667 0.000000 0.166667) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.197414 + + + 2 -15.413838 + + + 3 -15.305352 + + + 4 -15.305339 + + + 5 1.662971 + + + 6 6.169276 + + + 7 7.676502 + + + 8 7.676503 + + + 9 7.939641 + + + 10 9.586108 + + + 11 11.479300 + + + 12 11.679973 + + + 13 11.680041 + + + 14 11.785034 + + + 15 12.064726 + + + 16 12.101544 + + + 17 12.101610 + + + 18 17.066976 + + + 19 17.084389 + + + 20 18.329563 + + + 21 18.329576 + + + 22 22.684300 + + + 23 23.021455 + + + 24 23.021458 + + + 25 23.999280 + + + 26 27.526407 + + + 27 28.611045 + + + 28 31.260585 + + + 29 31.260596 + + + 30 32.577874 + + + 31 38.350024 + + + 32 38.800342 + + + 33 38.800346 + + + 34 39.363457 + + + 35 39.800992 + + + 36 42.612950 + + + 37 42.612951 + + + 38 43.899927 + + + 39 45.808422 + + + 40 46.099973 + + + 41 46.099977 + + + 42 48.225143 + + + 43 48.922641 + + + 44 50.209492 + + + 45 50.209497 + + + 46 51.069600 + + + 47 53.055773 + + + 48 53.764159 + + + 49 53.764160 + + + 50 55.308981 + + + 51 55.817563 + + + 52 55.975477 + + + 53 55.975478 + + + 54 56.272913 + + + 55 56.384326 + + + 56 58.083463 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 8 ( 0.333333 0.000000 0.333333) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.160025 + + + 2 -15.720372 + + + 3 -15.422601 + + + 4 -15.422588 + + + 5 3.353228 + + + 6 4.926015 + + + 7 6.766803 + + + 8 9.255588 + + + 9 9.255594 + + + 10 10.370652 + + + 11 11.882856 + + + 12 11.882930 + + + 13 11.914859 + + + 14 11.934150 + + + 15 11.962728 + + + 16 12.046899 + + + 17 12.046955 + + + 18 16.309825 + + + 19 16.309834 + + + 20 17.306856 + + + 21 18.171931 + + + 22 20.498860 + + + 23 23.341546 + + + 24 23.341551 + + + 25 25.208782 + + + 26 28.268412 + + + 27 28.548230 + + + 28 31.967718 + + + 29 33.134982 + + + 30 33.134996 + + + 31 34.174846 + + + 32 34.174848 + + + 33 37.010511 + + + 34 37.079035 + + + 35 39.855283 + + + 36 42.781796 + + + 37 42.781797 + + + 38 43.350152 + + + 39 45.315118 + + + 40 45.914736 + + + 41 45.914742 + + + 42 48.644043 + + + 43 48.644048 + + + 44 49.506368 + + + 45 49.634263 + + + 46 49.826635 + + + 47 51.449362 + + + 48 52.244087 + + + 49 52.244087 + + + 50 52.746092 + + + 51 53.209804 + + + 52 60.469142 + + + 53 60.469143 + + + 54 61.152736 + + + 55 61.165572 + + + 56 61.452105 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 9 ( 0.500000 0.000000 0.500000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.141350 + + + 2 -15.860277 + + + 3 -15.479841 + + + 4 -15.479828 + + + 5 3.564330 + + + 6 4.452102 + + + 7 7.796001 + + + 8 10.936293 + + + 9 11.253711 + + + 10 11.253774 + + + 11 11.455781 + + + 12 11.455781 + + + 13 11.749748 + + + 14 11.971528 + + + 15 11.971582 + + + 16 12.014554 + + + 17 12.075431 + + + 18 14.115512 + + + 19 14.115540 + + + 20 14.219464 + + + 21 19.487082 + + + 22 22.882135 + + + 23 23.862702 + + + 24 26.491924 + + + 25 27.595853 + + + 26 27.595853 + + + 27 27.873258 + + + 28 27.873265 + + + 29 29.370771 + + + 30 32.684123 + + + 31 34.212916 + + + 32 34.212930 + + + 33 35.091493 + + + 34 39.667206 + + + 35 41.651271 + + + 36 41.651271 + + + 37 41.781178 + + + 38 42.787248 + + + 39 43.552966 + + + 40 44.150818 + + + 41 46.558843 + + + 42 46.558853 + + + 43 48.243370 + + + 44 48.951763 + + + 45 51.273353 + + + 46 51.273353 + + + 47 51.725846 + + + 48 52.726003 + + + 49 52.726003 + + + 50 56.170707 + + + 51 57.577160 + + + 52 58.747756 + + + 53 58.747759 + + + 54 61.145991 + + + 55 61.435992 + + + 56 66.051670 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 10 ( 0.500000 0.166667 0.666667) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.140679 + + + 2 -15.768929 + + + 3 -15.578810 + + + 4 -15.488521 + + + 5 4.283349 + + + 6 5.053720 + + + 7 6.589982 + + + 8 8.470441 + + + 9 11.371553 + + + 10 11.462566 + + + 11 11.499728 + + + 12 11.804353 + + + 13 11.964790 + + + 14 11.969587 + + + 15 11.990045 + + + 16 12.009992 + + + 17 12.903788 + + + 18 13.252473 + + + 19 13.962643 + + + 20 16.226703 + + + 21 21.009833 + + + 22 22.030981 + + + 23 22.504797 + + + 24 25.699760 + + + 25 26.551786 + + + 26 27.236807 + + + 27 27.790827 + + + 28 31.558529 + + + 29 31.654357 + + + 30 31.987714 + + + 31 32.896704 + + + 32 35.602418 + + + 33 36.087548 + + + 34 36.785331 + + + 35 38.833256 + + + 36 39.497778 + + + 37 40.986072 + + + 38 42.394754 + + + 39 43.807514 + + + 40 44.702036 + + + 41 45.467430 + + + 42 46.882456 + + + 43 49.172887 + + + 44 50.493639 + + + 45 51.381126 + + + 46 52.441522 + + + 47 53.570263 + + + 48 53.706663 + + + 49 56.503401 + + + 50 57.780551 + + + 51 58.625933 + + + 52 59.192381 + + + 53 60.337591 + + + 54 60.391353 + + + 55 60.400706 + + + 56 61.894642 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 11 ( 0.450000 0.300000 0.750000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -37.141179 + + + 2 -15.725605 + + + 3 -15.634550 + + + 4 -15.470984 + + + 5 4.549232 + + + 6 5.250544 + + + 7 6.227198 + + + 8 8.130422 + + + 9 10.950599 + + + 10 11.118217 + + + 11 11.827143 + + + 12 11.901357 + + + 13 11.942646 + + + 14 11.970882 + + + 15 11.995793 + + + 16 12.015967 + + + 17 12.906464 + + + 18 13.437928 + + + 19 14.329863 + + + 20 16.458408 + + + 21 20.645340 + + + 22 22.128635 + + + 23 22.859956 + + + 24 24.926138 + + + 25 26.685678 + + + 26 27.548958 + + + 27 27.710893 + + + 28 31.464126 + + + 29 32.554021 + + + 30 32.633361 + + + 31 33.627588 + + + 32 34.567488 + + + 33 34.634986 + + + 34 37.330152 + + + 35 38.770996 + + + 36 39.307648 + + + 37 41.273666 + + + 38 41.878769 + + + 39 42.420856 + + + 40 45.290263 + + + 41 45.909212 + + + 42 47.355826 + + + 43 48.773185 + + + 44 50.540739 + + + 45 51.518690 + + + 46 52.134860 + + + 47 54.716385 + + + 48 55.369686 + + + 49 56.199577 + + + 50 57.432911 + + + 51 57.930187 + + + 52 59.353107 + + + 53 59.393068 + + + 54 60.022908 + + + 55 60.225336 + + + 56 62.714392 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 1 ( 0.500000 0.250000 0.750000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751551 + + + 2 -18.130155 + + + 3 -18.130141 + + + 4 -17.982762 + + + 5 -4.940800 + + + 6 -4.940753 + + + 7 -4.935345 + + + 8 -4.909204 + + + 9 -4.905636 + + + 10 -4.905561 + + + 11 -4.891574 + + + 12 3.866441 + + + 13 4.797106 + + + 14 4.797107 + + + 15 6.915200 + + + 16 9.969426 + + + 17 11.546260 + + + 18 11.958520 + + + 19 11.958524 + + + 20 15.012414 + + + 21 20.550161 + + + 22 20.550164 + + + 23 21.136035 + + + 24 24.708968 + + + 25 25.318081 + + + 26 25.318089 + + + 27 25.497515 + + + 28 31.442901 + + + 29 32.446044 + + + 30 32.488563 + + + 31 32.488566 + + + 32 33.025967 + + + 33 33.414713 + + + 34 35.793199 + + + 35 35.793205 + + + 36 39.040209 + + + 37 40.615295 + + + 38 40.615300 + + + 39 42.390675 + + + 40 43.901911 + + + 41 43.901913 + + + 42 45.260970 + + + 43 48.362151 + + + 44 48.661733 + + + 45 52.773670 + + + 46 53.141587 + + + 47 53.141591 + + + 48 55.036432 + + + 49 55.067446 + + + 50 56.014443 + + + 51 56.014449 + + + 52 56.020108 + + + 53 57.994924 + + + 54 57.994929 + + + 55 59.082921 + + + 56 63.090306 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 2 ( 0.500000 0.361111 0.638889) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.756998 + + + 2 -18.223494 + + + 3 -18.019320 + + + 4 -17.911915 + + + 5 -4.952820 + + + 6 -4.952420 + + + 7 -4.942886 + + + 8 -4.897357 + + + 9 -4.893229 + + + 10 -4.890478 + + + 11 -4.876901 + + + 12 3.650906 + + + 13 4.396937 + + + 14 5.255906 + + + 15 6.921067 + + + 16 9.076422 + + + 17 10.852167 + + + 18 11.057685 + + + 19 15.247547 + + + 20 15.445012 + + + 21 17.109771 + + + 22 21.274034 + + + 23 22.644004 + + + 24 24.557517 + + + 25 24.565709 + + + 26 25.829594 + + + 27 28.719106 + + + 28 29.303812 + + + 29 30.066582 + + + 30 31.496806 + + + 31 32.331106 + + + 32 34.915174 + + + 33 36.146432 + + + 34 36.711480 + + + 35 37.033706 + + + 36 37.925393 + + + 37 38.672649 + + + 38 40.465917 + + + 39 40.968200 + + + 40 43.689232 + + + 41 45.611691 + + + 42 47.435370 + + + 43 48.481211 + + + 44 50.092996 + + + 45 50.362746 + + + 46 50.855921 + + + 47 52.151855 + + + 48 52.567949 + + + 49 54.434096 + + + 50 54.435795 + + + 51 56.837631 + + + 52 58.657277 + + + 53 59.598706 + + + 54 60.828112 + + + 55 61.078490 + + + 56 61.639591 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 3 ( 0.500000 0.472222 0.527778) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.764077 + + + 2 -18.305312 + + + 3 -17.866838 + + + 4 -17.860636 + + + 5 -4.984158 + + + 6 -4.956577 + + + 7 -4.954536 + + + 8 -4.900440 + + + 9 -4.872978 + + + 10 -4.872372 + + + 11 -4.851299 + + + 12 2.548155 + + + 13 5.456219 + + + 14 5.902109 + + + 15 5.963458 + + + 16 9.511424 + + + 17 9.597047 + + + 18 11.709467 + + + 19 13.513430 + + + 20 16.712953 + + + 21 16.749298 + + + 22 23.185248 + + + 23 23.242862 + + + 24 23.337572 + + + 25 26.009237 + + + 26 26.413390 + + + 27 26.684263 + + + 28 30.901881 + + + 29 31.026987 + + + 30 32.004283 + + + 31 32.792620 + + + 32 32.854599 + + + 33 33.795145 + + + 34 35.388154 + + + 35 37.278632 + + + 36 38.949565 + + + 37 39.941282 + + + 38 41.480181 + + + 39 42.593783 + + + 40 43.476286 + + + 41 44.975974 + + + 42 46.944793 + + + 43 48.037731 + + + 44 50.186035 + + + 45 50.376229 + + + 46 51.623508 + + + 47 52.487537 + + + 48 52.517888 + + + 49 53.242254 + + + 50 54.237214 + + + 51 56.870209 + + + 52 57.660313 + + + 53 57.695699 + + + 54 59.213230 + + + 55 59.792932 + + + 56 61.239755 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 4 ( 0.363636 0.363636 0.363636) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.771667 + + + 2 -18.222958 + + + 3 -17.846086 + + + 4 -17.846081 + + + 5 -4.981213 + + + 6 -4.942796 + + + 7 -4.942794 + + + 8 -4.916618 + + + 9 -4.892612 + + + 10 -4.892607 + + + 11 -4.858029 + + + 12 2.154595 + + + 13 5.157300 + + + 14 6.082621 + + + 15 6.082622 + + + 16 8.863152 + + + 17 8.863154 + + + 18 12.542845 + + + 19 14.481982 + + + 20 18.045460 + + + 21 18.045462 + + + 22 20.472911 + + + 23 21.629205 + + + 24 21.629209 + + + 25 27.185395 + + + 26 27.185396 + + + 27 27.552717 + + + 28 29.396144 + + + 29 31.170784 + + + 30 31.170787 + + + 31 33.564405 + + + 32 33.836035 + + + 33 33.836040 + + + 34 36.622914 + + + 35 39.252330 + + + 36 41.092516 + + + 37 41.092518 + + + 38 42.181703 + + + 39 43.778496 + + + 40 43.778498 + + + 41 44.195084 + + + 42 47.825767 + + + 43 47.975750 + + + 44 47.975757 + + + 45 48.992312 + + + 46 48.992314 + + + 47 49.135940 + + + 48 52.354447 + + + 49 52.354454 + + + 50 53.239435 + + + 51 57.079587 + + + 52 57.079591 + + + 53 57.947830 + + + 54 61.723170 + + + 55 61.723173 + + + 56 62.538130 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 5 ( 0.181818 0.181818 0.181818) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.793890 + + + 2 -17.945241 + + + 3 -17.807650 + + + 4 -17.807645 + + + 5 -4.978666 + + + 6 -4.938151 + + + 7 -4.925759 + + + 8 -4.925756 + + + 9 -4.874824 + + + 10 -4.874820 + + + 11 -4.862091 + + + 12 0.715215 + + + 13 5.456856 + + + 14 6.326551 + + + 15 6.326553 + + + 16 7.859297 + + + 17 7.859297 + + + 18 14.349337 + + + 19 15.363714 + + + 20 18.159587 + + + 21 18.159597 + + + 22 20.058234 + + + 23 22.233490 + + + 24 22.233495 + + + 25 22.917299 + + + 26 27.264995 + + + 27 27.264998 + + + 28 29.134349 + + + 29 30.491196 + + + 30 30.491200 + + + 31 35.722081 + + + 32 36.930320 + + + 33 37.206642 + + + 34 37.206652 + + + 35 39.997930 + + + 36 41.538212 + + + 37 41.538213 + + + 38 44.941438 + + + 39 44.941444 + + + 40 45.464630 + + + 41 46.865729 + + + 42 46.865732 + + + 43 47.671107 + + + 44 49.439501 + + + 45 49.542305 + + + 46 49.542306 + + + 47 50.263213 + + + 48 51.081728 + + + 49 51.081729 + + + 50 53.312346 + + + 51 55.464309 + + + 52 55.464310 + + + 53 56.388170 + + + 54 56.576196 + + + 55 56.576197 + + + 56 58.297941 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 6 ( 0.000000 0.000000 0.000000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.805967 + + + 2 -17.786841 + + + 3 -17.786823 + + + 4 -17.786819 + + + 5 -5.003509 + + + 6 -4.944308 + + + 7 -4.944194 + + + 8 -4.944191 + + + 9 -4.864908 + + + 10 -4.864905 + + + 11 -4.864837 + + + 12 -0.050779 + + + 13 6.054545 + + + 14 6.054545 + + + 15 6.054547 + + + 16 8.035235 + + + 17 8.035236 + + + 18 13.640523 + + + 19 16.697638 + + + 20 16.697642 + + + 21 16.697656 + + + 22 18.887503 + + + 23 25.830043 + + + 24 25.830051 + + + 25 25.830051 + + + 26 26.186509 + + + 27 26.186522 + + + 28 26.186523 + + + 29 30.364236 + + + 30 30.364244 + + + 31 33.880486 + + + 32 35.348488 + + + 33 35.348499 + + + 34 35.348500 + + + 35 43.635839 + + + 36 43.635859 + + + 37 46.981089 + + + 38 46.981099 + + + 39 46.981103 + + + 40 47.111430 + + + 41 47.111430 + + + 42 47.111436 + + + 43 49.810051 + + + 44 50.332071 + + + 45 50.332078 + + + 46 50.332079 + + + 47 51.958047 + + + 48 51.958051 + + + 49 51.958051 + + + 50 52.327183 + + + 51 53.550212 + + + 52 53.550212 + + + 53 53.550214 + + + 54 55.153390 + + + 55 55.153396 + + + 56 55.153397 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 7 ( 0.166667 0.000000 0.166667) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.792222 + + + 2 -17.918345 + + + 3 -17.834896 + + + 4 -17.834883 + + + 5 -4.963067 + + + 6 -4.945082 + + + 7 -4.926163 + + + 8 -4.926079 + + + 9 -4.871007 + + + 10 -4.870969 + + + 11 -4.867576 + + + 12 0.820336 + + + 13 5.218934 + + + 14 6.606204 + + + 15 6.606204 + + + 16 6.954950 + + + 17 8.361932 + + + 18 15.419013 + + + 19 15.912781 + + + 20 17.045515 + + + 21 17.045519 + + + 22 21.530961 + + + 23 21.711747 + + + 24 21.711749 + + + 25 23.145567 + + + 26 26.097592 + + + 27 27.244838 + + + 28 29.836991 + + + 29 29.836997 + + + 30 31.251057 + + + 31 37.223783 + + + 32 37.223784 + + + 33 37.407859 + + + 34 37.803722 + + + 35 38.540805 + + + 36 41.607923 + + + 37 41.607924 + + + 38 42.703815 + + + 39 44.846092 + + + 40 45.044410 + + + 41 45.044414 + + + 42 47.224983 + + + 43 48.257894 + + + 44 49.164033 + + + 45 49.164036 + + + 46 50.506446 + + + 47 51.936573 + + + 48 53.016021 + + + 49 53.016022 + + + 50 53.939210 + + + 51 54.980804 + + + 52 55.452837 + + + 53 55.452837 + + + 54 55.584959 + + + 55 55.682563 + + + 56 57.250312 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 8 ( 0.333333 0.000000 0.333333) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.764676 + + + 2 -18.163791 + + + 3 -17.930909 + + + 4 -17.930897 + + + 5 -4.926846 + + + 6 -4.921298 + + + 7 -4.920375 + + + 8 -4.912691 + + + 9 -4.912614 + + + 10 -4.904442 + + + 11 -4.904395 + + + 12 2.532915 + + + 13 4.030121 + + + 14 5.878778 + + + 15 8.200379 + + + 16 8.200379 + + + 17 9.106582 + + + 18 14.919743 + + + 19 14.919746 + + + 20 15.958642 + + + 21 17.097746 + + + 22 19.096406 + + + 23 22.276860 + + + 24 22.276862 + + + 25 23.719557 + + + 26 26.880335 + + + 27 27.521796 + + + 28 30.946390 + + + 29 31.714736 + + + 30 31.714743 + + + 31 33.191423 + + + 32 33.191424 + + + 33 36.053381 + + + 34 36.129608 + + + 35 38.514037 + + + 36 41.566179 + + + 37 41.566179 + + + 38 42.124734 + + + 39 44.325662 + + + 40 44.508819 + + + 41 44.508823 + + + 42 47.527587 + + + 43 47.527590 + + + 44 48.708786 + + + 45 48.947790 + + + 46 49.007936 + + + 47 50.287867 + + + 48 51.688790 + + + 49 51.688790 + + + 50 52.242857 + + + 51 52.326187 + + + 52 59.691928 + + + 53 59.691928 + + + 54 59.889728 + + + 55 59.979402 + + + 56 60.730498 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 9 ( 0.500000 0.000000 0.500000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.750821 + + + 2 -18.278806 + + + 3 -17.978732 + + + 4 -17.978720 + + + 5 -4.963324 + + + 6 -4.925271 + + + 7 -4.925220 + + + 8 -4.919498 + + + 9 -4.894720 + + + 10 -4.894645 + + + 11 -4.890503 + + + 12 2.815258 + + + 13 3.558256 + + + 14 6.919531 + + + 15 9.542891 + + + 16 9.962566 + + + 17 9.962566 + + + 18 12.367816 + + + 19 12.367819 + + + 20 12.863283 + + + 21 18.405854 + + + 22 21.416031 + + + 23 22.306637 + + + 24 25.395127 + + + 25 26.586397 + + + 26 26.586401 + + + 27 27.058983 + + + 28 27.058983 + + + 29 28.036558 + + + 30 31.884707 + + + 31 32.604463 + + + 32 32.604470 + + + 33 33.978663 + + + 34 38.378714 + + + 35 40.701839 + + + 36 40.701839 + + + 37 40.917511 + + + 38 42.024323 + + + 39 42.353947 + + + 40 43.069958 + + + 41 45.180919 + + + 42 45.180924 + + + 43 47.668465 + + + 44 48.394247 + + + 45 50.735319 + + + 46 50.735320 + + + 47 51.240189 + + + 48 51.313849 + + + 49 51.313849 + + + 50 54.975837 + + + 51 56.584623 + + + 52 57.148856 + + + 53 57.148860 + + + 54 59.688669 + + + 55 59.739434 + + + 56 64.793137 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 10 ( 0.500000 0.166667 0.666667) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751366 + + + 2 -18.204739 + + + 3 -18.054808 + + + 4 -17.981722 + + + 5 -4.945152 + + + 6 -4.938928 + + + 7 -4.935398 + + + 8 -4.908801 + + + 9 -4.898125 + + + 10 -4.895306 + + + 11 -4.886850 + + + 12 3.514412 + + + 13 4.130220 + + + 14 5.633207 + + + 15 7.582880 + + + 16 9.967715 + + + 17 11.260438 + + + 18 11.567251 + + + 19 12.301085 + + + 20 14.813862 + + + 21 20.009351 + + + 22 20.601542 + + + 23 21.166038 + + + 24 24.472895 + + + 25 25.717211 + + + 26 25.907098 + + + 27 26.454197 + + + 28 30.242072 + + + 29 30.557946 + + + 30 30.988663 + + + 31 32.170966 + + + 32 34.380937 + + + 33 35.108044 + + + 34 35.773708 + + + 35 37.589196 + + + 36 38.300628 + + + 37 40.095289 + + + 38 41.356275 + + + 39 43.015680 + + + 40 43.831503 + + + 41 44.549126 + + + 42 45.531364 + + + 43 47.794048 + + + 44 49.500937 + + + 45 50.205983 + + + 46 51.088810 + + + 47 52.615727 + + + 48 52.848144 + + + 49 55.659226 + + + 50 56.328181 + + + 51 57.265356 + + + 52 58.253937 + + + 53 59.340134 + + + 54 59.624644 + + + 55 59.628863 + + + 56 60.933337 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 11 ( 0.450000 0.300000 0.750000) kpt-group= 1 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751941 + + + 2 -18.169969 + + + 3 -18.097509 + + + 4 -17.967799 + + + 5 -4.946740 + + + 6 -4.942037 + + + 7 -4.928138 + + + 8 -4.910559 + + + 9 -4.909793 + + + 10 -4.891786 + + + 11 -4.885886 + + + 12 3.772283 + + + 13 4.320381 + + + 14 5.270640 + + + 15 7.243409 + + + 16 9.708439 + + + 17 10.878404 + + + 18 11.899894 + + + 19 12.844773 + + + 20 15.044084 + + + 21 19.443176 + + + 22 20.817989 + + + 23 21.657714 + + + 24 23.751301 + + + 25 25.355407 + + + 26 26.225848 + + + 27 26.731881 + + + 28 30.287308 + + + 29 31.264809 + + + 30 31.800601 + + + 31 32.480236 + + + 32 33.457228 + + + 33 33.842709 + + + 34 36.311558 + + + 35 37.544689 + + + 36 38.537987 + + + 37 40.129969 + + + 38 40.996810 + + + 39 41.337153 + + + 40 44.398462 + + + 41 44.640333 + + + 42 46.383372 + + + 43 47.375835 + + + 44 49.293724 + + + 45 50.421331 + + + 46 51.003573 + + + 47 53.735987 + + + 48 54.195871 + + + 49 55.005313 + + + 50 56.490698 + + + 51 57.007263 + + + 52 58.408139 + + + 53 58.606348 + + + 54 59.057509 + + + 55 59.247239 + + + 56 61.672401 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 1 ( 0.500000 0.277778 0.722222) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.141021 + + + 2 -15.687755 + + + 3 -15.665208 + + + 4 -15.480894 + + + 5 4.683258 + + + 6 5.625838 + + + 7 5.776880 + + + 8 7.857356 + + + 9 10.978574 + + + 10 11.443158 + + + 11 11.671427 + + + 12 11.896539 + + + 13 11.937368 + + + 14 11.977884 + + + 15 11.989049 + + + 16 12.013395 + + + 17 13.009448 + + + 18 13.489762 + + + 19 14.092759 + + + 20 16.502902 + + + 21 20.989177 + + + 22 21.956615 + + + 23 22.946694 + + + 24 25.533686 + + + 25 26.094113 + + + 26 26.698499 + + + 27 27.645166 + + + 28 32.259817 + + + 29 32.797370 + + + 30 33.023444 + + + 31 33.564190 + + + 32 34.945371 + + + 33 35.175260 + + + 34 36.752193 + + + 35 36.774555 + + + 36 39.523034 + + + 37 41.227465 + + + 38 42.505001 + + + 39 42.982116 + + + 40 44.118861 + + + 41 45.721494 + + + 42 47.123275 + + + 43 49.692753 + + + 44 49.990865 + + + 45 53.416245 + + + 46 53.489531 + + + 47 54.479662 + + + 48 55.178097 + + + 49 56.234537 + + + 50 56.541764 + + + 51 57.040453 + + + 52 57.864324 + + + 53 59.277375 + + + 54 59.337664 + + + 55 61.111781 + + + 56 63.541081 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 2 ( 0.500000 0.388889 0.611111) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.151709 + + + 2 -15.831269 + + + 3 -15.477325 + + + 4 -15.375867 + + + 5 4.165807 + + + 6 5.480914 + + + 7 6.427280 + + + 8 7.626420 + + + 9 10.318894 + + + 10 11.232508 + + + 11 11.566422 + + + 12 11.625484 + + + 13 11.993067 + + + 14 12.009389 + + + 15 12.018161 + + + 16 12.101700 + + + 17 12.253254 + + + 18 12.906476 + + + 19 16.558211 + + + 20 17.346978 + + + 21 18.198022 + + + 22 23.037268 + + + 23 23.691756 + + + 24 25.582588 + + + 25 26.396509 + + + 26 26.963874 + + + 27 29.887303 + + + 28 29.940337 + + + 29 31.248820 + + + 30 33.489286 + + + 31 34.040464 + + + 32 35.488678 + + + 33 35.974215 + + + 34 37.791861 + + + 35 38.335431 + + + 36 39.032445 + + + 37 39.460285 + + + 38 42.238988 + + + 39 42.684774 + + + 40 44.268601 + + + 41 47.453125 + + + 42 47.483835 + + + 43 48.696925 + + + 44 51.190917 + + + 45 52.303454 + + + 46 52.407819 + + + 47 52.823997 + + + 48 53.789343 + + + 49 54.224892 + + + 50 55.770640 + + + 51 57.963248 + + + 52 59.664766 + + + 53 60.596302 + + + 54 61.437252 + + + 55 61.915742 + + + 56 62.548130 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 3 ( 0.500000 0.500000 0.500000) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.159796 + + + 2 -15.903625 + + + 3 -15.331751 + + + 4 -15.331738 + + + 5 3.352181 + + + 6 6.396948 + + + 7 6.931904 + + + 8 6.931905 + + + 9 10.941735 + + + 10 10.941738 + + + 11 10.973093 + + + 12 11.601781 + + + 13 11.601785 + + + 14 12.022446 + + + 15 12.022448 + + + 16 12.028190 + + + 17 12.122481 + + + 18 13.184353 + + + 19 15.281761 + + + 20 18.224528 + + + 21 18.224531 + + + 22 24.175743 + + + 23 24.607841 + + + 24 24.607843 + + + 25 27.130520 + + + 26 27.802735 + + + 27 27.802745 + + + 28 32.589883 + + + 29 32.589884 + + + 30 32.943332 + + + 31 33.921797 + + + 32 33.921800 + + + 33 34.519768 + + + 34 35.734778 + + + 35 38.988478 + + + 36 41.099849 + + + 37 41.099854 + + + 38 42.356910 + + + 39 43.705287 + + + 40 43.956232 + + + 41 43.956235 + + + 42 49.318768 + + + 43 49.318779 + + + 44 50.689568 + + + 45 52.322259 + + + 46 52.521487 + + + 47 52.521496 + + + 48 53.921352 + + + 49 53.921354 + + + 50 54.661993 + + + 51 58.042909 + + + 52 59.448471 + + + 53 59.448473 + + + 54 60.767216 + + + 55 60.767217 + + + 56 62.695659 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 4 ( 0.318182 0.318182 0.318182) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.176376 + + + 2 -15.720633 + + + 3 -15.306943 + + + 4 -15.306930 + + + 5 2.713159 + + + 6 5.994421 + + + 7 7.221053 + + + 8 7.221054 + + + 9 9.636520 + + + 10 9.636521 + + + 11 11.037798 + + + 12 11.885907 + + + 13 11.955458 + + + 14 11.955459 + + + 15 11.994727 + + + 16 11.994729 + + + 17 12.124563 + + + 18 14.623280 + + + 19 16.799095 + + + 20 20.191956 + + + 21 20.191958 + + + 22 20.584160 + + + 23 22.039461 + + + 24 22.039462 + + + 25 27.377646 + + + 26 28.683112 + + + 27 28.683113 + + + 28 30.709445 + + + 29 32.334587 + + + 30 32.334591 + + + 31 35.503634 + + + 32 36.000365 + + + 33 36.000373 + + + 34 38.207104 + + + 35 41.264940 + + + 36 42.632091 + + + 37 42.632093 + + + 38 43.905055 + + + 39 45.158907 + + + 40 45.158910 + + + 41 45.514555 + + + 42 47.623058 + + + 43 47.623064 + + + 44 47.914882 + + + 45 49.756818 + + + 46 49.756822 + + + 47 50.794780 + + + 48 53.080979 + + + 49 53.080987 + + + 50 54.237860 + + + 51 57.170539 + + + 52 57.170544 + + + 53 58.304188 + + + 54 61.858696 + + + 55 61.858697 + + + 56 62.774719 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 5 ( 0.136364 0.136364 0.136364) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.206444 + + + 2 -15.365897 + + + 3 -15.260540 + + + 4 -15.260527 + + + 5 1.224797 + + + 6 6.660871 + + + 7 7.320679 + + + 8 7.320683 + + + 9 9.023375 + + + 10 9.023378 + + + 11 11.229639 + + + 12 11.509459 + + + 13 11.720101 + + + 14 11.720102 + + + 15 12.090448 + + + 16 12.090453 + + + 17 12.119852 + + + 18 16.219138 + + + 19 16.653123 + + + 20 18.840328 + + + 21 18.840338 + + + 22 21.305363 + + + 23 23.706781 + + + 24 24.673608 + + + 25 24.673612 + + + 26 28.485837 + + + 27 28.485841 + + + 28 30.145460 + + + 29 31.712162 + + + 30 31.712170 + + + 31 37.076553 + + + 32 37.306826 + + + 33 38.543768 + + + 34 38.543778 + + + 35 42.744979 + + + 36 42.773317 + + + 37 42.773326 + + + 38 46.522986 + + + 39 46.522992 + + + 40 47.470192 + + + 41 48.633399 + + + 42 48.633403 + + + 43 49.465163 + + + 44 50.460404 + + + 45 50.460410 + + + 46 51.289448 + + + 47 51.631747 + + + 48 51.631749 + + + 49 53.006174 + + + 50 54.010815 + + + 51 56.047345 + + + 52 56.047347 + + + 53 56.218573 + + + 54 56.218574 + + + 55 56.750033 + + + 56 57.662901 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 6 ( 0.041667 0.000000 0.041667) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.214902 + + + 2 -15.257133 + + + 3 -15.249436 + + + 4 -15.249422 + + + 5 0.821491 + + + 6 7.049410 + + + 7 7.165337 + + + 8 7.165337 + + + 9 9.154838 + + + 10 9.284858 + + + 11 10.981899 + + + 12 11.570958 + + + 13 11.571025 + + + 14 11.585557 + + + 15 12.115262 + + + 16 12.117318 + + + 17 12.117384 + + + 18 15.804864 + + + 19 17.754251 + + + 20 18.085900 + + + 21 18.085916 + + + 22 19.892965 + + + 23 26.174625 + + + 24 26.174629 + + + 25 26.960240 + + + 26 27.279088 + + + 27 28.514265 + + + 28 28.514272 + + + 29 31.275568 + + + 30 31.856860 + + + 31 35.477675 + + + 32 37.215627 + + + 33 37.215632 + + + 34 37.364005 + + + 35 43.779672 + + + 36 44.586635 + + + 37 46.922463 + + + 38 46.922465 + + + 39 47.637751 + + + 40 48.394341 + + + 41 48.617687 + + + 42 48.617693 + + + 43 51.088879 + + + 44 51.088881 + + + 45 51.814035 + + + 46 52.001364 + + + 47 52.387108 + + + 48 52.769646 + + + 49 52.769652 + + + 50 53.869730 + + + 51 54.320189 + + + 52 54.511762 + + + 53 54.574576 + + + 54 54.574576 + + + 55 56.609068 + + + 56 56.609068 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 7 ( 0.208333 0.000000 0.208333) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.188422 + + + 2 -15.491303 + + + 3 -15.333972 + + + 4 -15.333959 + + + 5 2.108652 + + + 6 5.815855 + + + 7 7.461935 + + + 8 7.980025 + + + 9 7.980026 + + + 10 9.754633 + + + 11 11.634862 + + + 12 11.736963 + + + 13 11.737032 + + + 14 11.841871 + + + 15 12.045344 + + + 16 12.098239 + + + 17 12.098302 + + + 18 17.171327 + + + 19 17.815519 + + + 20 18.203223 + + + 21 18.203235 + + + 22 21.371468 + + + 23 22.455236 + + + 24 22.455240 + + + 25 25.419879 + + + 26 27.640609 + + + 27 27.668884 + + + 28 31.903352 + + + 29 31.903364 + + + 30 32.334966 + + + 31 37.785396 + + + 32 38.634636 + + + 33 38.634639 + + + 34 39.724133 + + + 35 40.715287 + + + 36 42.098519 + + + 37 42.098519 + + + 38 42.242514 + + + 39 45.288746 + + + 40 45.288750 + + + 41 46.842121 + + + 42 47.742294 + + + 43 48.086856 + + + 44 49.603503 + + + 45 49.603509 + + + 46 50.603674 + + + 47 52.295521 + + + 48 53.911105 + + + 49 53.911105 + + + 50 54.847614 + + + 51 56.213886 + + + 52 56.213888 + + + 53 56.477241 + + + 54 57.003331 + + + 55 57.419759 + + + 56 59.320174 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 8 ( 0.375000 0.000000 0.375000) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.152259 + + + 2 -15.779324 + + + 3 -15.446421 + + + 4 -15.446408 + + + 5 3.527479 + + + 6 4.721578 + + + 7 6.968467 + + + 8 9.780855 + + + 9 9.780864 + + + 10 10.576713 + + + 11 11.878579 + + + 12 11.912337 + + + 13 11.912419 + + + 14 11.958578 + + + 15 11.991665 + + + 16 11.997948 + + + 17 11.997991 + + + 18 15.515735 + + + 19 15.515747 + + + 20 16.143320 + + + 21 18.622100 + + + 22 21.393057 + + + 23 24.211484 + + + 24 24.211489 + + + 25 24.635414 + + + 26 27.942539 + + + 27 28.542269 + + + 28 32.180579 + + + 29 32.180585 + + + 30 33.223504 + + + 31 33.800809 + + + 32 33.800820 + + + 33 35.509017 + + + 34 37.490922 + + + 35 39.788213 + + + 36 42.341624 + + + 37 42.341625 + + + 38 43.518093 + + + 39 44.809357 + + + 40 46.523569 + + + 41 46.523578 + + + 42 48.852934 + + + 43 49.265090 + + + 44 49.347327 + + + 45 49.347329 + + + 46 49.606196 + + + 47 51.849356 + + + 48 51.849356 + + + 49 52.297934 + + + 50 52.522122 + + + 51 53.240374 + + + 52 61.912012 + + + 53 61.912013 + + + 54 62.101494 + + + 55 62.655346 + + + 56 62.953117 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 9 ( 0.500000 0.041667 0.541667) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.141276 + + + 2 -15.854127 + + + 3 -15.486666 + + + 4 -15.480612 + + + 5 3.616405 + + + 6 4.490963 + + + 7 7.689659 + + + 8 10.539092 + + + 9 11.265568 + + + 10 11.456393 + + + 11 11.467006 + + + 12 11.479954 + + + 13 11.816176 + + + 14 11.968029 + + + 15 11.969358 + + + 16 12.008473 + + + 17 12.084128 + + + 18 13.717263 + + + 19 14.111976 + + + 20 14.774276 + + + 21 19.564568 + + + 22 22.789892 + + + 23 23.782476 + + + 24 25.979673 + + + 25 27.431988 + + + 26 27.916719 + + + 27 27.980975 + + + 28 28.382965 + + + 29 29.633783 + + + 30 32.111168 + + + 31 33.315472 + + + 32 34.941761 + + + 33 35.955753 + + + 34 39.404131 + + + 35 40.520866 + + + 36 40.876637 + + + 37 42.029578 + + + 38 42.887293 + + + 39 44.520097 + + + 40 44.966140 + + + 41 46.044994 + + + 42 46.068496 + + + 43 48.394655 + + + 44 48.739741 + + + 45 50.502931 + + + 46 51.795048 + + + 47 52.025838 + + + 48 52.759605 + + + 49 53.761470 + + + 50 56.557694 + + + 51 56.717113 + + + 52 58.725315 + + + 53 59.371199 + + + 54 61.427884 + + + 55 61.654115 + + + 56 65.379694 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 10 ( 0.500000 0.208333 0.708333) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.140499 + + + 2 -15.723995 + + + 3 -15.625602 + + + 4 -15.490633 + + + 5 4.537368 + + + 6 5.373230 + + + 7 6.156298 + + + 8 7.966163 + + + 9 11.410905 + + + 10 11.464228 + + + 11 11.480157 + + + 12 11.827014 + + + 13 11.966481 + + + 14 11.967984 + + + 15 11.982288 + + + 16 12.009676 + + + 17 13.226506 + + + 18 13.274415 + + + 19 13.811226 + + + 20 16.379970 + + + 21 21.720993 + + + 22 21.898289 + + + 23 22.128524 + + + 24 26.092905 + + + 25 26.401018 + + + 26 26.499845 + + + 27 27.198362 + + + 28 32.261284 + + + 29 32.417173 + + + 30 32.989759 + + + 31 34.423379 + + + 32 34.665936 + + + 33 34.743889 + + + 34 35.529396 + + + 35 38.347860 + + + 36 39.961929 + + + 37 40.844425 + + + 38 42.362074 + + + 39 43.355146 + + + 40 45.030295 + + + 41 45.614255 + + + 42 45.687990 + + + 43 49.980001 + + + 44 50.407000 + + + 45 52.321296 + + + 46 53.350501 + + + 47 54.756122 + + + 48 54.830082 + + + 49 56.519372 + + + 50 56.551970 + + + 51 58.257203 + + + 52 58.302443 + + + 53 59.210559 + + + 54 59.571682 + + + 55 59.621630 + + + 56 62.404861 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 11 ( 0.425000 0.325000 0.750000) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -37.141713 + + + 2 -15.742510 + + + 3 -15.628582 + + + 4 -15.451836 + + + 5 4.451426 + + + 6 5.084157 + + + 7 6.437851 + + + 8 8.468398 + + + 9 10.711831 + + + 10 10.786824 + + + 11 11.922073 + + + 12 11.924327 + + + 13 11.941564 + + + 14 11.963488 + + + 15 12.004182 + + + 16 12.019916 + + + 17 12.772354 + + + 18 13.451280 + + + 19 14.762942 + + + 20 16.471805 + + + 21 20.048394 + + + 22 22.325786 + + + 23 23.046264 + + + 24 24.257440 + + + 25 27.285630 + + + 26 28.145456 + + + 27 28.462584 + + + 28 30.536905 + + + 29 31.965620 + + + 30 32.362666 + + + 31 33.330168 + + + 32 34.034713 + + + 33 35.152792 + + + 34 37.899848 + + + 35 39.084029 + + + 36 40.486200 + + + 37 40.874581 + + + 38 41.549233 + + + 39 42.474206 + + + 40 45.523807 + + + 41 46.574054 + + + 42 47.207844 + + + 43 48.042647 + + + 44 49.893642 + + + 45 51.361814 + + + 46 51.519506 + + + 47 54.297525 + + + 48 54.640269 + + + 49 56.610762 + + + 50 58.001838 + + + 51 58.743850 + + + 52 59.144608 + + + 53 60.542655 + + + 54 60.710865 + + + 55 61.205309 + + + 56 62.818412 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 1 ( 0.500000 0.277778 0.722222) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751946 + + + 2 -18.139757 + + + 3 -18.122065 + + + 4 -17.974682 + + + 5 -4.943585 + + + 6 -4.940050 + + + 7 -4.921335 + + + 8 -4.909769 + + + 9 -4.901168 + + + 10 -4.896846 + + + 11 -4.885629 + + + 12 3.901676 + + + 13 4.685676 + + + 14 4.828701 + + + 15 6.985663 + + + 16 9.783139 + + + 17 11.205127 + + + 18 11.861678 + + + 19 12.590662 + + + 20 15.088513 + + + 21 19.776962 + + + 22 20.586542 + + + 23 21.871418 + + + 24 24.413214 + + + 25 24.680102 + + + 26 25.403965 + + + 27 26.601564 + + + 28 31.301369 + + + 29 31.333518 + + + 30 31.936278 + + + 31 32.546161 + + + 32 33.989527 + + + 33 34.021941 + + + 34 36.013608 + + + 35 36.028871 + + + 36 38.432802 + + + 37 40.156026 + + + 38 41.247745 + + + 39 41.916032 + + + 40 43.114907 + + + 41 44.740642 + + + 42 46.218123 + + + 43 48.157453 + + + 44 48.519188 + + + 45 52.194546 + + + 46 52.509918 + + + 47 53.434535 + + + 48 54.259839 + + + 49 55.394580 + + + 50 55.492307 + + + 51 56.177522 + + + 52 56.973162 + + + 53 58.104626 + + + 54 58.252529 + + + 55 60.163890 + + + 56 62.613919 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 2 ( 0.500000 0.388889 0.611111) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.759238 + + + 2 -18.251749 + + + 3 -17.972140 + + + 4 -17.893160 + + + 5 -4.959145 + + + 6 -4.953036 + + + 7 -4.947209 + + + 8 -4.895544 + + + 9 -4.889531 + + + 10 -4.877344 + + + 11 -4.875779 + + + 12 3.280224 + + + 13 4.662038 + + + 14 5.465238 + + + 15 6.615897 + + + 16 9.204884 + + + 17 10.453537 + + + 18 11.185785 + + + 19 15.054627 + + + 20 15.892826 + + + 21 16.796563 + + + 22 21.762363 + + + 23 22.551347 + + + 24 24.377171 + + + 25 25.222782 + + + 26 25.801647 + + + 27 28.633633 + + + 28 28.771254 + + + 29 29.863179 + + + 30 32.337633 + + + 31 33.061247 + + + 32 34.490378 + + + 33 35.092266 + + + 34 36.652440 + + + 35 37.356784 + + + 36 38.170160 + + + 37 38.240396 + + + 38 40.873788 + + + 39 41.664392 + + + 40 43.353162 + + + 41 46.381623 + + + 42 46.533246 + + + 43 47.665336 + + + 44 50.277645 + + + 45 51.140047 + + + 46 51.425450 + + + 47 52.033129 + + + 48 52.848507 + + + 49 53.258119 + + + 50 54.373100 + + + 51 56.513802 + + + 52 58.640995 + + + 53 59.525821 + + + 54 60.171086 + + + 55 61.001258 + + + 56 61.673238 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 3 ( 0.500000 0.500000 0.500000) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.764454 + + + 2 -18.309179 + + + 3 -17.858479 + + + 4 -17.858475 + + + 5 -4.991204 + + + 6 -4.957978 + + + 7 -4.957977 + + + 8 -4.899910 + + + 9 -4.871936 + + + 10 -4.871931 + + + 11 -4.849838 + + + 12 2.493915 + + + 13 5.552030 + + + 14 5.917136 + + + 15 5.917138 + + + 16 9.529629 + + + 17 9.529632 + + + 18 11.765959 + + + 19 13.378874 + + + 20 16.748615 + + + 21 16.748619 + + + 22 23.154820 + + + 23 23.389685 + + + 24 23.389686 + + + 25 25.956289 + + + 26 26.534059 + + + 27 26.534069 + + + 28 31.597622 + + + 29 31.597624 + + + 30 31.864965 + + + 31 32.290289 + + + 32 32.290291 + + + 33 33.609860 + + + 34 35.045397 + + + 35 37.029026 + + + 36 40.274217 + + + 37 40.274221 + + + 38 41.308586 + + + 39 43.072846 + + + 40 43.072847 + + + 41 43.208492 + + + 42 48.546907 + + + 43 48.546915 + + + 44 49.061618 + + + 45 51.413893 + + + 46 51.869999 + + + 47 51.870006 + + + 48 52.591634 + + + 49 52.591634 + + + 50 53.353457 + + + 51 56.842902 + + + 52 57.928996 + + + 53 57.928997 + + + 54 59.996969 + + + 55 59.996970 + + + 56 61.739757 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 4 ( 0.318182 0.318182 0.318182) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.776655 + + + 2 -18.162197 + + + 3 -17.837473 + + + 4 -17.837469 + + + 5 -4.976879 + + + 6 -4.928717 + + + 7 -4.928716 + + + 8 -4.927044 + + + 9 -4.901572 + + + 10 -4.901567 + + + 11 -4.858674 + + + 12 1.854624 + + + 13 5.088599 + + + 14 6.187835 + + + 15 6.187836 + + + 16 8.505842 + + + 17 8.505844 + + + 18 12.941245 + + + 19 15.230720 + + + 20 18.860552 + + + 21 18.860552 + + + 22 19.513642 + + + 23 20.792141 + + + 24 20.792144 + + + 25 26.615470 + + + 26 27.324099 + + + 27 27.324100 + + + 28 29.371996 + + + 29 30.979108 + + + 30 30.979111 + + + 31 34.520484 + + + 32 34.792958 + + + 33 34.792965 + + + 34 36.385535 + + + 35 40.067831 + + + 36 41.614389 + + + 37 41.614390 + + + 38 43.192757 + + + 39 44.309103 + + + 40 44.309105 + + + 41 44.884911 + + + 42 46.467152 + + + 43 46.467157 + + + 44 46.624072 + + + 45 48.947189 + + + 46 48.947193 + + + 47 49.193797 + + + 48 52.344269 + + + 49 52.344276 + + + 50 53.415173 + + + 51 56.304640 + + + 52 56.304644 + + + 53 57.472612 + + + 54 60.928062 + + + 55 60.928063 + + + 56 61.862115 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 5 ( 0.136364 0.136364 0.136364) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.798839 + + + 2 -17.880929 + + + 3 -17.799095 + + + 4 -17.799091 + + + 5 -4.985341 + + + 6 -4.940235 + + + 7 -4.933024 + + + 8 -4.933021 + + + 9 -4.863700 + + + 10 -4.863697 + + + 11 -4.863271 + + + 12 0.395218 + + + 13 5.669899 + + + 14 6.248038 + + + 15 6.248039 + + + 16 7.873714 + + + 17 7.873714 + + + 18 14.465509 + + + 19 15.263264 + + + 20 17.556086 + + + 21 17.556096 + + + 22 20.579864 + + + 23 22.501886 + + + 24 23.323479 + + + 25 23.323483 + + + 26 27.120462 + + + 27 27.120465 + + + 28 28.721884 + + + 29 30.401298 + + + 30 30.401303 + + + 31 35.561976 + + + 32 35.809510 + + + 33 36.935795 + + + 34 36.935803 + + + 35 41.744458 + + + 36 41.744465 + + + 37 41.763546 + + + 38 45.607086 + + + 39 45.607091 + + + 40 46.120217 + + + 41 47.794936 + + + 42 47.794940 + + + 43 48.785772 + + + 44 49.443763 + + + 45 49.443768 + + + 46 49.619431 + + + 47 50.919902 + + + 48 50.919903 + + + 49 52.440893 + + + 50 52.903339 + + + 51 55.203236 + + + 52 55.203236 + + + 53 55.369281 + + + 54 55.369283 + + + 55 55.985849 + + + 56 56.669022 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 6 ( 0.041667 0.000000 0.041667) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.805031 + + + 2 -17.796007 + + + 3 -17.790115 + + + 4 -17.790103 + + + 5 -5.001431 + + + 6 -4.943628 + + + 7 -4.942996 + + + 8 -4.942923 + + + 9 -4.865506 + + + 10 -4.865488 + + + 11 -4.865425 + + + 12 0.006848 + + + 13 5.988250 + + + 14 6.089248 + + + 15 6.089249 + + + 16 7.953643 + + + 17 8.056727 + + + 18 13.766867 + + + 19 16.497348 + + + 20 16.735385 + + + 21 16.735388 + + + 22 19.311072 + + + 23 24.816306 + + + 24 24.816309 + + + 25 25.679476 + + + 26 25.847113 + + + 27 27.156978 + + + 28 27.156984 + + + 29 30.039105 + + + 30 30.634873 + + + 31 34.143574 + + + 32 35.483962 + + + 33 35.483963 + + + 34 35.653916 + + + 35 42.840367 + + + 36 43.681089 + + + 37 46.056129 + + + 38 46.056131 + + + 39 46.592586 + + + 40 47.384168 + + + 41 47.384173 + + + 42 47.436576 + + + 43 50.188659 + + + 44 50.188661 + + + 45 50.258370 + + + 46 50.327861 + + + 47 51.800698 + + + 48 51.800700 + + + 49 51.815390 + + + 50 52.835268 + + + 51 53.685084 + + + 52 53.717771 + + + 53 53.860002 + + + 54 53.860002 + + + 55 55.969726 + + + 56 55.969727 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 7 ( 0.208333 0.000000 0.208333) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.785598 + + + 2 -17.979710 + + + 3 -17.858094 + + + 4 -17.858081 + + + 5 -4.957124 + + + 6 -4.938859 + + + 7 -4.924452 + + + 8 -4.924374 + + + 9 -4.884072 + + + 10 -4.884030 + + + 11 -4.883794 + + + 12 1.257223 + + + 13 4.889903 + + + 14 6.530968 + + + 15 6.912881 + + + 16 6.912881 + + + 17 8.529125 + + + 18 16.023779 + + + 19 16.259020 + + + 20 16.917545 + + + 21 16.917548 + + + 22 20.115625 + + + 23 21.193147 + + + 24 21.193149 + + + 25 24.650126 + + + 26 26.241417 + + + 27 26.244066 + + + 28 30.453769 + + + 29 30.453776 + + + 30 30.996124 + + + 31 36.969647 + + + 32 37.420487 + + + 33 37.420489 + + + 34 38.232176 + + + 35 39.346643 + + + 36 40.697973 + + + 37 40.697973 + + + 38 41.107872 + + + 39 44.326435 + + + 40 44.326438 + + + 41 45.821735 + + + 42 46.984909 + + + 43 47.047986 + + + 44 48.519007 + + + 45 48.519010 + + + 46 50.042232 + + + 47 51.459668 + + + 48 53.286594 + + + 49 53.286595 + + + 50 54.178179 + + + 51 55.470258 + + + 52 55.568494 + + + 53 55.568495 + + + 54 55.768753 + + + 55 56.636376 + + + 56 58.500367 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 8 ( 0.375000 0.000000 0.375000) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.758938 + + + 2 -18.211906 + + + 3 -17.950718 + + + 4 -17.950705 + + + 5 -4.938269 + + + 6 -4.917607 + + + 7 -4.917540 + + + 8 -4.912783 + + + 9 -4.905409 + + + 10 -4.895594 + + + 11 -4.895537 + + + 12 2.737164 + + + 13 3.827624 + + + 14 6.070556 + + + 15 8.727787 + + + 16 8.727787 + + + 17 9.280879 + + + 18 14.067642 + + + 19 14.067644 + + + 20 14.802896 + + + 21 17.536010 + + + 22 19.988109 + + + 23 23.120140 + + + 24 23.195093 + + + 25 23.195096 + + + 26 26.853044 + + + 27 27.177953 + + + 28 31.276023 + + + 29 31.276026 + + + 30 32.239906 + + + 31 32.277236 + + + 32 32.277241 + + + 33 34.604029 + + + 34 36.539410 + + + 35 38.471940 + + + 36 41.267620 + + + 37 41.267621 + + + 38 42.326318 + + + 39 43.777637 + + + 40 45.070537 + + + 41 45.070542 + + + 42 48.148931 + + + 43 48.148933 + + + 44 48.172862 + + + 45 48.706998 + + + 46 48.795154 + + + 47 51.284910 + + + 48 51.284910 + + + 49 51.376092 + + + 50 51.803355 + + + 51 52.063036 + + + 52 60.734958 + + + 53 60.734958 + + + 54 60.905252 + + + 55 61.396012 + + + 56 62.215883 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 9 ( 0.500000 0.041667 0.541667) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.750868 + + + 2 -18.273740 + + + 3 -17.983966 + + + 4 -17.978972 + + + 5 -4.958524 + + + 6 -4.932635 + + + 7 -4.931542 + + + 8 -4.915937 + + + 9 -4.892867 + + + 10 -4.890608 + + + 11 -4.882586 + + + 12 2.865975 + + + 13 3.595003 + + + 14 6.796722 + + + 15 9.355741 + + + 16 9.963032 + + + 17 10.089908 + + + 18 12.038055 + + + 19 12.370364 + + + 20 13.341637 + + + 21 18.490384 + + + 22 21.325992 + + + 23 22.247018 + + + 24 24.969712 + + + 25 26.633992 + + + 26 26.682917 + + + 27 26.780475 + + + 28 27.733134 + + + 29 28.416395 + + + 30 31.116957 + + + 31 31.830778 + + + 32 33.540903 + + + 33 34.738404 + + + 34 38.092965 + + + 35 39.591688 + + + 36 39.910372 + + + 37 41.039358 + + + 38 42.119460 + + + 39 43.419604 + + + 40 43.886500 + + + 41 44.758025 + + + 42 44.934500 + + + 43 47.811166 + + + 44 47.910962 + + + 45 49.931590 + + + 46 50.647917 + + + 47 51.269945 + + + 48 51.361874 + + + 49 53.239514 + + + 50 55.314168 + + + 51 55.490866 + + + 52 57.127689 + + + 53 58.007865 + + + 54 59.962468 + + + 55 60.001670 + + + 56 64.200219 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 10 ( 0.500000 0.208333 0.708333) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751493 + + + 2 -18.168819 + + + 3 -18.091170 + + + 4 -17.982407 + + + 5 -4.942145 + + + 6 -4.934269 + + + 7 -4.928663 + + + 8 -4.906453 + + + 9 -4.897161 + + + 10 -4.897060 + + + 11 -4.887034 + + + 12 3.760758 + + + 13 4.437019 + + + 14 5.200551 + + + 15 7.101861 + + + 16 9.968972 + + + 17 11.549933 + + + 18 11.648137 + + + 19 12.174925 + + + 20 14.968206 + + + 21 20.494454 + + + 22 20.764263 + + + 23 20.782235 + + + 24 24.828449 + + + 25 25.109483 + + + 26 25.552744 + + + 27 25.888455 + + + 28 30.854645 + + + 29 31.404740 + + + 30 32.049603 + + + 31 33.210021 + + + 32 33.630856 + + + 33 34.055724 + + + 34 34.472113 + + + 35 37.546742 + + + 36 38.838995 + + + 37 39.581018 + + + 38 41.255538 + + + 39 42.565676 + + + 40 44.041026 + + + 41 44.428291 + + + 42 44.744346 + + + 43 48.455888 + + + 44 49.009954 + + + 45 51.305420 + + + 46 52.122420 + + + 47 53.806957 + + + 48 54.028877 + + + 49 55.365655 + + + 50 55.557468 + + + 51 57.218691 + + + 52 57.536799 + + + 53 58.151089 + + + 54 58.384262 + + + 55 58.816696 + + + 56 61.450999 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 11 ( 0.425000 0.325000 0.750000) kpt-group= 2 + + + ----------------------------------------------------------------- + + + + + + 1 -40.752231 + + + 2 -18.183344 + + + 3 -18.092234 + + + 4 -17.953728 + + + 5 -4.949233 + + + 6 -4.940628 + + + 7 -4.924215 + + + 8 -4.911366 + + + 9 -4.908890 + + + 10 -4.886899 + + + 11 -4.884107 + + + 12 3.673927 + + + 13 4.163546 + + + 14 5.480067 + + + 15 7.544131 + + + 16 9.498035 + + + 17 10.445585 + + + 18 11.965409 + + + 19 13.328076 + + + 20 15.058179 + + + 21 18.844131 + + + 22 21.065313 + + + 23 21.779154 + + + 24 23.039752 + + + 25 26.039816 + + + 26 26.803697 + + + 27 27.480436 + + + 28 29.388300 + + + 29 31.006424 + + + 30 31.137010 + + + 31 32.267025 + + + 32 33.231282 + + + 33 33.998089 + + + 34 36.587584 + + + 35 38.066057 + + + 36 39.538410 + + + 37 39.987059 + + + 38 40.678339 + + + 39 41.431969 + + + 40 44.583566 + + + 41 45.285446 + + + 42 45.933564 + + + 43 47.080381 + + + 44 48.909469 + + + 45 50.108777 + + + 46 50.278601 + + + 47 53.308843 + + + 48 53.354272 + + + 49 55.412487 + + + 50 56.981899 + + + 51 57.785253 + + + 52 58.453926 + + + 53 59.576442 + + + 54 59.761436 + + + 55 60.305026 + + + 56 61.802752 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 1 ( 0.500000 0.305556 0.694444) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.142671 + + + 2 -15.718420 + + + 3 -15.636492 + + + 4 -15.456266 + + + 5 4.791976 + + + 6 5.329107 + + + 7 5.870627 + + + 8 8.023947 + + + 9 10.452352 + + + 10 11.421096 + + + 11 11.692428 + + + 12 11.883974 + + + 13 11.973251 + + + 14 11.995747 + + + 15 12.004821 + + + 16 12.019829 + + + 17 12.877391 + + + 18 13.245241 + + + 19 14.942194 + + + 20 16.694445 + + + 21 20.000510 + + + 22 22.063149 + + + 23 23.751408 + + + 24 24.913504 + + + 25 26.024995 + + + 26 26.879855 + + + 27 28.983491 + + + 28 31.076819 + + + 29 32.252878 + + + 30 32.419395 + + + 31 33.492232 + + + 32 35.915597 + + + 33 36.027092 + + + 34 37.314373 + + + 35 37.514325 + + + 36 38.759482 + + + 37 40.059345 + + + 38 42.448853 + + + 39 42.526411 + + + 40 44.191999 + + + 41 47.089614 + + + 42 48.486145 + + + 43 48.611617 + + + 44 50.167588 + + + 45 52.167928 + + + 46 52.510197 + + + 47 54.127047 + + + 48 54.326185 + + + 49 56.053546 + + + 50 57.308354 + + + 51 57.385505 + + + 52 59.061920 + + + 53 59.660233 + + + 54 60.318397 + + + 55 61.198018 + + + 56 62.432177 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 2 ( 0.500000 0.416667 0.583333) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.154907 + + + 2 -15.861599 + + + 3 -15.420485 + + + 4 -15.356724 + + + 5 3.831841 + + + 6 5.782811 + + + 7 6.638374 + + + 8 7.338459 + + + 9 10.567742 + + + 10 11.102082 + + + 11 11.430086 + + + 12 11.608388 + + + 13 11.896469 + + + 14 12.019638 + + + 15 12.021468 + + + 16 12.069178 + + + 17 12.115472 + + + 18 12.986227 + + + 19 16.062023 + + + 20 17.800962 + + + 21 18.184269 + + + 22 23.568006 + + + 23 23.835606 + + + 24 25.118838 + + + 25 26.883960 + + + 26 27.108072 + + + 27 29.126648 + + + 28 30.457491 + + + 29 31.289654 + + + 30 33.589148 + + + 31 34.940523 + + + 32 34.941767 + + + 33 35.812029 + + + 34 36.919796 + + + 35 38.498207 + + + 36 39.107135 + + + 37 39.921804 + + + 38 41.186842 + + + 39 44.315982 + + + 40 45.515675 + + + 41 46.253816 + + + 42 46.332445 + + + 43 49.458761 + + + 44 50.909659 + + + 45 50.955396 + + + 46 52.154168 + + + 47 53.126310 + + + 48 55.370878 + + + 49 55.563512 + + + 50 55.796944 + + + 51 57.341268 + + + 52 57.583447 + + + 53 59.895717 + + + 54 60.816488 + + + 55 61.957095 + + + 56 62.240808 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 3 ( 0.454545 0.454545 0.454545) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.160943 + + + 2 -15.891167 + + + 3 -15.330044 + + + 4 -15.330031 + + + 5 3.320017 + + + 6 6.334512 + + + 7 6.952763 + + + 8 6.952764 + + + 9 10.781782 + + + 10 10.781786 + + + 11 10.963288 + + + 12 11.682879 + + + 13 11.682883 + + + 14 12.017413 + + + 15 12.018448 + + + 16 12.018450 + + + 17 12.122003 + + + 18 13.347829 + + + 19 15.358260 + + + 20 18.372816 + + + 21 18.372818 + + + 22 23.655355 + + + 23 24.329354 + + + 24 24.329354 + + + 25 27.622838 + + + 26 27.958101 + + + 27 27.958109 + + + 28 32.331848 + + + 29 32.596663 + + + 30 32.596664 + + + 31 34.035290 + + + 32 34.035292 + + + 33 34.170641 + + + 34 36.838591 + + + 35 38.920098 + + + 36 41.208849 + + + 37 41.208854 + + + 38 42.424630 + + + 39 43.838139 + + + 40 44.032582 + + + 41 44.032585 + + + 42 49.326529 + + + 43 49.326540 + + + 44 50.693602 + + + 45 51.924735 + + + 46 52.334137 + + + 47 52.334144 + + + 48 53.438458 + + + 49 53.438461 + + + 50 54.273148 + + + 51 58.577229 + + + 52 59.679633 + + + 53 59.679635 + + + 54 60.624532 + + + 55 60.624533 + + + 56 62.998728 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 4 ( 0.272727 0.272727 0.272727) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.184038 + + + 2 -15.632669 + + + 3 -15.295224 + + + 4 -15.295211 + + + 5 2.339353 + + + 6 6.049073 + + + 7 7.331043 + + + 8 7.331045 + + + 9 9.297372 + + + 10 9.297372 + + + 11 11.115806 + + + 12 11.799327 + + + 13 11.916069 + + + 14 11.916070 + + + 15 12.031520 + + + 16 12.031524 + + + 17 12.122398 + + + 18 15.004764 + + + 19 17.419790 + + + 20 20.009028 + + + 21 20.587942 + + + 22 20.587953 + + + 23 21.751324 + + + 24 21.751331 + + + 25 26.053146 + + + 26 28.738036 + + + 27 28.738039 + + + 28 30.868341 + + + 29 32.160052 + + + 30 32.160057 + + + 31 36.743380 + + + 32 37.023083 + + + 33 37.023093 + + + 34 37.935923 + + + 35 41.222669 + + + 36 43.220867 + + + 37 43.220869 + + + 38 45.284084 + + + 39 45.817003 + + + 40 45.817007 + + + 41 46.152307 + + + 42 46.152314 + + + 43 46.362953 + + + 44 47.518077 + + + 45 49.915099 + + + 46 49.915104 + + + 47 50.879224 + + + 48 52.918310 + + + 49 52.918317 + + + 50 54.435578 + + + 51 56.598934 + + + 52 56.598939 + + + 53 57.771907 + + + 54 60.378071 + + + 55 60.378073 + + + 56 61.563140 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 5 ( 0.090909 0.090909 0.090909) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.211695 + + + 2 -15.301184 + + + 3 -15.252327 + + + 4 -15.252314 + + + 5 0.972631 + + + 6 6.894377 + + + 7 7.227555 + + + 8 7.227558 + + + 9 9.128135 + + + 10 9.128139 + + + 11 11.098701 + + + 12 11.525505 + + + 13 11.643365 + + + 14 11.643366 + + + 15 12.105221 + + + 16 12.105225 + + + 17 12.118895 + + + 18 16.014522 + + + 19 17.068647 + + + 20 18.412530 + + + 21 18.412541 + + + 22 20.630186 + + + 23 24.726580 + + + 24 25.707739 + + + 25 25.707743 + + + 26 28.256548 + + + 27 28.256551 + + + 28 29.482287 + + + 29 31.629808 + + + 30 31.629819 + + + 31 36.095270 + + + 32 37.183301 + + + 33 37.908829 + + + 34 37.908837 + + + 35 43.437445 + + + 36 43.437461 + + + 37 44.660000 + + + 38 47.128741 + + + 39 47.128748 + + + 40 48.090105 + + + 41 49.388596 + + + 42 49.388596 + + + 43 50.002496 + + + 44 50.002498 + + + 45 50.636965 + + + 46 51.469870 + + + 47 52.341777 + + + 48 52.341777 + + + 49 53.290464 + + + 50 54.941022 + + + 51 54.941022 + + + 52 54.996088 + + + 53 55.750495 + + + 54 55.774807 + + + 55 55.774809 + + + 56 56.570556 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 6 ( 0.083333 0.000000 0.083333) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.211150 + + + 2 -15.291553 + + + 3 -15.261495 + + + 4 -15.261482 + + + 5 0.998867 + + + 6 6.828176 + + + 7 7.268043 + + + 8 7.268043 + + + 9 8.854833 + + + 10 9.347133 + + + 11 11.124561 + + + 12 11.595290 + + + 13 11.595358 + + + 14 11.643615 + + + 15 12.102297 + + + 16 12.114083 + + + 17 12.114148 + + + 18 16.063649 + + + 19 17.357539 + + + 20 18.169391 + + + 21 18.169407 + + + 22 20.949671 + + + 23 25.007429 + + + 24 25.007433 + + + 25 25.813836 + + + 26 27.329690 + + + 27 29.564762 + + + 28 29.564770 + + + 29 30.538168 + + + 30 32.310385 + + + 31 36.244338 + + + 32 37.605432 + + + 33 37.605436 + + + 34 38.027695 + + + 35 42.284317 + + + 36 44.752697 + + + 37 45.559068 + + + 38 45.559069 + + + 39 46.676603 + + + 40 48.075064 + + + 41 48.075070 + + + 42 48.648096 + + + 43 51.005845 + + + 44 51.005846 + + + 45 51.764152 + + + 46 52.022887 + + + 47 52.346274 + + + 48 52.534878 + + + 49 52.534884 + + + 50 53.559414 + + + 51 54.904945 + + + 52 54.956190 + + + 53 55.524267 + + + 54 55.524268 + + + 55 57.636981 + + + 56 57.746597 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 7 ( 0.250000 0.000000 0.250000) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.178722 + + + 2 -15.571848 + + + 3 -15.364442 + + + 4 -15.364429 + + + 5 2.582088 + + + 6 5.481528 + + + 7 7.059545 + + + 8 8.347099 + + + 9 8.347102 + + + 10 9.947449 + + + 11 11.754794 + + + 12 11.790467 + + + 13 11.790537 + + + 14 11.891391 + + + 15 12.012896 + + + 16 12.087861 + + + 17 12.087924 + + + 18 17.409274 + + + 19 17.780250 + + + 20 17.780260 + + + 21 18.654640 + + + 22 19.961618 + + + 23 22.354667 + + + 24 22.354672 + + + 25 26.732121 + + + 26 26.982242 + + + 27 27.838896 + + + 28 31.859073 + + + 29 32.438224 + + + 30 32.438237 + + + 31 37.155348 + + + 32 37.357703 + + + 33 37.357705 + + + 34 39.878115 + + + 35 40.506856 + + + 36 41.956284 + + + 37 42.728431 + + + 38 42.728431 + + + 39 44.715319 + + + 40 44.715323 + + + 41 46.766958 + + + 42 48.182772 + + + 43 48.245199 + + + 44 49.069438 + + + 45 49.069444 + + + 46 50.180892 + + + 47 51.350566 + + + 48 53.361269 + + + 49 53.361269 + + + 50 54.033617 + + + 51 56.831005 + + + 52 57.397087 + + + 53 57.397088 + + + 54 58.309018 + + + 55 58.625538 + + + 56 60.494004 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 8 ( 0.416667 0.000000 0.416667) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.146326 + + + 2 -15.823592 + + + 3 -15.464593 + + + 4 -15.464580 + + + 5 3.576547 + + + 6 4.572749 + + + 7 7.321712 + + + 8 10.331480 + + + 9 10.331494 + + + 10 10.757082 + + + 11 11.818639 + + + 12 11.885929 + + + 13 11.886011 + + + 14 11.954997 + + + 15 11.955030 + + + 16 11.985477 + + + 17 12.027139 + + + 18 14.812893 + + + 19 14.812909 + + + 20 15.164387 + + + 21 19.048053 + + + 22 22.160257 + + + 23 24.211267 + + + 24 25.249761 + + + 25 25.249766 + + + 26 27.222193 + + + 27 28.865931 + + + 28 30.643900 + + + 29 30.643904 + + + 30 34.002639 + + + 31 34.002652 + + + 32 34.134618 + + + 33 34.320075 + + + 34 38.516515 + + + 35 39.725400 + + + 36 41.974568 + + + 37 41.974569 + + + 38 43.537994 + + + 39 44.445803 + + + 40 46.619949 + + + 41 46.619959 + + + 42 47.055512 + + + 43 48.682657 + + + 44 49.091420 + + + 45 50.647451 + + + 46 50.647451 + + + 47 51.603105 + + + 48 51.603105 + + + 49 51.979480 + + + 50 53.913468 + + + 51 55.046367 + + + 52 60.997572 + + + 53 60.997574 + + + 54 62.407635 + + + 55 63.590341 + + + 56 64.126830 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 9 ( 0.500000 0.083333 0.583333) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.141102 + + + 2 -15.836036 + + + 3 -15.506620 + + + 4 -15.482735 + + + 5 3.767882 + + + 6 4.606544 + + + 7 7.407092 + + + 8 9.872753 + + + 9 11.289825 + + + 10 11.458046 + + + 11 11.504493 + + + 12 11.647292 + + + 13 11.959443 + + + 14 11.966244 + + + 15 11.967053 + + + 16 12.008664 + + + 17 12.188152 + + + 18 13.450818 + + + 19 14.092866 + + + 20 15.402756 + + + 21 19.824701 + + + 22 22.556361 + + + 23 23.487308 + + + 24 25.528247 + + + 25 27.107823 + + + 26 27.975787 + + + 27 28.193424 + + + 28 29.716081 + + + 29 30.255036 + + + 30 31.381300 + + + 31 32.245828 + + + 32 36.206403 + + + 33 36.834761 + + + 34 38.857982 + + + 35 39.016598 + + + 36 39.529347 + + + 37 42.142925 + + + 38 43.221652 + + + 39 44.686202 + + + 40 45.246813 + + + 41 46.127260 + + + 42 46.414002 + + + 43 47.114100 + + + 44 49.663130 + + + 45 50.661303 + + + 46 51.179091 + + + 47 52.877205 + + + 48 53.118433 + + + 49 55.044609 + + + 50 56.309373 + + + 51 57.608858 + + + 52 58.651642 + + + 53 59.715916 + + + 54 62.092962 + + + 55 62.322899 + + + 56 63.805059 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 10 ( 0.500000 0.250000 0.750000) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.140488 + + + 2 -15.675150 + + + 3 -15.675127 + + + 4 -15.491406 + + + 5 4.646509 + + + 6 5.744927 + + + 7 5.744930 + + + 8 7.771775 + + + 9 11.451284 + + + 10 11.451325 + + + 11 11.464830 + + + 12 11.838905 + + + 13 11.975862 + + + 14 11.976025 + + + 15 11.976082 + + + 16 12.012922 + + + 17 13.221744 + + + 18 13.583317 + + + 19 13.583344 + + + 20 16.423704 + + + 21 21.923485 + + + 22 21.923487 + + + 23 22.058452 + + + 24 26.139975 + + + 25 26.350079 + + + 26 26.606292 + + + 27 26.606304 + + + 28 32.960917 + + + 29 33.506718 + + + 30 33.506723 + + + 31 33.543138 + + + 32 33.749210 + + + 33 34.685144 + + + 34 36.520579 + + + 35 36.520586 + + + 36 40.136922 + + + 37 41.847572 + + + 38 41.847582 + + + 39 43.182231 + + + 40 45.003133 + + + 41 45.003135 + + + 42 46.090413 + + + 43 49.837962 + + + 44 50.237963 + + + 45 54.052781 + + + 46 54.196182 + + + 47 54.196187 + + + 48 55.992576 + + + 49 56.020656 + + + 50 56.698365 + + + 51 56.807608 + + + 52 56.807616 + + + 53 59.304086 + + + 54 59.304095 + + + 55 59.912768 + + + 56 63.944190 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 11 ( 0.400000 0.350000 0.750000) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -37.142122 + + + 2 -15.752922 + + + 3 -15.627051 + + + 4 -15.436732 + + + 5 4.366296 + + + 6 4.995853 + + + 7 6.585865 + + + 8 8.801906 + + + 9 10.448627 + + + 10 10.542688 + + + 11 11.920320 + + + 12 11.953598 + + + 13 11.955422 + + + 14 11.981294 + + + 15 12.010645 + + + 16 12.023309 + + + 17 12.697930 + + + 18 13.475506 + + + 19 15.105028 + + + 20 16.472723 + + + 21 19.613993 + + + 22 22.591839 + + + 23 23.130156 + + + 24 23.698465 + + + 25 27.980644 + + + 26 28.651585 + + + 27 29.249245 + + + 28 29.672076 + + + 29 31.194409 + + + 30 32.263869 + + + 31 33.082455 + + + 32 33.816792 + + + 33 35.470678 + + + 34 37.298223 + + + 35 40.030418 + + + 36 40.805031 + + + 37 40.809013 + + + 38 42.451376 + + + 39 42.911194 + + + 40 45.426099 + + + 41 45.588660 + + + 42 46.973091 + + + 43 47.338633 + + + 44 50.372991 + + + 45 50.682163 + + + 46 52.287855 + + + 47 53.705670 + + + 48 54.093540 + + + 49 56.312089 + + + 50 58.530881 + + + 51 58.836538 + + + 52 59.635398 + + + 53 61.480840 + + + 54 61.978148 + + + 55 61.995343 + + + 56 62.031615 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 1 ( 0.500000 0.305556 0.694444) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.753103 + + + 2 -18.163427 + + + 3 -18.098923 + + + 4 -17.955737 + + + 5 -4.948451 + + + 6 -4.941680 + + + 7 -4.921269 + + + 8 -4.909562 + + + 9 -4.898793 + + + 10 -4.893672 + + + 11 -4.883536 + + + 12 4.005751 + + + 13 4.403867 + + + 14 4.921259 + + + 15 7.112906 + + + 16 9.383327 + + + 17 11.022880 + + + 18 11.603852 + + + 19 13.505557 + + + 20 15.271900 + + + 21 18.775265 + + + 22 20.703439 + + + 23 22.744788 + + + 24 23.679263 + + + 25 24.636751 + + + 26 25.595181 + + + 27 27.940673 + + + 28 30.152805 + + + 29 30.931816 + + + 30 31.184220 + + + 31 32.460890 + + + 32 34.764049 + + + 33 35.069081 + + + 34 36.536424 + + + 35 36.734088 + + + 36 37.662307 + + + 37 39.136897 + + + 38 41.309057 + + + 39 41.319443 + + + 40 43.058699 + + + 41 46.145868 + + + 42 46.942088 + + + 43 47.698792 + + + 44 48.835906 + + + 45 51.265027 + + + 46 51.318737 + + + 47 53.188729 + + + 48 53.364515 + + + 49 54.980859 + + + 50 56.144368 + + + 51 56.431396 + + + 52 57.890092 + + + 53 58.763396 + + + 54 59.403039 + + + 55 60.293166 + + + 56 61.607003 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 2 ( 0.500000 0.416667 0.583333) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.761321 + + + 2 -18.275761 + + + 3 -17.927530 + + + 4 -17.878170 + + + 5 -4.969359 + + + 6 -4.955426 + + + 7 -4.951526 + + + 8 -4.898972 + + + 9 -4.888988 + + + 10 -4.875996 + + + 11 -4.871254 + + + 12 2.957118 + + + 13 4.949367 + + + 14 5.666445 + + + 15 6.324844 + + + 16 9.348861 + + + 17 10.088122 + + + 18 11.366220 + + + 19 14.449166 + + + 20 16.332070 + + + 21 16.745938 + + + 22 22.333069 + + + 23 22.666812 + + + 24 23.999456 + + + 25 25.705604 + + + 26 25.901538 + + + 27 27.882102 + + + 28 29.245791 + + + 29 29.953436 + + + 30 32.360250 + + + 31 33.694476 + + + 32 34.088271 + + + 33 35.028976 + + + 34 35.803625 + + + 35 37.215436 + + + 36 38.157761 + + + 37 39.157560 + + + 38 39.588556 + + + 39 43.279311 + + + 40 44.811859 + + + 41 45.332097 + + + 42 45.437351 + + + 43 48.390502 + + + 44 49.968030 + + + 45 50.119126 + + + 46 51.106349 + + + 47 51.835253 + + + 48 54.366832 + + + 49 54.470061 + + + 50 54.714587 + + + 51 55.989352 + + + 52 56.556413 + + + 53 59.075980 + + + 54 59.466634 + + + 55 60.595712 + + + 56 61.383523 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 3 ( 0.454545 0.454545 0.454545) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.765300 + + + 2 -18.299121 + + + 3 -17.857016 + + + 4 -17.857011 + + + 5 -4.990288 + + + 6 -4.955869 + + + 7 -4.955868 + + + 8 -4.901301 + + + 9 -4.872661 + + + 10 -4.872656 + + + 11 -4.849635 + + + 12 2.461814 + + + 13 5.480443 + + + 14 5.936996 + + + 15 5.936997 + + + 16 9.439694 + + + 17 9.439697 + + + 18 11.882885 + + + 19 13.498039 + + + 20 16.909356 + + + 21 16.909360 + + + 22 22.618097 + + + 23 23.117646 + + + 24 23.117648 + + + 25 26.451880 + + + 26 26.673240 + + + 27 26.673248 + + + 28 31.447283 + + + 29 31.515095 + + + 30 31.515098 + + + 31 32.503278 + + + 32 32.503279 + + + 33 33.091949 + + + 34 36.118784 + + + 35 36.976760 + + + 36 40.372176 + + + 37 40.372180 + + + 38 41.390243 + + + 39 43.152136 + + + 40 43.152138 + + + 41 43.325614 + + + 42 48.550168 + + + 43 48.550176 + + + 44 49.067731 + + + 45 50.834019 + + + 46 51.445141 + + + 47 51.445144 + + + 48 52.347101 + + + 49 52.347105 + + + 50 53.180699 + + + 51 57.411221 + + + 52 58.347814 + + + 53 58.347815 + + + 54 59.663143 + + + 55 59.663143 + + + 56 61.972785 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 4 ( 0.272727 0.272727 0.272727) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.782328 + + + 2 -18.091941 + + + 3 -17.827603 + + + 4 -17.827598 + + + 5 -4.969279 + + + 6 -4.934068 + + + 7 -4.914717 + + + 8 -4.914716 + + + 9 -4.900780 + + + 10 -4.900775 + + + 11 -4.858573 + + + 12 1.483777 + + + 13 5.130867 + + + 14 6.286289 + + + 15 6.286291 + + + 16 8.185836 + + + 17 8.185837 + + + 18 13.376667 + + + 19 15.820782 + + + 20 18.961288 + + + 21 19.396781 + + + 22 19.396791 + + + 23 20.370597 + + + 24 20.370603 + + + 25 25.312640 + + + 26 27.372101 + + + 27 27.372103 + + + 28 29.450196 + + + 29 30.792527 + + + 30 30.792530 + + + 31 35.812669 + + + 32 35.812678 + + + 33 35.827874 + + + 34 36.144874 + + + 35 39.920273 + + + 36 42.040601 + + + 37 42.040603 + + + 38 44.309111 + + + 39 44.775784 + + + 40 44.775790 + + + 41 45.353543 + + + 42 45.353546 + + + 43 45.706942 + + + 44 46.561692 + + + 45 49.089987 + + + 46 49.089990 + + + 47 49.281545 + + + 48 52.144176 + + + 49 52.144182 + + + 50 53.560945 + + + 51 55.780702 + + + 52 55.780706 + + + 53 56.975510 + + + 54 59.441632 + + + 55 59.441633 + + + 56 60.679576 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 5 ( 0.090909 0.090909 0.090909) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.802689 + + + 2 -17.830322 + + + 3 -17.792457 + + + 4 -17.792452 + + + 5 -4.992554 + + + 6 -4.941434 + + + 7 -4.937557 + + + 8 -4.937553 + + + 9 -4.863902 + + + 10 -4.863445 + + + 11 -4.863442 + + + 12 0.152069 + + + 13 5.865284 + + + 14 6.152482 + + + 15 6.152483 + + + 16 7.942931 + + + 17 7.942931 + + + 18 14.066264 + + + 19 15.806676 + + + 20 17.091636 + + + 21 17.091645 + + + 22 20.008149 + + + 23 23.403694 + + + 24 24.356549 + + + 25 24.356553 + + + 26 26.895848 + + + 27 26.895852 + + + 28 28.082402 + + + 29 30.360243 + + + 30 30.360249 + + + 31 34.783787 + + + 32 35.444410 + + + 33 36.226950 + + + 34 36.226957 + + + 35 42.477758 + + + 36 42.477770 + + + 37 43.721051 + + + 38 46.237761 + + + 39 46.237766 + + + 40 46.768480 + + + 41 48.186820 + + + 42 48.186821 + + + 43 49.250984 + + + 44 49.250985 + + + 45 49.776856 + + + 46 49.968093 + + + 47 51.541496 + + + 48 51.541497 + + + 49 52.008436 + + + 50 54.050845 + + + 51 54.050845 + + + 52 54.169442 + + + 53 55.039273 + + + 54 55.080862 + + + 55 55.080863 + + + 56 55.843603 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 6 ( 0.083333 0.000000 0.083333) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.802283 + + + 2 -17.822716 + + + 3 -17.799712 + + + 4 -17.799699 + + + 5 -4.991476 + + + 6 -4.943187 + + + 7 -4.938891 + + + 8 -4.938813 + + + 9 -4.866721 + + + 10 -4.866676 + + + 11 -4.862226 + + + 12 0.177298 + + + 13 5.803491 + + + 14 6.193185 + + + 15 6.193185 + + + 16 7.720882 + + + 17 8.120356 + + + 18 14.130941 + + + 19 16.170994 + + + 20 16.838476 + + + 21 16.838480 + + + 22 20.291186 + + + 23 23.660819 + + + 24 23.660823 + + + 25 24.527512 + + + 26 25.898023 + + + 27 28.188253 + + + 28 28.188259 + + + 29 29.252165 + + + 30 31.055312 + + + 31 34.943735 + + + 32 35.885090 + + + 33 35.885091 + + + 34 36.362801 + + + 35 41.318184 + + + 36 43.844675 + + + 37 44.720766 + + + 38 44.720767 + + + 39 45.500107 + + + 40 46.790557 + + + 41 46.790562 + + + 42 47.743700 + + + 43 50.240616 + + + 44 50.240617 + + + 45 50.788540 + + + 46 50.791521 + + + 47 51.454396 + + + 48 51.557177 + + + 49 51.557179 + + + 50 52.336691 + + + 51 54.015578 + + + 52 54.083851 + + + 53 54.775558 + + + 54 54.775559 + + + 55 57.012617 + + + 56 57.208834 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 7 ( 0.250000 0.000000 0.250000) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.778473 + + + 2 -18.043904 + + + 3 -17.882935 + + + 4 -17.882922 + + + 5 -4.943941 + + + 6 -4.935298 + + + 7 -4.918019 + + + 8 -4.917941 + + + 9 -4.892788 + + + 10 -4.892058 + + + 11 -4.892011 + + + 12 1.728416 + + + 13 4.571480 + + + 14 6.162646 + + + 15 7.283629 + + + 16 7.283629 + + + 17 8.716598 + + + 18 16.265008 + + + 19 16.468172 + + + 20 16.468175 + + + 21 17.178711 + + + 22 18.690241 + + + 23 21.161763 + + + 24 21.161765 + + + 25 25.302072 + + + 26 26.206561 + + + 27 26.421178 + + + 28 30.545648 + + + 29 30.965628 + + + 30 30.965635 + + + 31 36.286681 + + + 32 36.401031 + + + 33 36.401033 + + + 34 38.450105 + + + 35 39.442269 + + + 36 40.637492 + + + 37 41.039158 + + + 38 41.039158 + + + 39 43.821433 + + + 40 43.821437 + + + 41 45.915714 + + + 42 47.103661 + + + 43 47.169162 + + + 44 47.964424 + + + 45 47.964427 + + + 46 49.620710 + + + 47 50.633218 + + + 48 52.796124 + + + 49 52.796125 + + + 50 53.485447 + + + 51 55.881435 + + + 52 56.686500 + + + 53 56.686501 + + + 54 57.003813 + + + 55 57.861717 + + + 56 59.432015 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 8 ( 0.416667 0.000000 0.416667) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.754534 + + + 2 -18.248404 + + + 3 -17.965905 + + + 4 -17.965892 + + + 5 -4.947718 + + + 6 -4.925362 + + + 7 -4.925308 + + + 8 -4.915820 + + + 9 -4.892563 + + + 10 -4.892492 + + + 11 -4.890748 + + + 12 2.809985 + + + 13 3.679193 + + + 14 6.424319 + + + 15 9.268553 + + + 16 9.268553 + + + 17 9.420611 + + + 18 13.274054 + + + 19 13.274056 + + + 20 13.816693 + + + 21 17.963547 + + + 22 20.733551 + + + 23 22.674721 + + + 24 24.271710 + + + 25 24.271712 + + + 26 26.123960 + + + 27 27.525552 + + + 28 29.772352 + + + 29 29.772353 + + + 30 32.417494 + + + 31 32.417501 + + + 32 33.270561 + + + 33 33.280351 + + + 34 37.613523 + + + 35 38.425184 + + + 36 40.973260 + + + 37 40.973260 + + + 38 42.368072 + + + 39 43.386456 + + + 40 45.211063 + + + 41 45.211069 + + + 42 46.237324 + + + 43 48.083894 + + + 44 48.533656 + + + 45 49.374897 + + + 46 49.374898 + + + 47 50.999720 + + + 48 50.999720 + + + 49 51.490122 + + + 50 52.694276 + + + 51 53.879448 + + + 52 59.393416 + + + 53 59.393419 + + + 54 61.103231 + + + 55 62.325602 + + + 56 62.877386 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 9 ( 0.500000 0.083333 0.583333) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751000 + + + 2 -18.258986 + + + 3 -17.999166 + + + 4 -17.979700 + + + 5 -4.954247 + + + 6 -4.932291 + + + 7 -4.932125 + + + 8 -4.913556 + + + 9 -4.891129 + + + 10 -4.890588 + + + 11 -4.883404 + + + 12 3.013424 + + + 13 3.704441 + + + 14 6.483064 + + + 15 8.859373 + + + 16 9.964288 + + + 17 10.413963 + + + 18 11.753338 + + + 19 12.372520 + + + 20 13.986178 + + + 21 18.769528 + + + 22 21.098635 + + + 23 22.026945 + + + 24 24.472370 + + + 25 26.353192 + + + 26 26.700459 + + + 27 26.863417 + + + 28 29.019138 + + + 29 29.146331 + + + 30 30.368702 + + + 31 30.786603 + + + 32 34.862847 + + + 33 35.659299 + + + 34 37.492550 + + + 35 38.059692 + + + 36 38.550543 + + + 37 41.133633 + + + 38 42.431814 + + + 39 43.599862 + + + 40 44.343260 + + + 41 45.035728 + + + 42 45.292031 + + + 43 46.420684 + + + 44 48.620454 + + + 45 49.343592 + + + 46 50.523551 + + + 47 51.528310 + + + 48 52.558257 + + + 49 53.734224 + + + 50 55.750914 + + + 51 56.334166 + + + 52 57.082265 + + + 53 58.388698 + + + 54 60.663119 + + + 55 60.817790 + + + 56 62.743642 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 10 ( 0.500000 0.250000 0.750000) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751551 + + + 2 -18.130156 + + + 3 -18.130141 + + + 4 -17.982761 + + + 5 -4.940800 + + + 6 -4.940753 + + + 7 -4.935345 + + + 8 -4.909204 + + + 9 -4.905636 + + + 10 -4.905561 + + + 11 -4.891574 + + + 12 3.866441 + + + 13 4.797106 + + + 14 4.797107 + + + 15 6.915200 + + + 16 9.969426 + + + 17 11.546260 + + + 18 11.958519 + + + 19 11.958524 + + + 20 15.012414 + + + 21 20.550161 + + + 22 20.550164 + + + 23 21.136035 + + + 24 24.708968 + + + 25 25.318082 + + + 26 25.318089 + + + 27 25.497515 + + + 28 31.442901 + + + 29 32.446044 + + + 30 32.488563 + + + 31 32.488566 + + + 32 33.025967 + + + 33 33.414713 + + + 34 35.793199 + + + 35 35.793205 + + + 36 39.040209 + + + 37 40.615295 + + + 38 40.615300 + + + 39 42.390675 + + + 40 43.901911 + + + 41 43.901912 + + + 42 45.260970 + + + 43 48.362151 + + + 44 48.661733 + + + 45 52.773670 + + + 46 53.141587 + + + 47 53.141592 + + + 48 55.036432 + + + 49 55.067446 + + + 50 56.014443 + + + 51 56.014449 + + + 52 56.020108 + + + 53 57.994924 + + + 54 57.994929 + + + 55 59.082921 + + + 56 63.090306 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 11 ( 0.400000 0.350000 0.750000) kpt-group= 3 + + + ----------------------------------------------------------------- + + + + + + 1 -40.752445 + + + 2 -18.191611 + + + 3 -18.090656 + + + 4 -17.942570 + + + 5 -4.951262 + + + 6 -4.942405 + + + 7 -4.915818 + + + 8 -4.913508 + + + 9 -4.910684 + + + 10 -4.885003 + + + 11 -4.884755 + + + 12 3.586205 + + + 13 4.083414 + + + 14 5.628377 + + + 15 7.820920 + + + 16 9.336713 + + + 17 10.089615 + + + 18 12.020821 + + + 19 13.697365 + + + 20 15.063752 + + + 21 18.402432 + + + 22 21.408814 + + + 23 21.825405 + + + 24 22.409238 + + + 25 26.801850 + + + 26 27.313789 + + + 27 28.222367 + + + 28 28.509702 + + + 29 30.426842 + + + 30 30.848164 + + + 31 32.093551 + + + 32 32.926908 + + + 33 34.407769 + + + 34 35.841471 + + + 35 39.257573 + + + 36 39.755805 + + + 37 39.780981 + + + 38 41.431827 + + + 39 42.123345 + + + 40 44.245923 + + + 41 44.636258 + + + 42 46.030773 + + + 43 46.061312 + + + 44 49.238827 + + + 45 49.346300 + + + 46 51.214893 + + + 47 52.435105 + + + 48 53.105489 + + + 49 55.064490 + + + 50 57.469074 + + + 51 58.118600 + + + 52 58.650179 + + + 53 60.539009 + + + 54 60.961002 + + + 55 60.976314 + + + 56 61.088424 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 1 ( 0.500000 0.333333 0.666667) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.145211 + + + 2 -15.756476 + + + 3 -15.592084 + + + 4 -15.427434 + + + 5 4.949491 + + + 6 4.967840 + + + 7 6.019541 + + + 8 8.083728 + + + 9 10.123772 + + + 10 11.383431 + + + 11 11.675477 + + + 12 11.804078 + + + 13 11.987659 + + + 14 11.999095 + + + 15 12.019785 + + + 16 12.057509 + + + 17 12.840023 + + + 18 12.918728 + + + 19 15.850033 + + + 20 16.885716 + + + 21 19.100660 + + + 22 22.263581 + + + 23 23.934921 + + + 24 25.070750 + + + 25 25.972228 + + + 26 27.011833 + + + 27 30.189704 + + + 28 30.396341 + + + 29 31.605893 + + + 30 31.941128 + + + 31 33.433780 + + + 32 36.390046 + + + 33 36.786752 + + + 34 37.427626 + + + 35 38.181625 + + + 36 38.927303 + + + 37 39.357028 + + + 38 41.475205 + + + 39 41.976300 + + + 40 45.512232 + + + 41 46.858500 + + + 42 48.375282 + + + 43 50.162012 + + + 44 50.291083 + + + 45 50.738913 + + + 46 51.808204 + + + 47 53.618750 + + + 48 53.655468 + + + 49 55.869927 + + + 50 57.249604 + + + 51 58.462053 + + + 52 58.785189 + + + 53 59.874216 + + + 54 61.153230 + + + 55 61.457158 + + + 56 63.191011 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 2 ( 0.500000 0.444444 0.555556) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.157518 + + + 2 -15.884528 + + + 3 -15.373521 + + + 4 -15.342880 + + + 5 3.572610 + + + 6 6.074701 + + + 7 6.808285 + + + 8 7.115613 + + + 9 10.773573 + + + 10 10.970387 + + + 11 11.276881 + + + 12 11.600333 + + + 13 11.727914 + + + 14 12.023003 + + + 15 12.025105 + + + 16 12.039153 + + + 17 12.122544 + + + 18 13.077991 + + + 19 15.638912 + + + 20 18.064126 + + + 21 18.207683 + + + 22 24.048559 + + + 23 24.127459 + + + 24 24.687639 + + + 25 27.156097 + + + 26 27.385190 + + + 27 28.422782 + + + 28 31.209426 + + + 29 31.633441 + + + 30 33.553451 + + + 31 34.222308 + + + 32 34.623300 + + + 33 35.539178 + + + 34 37.345284 + + + 35 37.999240 + + + 36 39.651825 + + + 37 40.318817 + + + 38 41.003360 + + + 39 44.878845 + + + 40 45.252622 + + + 41 46.113274 + + + 42 47.270685 + + + 43 47.792292 + + + 44 50.844591 + + + 45 51.636287 + + + 46 51.882473 + + + 47 53.602510 + + + 48 55.030866 + + + 49 55.407329 + + + 50 56.599097 + + + 51 57.240057 + + + 52 57.410329 + + + 53 58.631374 + + + 54 60.354053 + + + 55 61.393000 + + + 56 62.053112 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 3 ( 0.409091 0.409091 0.409091) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.164303 + + + 2 -15.854617 + + + 3 -15.325051 + + + 4 -15.325038 + + + 5 3.213768 + + + 6 6.188435 + + + 7 7.013370 + + + 8 7.013371 + + + 9 10.436567 + + + 10 10.436570 + + + 11 10.954694 + + + 12 11.812191 + + + 13 11.812196 + + + 14 11.988244 + + + 15 12.012733 + + + 16 12.012735 + + + 17 12.121044 + + + 18 13.748473 + + + 19 15.613311 + + + 20 18.795775 + + + 21 18.795778 + + + 22 22.627511 + + + 23 23.660511 + + + 24 23.660513 + + + 25 28.265994 + + + 26 28.265998 + + + 27 28.452145 + + + 28 31.103234 + + + 29 32.576060 + + + 30 32.576063 + + + 31 34.212464 + + + 32 34.416521 + + + 33 34.416522 + + + 34 38.549931 + + + 35 38.736645 + + + 36 41.525383 + + + 37 41.525387 + + + 38 42.630641 + + + 39 44.214837 + + + 40 44.260370 + + + 41 44.260373 + + + 42 49.333735 + + + 43 49.333746 + + + 44 50.686105 + + + 45 50.729951 + + + 46 51.261006 + + + 47 51.261009 + + + 48 53.081159 + + + 49 53.081167 + + + 50 53.994154 + + + 51 58.920052 + + + 52 58.920056 + + + 53 59.056664 + + + 54 61.812164 + + + 55 61.812168 + + + 56 63.281079 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 4 ( 0.227273 0.227273 0.227273) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.192034 + + + 2 -15.539192 + + + 3 -15.282922 + + + 4 -15.282909 + + + 5 1.938185 + + + 6 6.199446 + + + 7 7.400008 + + + 8 7.400011 + + + 9 9.066762 + + + 10 9.066763 + + + 11 11.201487 + + + 12 11.693267 + + + 13 11.859381 + + + 14 11.859382 + + + 15 12.056407 + + + 16 12.056412 + + + 17 12.121672 + + + 18 15.404478 + + + 19 17.436279 + + + 20 20.055166 + + + 21 20.055177 + + + 22 20.271057 + + + 23 22.542119 + + + 24 22.542125 + + + 25 24.799252 + + + 26 28.716267 + + + 27 28.716270 + + + 28 30.811551 + + + 29 31.986920 + + + 30 31.986926 + + + 31 37.688571 + + + 32 38.003543 + + + 33 38.003556 + + + 34 38.010790 + + + 35 40.631181 + + + 36 43.279778 + + + 37 43.279781 + + + 38 45.449744 + + + 39 45.449754 + + + 40 46.207699 + + + 41 46.641908 + + + 42 46.641911 + + + 43 47.313049 + + + 44 48.657141 + + + 45 50.177645 + + + 46 50.177649 + + + 47 50.990612 + + + 48 52.482678 + + + 49 52.482683 + + + 50 54.520000 + + + 51 56.320236 + + + 52 56.320240 + + + 53 57.376821 + + + 54 58.936864 + + + 55 58.936864 + + + 56 60.317773 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 5 ( 0.045455 0.045455 0.045455) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.215039 + + + 2 -15.259638 + + + 3 -15.247096 + + + 4 -15.247083 + + + 5 0.814990 + + + 6 7.066710 + + + 7 7.156834 + + + 8 7.156838 + + + 9 9.225159 + + + 10 9.225163 + + + 11 10.975651 + + + 12 11.552613 + + + 13 11.585186 + + + 14 11.585186 + + + 15 12.115981 + + + 16 12.115986 + + + 17 12.118521 + + + 18 15.795073 + + + 19 17.677465 + + + 20 18.145896 + + + 21 18.145907 + + + 22 19.818942 + + + 23 26.043184 + + + 24 26.620414 + + + 25 26.620418 + + + 26 27.904979 + + + 27 27.904982 + + + 28 28.546739 + + + 29 31.586040 + + + 30 31.586053 + + + 31 35.446520 + + + 32 37.108348 + + + 33 37.314875 + + + 34 37.314884 + + + 35 44.191667 + + + 36 44.191689 + + + 37 46.552425 + + + 38 47.595362 + + + 39 47.595366 + + + 40 48.455046 + + + 41 48.677821 + + + 42 48.677825 + + + 43 50.935625 + + + 44 50.935625 + + + 45 51.642434 + + + 46 51.806265 + + + 47 52.381528 + + + 48 53.035827 + + + 49 53.035829 + + + 50 53.865267 + + + 51 54.081279 + + + 52 54.081279 + + + 53 55.178023 + + + 54 55.592798 + + + 55 55.592798 + + + 56 55.841784 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 6 ( 0.125000 0.000000 0.125000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.205177 + + + 2 -15.345369 + + + 3 -15.280599 + + + 4 -15.280586 + + + 5 1.284640 + + + 6 6.518534 + + + 7 7.438710 + + + 8 7.438710 + + + 9 8.426305 + + + 10 9.448692 + + + 11 11.306494 + + + 12 11.632314 + + + 13 11.632382 + + + 14 11.712481 + + + 15 12.085864 + + + 16 12.107065 + + + 17 12.107131 + + + 18 16.494175 + + + 19 17.122043 + + + 20 18.274749 + + + 21 18.274764 + + + 22 22.201724 + + + 23 23.922676 + + + 24 23.922679 + + + 25 24.475952 + + + 26 27.412712 + + + 27 29.601670 + + + 28 30.485240 + + + 29 30.485249 + + + 30 32.566379 + + + 31 37.400019 + + + 32 38.205328 + + + 33 38.205332 + + + 34 38.767584 + + + 35 40.747760 + + + 36 44.029107 + + + 37 44.029108 + + + 38 45.125937 + + + 39 45.399397 + + + 40 47.053806 + + + 41 47.053811 + + + 42 48.484945 + + + 43 50.320269 + + + 44 50.787246 + + + 45 50.787251 + + + 46 51.556849 + + + 47 52.950484 + + + 48 52.950487 + + + 49 53.045338 + + + 50 54.377788 + + + 51 55.537345 + + + 52 55.682768 + + + 53 56.392059 + + + 54 56.392060 + + + 55 57.182152 + + + 56 57.276874 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 7 ( 0.291667 0.000000 0.291667) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.169050 + + + 2 -15.649856 + + + 3 -15.394663 + + + 4 -15.394650 + + + 5 3.022500 + + + 6 5.181578 + + + 7 6.804090 + + + 8 8.774249 + + + 9 8.774253 + + + 10 10.156452 + + + 11 11.840819 + + + 12 11.840891 + + + 13 11.849469 + + + 14 11.928044 + + + 15 11.980287 + + + 16 12.073200 + + + 17 12.073260 + + + 18 17.103097 + + + 19 17.103105 + + + 20 17.751724 + + + 21 18.595531 + + + 22 19.565049 + + + 23 22.691330 + + + 24 22.691335 + + + 25 25.914177 + + + 26 28.037179 + + + 27 28.281468 + + + 28 31.457539 + + + 29 32.878961 + + + 30 32.878975 + + + 31 35.730923 + + + 32 35.730924 + + + 33 36.906444 + + + 34 38.764904 + + + 35 39.899848 + + + 36 42.871587 + + + 37 43.120588 + + + 38 43.120589 + + + 39 44.932701 + + + 40 44.932705 + + + 41 45.964561 + + + 42 48.685290 + + + 43 48.685296 + + + 44 48.861274 + + + 45 49.742668 + + + 46 49.812926 + + + 47 50.444208 + + + 48 52.757480 + + + 49 52.757480 + + + 50 53.325204 + + + 51 55.440581 + + + 52 58.873165 + + + 53 58.873166 + + + 54 59.707613 + + + 55 59.978119 + + + 56 60.254843 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 8 ( 0.458333 0.000000 0.458333) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.142591 + + + 2 -15.851001 + + + 3 -15.475969 + + + 4 -15.475956 + + + 5 3.571613 + + + 6 4.482398 + + + 7 7.656714 + + + 8 10.868269 + + + 9 10.868295 + + + 10 10.887257 + + + 11 11.703536 + + + 12 11.703581 + + + 13 11.770399 + + + 14 11.964825 + + + 15 11.964876 + + + 16 12.000479 + + + 17 12.058248 + + + 18 14.304824 + + + 19 14.304848 + + + 20 14.475748 + + + 21 19.366527 + + + 22 22.690813 + + + 23 23.950674 + + + 24 26.425948 + + + 25 26.425952 + + + 26 26.688690 + + + 27 29.149985 + + + 28 29.149989 + + + 29 29.201344 + + + 30 33.100484 + + + 31 34.157547 + + + 32 34.157560 + + + 33 34.917554 + + + 34 39.682378 + + + 35 40.149026 + + + 36 41.734708 + + + 37 41.734708 + + + 38 43.506051 + + + 39 44.225930 + + + 40 44.706469 + + + 41 46.582115 + + + 42 46.582125 + + + 43 48.348156 + + + 44 48.986734 + + + 45 51.296324 + + + 46 51.296325 + + + 47 51.789151 + + + 48 52.127983 + + + 49 52.127983 + + + 50 55.428578 + + + 51 56.708066 + + + 52 59.451153 + + + 53 59.451155 + + + 54 61.711566 + + + 55 62.287336 + + + 56 65.427946 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 9 ( 0.500000 0.125000 0.625000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.140909 + + + 2 -15.807060 + + + 3 -15.538139 + + + 4 -15.485631 + + + 5 4.002303 + + + 6 4.795804 + + + 7 7.020285 + + + 8 9.145048 + + + 9 11.329830 + + + 10 11.460303 + + + 11 11.509832 + + + 12 11.749377 + + + 13 11.965915 + + + 14 11.971675 + + + 15 11.994360 + + + 16 12.008857 + + + 17 12.512626 + + + 18 13.314557 + + + 19 14.050186 + + + 20 15.910176 + + + 21 20.315460 + + + 22 22.273625 + + + 23 23.000672 + + + 24 25.476597 + + + 25 26.794332 + + + 26 27.815282 + + + 27 28.193434 + + + 28 31.061594 + + + 29 31.135059 + + + 30 31.238017 + + + 31 31.602113 + + + 32 36.649302 + + + 33 37.519758 + + + 34 37.578584 + + + 35 38.134194 + + + 36 38.919428 + + + 37 42.274309 + + + 38 42.830896 + + + 39 43.822836 + + + 40 44.480338 + + + 41 46.151729 + + + 42 47.456603 + + + 43 47.900810 + + + 44 49.567169 + + + 45 50.715477 + + + 46 52.292547 + + + 47 53.143276 + + + 48 53.386154 + + + 49 54.981949 + + + 50 58.263633 + + + 51 58.362780 + + + 52 59.086506 + + + 53 59.573706 + + + 54 61.965062 + + + 55 62.147115 + + + 56 62.176156 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 10 ( 0.475000 0.275000 0.750000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.140666 + + + 2 -15.702861 + + + 3 -15.649490 + + + 4 -15.486137 + + + 5 4.620555 + + + 6 5.489397 + + + 7 5.987225 + + + 8 7.873546 + + + 9 11.212779 + + + 10 11.354118 + + + 11 11.672498 + + + 12 11.856849 + + + 13 11.954407 + + + 14 11.974627 + + + 15 11.983781 + + + 16 12.011345 + + + 17 13.089266 + + + 18 13.469898 + + + 19 13.897903 + + + 20 16.436815 + + + 21 21.312602 + + + 22 22.002729 + + + 23 22.515322 + + + 24 25.673458 + + + 25 26.276676 + + + 26 27.016422 + + + 27 27.037627 + + + 28 32.408712 + + + 29 32.852980 + + + 30 33.189450 + + + 31 33.877928 + + + 32 34.046945 + + + 33 35.426192 + + + 34 35.679234 + + + 35 37.782674 + + + 36 39.738881 + + + 37 41.433446 + + + 38 42.238382 + + + 39 42.861623 + + + 40 44.949642 + + + 41 45.328101 + + + 42 46.497239 + + + 43 49.893937 + + + 44 50.065364 + + + 45 53.067256 + + + 46 53.172132 + + + 47 55.199249 + + + 48 55.389183 + + + 49 55.861432 + + + 50 56.864293 + + + 51 57.210644 + + + 52 57.964174 + + + 53 59.058145 + + + 54 59.531049 + + + 55 60.307337 + + + 56 62.962461 + + + ----------------------------------------------------------------- + + + Spin=1 kpt= 11 ( 0.375000 0.375000 0.750000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -37.142281 + + + 2 -15.756438 + + + 3 -15.626865 + + + 4 -15.431099 + + + 5 4.333005 + + + 6 4.969040 + + + 7 6.639744 + + + 8 8.965095 + + + 9 10.282106 + + + 10 10.481108 + + + 11 11.919155 + + + 12 11.954746 + + + 13 11.960509 + + + 14 11.996939 + + + 15 12.015552 + + + 16 12.024096 + + + 17 12.674440 + + + 18 13.486297 + + + 19 15.240883 + + + 20 16.470137 + + + 21 19.450382 + + + 22 22.788271 + + + 23 23.153605 + + + 24 23.402739 + + + 25 28.608955 + + + 26 28.731072 + + + 27 29.117482 + + + 28 29.796608 + + + 29 30.642159 + + + 30 32.237064 + + + 31 32.993866 + + + 32 33.760132 + + + 33 35.532041 + + + 34 37.144248 + + + 35 39.718704 + + + 36 40.820740 + + + 37 42.005921 + + + 38 42.238530 + + + 39 44.100267 + + + 40 44.434574 + + + 41 45.293246 + + + 42 46.089452 + + + 43 47.648447 + + + 44 50.362787 + + + 45 50.947394 + + + 46 52.866471 + + + 47 52.982015 + + + 48 54.034374 + + + 49 55.940923 + + + 50 58.830578 + + + 51 58.844474 + + + 52 60.367181 + + + 53 60.917720 + + + 54 61.690079 + + + 55 62.203120 + + + 56 62.350561 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 1 ( 0.500000 0.333333 0.666667) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.754862 + + + 2 -18.193019 + + + 3 -18.063303 + + + 4 -17.933393 + + + 5 -4.951774 + + + 6 -4.945480 + + + 7 -4.931925 + + + 8 -4.903497 + + + 9 -4.894050 + + + 10 -4.890630 + + + 11 -4.877715 + + + 12 4.038713 + + + 13 4.173735 + + + 14 5.067879 + + + 15 7.121329 + + + 16 9.098869 + + + 17 10.997803 + + + 18 11.249123 + + + 19 14.426168 + + + 20 15.451634 + + + 21 17.832686 + + + 22 20.923199 + + + 23 22.928888 + + + 24 23.808052 + + + 25 24.612196 + + + 26 25.775565 + + + 27 29.215945 + + + 28 29.228048 + + + 29 30.460171 + + + 30 30.681143 + + + 31 32.375808 + + + 32 35.186633 + + + 33 35.858656 + + + 34 36.721898 + + + 35 37.198019 + + + 36 37.788085 + + + 37 38.506761 + + + 38 40.446480 + + + 39 40.824702 + + + 40 44.280498 + + + 41 45.321571 + + + 42 47.379497 + + + 43 49.254437 + + + 44 49.272487 + + + 45 49.869822 + + + 46 50.563086 + + + 47 52.657127 + + + 48 52.709928 + + + 49 54.619993 + + + 50 56.196670 + + + 51 57.466960 + + + 52 57.511840 + + + 53 58.933548 + + + 54 60.201739 + + + 55 60.538158 + + + 56 62.523100 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 2 ( 0.500000 0.444444 0.555556) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.762998 + + + 2 -18.293988 + + + 3 -17.890936 + + + 4 -17.867252 + + + 5 -4.978615 + + + 6 -4.956651 + + + 7 -4.955980 + + + 8 -4.900837 + + + 9 -4.885112 + + + 10 -4.876126 + + + 11 -4.863491 + + + 12 2.706650 + + + 13 5.229567 + + + 14 5.822350 + + + 15 6.101232 + + + 16 9.453323 + + + 17 9.791240 + + + 18 11.559662 + + + 19 13.892772 + + + 20 16.588739 + + + 21 16.748081 + + + 22 22.862851 + + + 23 22.936413 + + + 24 23.590155 + + + 25 25.964383 + + + 26 26.145862 + + + 27 27.180343 + + + 28 29.991214 + + + 29 30.366152 + + + 30 32.276588 + + + 31 33.324986 + + + 32 33.376552 + + + 33 34.476618 + + + 34 36.263656 + + + 35 37.128986 + + + 36 37.960206 + + + 37 39.313541 + + + 38 40.251333 + + + 39 43.967618 + + + 40 44.368983 + + + 41 45.070866 + + + 42 46.563540 + + + 43 47.037063 + + + 44 50.043977 + + + 45 50.362696 + + + 46 50.762509 + + + 47 52.277729 + + + 48 54.161649 + + + 49 54.189059 + + + 50 55.246361 + + + 51 56.358753 + + + 52 56.416703 + + + 53 57.669408 + + + 54 59.011090 + + + 55 60.066964 + + + 56 61.113398 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 3 ( 0.409091 0.409091 0.409091) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.767772 + + + 2 -18.269705 + + + 3 -17.852748 + + + 4 -17.852743 + + + 5 -4.983975 + + + 6 -4.949680 + + + 7 -4.949679 + + + 8 -4.904737 + + + 9 -4.883437 + + + 10 -4.883432 + + + 11 -4.849613 + + + 12 2.355471 + + + 13 5.314603 + + + 14 5.994462 + + + 15 5.994463 + + + 16 9.196849 + + + 17 9.196852 + + + 18 12.175653 + + + 19 13.868086 + + + 20 17.363817 + + + 21 17.363820 + + + 22 21.571142 + + + 23 22.456003 + + + 24 22.456006 + + + 25 26.949453 + + + 26 26.949458 + + + 27 27.288851 + + + 28 30.303652 + + + 29 31.354138 + + + 30 31.354140 + + + 31 33.047152 + + + 32 33.047154 + + + 33 33.063892 + + + 34 36.832232 + + + 35 37.757874 + + + 36 40.655760 + + + 37 40.655763 + + + 38 41.650288 + + + 39 43.388612 + + + 40 43.388614 + + + 41 43.664491 + + + 42 48.529496 + + + 43 48.529505 + + + 44 49.079992 + + + 45 49.424243 + + + 46 50.085725 + + + 47 50.085726 + + + 48 52.305624 + + + 49 52.305631 + + + 50 53.125027 + + + 51 57.958775 + + + 52 57.958778 + + + 53 58.053569 + + + 54 60.528795 + + + 55 60.528796 + + + 56 62.120032 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 4 ( 0.227273 0.227273 0.227273) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.788231 + + + 2 -18.017584 + + + 3 -17.817405 + + + 4 -17.817400 + + + 5 -4.974189 + + + 6 -4.941416 + + + 7 -4.916015 + + + 8 -4.916013 + + + 9 -4.883715 + + + 10 -4.883711 + + + 11 -4.860482 + + + 12 1.089180 + + + 13 5.264885 + + + 14 6.342646 + + + 15 6.342647 + + + 16 7.958274 + + + 17 7.958275 + + + 18 13.856665 + + + 19 15.811260 + + + 20 18.852291 + + + 21 18.852301 + + + 22 19.215899 + + + 23 21.164689 + + + 24 21.164694 + + + 25 24.030425 + + + 26 27.348375 + + + 27 27.348378 + + + 28 29.371224 + + + 29 30.625661 + + + 30 30.625665 + + + 31 35.919223 + + + 32 36.725869 + + + 33 36.725880 + + + 34 37.104728 + + + 35 39.306638 + + + 36 41.936490 + + + 37 41.936493 + + + 38 44.526623 + + + 39 44.526631 + + + 40 44.897853 + + + 41 45.943960 + + + 42 45.943962 + + + 43 46.640626 + + + 44 48.047526 + + + 45 49.307928 + + + 46 49.307930 + + + 47 49.399603 + + + 48 51.678864 + + + 49 51.678867 + + + 50 53.559995 + + + 51 55.548124 + + + 52 55.548127 + + + 53 56.614160 + + + 54 57.973154 + + + 55 57.973155 + + + 56 59.469536 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 5 ( 0.045455 0.045455 0.045455) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.805132 + + + 2 -17.797995 + + + 3 -17.788265 + + + 4 -17.788260 + + + 5 -5.001670 + + + 6 -4.944446 + + + 7 -4.942719 + + + 8 -4.942716 + + + 9 -4.865814 + + + 10 -4.865811 + + + 11 -4.864602 + + + 12 0.000612 + + + 13 6.004068 + + + 14 6.080662 + + + 15 6.080663 + + + 16 8.009040 + + + 17 8.009041 + + + 18 13.752722 + + + 19 16.397011 + + + 20 16.798167 + + + 21 16.798177 + + + 22 19.253120 + + + 23 24.695716 + + + 24 25.256116 + + + 25 25.256120 + + + 26 26.557096 + + + 27 26.557098 + + + 28 27.176418 + + + 29 30.358083 + + + 30 30.358090 + + + 31 34.110655 + + + 32 35.372618 + + + 33 35.595143 + + + 34 35.595151 + + + 35 43.265915 + + + 36 43.265932 + + + 37 45.639886 + + + 38 46.703909 + + + 39 46.703912 + + + 40 47.230563 + + + 41 47.575319 + + + 42 47.575321 + + + 43 49.890456 + + + 44 49.890456 + + + 45 49.905118 + + + 46 50.961104 + + + 47 51.168522 + + + 48 52.155634 + + + 49 52.155634 + + + 50 52.830539 + + + 51 53.357467 + + + 52 53.357468 + + + 53 54.415460 + + + 54 54.954342 + + + 55 54.954342 + + + 56 55.250529 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 6 ( 0.125000 0.000000 0.125000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.797914 + + + 2 -17.864606 + + + 3 -17.814998 + + + 4 -17.814985 + + + 5 -4.981704 + + + 6 -4.939891 + + + 7 -4.932296 + + + 8 -4.932214 + + + 9 -4.866062 + + + 10 -4.866021 + + + 11 -4.863460 + + + 12 0.453009 + + + 13 5.534294 + + + 14 6.365816 + + + 15 6.365816 + + + 16 7.371183 + + + 17 8.223556 + + + 18 14.696054 + + + 19 15.958908 + + + 20 16.970022 + + + 21 16.970025 + + + 22 21.515137 + + + 23 22.588870 + + + 24 22.588872 + + + 25 23.179050 + + + 26 25.981896 + + + 27 28.271814 + + + 28 29.086802 + + + 29 29.086808 + + + 30 31.271935 + + + 31 36.166192 + + + 32 36.516606 + + + 33 36.516607 + + + 34 37.150130 + + + 35 39.747168 + + + 36 43.155561 + + + 37 43.155562 + + + 38 44.178125 + + + 39 44.202226 + + + 40 45.888927 + + + 41 45.888932 + + + 42 47.534132 + + + 43 49.700539 + + + 44 49.825182 + + + 45 49.825183 + + + 46 50.991372 + + + 47 51.595197 + + + 48 52.136974 + + + 49 52.136975 + + + 50 52.865691 + + + 51 54.725469 + + + 52 54.987747 + + + 53 55.757409 + + + 54 55.757409 + + + 55 56.577461 + + + 56 56.577463 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 7 ( 0.291667 0.000000 0.291667) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.771339 + + + 2 -18.106599 + + + 3 -17.907806 + + + 4 -17.907793 + + + 5 -4.935900 + + + 6 -4.925032 + + + 7 -4.913237 + + + 8 -4.913152 + + + 9 -4.913103 + + + 10 -4.901796 + + + 11 -4.901763 + + + 12 2.178436 + + + 13 4.280874 + + + 14 5.920684 + + + 15 7.714875 + + + 16 7.714876 + + + 17 8.913470 + + + 18 15.754943 + + + 19 15.754945 + + + 20 16.579948 + + + 21 17.347865 + + + 22 18.139690 + + + 23 21.567776 + + + 24 21.567778 + + + 25 24.453750 + + + 26 26.631238 + + + 27 27.431822 + + + 28 30.246232 + + + 29 31.392366 + + + 30 31.392373 + + + 31 34.825130 + + + 32 34.825131 + + + 33 35.984498 + + + 34 37.762934 + + + 35 38.522108 + + + 36 41.596497 + + + 37 41.596497 + + + 38 41.601170 + + + 39 43.830843 + + + 40 43.830847 + + + 41 45.034732 + + + 42 47.575120 + + + 43 47.575123 + + + 44 47.745834 + + + 45 48.614621 + + + 46 49.253667 + + + 47 49.783775 + + + 48 52.203717 + + + 49 52.203717 + + + 50 52.807275 + + + 51 54.592938 + + + 52 58.137770 + + + 53 58.137771 + + + 54 58.412775 + + + 55 59.083579 + + + 56 59.235713 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 8 ( 0.458333 0.000000 0.458333) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751760 + + + 2 -18.271076 + + + 3 -17.975428 + + + 4 -17.975415 + + + 5 -4.959319 + + + 6 -4.923150 + + + 7 -4.923100 + + + 8 -4.916230 + + + 9 -4.892335 + + + 10 -4.892261 + + + 11 -4.881396 + + + 12 2.818387 + + + 13 3.588672 + + + 14 6.771829 + + + 15 9.511377 + + + 16 9.745457 + + + 17 9.745457 + + + 18 12.638760 + + + 19 12.638762 + + + 20 13.121480 + + + 21 18.284347 + + + 22 21.237127 + + + 23 22.399692 + + + 24 25.474519 + + + 25 25.474521 + + + 26 25.591255 + + + 27 27.871270 + + + 28 28.271741 + + + 29 28.271743 + + + 30 32.277371 + + + 31 32.554980 + + + 32 32.554987 + + + 33 33.822843 + + + 34 38.391008 + + + 35 39.289786 + + + 36 40.772607 + + + 37 40.772607 + + + 38 42.358898 + + + 39 43.150994 + + + 40 43.870849 + + + 41 45.198121 + + + 42 45.198126 + + + 43 47.769165 + + + 44 48.429158 + + + 45 50.605495 + + + 46 50.605496 + + + 47 50.884578 + + + 48 50.884578 + + + 49 51.302601 + + + 50 54.214224 + + + 51 55.605588 + + + 52 57.849822 + + + 53 57.849826 + + + 54 60.298649 + + + 55 60.727199 + + + 56 64.177145 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 9 ( 0.500000 0.125000 0.625000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751187 + + + 2 -18.235476 + + + 3 -18.023381 + + + 4 -17.980781 + + + 5 -4.952104 + + + 6 -4.939347 + + + 7 -4.934283 + + + 8 -4.912184 + + + 9 -4.898552 + + + 10 -4.894685 + + + 11 -4.884503 + + + 12 3.241417 + + + 13 3.884168 + + + 14 6.073195 + + + 15 8.214926 + + + 16 9.966001 + + + 17 10.830943 + + + 18 11.619828 + + + 19 12.357738 + + + 20 14.497212 + + + 21 19.285276 + + + 22 20.826591 + + + 23 21.626723 + + + 24 24.319087 + + + 25 25.987271 + + + 26 26.529706 + + + 27 26.839228 + + + 28 30.015859 + + + 29 30.142489 + + + 30 30.159328 + + + 31 30.525099 + + + 32 35.464737 + + + 33 36.257695 + + + 34 36.547194 + + + 35 37.142738 + + + 36 37.609725 + + + 37 41.256363 + + + 38 41.914365 + + + 39 42.990590 + + + 40 43.667330 + + + 41 45.319471 + + + 42 46.206774 + + + 43 46.679629 + + + 44 48.440851 + + + 45 49.627063 + + + 46 51.594658 + + + 47 51.894837 + + + 48 52.028263 + + + 49 54.323058 + + + 50 56.804553 + + + 51 56.934157 + + + 52 58.334126 + + + 53 58.533396 + + + 54 60.966543 + + + 55 61.184337 + + + 56 61.418613 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 10 ( 0.475000 0.275000 0.750000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.751665 + + + 2 -18.151986 + + + 3 -18.109728 + + + 4 -17.978820 + + + 5 -4.942362 + + + 6 -4.939230 + + + 7 -4.926119 + + + 8 -4.905691 + + + 9 -4.904160 + + + 10 -4.894982 + + + 11 -4.886456 + + + 12 3.841489 + + + 13 4.550094 + + + 14 5.034065 + + + 15 7.008730 + + + 16 9.893566 + + + 17 11.296256 + + + 18 11.874190 + + + 19 12.339792 + + + 20 15.024398 + + + 21 20.088764 + + + 22 20.654717 + + + 23 21.404014 + + + 24 24.533227 + + + 25 24.873447 + + + 26 25.713627 + + + 27 26.040825 + + + 28 31.087607 + + + 29 31.702291 + + + 30 32.373898 + + + 31 32.723596 + + + 32 32.886560 + + + 33 34.587853 + + + 34 34.759256 + + + 35 37.018837 + + + 36 38.619226 + + + 37 40.221052 + + + 38 41.084471 + + + 39 41.966491 + + + 40 44.038782 + + + 41 44.132672 + + + 42 45.587444 + + + 43 48.358003 + + + 44 48.640143 + + + 45 52.027504 + + + 46 52.027571 + + + 47 54.146651 + + + 48 54.442214 + + + 49 54.780900 + + + 50 55.991076 + + + 51 56.356994 + + + 52 57.219751 + + + 53 57.923417 + + + 54 58.280674 + + + 55 59.415325 + + + 56 62.047639 + + + ----------------------------------------------------------------- + + + Spin=2 kpt= 11 ( 0.375000 0.375000 0.750000) kpt-group= 4 + + + ----------------------------------------------------------------- + + + + + + 1 -40.752526 + + + 2 -18.194395 + + + 3 -18.090403 + + + 4 -17.938437 + + + 5 -4.951669 + + + 6 -4.943773 + + + 7 -4.916169 + + + 8 -4.913839 + + + 9 -4.913448 + + + 10 -4.886237 + + + 11 -4.884246 + + + 12 3.551748 + + + 13 4.059645 + + + 14 5.682649 + + + 15 7.942736 + + + 16 9.276351 + + + 17 9.941364 + + + 18 12.041648 + + + 19 13.840893 + + + 20 15.064315 + + + 21 18.235020 + + + 22 21.791190 + + + 23 21.836784 + + + 24 21.929859 + + + 25 27.414411 + + + 26 27.581317 + + + 27 27.804858 + + + 28 28.655009 + + + 29 29.997583 + + + 30 30.791633 + + + 31 32.026341 + + + 32 32.842045 + + + 33 34.555766 + + + 34 35.570893 + + + 35 39.001025 + + + 36 39.757045 + + + 37 40.955651 + + + 38 41.260678 + + + 39 43.265450 + + + 40 43.331295 + + + 41 44.446977 + + + 42 45.054750 + + + 43 46.351843 + + + 44 48.991931 + + + 45 49.757220 + + + 46 51.716374 + + + 47 51.928976 + + + 48 53.047105 + + + 49 54.636833 + + + 50 57.751309 + + + 51 58.083900 + + + 52 59.312153 + + + 53 60.076093 + + + 54 60.760223 + + + 55 61.301766 + + + 56 61.660072 + + ===================================================================== + +Writing model to Gd0.orbitals + + Calculation re-parallelised over 16 processes. + + + Data distributed by G-vector(4-way), k-point(4-way) + + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + + + ******************** Symmetrised Forces ******************** + * * + * Cartesian components (eV/A) * + * -------------------------------------------------------- * + * x y z * + * * + * Gd 1 0.00000 0.00000 0.00000 * + * * + ************************************************************ + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + +Charge spilling parameter for spin component 1 = 0.06% +Charge spilling parameter for spin component 2 = 0.05% + + Orbital Populations + --------------------------------------------------------------- + Ion Atom Orbital Up Down Spin + --------------------------------------------------------------- + Gd 1 S 1.018 0.994 0.024 + Gd 1 Px 1.019 0.997 0.022 + Gd 1 Py 1.020 0.997 0.023 + Gd 1 Pz 1.020 0.997 0.023 + Gd 1 Fxxx 0.000 1.000 -1.000 + Gd 1 Fyyy 0.000 1.000 -1.000 + Gd 1 Fzzz 0.000 1.000 -1.000 + Gd 1 Fxyz 0.000 1.000 -1.000 + Gd 1 Fz(xx-yy) 0.000 1.000 -1.000 + Gd 1 Fy(zz-xx) 0.000 1.000 -1.000 + Gd 1 Fx(yy-zz) 0.000 1.000 -1.000 + Gd 1 S 0.266 0.299 -0.033 + Gd 1 Dzz 0.133 0.213 -0.080 + Gd 1 Dzy 0.121 0.282 -0.162 + Gd 1 Dzx 0.123 0.272 -0.149 + Gd 1 Dxx-yy 0.143 0.224 -0.081 + Gd 1 Dxy 0.124 0.261 -0.136 + Gd 1 Px 0.052 0.110 -0.058 + Gd 1 Py 0.050 0.109 -0.058 + Gd 1 Pz 0.049 0.107 -0.058 + --------------------------------------------------------------- + Total: 5.138 12.862 -7.723 + --------------------------------------------------------------- + + Atomic Populations (Mulliken) + ----------------------------- +Species Ion Spin s p d f Total Charge(e) Spin(hbar/2) +========================================================================================= + Gd 1 up: 1.28 3.21 0.64 0.00 5.14 0.00 -7.72 + 1 dn: 1.29 3.32 1.25 7.00 12.86 +========================================================================================= + + Bond Population Spin Length (A) +================================================================================ +================================================================================ + + +Writing analysis data to Gd0.castep_bin + +Writing model to Gd0.check + + A BibTeX formatted list of references used in this run has been written to + Gd0.bib + +Initialisation time = 18.92 s +Calculation time = 447.53 s +Finalisation time = 5.50 s +Total time = 471.94 s +Peak Memory Use = 860972 kB + +Overall parallel efficiency rating: Poor (46%) + +Data was distributed by:- +G-vector (4-way); efficiency rating: Poor (48%) +k-point (4-way); efficiency rating: Excellent (92%) + +Parallel notes: +1) Calculation only took 466.5 s, so efficiency estimates may be inaccurate. diff --git a/tests/tests_data/valid_castep_castep/combined.castep b/tests/tests_data/valid_castep_castep/combined.castep index a9e9c6ba46889f00ada106a48840c61779d737a2..5e29d0e15ebe687abb5333017352656115b4c3fd 100644 --- a/tests/tests_data/valid_castep_castep/combined.castep +++ b/tests/tests_data/valid_castep_castep/combined.castep @@ -5542,3 +5542,844 @@ Final energy = -2397.023600256 eV -------------------------------------------------------------------------------- ... finished MD iteration 3 + +-------------------------------------------------+ + | | + | CCC AA SSS TTTTT EEEEE PPPP | + | C A A S T E P P | + | C AAAA SS T EEE PPPP | + | C A A S T E P | + | CCC A A SSS T EEEEE P | + | | + +-------------------------------------------------+ + | | + | Welcome to Academic Release CASTEP version 18.1 | + | Ab Initio Total Energy Program | + | | + | Authors: | + | M. Segall, M. Probert, C. Pickard, P. Hasnip, | + | S. Clark, K. Refson, J. R. Yates, M. Payne | + | | + | Contributors: | + | P. Lindan, P. Haynes, J. White, V. Milman, | + | N. Govind, M. Gibson, P. Tulip, V. Cocula, | + | B. Montanari, D. Quigley, M. Glover, | + | L. Bernasconi, A. Perlov, M. Plummer, | + | E. McNellis, J. Meyer, J. Gale, D. Jochym | + | J. Aarons, B. Walker, R. Gillen, D. Jones | + | T. Green, I. J. Bush, C. J. Armstrong, | + | E. J. Higgins, E. L. Brown, M. S. McFly, | + | J. Wilkins, B-C. Shih, P. J. P. Byrne | + | | + | Copyright (c) 2000 - 2017 | + | | + | Distributed under the terms of an | + | Agreement between the United Kingdom | + | Car-Parrinello (UKCP) Consortium, | + | Daresbury Laboratory and Accelrys, Inc. | + | | + | Please cite | + | | + | "First principles methods using CASTEP" | + | | + | Zeitschrift fuer Kristallographie | + | 220(5-6) pp. 567-570 (2005) | + | | + | S. J. Clark, M. D. Segall, C. J. Pickard, | + | P. J. Hasnip, M. J. Probert, K. Refson, | + | M. C. Payne | + | | + | in all publications arising from | + | your use of CASTEP | + | | + +-------------------------------------------------+ + + + Compiled for linux_x86_64_gfortran4.8 on Thu, 19 Jul 2018 15:42:32 +0100 + from code version 70483bd0ad64+ Sun, 10 Dec 2017 12:18:29 +0000 + Compiler: GNU Fortran 4.8.5; Optimisation: fast + MATHLIBS: Intel MKL(2018.0.0) (LAPACK version 3.7.0) + FFT Lib : mkl + Fundamental constants values: CODATA 2014 + + Run started: Fri, 23 Jul 2021 22:08:58 +0100 + Info: number of up-spin electrons is equal to the + number of down-spins and spin_polarized=true + - consider setting spin_polarized=false. + + Atomic calculation performed for Gd: + 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 4f7 5s2 5p6 5d1 6s2 + + Converged in 116 iterations to an ae energy of -306496.732 eV + + ============================================================ + | Pseudopotential Report - Date of generation 23-07-2021 | + ------------------------------------------------------------ + | Element: Gd Ionic charge: 18.00 Level of theory: LDA | + | Atomic Solver: Koelling-Harmon | + | | + | Reference Electronic Structure | + | Orbital Occupation Energy | + | 5s 2.000 -1.832 | + | 5p 6.000 -1.005 | + | 4f 7.000 -0.327 | + | 6s 2.000 -0.157 | + | 5d 1.000 -0.099 | + | | + | Pseudopotential Definition | + | Beta l e Rc scheme norm | + | 1 0 -1.832 2.098 qc 0 | + | 2 0 -0.157 2.098 qc 0 | + | 3 0 0.250 2.098 qc 0 | + | 4 1 -1.005 2.098 qc 0 | + | 5 1 0.250 2.098 qc 0 | + | 6 3 -0.327 2.098 qc 0 | + | 7 3 0.250 2.098 qc 0 | + | loc 2 -0.099 2.098 qc 1 | + | | + | Augmentation charge Rinner = 1.466 | + | Partial core correction Rc = 1.466 | + ------------------------------------------------------------ + | "2|2.1|10|12|13|50U:60:51:52L:43(qc=6)" | + ------------------------------------------------------------ + | Author: Chris J. Pickard, Cambridge University | + ============================================================ + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + + Calculation parallelised over 16 processes. + Data is distributed by G-vector(4-way) and k-point(4-way) + + ************************************ Title ************************************ + + + ***************************** General Parameters ****************************** + + output verbosity : normal (1) + write checkpoint data to : Gd0.check + type of calculation : band structure + stress calculation : off + density difference calculation : off + electron localisation func (ELF) calculation : off + Hirshfeld analysis : off + unlimited duration calculation + timing information : on + memory usage estimate : on + write extra output files : on + write final potential to formatted file : off + write final density to formatted file : off + write BibTeX reference list : on + write OTFG pseudopotential files : on + write electrostatic potential file : on + write bands file : on + checkpoint writing : both castep_bin and check files + + output length unit : A + output mass unit : amu + output time unit : ps + output charge unit : e + output spin unit : hbar/2 + output energy unit : eV + output force unit : eV/A + output velocity unit : A/ps + output pressure unit : GPa + output inv_length unit : 1/A + output frequency unit : cm-1 + output force constant unit : eV/A**2 + output volume unit : A**3 + output IR intensity unit : (D/A)**2/amu + output dipole unit : D + output efield unit : eV/A/e + output entropy unit : J/mol/K + + wavefunctions paging : none + random number generator seed : randomised (220859301) + data distribution : optimal for this architecture + optimization strategy : maximize speed(+++) + + *********************** Exchange-Correlation Parameters *********************** + + using functional : Local Density Approximation + relativistic treatment : Koelling-Harmon + DFT+D: Semi-empirical dispersion correction : off + + ************************* Pseudopotential Parameters ************************** + + pseudopotential representation : reciprocal space + <beta|phi> representation : reciprocal space + spin-orbit coupling : off + + **************************** Basis Set Parameters ***************************** + + plane wave basis set cut-off : 425.0000 eV + size of standard grid : 1.7500 + size of fine gmax : 18.4829 1/A + finite basis set correction : none + + **************************** Electronic Parameters **************************** + + number of electrons : 18.00 + net charge of system : 0.000 + net spin of system : 0.000 + number of up spins : 9.000 + number of down spins : 9.000 + treating system as spin-polarized + number of bands : 29 + + ********************* Electronic Minimization Parameters ********************** + + Method: Treating system as metallic with density mixing treatment of electrons, + and number of SD steps : 1 + and number of CG steps : 4 + + total energy / atom convergence tol. : 0.5000E-06 eV + eigen-energy convergence tolerance : 0.1724E-07 eV + max force / atom convergence tol. : ignored + convergence tolerance window : 3 cycles + max. number of SCF cycles : 100 + number of fixed-spin iterations : 10 + smearing scheme : Gaussian + smearing width : 0.2000 eV + Fermi energy convergence tolerance : 0.2721E-13 eV + periodic dipole correction : NONE + + ************************** Density Mixing Parameters ************************** + + density-mixing scheme : Broyden + max. length of mixing history : 20 + charge density mixing amplitude : 0.8000 + spin density mixing amplitude : 2.000 + cut-off energy for mixing : 425.0 eV + + *********************** Population Analysis Parameters ************************ + + Population analysis with cutoff : 3.000 A + Population analysis output : summary and pdos components + + ************************** Band Structure Parameters ************************** + + max. number of iterations : 60 + max. CG steps in BS calc : 25 + number of bands / k-point : 56 + band convergence tolerance : 0.1000E-05 eV + write orbitals file : on + + ******************************************************************************* + + + ------------------------------- + Unit Cell + ------------------------------- + Real Lattice(A) Reciprocal Lattice(1/A) + 0.0000000 2.6200000 2.6200000 -1.199081165 1.199081165 1.199081165 + 2.6200000 0.0000000 2.6200000 1.199081165 -1.199081165 1.199081165 + 2.6200000 2.6200000 0.0000000 1.199081165 1.199081165 -1.199081165 + + Lattice parameters(A) Cell Angles + a = 3.705240 alpha = 60.000000 + b = 3.705240 beta = 60.000000 + c = 3.705240 gamma = 60.000000 + + Current cell volume = 35.969456 A**3 + density = 4.371765 AMU/A**3 + = 7.259486 g/cm^3 + + ------------------------------- + Cell Contents + ------------------------------- + Total number of ions in cell = 1 + Total number of species in cell = 1 + Max number of any one species = 1 + + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + x Element Atom Fractional coordinates of atoms x + x Number u v w x + x----------------------------------------------------------x + x Gd 1 0.000000 0.000000 0.000000 x + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + No user defined ionic velocities + + ------------------------------- + Details of Species + ------------------------------- + + Mass of species in AMU + Gd 157.2500000 + + Electric Quadrupole Moment (Barn) + Gd 1.3500000 Isotope157 + + + Quantisation axis: 1.00000 -1.00000 1.00000 + + Units for Hubbard U values are eV + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + | Element Atom Hubbard U values by orbital type | + | Number s p d f | + |------------------------------------------------------------------| + |Gd 1 0.00000 0.00000 0.00000 6.70000 | + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + Files used for pseudopotentials: + Gd 2|2.1|10|12|13|50U:60:51:52L:43(qc=6) + + ------------------------------- + k-Points For BZ Sampling + ------------------------------- + Number of kpoints used = 468 + + ------------------------------- + Symmetry and Constraints + ------------------------------- + + Maximum deviation from symmetry = 0.470004E-15 ANG + Magnetic structure symmetry: + User supplied or default Hubbard U data has reduced the symmetry of the system + + Number of symmetry operations = 16 + Number of ionic constraints = 3 + Point group of crystal = 15: D4h, 4/mmm, 4/m 2/m 2/m + Space group of crystal = 225: Fm-3m, -F 4 2 3 + + Set iprint > 1 for details on symmetry rotations/translations + + Centre of mass is constrained + Set iprint > 1 for details of linear ionic constraints + + Number of cell constraints= 5 + Cell constraints are: 1 1 1 0 0 0 + + External pressure/stress (GPa) + 0.00000 0.00000 0.00000 + 0.00000 0.00000 + 0.00000 + ++---------------- MEMORY AND SCRATCH DISK ESTIMATES PER PROCESS --------------+ +| Memory Disk | +| Baseline code, static data and system overhead 412.0 MB 0.0 MB | +| BLAS internal memory storage 0.0 MB 0.0 MB | +| Model and support data 61.3 MB 0.0 MB | +| Electronic energy minimisation requirements 46.4 MB 0.0 MB | +| Force calculation requirements 0.8 MB 0.0 MB | +| ----------------------------- | +| Approx. total storage required per process 519.8 MB 0.0 MB | +| | +| Requirements will fluctuate during execution and may exceed these estimates | ++-----------------------------------------------------------------------------+ +Calculating total energy with cut-off of 425.000 eV. + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + +------------------------------------------------------------------------ <-- SCF +SCF loop Energy Fermi Energy gain Timer <-- SCF + energy per atom (sec) <-- SCF +------------------------------------------------------------------------ <-- SCF +Initial -2.89965509E+003 0.00000000E+000 23.29 <-- SCF + 1 -2.98520074E+003 5.92001968E+000 8.55456534E+001 31.55 <-- SCF + 2 -3.03447725E+003 3.86911470E+000 4.92765152E+001 36.97 <-- SCF + 3 -3.03681060E+003 3.63238351E+000 2.33334698E+000 43.81 <-- SCF + 4 -3.08547151E+003 1.11125785E+001 4.86609050E+001 50.50 <-- SCF + 5 -3.08550199E+003 1.11064276E+001 3.04836941E-002 56.76 <-- SCF + 6 -3.02275477E+003 6.81693038E+000 -6.27472234E+001 63.20 <-- SCF + 7 -3.02299014E+003 6.77095701E+000 2.35372118E-001 70.44 <-- SCF + 8 -3.04218983E+003 1.36123180E-001 1.91996938E+001 77.78 <-- SCF + 9 -3.04226024E+003 1.32481040E-001 7.04039618E-002 83.82 <-- SCF + 10 -3.04346335E+003 -3.60111841E-002 1.20311029E+000 90.86 <-- SCF + 11 -3.18377830E+003 1.23926479E+001 1.40314957E+002 97.55 <-- SCF + 12 -3.18388218E+003 1.23786135E+001 1.03873732E-001 103.56 <-- SCF + 13 -3.04005602E+003 9.81148656E+000 -1.43826153E+002 110.06 <-- SCF + 14 -3.04060896E+003 9.64709145E+000 5.52934090E-001 116.82 <-- SCF + 15 -3.21926684E+003 -2.66698179E+001 1.78657886E+002 126.49 <-- SCF + 16 -3.21995318E+003 -2.66884642E+001 6.86339316E-001 132.70 <-- SCF + 17 -3.06822919E+003 -1.00743714E+001 -1.51723994E+002 139.43 <-- SCF + 18 -3.06839525E+003 -1.00807260E+001 1.66060994E-001 146.17 <-- SCF + 19 -3.03568611E+003 6.91936508E+000 -3.27091430E+001 152.51 <-- SCF + 20 -3.03577872E+003 6.91141545E+000 9.26104454E-002 160.06 <-- SCF + 21 -3.03377995E+003 3.72897532E+000 -1.99877019E+000 166.53 <-- SCF + 22 -3.03551763E+003 4.26115079E+000 1.73767987E+000 172.99 <-- SCF + 23 -3.03667303E+003 5.67930673E+000 1.15539756E+000 180.65 <-- SCF + 24 -3.03773904E+003 5.77488976E+000 1.06601260E+000 187.04 <-- SCF + 25 -3.03530269E+003 5.55347087E+000 -2.43634714E+000 194.27 <-- SCF + 26 -3.05032776E+003 -9.70548183E-001 1.50250654E+001 201.68 <-- SCF + 27 -3.05033208E+003 -9.70678755E-001 4.32051862E-003 208.85 <-- SCF + 28 -3.04539413E+003 -1.45391667E-001 -4.93794546E+000 215.82 <-- SCF + 29 -3.04539557E+003 -1.45497023E-001 1.44054842E-003 222.81 <-- SCF + 30 -3.13452484E+003 1.30254108E+001 8.91292691E+001 229.42 <-- SCF + 31 -3.13460994E+003 1.30110021E+001 8.50980851E-002 235.51 <-- SCF + 32 -3.06845909E+003 1.14127813E+001 -6.61508513E+001 241.91 <-- SCF + 33 -3.06850908E+003 1.14098622E+001 4.99932106E-002 248.67 <-- SCF + 34 -3.20411507E+003 -2.77108829E+001 1.35605986E+002 256.46 <-- SCF + 35 -3.20803541E+003 -2.77582286E+001 3.92034643E+000 263.96 <-- SCF + 36 -3.20804627E+003 -2.77582828E+001 1.08581388E-002 269.81 <-- SCF + 37 -3.12705607E+003 -3.12322670E+001 -8.09902058E+001 276.78 <-- SCF + 38 -3.12726508E+003 -3.12325885E+001 2.09016565E-001 283.24 <-- SCF + 39 -2.80683975E+003 1.00683380E+001 -3.20425334E+002 289.43 <-- SCF + 40 -2.80981984E+003 1.00332056E+001 2.98008829E+000 296.42 <-- SCF + 41 -2.80983673E+003 1.00330337E+001 1.68957548E-002 302.66 <-- SCF + 42 -3.04675051E+003 3.05979985E+000 2.36913775E+002 309.19 <-- SCF + 43 -3.04770013E+003 3.04477995E+000 9.49622910E-001 316.24 <-- SCF + 44 -3.04319238E+003 6.32951414E+000 -4.50775184E+000 322.94 <-- SCF + 45 -3.04321010E+003 6.32922112E+000 1.77232477E-002 329.70 <-- SCF + 46 -3.04943311E+003 5.58467038E+000 6.22300834E+000 336.05 <-- SCF + 47 -3.04945005E+003 5.58445434E+000 1.69348793E-002 343.45 <-- SCF + 48 -3.05455023E+003 5.39146007E+000 5.10018256E+000 349.77 <-- SCF + 49 -3.05456243E+003 5.39108103E+000 1.22027647E-002 357.67 <-- SCF + 50 -3.05493417E+003 5.26679242E+000 3.71738203E-001 364.01 <-- SCF + 51 -3.05525737E+003 4.90318130E+000 3.23200386E-001 370.46 <-- SCF + 52 -3.05506850E+003 4.95046824E+000 -1.88868372E-001 376.87 <-- SCF + 53 -3.05509778E+003 4.93855394E+000 2.92747541E-002 383.16 <-- SCF + 54 -3.05515680E+003 4.98485842E+000 5.90291045E-002 389.88 <-- SCF + 55 -3.05516098E+003 4.95329078E+000 4.17686172E-003 396.12 <-- SCF + 56 -3.05516001E+003 4.95987680E+000 -9.74111769E-004 403.37 <-- SCF + 57 -3.05515903E+003 4.97052811E+000 -9.74714884E-004 410.40 <-- SCF + 58 -3.05515905E+003 4.97104973E+000 1.55635104E-005 417.73 <-- SCF + 59 -3.05515907E+003 4.97088718E+000 2.60727692E-005 423.86 <-- SCF + 60 -3.05515908E+003 4.97087885E+000 1.64496093E-006 427.91 <-- SCF + 61 -3.05515908E+003 4.97088929E+000 5.32972948E-008 431.93 <-- SCF + 62 -3.05515908E+003 4.97090488E+000 1.03062499E-008 435.90 <-- SCF +------------------------------------------------------------------------ <-- SCF + +Integrated Spin Density = -7.72332 hbar/2 +Integrated |Spin Density| = 7.72332 hbar/2 + + + Hubbard U occupation numbers + ---------------------------- +Species Ion l spin occupancies +================================================================== + Gd 1 3 up: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + dn: 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +================================================================== + +Final energy, E = -3055.124910556 eV +Final free energy (E-TS) = -3055.159075896 eV +(energies not corrected for finite basis set) + +NB est. 0K energy (E-0.5TS) = -3055.141993226 eV + + +-------------------------------------------------+ + | | + | CCC AA SSS TTTTT EEEEE PPPP | + | C A A S T E P P | + | C AAAA SS T EEE PPPP | + | C A A S T E P | + | CCC A A SSS T EEEEE P | + | | + +-------------------------------------------------+ + | | + | Welcome to Academic Release CASTEP version 18.1 | + | Ab Initio Total Energy Program | + | | + | Authors: | + | M. Segall, M. Probert, C. Pickard, P. Hasnip, | + | S. Clark, K. Refson, J. R. Yates, M. Payne | + | | + | Contributors: | + | P. Lindan, P. Haynes, J. White, V. Milman, | + | N. Govind, M. Gibson, P. Tulip, V. Cocula, | + | B. Montanari, D. Quigley, M. Glover, | + | L. Bernasconi, A. Perlov, M. Plummer, | + | E. McNellis, J. Meyer, J. Gale, D. Jochym | + | J. Aarons, B. Walker, R. Gillen, D. Jones | + | T. Green, I. J. Bush, C. J. Armstrong, | + | E. J. Higgins, E. L. Brown, M. S. McFly, | + | J. Wilkins, B-C. Shih, P. J. P. Byrne | + | | + | Copyright (c) 2000 - 2017 | + | | + | Distributed under the terms of an | + | Agreement between the United Kingdom | + | Car-Parrinello (UKCP) Consortium, | + | Daresbury Laboratory and Accelrys, Inc. | + | | + | Please cite | + | | + | "First principles methods using CASTEP" | + | | + | Zeitschrift fuer Kristallographie | + | 220(5-6) pp. 567-570 (2005) | + | | + | S. J. Clark, M. D. Segall, C. J. Pickard, | + | P. J. Hasnip, M. J. Probert, K. Refson, | + | M. C. Payne | + | | + | in all publications arising from | + | your use of CASTEP | + | | + +-------------------------------------------------+ + + + Compiled for linux_x86_64_gfortran4.8 on Thu, 19 Jul 2018 15:42:32 +0100 + from code version 70483bd0ad64+ Sun, 10 Dec 2017 12:18:29 +0000 + Compiler: GNU Fortran 4.8.5; Optimisation: fast + MATHLIBS: Intel MKL(2018.0.0) (LAPACK version 3.7.0) + FFT Lib : mkl + Fundamental constants values: CODATA 2014 + + Run started: Fri, 23 Jul 2021 22:08:58 +0100 + Info: number of up-spin electrons is equal to the + number of down-spins and spin_polarized=true + - consider setting spin_polarized=false. + + Atomic calculation performed for Gd: + 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 4f7 5s2 5p6 5d1 6s2 + + Converged in 116 iterations to an ae energy of -306496.732 eV + + ============================================================ + | Pseudopotential Report - Date of generation 23-07-2021 | + ------------------------------------------------------------ + | Element: Gd Ionic charge: 18.00 Level of theory: LDA | + | Atomic Solver: Koelling-Harmon | + | | + | Reference Electronic Structure | + | Orbital Occupation Energy | + | 5s 2.000 -1.832 | + | 5p 6.000 -1.005 | + | 4f 7.000 -0.327 | + | 6s 2.000 -0.157 | + | 5d 1.000 -0.099 | + | | + | Pseudopotential Definition | + | Beta l e Rc scheme norm | + | 1 0 -1.832 2.098 qc 0 | + | 2 0 -0.157 2.098 qc 0 | + | 3 0 0.250 2.098 qc 0 | + | 4 1 -1.005 2.098 qc 0 | + | 5 1 0.250 2.098 qc 0 | + | 6 3 -0.327 2.098 qc 0 | + | 7 3 0.250 2.098 qc 0 | + | loc 2 -0.099 2.098 qc 1 | + | | + | Augmentation charge Rinner = 1.466 | + | Partial core correction Rc = 1.466 | + ------------------------------------------------------------ + | "2|2.1|10|12|13|50U:60:51:52L:43(qc=6)" | + ------------------------------------------------------------ + | Author: Chris J. Pickard, Cambridge University | + ============================================================ + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + + Calculation parallelised over 16 processes. + Data is distributed by G-vector(4-way) and k-point(4-way) + + ************************************ Title ************************************ + + + ***************************** General Parameters ****************************** + + output verbosity : normal (1) + write checkpoint data to : Gd0.check + type of calculation : band structure + stress calculation : off + density difference calculation : off + electron localisation func (ELF) calculation : off + Hirshfeld analysis : off + unlimited duration calculation + timing information : on + memory usage estimate : on + write extra output files : on + write final potential to formatted file : off + write final density to formatted file : off + write BibTeX reference list : on + write OTFG pseudopotential files : on + write electrostatic potential file : on + write bands file : on + checkpoint writing : both castep_bin and check files + + output length unit : A + output mass unit : amu + output time unit : ps + output charge unit : e + output spin unit : hbar/2 + output energy unit : eV + output force unit : eV/A + output velocity unit : A/ps + output pressure unit : GPa + output inv_length unit : 1/A + output frequency unit : cm-1 + output force constant unit : eV/A**2 + output volume unit : A**3 + output IR intensity unit : (D/A)**2/amu + output dipole unit : D + output efield unit : eV/A/e + output entropy unit : J/mol/K + + wavefunctions paging : none + random number generator seed : randomised (220859301) + data distribution : optimal for this architecture + optimization strategy : maximize speed(+++) + + *********************** Exchange-Correlation Parameters *********************** + + using functional : Local Density Approximation + relativistic treatment : Koelling-Harmon + DFT+D: Semi-empirical dispersion correction : off + + ************************* Pseudopotential Parameters ************************** + + pseudopotential representation : reciprocal space + <beta|phi> representation : reciprocal space + spin-orbit coupling : off + + **************************** Basis Set Parameters ***************************** + + plane wave basis set cut-off : 425.0000 eV + size of standard grid : 1.7500 + size of fine gmax : 18.4829 1/A + finite basis set correction : none + + **************************** Electronic Parameters **************************** + + number of electrons : 18.00 + net charge of system : 0.000 + net spin of system : 0.000 + number of up spins : 9.000 + number of down spins : 9.000 + treating system as spin-polarized + number of bands : 29 + + ********************* Electronic Minimization Parameters ********************** + + Method: Treating system as metallic with density mixing treatment of electrons, + and number of SD steps : 1 + and number of CG steps : 4 + + total energy / atom convergence tol. : 0.5000E-06 eV + eigen-energy convergence tolerance : 0.1724E-07 eV + max force / atom convergence tol. : ignored + convergence tolerance window : 3 cycles + max. number of SCF cycles : 100 + number of fixed-spin iterations : 10 + smearing scheme : Gaussian + smearing width : 0.2000 eV + Fermi energy convergence tolerance : 0.2721E-13 eV + periodic dipole correction : NONE + + ************************** Density Mixing Parameters ************************** + + density-mixing scheme : Broyden + max. length of mixing history : 20 + charge density mixing amplitude : 0.8000 + spin density mixing amplitude : 2.000 + cut-off energy for mixing : 425.0 eV + + *********************** Population Analysis Parameters ************************ + + Population analysis with cutoff : 3.000 A + Population analysis output : summary and pdos components + + ************************** Band Structure Parameters ************************** + + max. number of iterations : 60 + max. CG steps in BS calc : 25 + number of bands / k-point : 56 + band convergence tolerance : 0.1000E-05 eV + write orbitals file : on + + ******************************************************************************* + + + ------------------------------- + Unit Cell + ------------------------------- + Real Lattice(A) Reciprocal Lattice(1/A) + 0.0000000 2.6200000 2.6200000 -1.199081165 1.199081165 1.199081165 + 2.6200000 0.0000000 2.6200000 1.199081165 -1.199081165 1.199081165 + 2.6200000 2.6200000 0.0000000 1.199081165 1.199081165 -1.199081165 + + Lattice parameters(A) Cell Angles + a = 3.705240 alpha = 60.000000 + b = 3.705240 beta = 60.000000 + c = 3.705240 gamma = 60.000000 + + Current cell volume = 35.969456 A**3 + density = 4.371765 AMU/A**3 + = 7.259486 g/cm^3 + + ------------------------------- + Cell Contents + ------------------------------- + Total number of ions in cell = 1 + Total number of species in cell = 1 + Max number of any one species = 1 + + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + x Element Atom Fractional coordinates of atoms x + x Number u v w x + x----------------------------------------------------------x + x Gd 1 0.000000 0.000000 0.000000 x + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + No user defined ionic velocities + + ------------------------------- + Details of Species + ------------------------------- + + Mass of species in AMU + Gd 157.2500000 + + Electric Quadrupole Moment (Barn) + Gd 1.3500000 Isotope157 + + + Quantisation axis: 1.00000 -1.00000 1.00000 + + Units for Hubbard U values are eV + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + | Element Atom Hubbard U values by orbital type | + | Number s p d f | + |------------------------------------------------------------------| + |Gd 1 0.00000 0.00000 0.00000 6.70000 | + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + + Files used for pseudopotentials: + Gd 2|2.1|10|12|13|50U:60:51:52L:43(qc=6) + + ------------------------------- + k-Points For BZ Sampling + ------------------------------- + Number of kpoints used = 468 + + ------------------------------- + Symmetry and Constraints + ------------------------------- + + Maximum deviation from symmetry = 0.470004E-15 ANG + Magnetic structure symmetry: + User supplied or default Hubbard U data has reduced the symmetry of the system + + Number of symmetry operations = 16 + Number of ionic constraints = 3 + Point group of crystal = 15: D4h, 4/mmm, 4/m 2/m 2/m + Space group of crystal = 225: Fm-3m, -F 4 2 3 + + Set iprint > 1 for details on symmetry rotations/translations + + Centre of mass is constrained + Set iprint > 1 for details of linear ionic constraints + + Number of cell constraints= 5 + Cell constraints are: 1 1 1 0 0 0 + + External pressure/stress (GPa) + 0.00000 0.00000 0.00000 + 0.00000 0.00000 + 0.00000 + ++---------------- MEMORY AND SCRATCH DISK ESTIMATES PER PROCESS --------------+ +| Memory Disk | +| Baseline code, static data and system overhead 412.0 MB 0.0 MB | +| BLAS internal memory storage 0.0 MB 0.0 MB | +| Model and support data 61.3 MB 0.0 MB | +| Electronic energy minimisation requirements 46.4 MB 0.0 MB | +| Force calculation requirements 0.8 MB 0.0 MB | +| ----------------------------- | +| Approx. total storage required per process 519.8 MB 0.0 MB | +| | +| Requirements will fluctuate during execution and may exceed these estimates | ++-----------------------------------------------------------------------------+ +Calculating total energy with cut-off of 425.000 eV. + + Pseudo atomic calculation performed for Gd 4f7 5s2 5p6 5d1 6s2 + + Converged in 36 iterations to a total energy of -3032.2161 eV + +------------------------------------------------------------------------ <-- SCF +SCF loop Energy Fermi Energy gain Timer <-- SCF + energy per atom (sec) <-- SCF +------------------------------------------------------------------------ <-- SCF +Initial -2.89965509E+003 0.00000000E+000 23.29 <-- SCF + 1 -2.98520074E+003 5.92001968E+000 8.55456534E+001 31.55 <-- SCF + 2 -3.03447725E+003 3.86911470E+000 4.92765152E+001 36.97 <-- SCF + 3 -3.03681060E+003 3.63238351E+000 2.33334698E+000 43.81 <-- SCF + 4 -3.08547151E+003 1.11125785E+001 4.86609050E+001 50.50 <-- SCF + 5 -3.08550199E+003 1.11064276E+001 3.04836941E-002 56.76 <-- SCF + 6 -3.02275477E+003 6.81693038E+000 -6.27472234E+001 63.20 <-- SCF + 7 -3.02299014E+003 6.77095701E+000 2.35372118E-001 70.44 <-- SCF + 8 -3.04218983E+003 1.36123180E-001 1.91996938E+001 77.78 <-- SCF + 9 -3.04226024E+003 1.32481040E-001 7.04039618E-002 83.82 <-- SCF + 10 -3.04346335E+003 -3.60111841E-002 1.20311029E+000 90.86 <-- SCF + 11 -3.18377830E+003 1.23926479E+001 1.40314957E+002 97.55 <-- SCF + 12 -3.18388218E+003 1.23786135E+001 1.03873732E-001 103.56 <-- SCF + 13 -3.04005602E+003 9.81148656E+000 -1.43826153E+002 110.06 <-- SCF + 14 -3.04060896E+003 9.64709145E+000 5.52934090E-001 116.82 <-- SCF + 15 -3.21926684E+003 -2.66698179E+001 1.78657886E+002 126.49 <-- SCF + 16 -3.21995318E+003 -2.66884642E+001 6.86339316E-001 132.70 <-- SCF + 17 -3.06822919E+003 -1.00743714E+001 -1.51723994E+002 139.43 <-- SCF + 18 -3.06839525E+003 -1.00807260E+001 1.66060994E-001 146.17 <-- SCF + 19 -3.03568611E+003 6.91936508E+000 -3.27091430E+001 152.51 <-- SCF + 20 -3.03577872E+003 6.91141545E+000 9.26104454E-002 160.06 <-- SCF + 21 -3.03377995E+003 3.72897532E+000 -1.99877019E+000 166.53 <-- SCF + 22 -3.03551763E+003 4.26115079E+000 1.73767987E+000 172.99 <-- SCF + 23 -3.03667303E+003 5.67930673E+000 1.15539756E+000 180.65 <-- SCF + 24 -3.03773904E+003 5.77488976E+000 1.06601260E+000 187.04 <-- SCF + 25 -3.03530269E+003 5.55347087E+000 -2.43634714E+000 194.27 <-- SCF + 26 -3.05032776E+003 -9.70548183E-001 1.50250654E+001 201.68 <-- SCF + 27 -3.05033208E+003 -9.70678755E-001 4.32051862E-003 208.85 <-- SCF + 28 -3.04539413E+003 -1.45391667E-001 -4.93794546E+000 215.82 <-- SCF + 29 -3.04539557E+003 -1.45497023E-001 1.44054842E-003 222.81 <-- SCF + 30 -3.13452484E+003 1.30254108E+001 8.91292691E+001 229.42 <-- SCF + 31 -3.13460994E+003 1.30110021E+001 8.50980851E-002 235.51 <-- SCF + 32 -3.06845909E+003 1.14127813E+001 -6.61508513E+001 241.91 <-- SCF + 33 -3.06850908E+003 1.14098622E+001 4.99932106E-002 248.67 <-- SCF + 34 -3.20411507E+003 -2.77108829E+001 1.35605986E+002 256.46 <-- SCF + 35 -3.20803541E+003 -2.77582286E+001 3.92034643E+000 263.96 <-- SCF + 36 -3.20804627E+003 -2.77582828E+001 1.08581388E-002 269.81 <-- SCF + 37 -3.12705607E+003 -3.12322670E+001 -8.09902058E+001 276.78 <-- SCF + 38 -3.12726508E+003 -3.12325885E+001 2.09016565E-001 283.24 <-- SCF + 39 -2.80683975E+003 1.00683380E+001 -3.20425334E+002 289.43 <-- SCF + 40 -2.80981984E+003 1.00332056E+001 2.98008829E+000 296.42 <-- SCF + 41 -2.80983673E+003 1.00330337E+001 1.68957548E-002 302.66 <-- SCF + 42 -3.04675051E+003 3.05979985E+000 2.36913775E+002 309.19 <-- SCF + 43 -3.04770013E+003 3.04477995E+000 9.49622910E-001 316.24 <-- SCF + 44 -3.04319238E+003 6.32951414E+000 -4.50775184E+000 322.94 <-- SCF + 45 -3.04321010E+003 6.32922112E+000 1.77232477E-002 329.70 <-- SCF + 46 -3.04943311E+003 5.58467038E+000 6.22300834E+000 336.05 <-- SCF + 47 -3.04945005E+003 5.58445434E+000 1.69348793E-002 343.45 <-- SCF + 48 -3.05455023E+003 5.39146007E+000 5.10018256E+000 349.77 <-- SCF + 49 -3.05456243E+003 5.39108103E+000 1.22027647E-002 357.67 <-- SCF + 50 -3.05493417E+003 5.26679242E+000 3.71738203E-001 364.01 <-- SCF + 51 -3.05525737E+003 4.90318130E+000 3.23200386E-001 370.46 <-- SCF + 52 -3.05506850E+003 4.95046824E+000 -1.88868372E-001 376.87 <-- SCF + 53 -3.05509778E+003 4.93855394E+000 2.92747541E-002 383.16 <-- SCF + 54 -3.05515680E+003 4.98485842E+000 5.90291045E-002 389.88 <-- SCF + 55 -3.05516098E+003 4.95329078E+000 4.17686172E-003 396.12 <-- SCF + 56 -3.05516001E+003 4.95987680E+000 -9.74111769E-004 403.37 <-- SCF + 57 -3.05515903E+003 4.97052811E+000 -9.74714884E-004 410.40 <-- SCF + 58 -3.05515905E+003 4.97104973E+000 1.55635104E-005 417.73 <-- SCF + 59 -3.05515907E+003 4.97088718E+000 2.60727692E-005 423.86 <-- SCF + 60 -3.05515908E+003 4.97087885E+000 1.64496093E-006 427.91 <-- SCF + 61 -3.05515908E+003 4.97088929E+000 5.32972948E-008 431.93 <-- SCF + 62 -3.05515908E+003 4.97090488E+000 1.03062499E-008 435.90 <-- SCF +------------------------------------------------------------------------ <-- SCF + +Integrated Spin Density = -7.72332 hbar/2 +Integrated |Spin Density| = 7.72332 hbar/2 + + + Hubbard U occupation numbers + ---------------------------- +Species Ion l spin occupancies +================================================================== + Gd 1 3 up: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + dn: 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +================================================================== + +Final energy, E = -3055.124910556 eV +Final free energy (E-TS) = -3055.159075896 eV +(energies not corrected for finite basis set) + +NB est. 0K energy (E-0.5TS) = -3055.141993226 eV