diff --git a/source/Makefile.Objects b/source/Makefile.Objects index 771396233d..a0679d9408 100644 --- a/source/Makefile.Objects +++ b/source/Makefile.Objects @@ -28,6 +28,7 @@ VPATH=./src_global:\ ./source_base/module_container/ATen/ops:\ ./source_base/module_device:\ ./source_base/module_mixing:\ +./source_base/module_out:\ ./source_md:\ ./source_basis/module_pw:\ ./source_base/module_fft:\ @@ -181,6 +182,11 @@ OBJS_BASE=assoc_laguerre.o\ device_helpers.o\ output_device.o\ parallel_2d.o\ + binstream.o\ + filename.o\ + sparse_matrix.o\ + read_exit_file.o\ + orb_io.o\ OBJS_CELL=atom_pseudo.o\ atom_spec.o\ @@ -211,6 +217,8 @@ OBJS_CELL=atom_pseudo.o\ read_pseudo.o\ cal_wfc.o\ cal_ux.o\ + cif_io.o\ + ucell_io.o\ OBJS_DEEPKS=LCAO_deepks.o\ deepks_basic.o\ @@ -548,7 +556,6 @@ OBJS_IO=module_parameter/input_conv.o\ module_dos/cal_pdos_gamma.o\ module_dos/cal_pdos_multik.o\ module_dos/cal_ldos.o\ - cif_io.o\ module_bessel/numerical_descriptor.o\ module_bessel/numerical_basis.o\ module_bessel/numerical_basis_jyjy.o\ @@ -560,7 +567,6 @@ OBJS_IO=module_parameter/input_conv.o\ read_wfc_pw.o\ read_wf2rho_pw.o\ restart.o\ - binstream.o\ module_wannier/to_wannier90.o\ module_qo/to_qo_kernel.o\ module_qo/to_qo_mpi.o\ @@ -612,10 +618,7 @@ OBJS_IO=module_parameter/input_conv.o\ module_parameter/read_input_item_other.o\ module_parameter/read_input_item_output.o\ module_parameter/read_set_globalv.o\ - orb_io.o\ cal_pLpR.o\ - filename.o\ - ucell_io.o\ OBJS_IO_LCAO=cal_r_overlap_R.o\ write_orb_info.o\ @@ -632,7 +635,6 @@ OBJS_IO_LCAO=cal_r_overlap_R.o\ single_R_io.o\ module_hs/write_HS_R.o\ module_dm/write_dmr.o\ - sparse_matrix.o\ module_mulliken/output_mulliken.o\ module_mulliken/output_sk.o\ module_mulliken/output_dmk.o\ diff --git a/source/source_base/CMakeLists.txt b/source/source_base/CMakeLists.txt index 596b3f3b46..e003d0e485 100644 --- a/source/source_base/CMakeLists.txt +++ b/source/source_base/CMakeLists.txt @@ -55,10 +55,18 @@ add_library( parallel_comm.cpp parallel_reduce.cpp parallel_device.cpp + parallel_grid.cpp spherical_bessel_transformer.cpp cubic_spline.cpp parallel_2d.cpp projgen.cpp + module_out/binstream.cpp + module_out/filename.cpp + module_out/sparse_matrix.cpp + module_out/file_reader.cpp + module_out/csr_reader.cpp + module_out/read_exit_file.cpp + module_out/orb_io.cpp module_mixing/mixing_data.cpp module_mixing/mixing.cpp module_mixing/plain_mixing.cpp diff --git a/source/source_io/module_output/binstream.cpp b/source/source_base/module_out/binstream.cpp similarity index 97% rename from source/source_io/module_output/binstream.cpp rename to source/source_base/module_out/binstream.cpp index 2b9960ede7..f5eed1830f 100644 --- a/source/source_io/module_output/binstream.cpp +++ b/source/source_base/module_out/binstream.cpp @@ -1,6 +1,6 @@ #include #include -#include "binstream.h" +#include "source_base/module_out/binstream.h" namespace { diff --git a/source/source_io/module_output/binstream.h b/source/source_base/module_out/binstream.h similarity index 100% rename from source/source_io/module_output/binstream.h rename to source/source_base/module_out/binstream.h diff --git a/source/source_io/module_output/csr_reader.cpp b/source/source_base/module_out/csr_reader.cpp similarity index 100% rename from source/source_io/module_output/csr_reader.cpp rename to source/source_base/module_out/csr_reader.cpp diff --git a/source/source_io/module_output/csr_reader.h b/source/source_base/module_out/csr_reader.h similarity index 100% rename from source/source_io/module_output/csr_reader.h rename to source/source_base/module_out/csr_reader.h diff --git a/source/source_io/module_output/file_reader.cpp b/source/source_base/module_out/file_reader.cpp similarity index 100% rename from source/source_io/module_output/file_reader.cpp rename to source/source_base/module_out/file_reader.cpp diff --git a/source/source_io/module_output/file_reader.h b/source/source_base/module_out/file_reader.h similarity index 100% rename from source/source_io/module_output/file_reader.h rename to source/source_base/module_out/file_reader.h diff --git a/source/source_io/module_output/filename.cpp b/source/source_base/module_out/filename.cpp similarity index 96% rename from source/source_io/module_output/filename.cpp rename to source/source_base/module_out/filename.cpp index 6b95591b2e..c7818642f6 100644 --- a/source/source_io/module_output/filename.cpp +++ b/source/source_base/module_out/filename.cpp @@ -1,5 +1,5 @@ #include -#include "source_io/module_output/filename.h" +#include "source_base/module_out/filename.h" #include "source_base/tool_quit.h" namespace ModuleIO @@ -19,7 +19,7 @@ std::string filename_output( const int istep, const int iter) { - // output filename = "{PARAM.globalv.global_out_dir}/property{s}{spin index} + // output filename = "{global_out_dir}/property{s}{spin index} // {k(optional)}{k-point index}{g(optional)}{geometry index1}{_basis(nao|pw)} // + {".txt"/".dat"}" diff --git a/source/source_io/module_output/filename.h b/source/source_base/module_out/filename.h similarity index 100% rename from source/source_io/module_output/filename.h rename to source/source_base/module_out/filename.h diff --git a/source/source_io/module_output/orb_io.cpp b/source/source_base/module_out/orb_io.cpp similarity index 99% rename from source/source_io/module_output/orb_io.cpp rename to source/source_base/module_out/orb_io.cpp index cd1763e924..9d9d49eb0c 100644 --- a/source/source_io/module_output/orb_io.cpp +++ b/source/source_base/module_out/orb_io.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/orb_io.h" +#include "orb_io.h" #include "source_base/tool_quit.h" #ifdef __MPI #include "source_base/parallel_common.h" diff --git a/source/source_io/module_output/orb_io.h b/source/source_base/module_out/orb_io.h similarity index 100% rename from source/source_io/module_output/orb_io.h rename to source/source_base/module_out/orb_io.h diff --git a/source/source_io/module_output/read_exit_file.cpp b/source/source_base/module_out/read_exit_file.cpp similarity index 100% rename from source/source_io/module_output/read_exit_file.cpp rename to source/source_base/module_out/read_exit_file.cpp diff --git a/source/source_io/module_output/read_exit_file.h b/source/source_base/module_out/read_exit_file.h similarity index 100% rename from source/source_io/module_output/read_exit_file.h rename to source/source_base/module_out/read_exit_file.h diff --git a/source/source_io/module_output/sparse_matrix.cpp b/source/source_base/module_out/sparse_matrix.cpp similarity index 100% rename from source/source_io/module_output/sparse_matrix.cpp rename to source/source_base/module_out/sparse_matrix.cpp diff --git a/source/source_io/module_output/sparse_matrix.h b/source/source_base/module_out/sparse_matrix.h similarity index 100% rename from source/source_io/module_output/sparse_matrix.h rename to source/source_base/module_out/sparse_matrix.h diff --git a/source/source_pw/module_pwdft/parallel_grid.cpp b/source/source_base/parallel_grid.cpp similarity index 71% rename from source/source_pw/module_pwdft/parallel_grid.cpp rename to source/source_base/parallel_grid.cpp index dc59f2528d..fb43a2cb70 100644 --- a/source/source_pw/module_pwdft/parallel_grid.cpp +++ b/source/source_base/parallel_grid.cpp @@ -1,7 +1,6 @@ #include "parallel_grid.h" #include "source_base/global_function.h" #include "source_base/global_variable.h" -#include "source_io/module_parameter/parameter.h" #ifdef __MPI #include "source_base/parallel_comm.h" // use POOL_WORLD @@ -10,27 +9,10 @@ Parallel_Grid::Parallel_Grid() { - this->allocate = false; - this->allocate_final_scf = false; // LiuXh add 20180619 } Parallel_Grid::~Parallel_Grid() { - if (this->allocate || this->allocate_final_scf) // LiuXh add 20180619 - { - for (int ip = 0; ip < GlobalV::KPAR; ip++) - { - delete[] numz[ip]; - delete[] startz[ip]; - delete[] whichpro[ip]; - delete[] whichpro_loc[ip]; - } - delete[] numz; - delete[] startz; - delete[] whichpro; - delete[] whichpro_loc; - delete[] nproc_in_pool; - } } void Parallel_Grid::init(const int& ncx_in, @@ -39,7 +21,8 @@ void Parallel_Grid::init(const int& ncx_in, const int& nczp_in, const int& nrxx_in, const int& nbz_in, - const int& bz_in) + const int& bz_in, + const int nprocgroup) { ModuleBase::TITLE("Parallel_Grid", "init"); @@ -70,37 +53,20 @@ void Parallel_Grid::init(const int& ncx_in, #endif // enable to call this function again liuyu 2023-03-10 - if (this->allocate) + if (!this->numz.empty()) { - for (int ip = 0; ip < GlobalV::KPAR; ip++) - { - delete[] numz[ip]; - delete[] startz[ip]; - delete[] whichpro[ip]; - delete[] whichpro_loc[ip]; - } - delete[] numz; - delete[] startz; - delete[] whichpro; - delete[] whichpro_loc; - delete[] nproc_in_pool; - this->allocate = false; + this->nproc_in_pool.clear(); + this->numz.clear(); + this->startz.clear(); + this->whichpro.clear(); + this->whichpro_loc.clear(); } // (2) - assert(allocate == false); + assert(this->numz.empty()); assert(GlobalV::KPAR > 0); - this->nproc_in_pool = new int[GlobalV::KPAR]; - int nprocgroup = 0; - if (PARAM.inp.esolver_type == "sdft") - { - nprocgroup = GlobalV::NPROC_IN_BNDGROUP; - } - else - { - nprocgroup = GlobalV::NPROC; - } + this->nproc_in_pool.resize(GlobalV::KPAR); const int remain_pro = nprocgroup % GlobalV::KPAR; for (int i = 0; i < GlobalV::KPAR; i++) @@ -112,25 +78,20 @@ void Parallel_Grid::init(const int& ncx_in, } } - this->numz = new int*[GlobalV::KPAR]; - this->startz = new int*[GlobalV::KPAR]; - this->whichpro = new int*[GlobalV::KPAR]; - this->whichpro_loc = new int*[GlobalV::KPAR]; + this->numz.resize(GlobalV::KPAR); + this->startz.resize(GlobalV::KPAR); + this->whichpro.resize(GlobalV::KPAR); + this->whichpro_loc.resize(GlobalV::KPAR); for (int ip = 0; ip < GlobalV::KPAR; ip++) { const int nproc = nproc_in_pool[ip]; - this->numz[ip] = new int[nproc]; - this->startz[ip] = new int[nproc]; - this->whichpro[ip] = new int[this->ncz]; - this->whichpro_loc[ip] = new int[this->ncz]; - ModuleBase::GlobalFunc::ZEROS(this->numz[ip], nproc); - ModuleBase::GlobalFunc::ZEROS(this->startz[ip], nproc); - ModuleBase::GlobalFunc::ZEROS(this->whichpro[ip], this->ncz); - ModuleBase::GlobalFunc::ZEROS(this->whichpro_loc[ip], this->ncz); + this->numz[ip].assign(nproc, 0); + this->startz[ip].assign(nproc, 0); + this->whichpro[ip].assign(this->ncz, 0); + this->whichpro_loc[ip].assign(this->ncz, 0); } - this->allocate = true; this->z_distribution(); return; @@ -138,7 +99,7 @@ void Parallel_Grid::init(const int& ncx_in, void Parallel_Grid::z_distribution() { - assert(allocate); + assert(!this->numz.empty()); int* startp = new int[GlobalV::KPAR]; startp[0] = 0; @@ -207,7 +168,7 @@ void Parallel_Grid::z_distribution() } #ifdef __MPI -void Parallel_Grid::bcast(const double* const data_global, double* data_local, const int& rank) const +void Parallel_Grid::bcast(const double* const data_global, double* data_local, const int& rank, const bool is_sdft) const { std::vector zpiece(ncxy); for (int iz = 0; iz < this->ncz; ++iz) @@ -224,18 +185,20 @@ void Parallel_Grid::bcast(const double* const data_global, double* data_local, c } } } - this->zpiece_to_all(zpiece.data(), iz, data_local); + if (is_sdft) + { + this->zpiece_to_stogroup(zpiece.data(), iz, data_local); + } + else + { + this->zpiece_to_all(zpiece.data(), iz, data_local); + } } } void Parallel_Grid::zpiece_to_all(double* zpiece, const int& iz, double* rho) const { - if (PARAM.inp.esolver_type == "sdft") - { - this->zpiece_to_stogroup(zpiece, iz, rho); - return; - } - assert(allocate); + assert(!this->numz.empty()); // ModuleBase::TITLE("Parallel_Grid","zpiece_to_all"); MPI_Status ierror; @@ -304,7 +267,7 @@ void Parallel_Grid::zpiece_to_all(double* zpiece, const int& iz, double* rho) co #ifdef __MPI void Parallel_Grid::zpiece_to_stogroup(double* zpiece, const int& iz, double* rho) const { - assert(allocate); + assert(!this->numz.empty()); // TITLE("Parallel_Grid","zpiece_to_all"); MPI_Status ierror; @@ -425,75 +388,3 @@ void Parallel_Grid::reduce(double* rhotot, const double* const rhoin, const bool return; } #endif - -void Parallel_Grid::init_final_scf(const int& ncx_in, - const int& ncy_in, - const int& ncz_in, - const int& nczp_in, - const int& nrxx_in, - const int& nbz_in, - const int& bz_in) -{ - - ModuleBase::TITLE("Parallel_Grid", "init"); - - this->ncx = ncx_in; - this->ncy = ncy_in; - this->ncz = ncz_in; - this->nczp = nczp_in; - this->nrxx = nrxx_in; - this->nbz = nbz_in; - this->bz = bz_in; - - if (nczp < 0) - { - GlobalV::ofs_warning << " nczp = " << nczp << std::endl; - ModuleBase::WARNING_QUIT("Parallel_Grid::init", "nczp<0"); - } - - assert(ncx > 0); - assert(ncy > 0); - assert(ncz > 0); - - this->ncxy = ncx * ncy; - this->ncxyz = ncxy * ncz; - -#ifndef __MPI - return; -#endif - - // (2) - assert(allocate_final_scf == false); - assert(GlobalV::KPAR > 0); - - this->nproc_in_pool = new int[GlobalV::KPAR]; - const int remain_pro = GlobalV::NPROC % GlobalV::KPAR; - for (int i = 0; i < GlobalV::KPAR; i++) - { - nproc_in_pool[i] = GlobalV::NPROC / GlobalV::KPAR; - if (i < remain_pro) - { - this->nproc_in_pool[i]++; - } - } - - this->numz = new int*[GlobalV::KPAR]; - this->startz = new int*[GlobalV::KPAR]; - this->whichpro = new int*[GlobalV::KPAR]; - - for (int ip = 0; ip < GlobalV::KPAR; ip++) - { - const int nproc = nproc_in_pool[ip]; - this->numz[ip] = new int[nproc]; - this->startz[ip] = new int[nproc]; - this->whichpro[ip] = new int[this->ncz]; - ModuleBase::GlobalFunc::ZEROS(this->numz[ip], nproc); - ModuleBase::GlobalFunc::ZEROS(this->startz[ip], nproc); - ModuleBase::GlobalFunc::ZEROS(this->whichpro[ip], this->ncz); - } - - this->allocate_final_scf = true; - this->z_distribution(); - - return; -} diff --git a/source/source_pw/module_pwdft/parallel_grid.h b/source/source_base/parallel_grid.h similarity index 57% rename from source/source_pw/module_pwdft/parallel_grid.h rename to source/source_base/parallel_grid.h index ffa81d83f5..8e724957ce 100644 --- a/source/source_pw/module_pwdft/parallel_grid.h +++ b/source/source_base/parallel_grid.h @@ -2,13 +2,11 @@ #define PARALLEL_GRID_H #include +#include class Parallel_Grid { - public: - - friend class Efield; - friend class Symmetry_rho; + public: Parallel_Grid(); Parallel_Grid(const int ncx_in, const int ncy_in, const int ncz_in, const int nczp_in, const int nrxx_in, const int nbz_in, const int bz_in) @@ -18,49 +16,46 @@ class Parallel_Grid assert(ncx > 0 && ncy > 0 && ncz > 0 && nczp >= 0 && nrxx > 0 && nbz > 0 && bz > 0); } ~Parallel_Grid(); - - void init(const int &ncx, const int &ncy, const int &ncz, - const int &nczp, const int &nrxx, const int &nbz, const int &bz); - void init_final_scf(const int &ncx, const int &ncy, const int &ncz, - const int &nczp, const int &nrxx, const int &nbz, const int &bz); //LiuXh add 20180606 - -#ifdef __MPI - void zpiece_to_all(double* zpiece, const int& iz, double* rho) const; - void zpiece_to_stogroup(double* zpiece, const int& iz, double* rho) const; //qainrui add for sto-dft 2021-7-21 + void init(const int &ncx, const int &ncy, const int &ncz, + const int &nczp, const int &nrxx, const int &nbz, const int &bz, + const int nprocgroup); +#ifdef __MPI /// @brief Broadcast data from root to all processors. The index order is [x][y][z]. - void bcast(const double* const data_global, double* data_local, const int& rank) const; + void bcast(const double* const data_global, double* data_local, const int& rank, const bool is_sdft) const; /// @brief Reduce data from all processors to root. The index order is [x][y][z]. void reduce(double* rhotot, const double* constrhoin, const bool reduce_all_pool) const; #endif - const int& nx = this->ncx; - const int& ny = this->ncy; - const int& nz = this->ncz; + int get_nx() const { return ncx; } + int get_ny() const { return ncy; } + int get_nz() const { return ncz; } - private: + private: - void z_distribution(void); - - int *nproc_in_pool = nullptr; - int **numz = nullptr; - int **startz = nullptr; - int **whichpro = nullptr; - int **whichpro_loc = nullptr; + void z_distribution(void); - int ncx=0; - int ncy=0; - int ncz=0; - int ncxy=0; - int ncxyz=0; - int nczp=0; // number of z-layers (xy-planes) in each processor - int nrxx=0; - int nbz=0; - int bz=0; +#ifdef __MPI + void zpiece_to_all(double* zpiece, const int& iz, double* rho) const; + void zpiece_to_stogroup(double* zpiece, const int& iz, double* rho) const; //qainrui add for sto-dft 2021-7-21 +#endif - bool allocate = false; - bool allocate_final_scf = false; //LiuXh add 20180619 + std::vector nproc_in_pool; + std::vector> numz; + std::vector> startz; + std::vector> whichpro; + std::vector> whichpro_loc; + + int ncx=0; + int ncy=0; + int ncz=0; + int ncxy=0; + int ncxyz=0; + int nczp=0; // number of z-layers (xy-planes) in each processor + int nrxx=0; + int nbz=0; + int bz=0; }; #endif diff --git a/source/source_base/test/CMakeLists.txt b/source/source_base/test/CMakeLists.txt index 2573f0cd97..e6b98da1ab 100644 --- a/source/source_base/test/CMakeLists.txt +++ b/source/source_base/test/CMakeLists.txt @@ -225,6 +225,32 @@ AddTest( SOURCES test_lebedev_laikov.cpp ../ylm.cpp ../math_lebedev_laikov.cpp ) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/support DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + +AddTest( + TARGET MODULE_BASE_binstream + LIBS parameter base device + SOURCES binstream_test.cpp +) + +AddTest( + TARGET MODULE_BASE_sparse_matrix + LIBS parameter base device + SOURCES sparse_matrix_test.cpp +) + +AddTest( + TARGET MODULE_BASE_file_reader + LIBS parameter base device + SOURCES file_reader_test.cpp +) + +AddTest( + TARGET MODULE_BASE_csr_reader + LIBS parameter base device + SOURCES csr_reader_test.cpp +) + if(ENABLE_GOOGLEBENCH) AddTest( TARGET MODULE_BASE_perf_sphbes diff --git a/source/source_io/test/binstream_test.cpp b/source/source_base/test/binstream_test.cpp similarity index 97% rename from source/source_io/test/binstream_test.cpp rename to source/source_base/test/binstream_test.cpp index 0ecd1d8487..fc0d5b9338 100644 --- a/source/source_io/test/binstream_test.cpp +++ b/source/source_base/test/binstream_test.cpp @@ -12,7 +12,7 @@ * - Close a binary file */ -#include "../module_output/binstream.h" +#include "source_base/module_out/binstream.h" class BinstreamTest : public testing::Test { diff --git a/source/source_io/test/csr_reader_test.cpp b/source/source_base/test/csr_reader_test.cpp similarity index 98% rename from source/source_io/test/csr_reader_test.cpp rename to source/source_base/test/csr_reader_test.cpp index 86dd080215..398155a8b1 100644 --- a/source/source_io/test/csr_reader_test.cpp +++ b/source/source_base/test/csr_reader_test.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/csr_reader.h" +#include "source_base/module_out/csr_reader.h" #include "gmock/gmock.h" #include "gtest/gtest.h" diff --git a/source/source_io/test/file_reader_test.cpp b/source/source_base/test/file_reader_test.cpp similarity index 97% rename from source/source_io/test/file_reader_test.cpp rename to source/source_base/test/file_reader_test.cpp index 5d132a3a40..ffaf704194 100644 --- a/source/source_io/test/file_reader_test.cpp +++ b/source/source_base/test/file_reader_test.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/file_reader.h" +#include "source_base/module_out/file_reader.h" #include diff --git a/source/source_io/test/sparse_matrix_test.cpp b/source/source_base/test/sparse_matrix_test.cpp similarity index 99% rename from source/source_io/test/sparse_matrix_test.cpp rename to source/source_base/test/sparse_matrix_test.cpp index 20c71f5795..f1f49e5c3b 100644 --- a/source/source_io/test/sparse_matrix_test.cpp +++ b/source/source_base/test/sparse_matrix_test.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/sparse_matrix.h" +#include "source_base/module_out/sparse_matrix.h" #include diff --git a/source/source_base/test/support/SR.csr b/source/source_base/test/support/SR.csr new file mode 100644 index 0000000000..d6a6e22cdd --- /dev/null +++ b/source/source_base/test/support/SR.csr @@ -0,0 +1,41 @@ + --- Ionic Step 1 --- + # print overlap matrix in real space S(R) + 1 # number of spin directions + 1 # spin index + 4 # number of localized basis + 2 # number of Bravais lattice vector R + + user_defined_lattice + 10 + 0 0.5 0.5 + 0.5 0 0.5 + 0.5 0.5 0 + Si + 1 + Direct + 0 0.020 0 + + #----------------------------------------------------------------------# + # CSR Format # + # The outer loop corresponds to the number of Bravais lattice vectors. # + # The first line contains the index of the Bravais lattice vector # + # (Rx, Ry, Rz), followed by the number of non-zero elements. # + # The subsequent lines consist of three blocks of data, which are # + # values, column indices, row pointers. # + #----------------------------------------------------------------------# + + 0 1 1 2 + # CSR values + 4.00e+00 7.00e+00 + # CSR column indices + 3 2 + # CSR row pointers + 0 1 2 2 2 + + 0 0 0 3 + # CSR values + 5.00e+00 6.00e+00 1.00e+01 + # CSR column indices + 2 3 3 + # CSR row pointers + 0 0 0 2 3 diff --git a/source/source_basis/module_nao/test/CMakeLists.txt b/source/source_basis/module_nao/test/CMakeLists.txt index 0c1b64f8fb..9edc79daea 100644 --- a/source/source_basis/module_nao/test/CMakeLists.txt +++ b/source/source_basis/module_nao/test/CMakeLists.txt @@ -16,7 +16,7 @@ AddTest( ../numerical_radial.cpp ../../module_ao/ORB_atomic_lm.cpp ../../module_ao/ORB_atomic.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base ) @@ -29,7 +29,7 @@ AddTest( ../numerical_radial.cpp ../../module_ao/ORB_atomic_lm.cpp ../../module_ao/ORB_atomic.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base ) @@ -42,7 +42,7 @@ AddTest( ../numerical_radial.cpp ../../module_ao/ORB_atomic_lm.cpp ../../module_ao/ORB_atomic.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base ) @@ -55,7 +55,7 @@ AddTest( ../numerical_radial.cpp ../../module_ao/ORB_atomic_lm.cpp ../../module_ao/ORB_atomic.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base ) @@ -68,7 +68,7 @@ AddTest( ../numerical_radial.cpp ../../module_ao/ORB_atomic_lm.cpp ../../module_ao/ORB_atomic.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base ) @@ -86,7 +86,7 @@ AddTest( ../sphbes_radials.cpp ../../module_ao/ORB_atomic_lm.cpp ../../module_ao/ORB_atomic.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base ) @@ -106,7 +106,7 @@ AddTest( ../two_center_bundle.cpp ../two_center_integrator.cpp ../real_gaunt_table.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base container orb ) @@ -135,7 +135,7 @@ AddTest( ../radial_set.cpp ../numerical_radial.cpp ../two_center_bundle.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base container orb ) @@ -155,7 +155,7 @@ AddTest( ../sphbes_radials.cpp ../radial_set.cpp ../numerical_radial.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base container orb ) @@ -175,7 +175,7 @@ AddTest( ../sphbes_radials.cpp ../radial_set.cpp ../numerical_radial.cpp - ../../../source_io/module_output/orb_io.cpp + LIBS parameter device base container orb ) diff --git a/source/source_cell/CMakeLists.txt b/source/source_cell/CMakeLists.txt index ca64ccf60d..3df86e717b 100644 --- a/source/source_cell/CMakeLists.txt +++ b/source/source_cell/CMakeLists.txt @@ -39,6 +39,8 @@ add_library( read_pseudo.cpp cal_wfc.cpp cal_ux.cpp + cif_io.cpp + ucell_io.cpp ) if(ENABLE_COVERAGE) diff --git a/source/source_io/module_output/cif_io.cpp b/source/source_cell/cif_io.cpp similarity index 100% rename from source/source_io/module_output/cif_io.cpp rename to source/source_cell/cif_io.cpp diff --git a/source/source_io/module_output/cif_io.h b/source/source_cell/cif_io.h similarity index 100% rename from source/source_io/module_output/cif_io.h rename to source/source_cell/cif_io.h diff --git a/source/source_cell/test/CMakeLists.txt b/source/source_cell/test/CMakeLists.txt index 9ce431e3aa..4251212ba0 100644 --- a/source/source_cell/test/CMakeLists.txt +++ b/source/source_cell/test/CMakeLists.txt @@ -211,3 +211,14 @@ AddTest( LIBS base device SOURCES magnetism_test.cpp ../magnetism.cpp ) + +AddTest( + TARGET MODULE_CELL_cif_io + LIBS parameter base device + SOURCES cif_io_test.cpp ../cif_io.cpp +) + +add_test(NAME MODULE_CELL_cif_io_parallel + COMMAND mpirun -np 4 ./MODULE_CELL_cif_io + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) diff --git a/source/source_io/test/cif_io_test.cpp b/source/source_cell/test/cif_io_test.cpp similarity index 99% rename from source/source_io/test/cif_io_test.cpp rename to source/source_cell/test/cif_io_test.cpp index 5d7a1c2337..027c2d3583 100644 --- a/source/source_io/test/cif_io_test.cpp +++ b/source/source_cell/test/cif_io_test.cpp @@ -1,5 +1,5 @@ #include -#include "source_io/module_output/cif_io.h" +#include "source_cell/cif_io.h" #include #include #include "source_base/formatter.h" diff --git a/source/source_io/module_output/ucell_io.cpp b/source/source_cell/ucell_io.cpp similarity index 97% rename from source/source_io/module_output/ucell_io.cpp rename to source/source_cell/ucell_io.cpp index 1062e7f373..64c8f7b3e4 100644 --- a/source/source_io/module_output/ucell_io.cpp +++ b/source/source_cell/ucell_io.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/ucell_io.h" +#include "ucell_io.h" #include "source_base/constants.h" #include diff --git a/source/source_io/module_output/ucell_io.h b/source/source_cell/ucell_io.h similarity index 100% rename from source/source_io/module_output/ucell_io.h rename to source/source_cell/ucell_io.h diff --git a/source/source_esolver/esolver_fp.cpp b/source/source_esolver/esolver_fp.cpp index fc5e24b316..5d4e93731e 100644 --- a/source/source_esolver/esolver_fp.cpp +++ b/source/source_esolver/esolver_fp.cpp @@ -99,8 +99,10 @@ void ESolver_FP::before_all_runners(BaseCell& basecell, const Input_para& inp) ModuleIO::print_parameters(ucell, this->kv, inp); //! 9) parallel of FFT grid + const int nprocgroup = (PARAM.inp.esolver_type == "sdft") ? GlobalV::NPROC_IN_BNDGROUP : GlobalV::NPROC; this->Pgrid.init(this->pw_rhod->nx, this->pw_rhod->ny, this->pw_rhod->nz, - this->pw_rhod->nplane, this->pw_rhod->nrxx, pw_big->nbz, pw_big->bz); + this->pw_rhod->nplane, this->pw_rhod->nrxx, pw_big->nbz, pw_big->bz, + nprocgroup); //! 10) calculate the structure factor this->sf.setup(&ucell, Pgrid, this->pw_rhod); diff --git a/source/source_esolver/esolver_fp.h b/source/source_esolver/esolver_fp.h index 13e2bd3bd4..b894b3a9d9 100644 --- a/source/source_esolver/esolver_fp.h +++ b/source/source_esolver/esolver_fp.h @@ -7,7 +7,7 @@ #include "source_estate/elecstate.h" // electronic states #include "source_estate/module_charge/charge_extra.h" // charge extrapolation #include "source_hamilt/module_surchem/surchem.h" // solvation model -#include "source_pw/module_pwdft/parallel_grid.h" // Parallel_Grid (value member below) +#include "source_base/parallel_grid.h" // Parallel_Grid (value member below) #include "source_pw/module_pwdft/structure_factor.h" // structure factor #include "source_pw/module_pwdft/vl_pw.h" // local pseudopotential diff --git a/source/source_esolver/test/CMakeLists.txt b/source/source_esolver/test/CMakeLists.txt index 0d8381ce3c..f8b9c302df 100644 --- a/source/source_esolver/test/CMakeLists.txt +++ b/source/source_esolver/test/CMakeLists.txt @@ -23,6 +23,6 @@ AddTest( esolver_dp_test.cpp ../esolver_dp.cpp ../../source_cell/base_cell.cpp - ../../source_io/module_output/cif_io.cpp + ../../source_cell/cif_io.cpp ../../source_io/module_output/output_log.cpp ) diff --git a/source/source_estate/module_charge/charge.h b/source/source_estate/module_charge/charge.h index 48af8c9241..761aecb194 100644 --- a/source/source_estate/module_charge/charge.h +++ b/source/source_estate/module_charge/charge.h @@ -7,7 +7,7 @@ #include "source_basis/module_pw/pw_basis.h" #include "source_cell/module_symmetry/symmetry.h" // #include "source_estate/fp_energy.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" //a forward declaration of UnitCell class UnitCell; diff --git a/source/source_estate/module_charge/charge_extra.h b/source/source_estate/module_charge/charge_extra.h index 7de11aa0ad..c838f05de1 100644 --- a/source/source_estate/module_charge/charge_extra.h +++ b/source/source_estate/module_charge/charge_extra.h @@ -5,7 +5,7 @@ #include "source_cell/unitcell.h" #include "source_pw/module_pwdft/structure_factor.h" #ifdef __MPI -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #endif /** diff --git a/source/source_estate/module_charge/charge_init.cpp b/source/source_estate/module_charge/charge_init.cpp index 470728fb78..b4bd4f8371 100644 --- a/source/source_estate/module_charge/charge_init.cpp +++ b/source/source_estate/module_charge/charge_init.cpp @@ -12,7 +12,7 @@ #include "source_base/timer.h" #include "source_base/tool_threading.h" #include "source_cell/magnetism.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #include "source_io/module_output/cube_io.h" #include "source_io/module_chgpot/rhog_io.h" #include "source_io/module_wf/read_wf2rho_pw.h" diff --git a/source/source_estate/module_charge/symmetry_rho.cpp b/source/source_estate/module_charge/symmetry_rho.cpp index 4e098b5550..874e95e3cc 100644 --- a/source/source_estate/module_charge/symmetry_rho.cpp +++ b/source/source_estate/module_charge/symmetry_rho.cpp @@ -1,6 +1,7 @@ #include "symmetry_rho.h" #include "source_hamilt/module_xc/xc_functional.h" +#include "source_io/module_parameter/parameter.h" Symmetry_rho::Symmetry_rho() { @@ -193,7 +194,7 @@ void Symmetry_rho::psymm(double* rho_part, #ifdef __MPI } - Pgrid.bcast(rhotot.data(), rho_part, GlobalV::MY_RANK); + Pgrid.bcast(rhotot.data(), rho_part, GlobalV::MY_RANK, PARAM.inp.esolver_type == "sdft"); #endif ModuleBase::timer::end("Symmetry_rho","psymm"); diff --git a/source/source_estate/module_charge/symmetry_rho.h b/source/source_estate/module_charge/symmetry_rho.h index e13ccc2fdc..8497ec4fd4 100644 --- a/source/source_estate/module_charge/symmetry_rho.h +++ b/source/source_estate/module_charge/symmetry_rho.h @@ -3,7 +3,7 @@ #include "source_basis/module_pw/pw_basis.h" #include "source_cell/module_symmetry/symmetry.h" #include "source_estate/module_charge/charge.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" class Symmetry_rho { diff --git a/source/source_estate/test/charge_extra_test.cpp b/source/source_estate/test/charge_extra_test.cpp index 5af98a70a7..cc5dd66189 100644 --- a/source/source_estate/test/charge_extra_test.cpp +++ b/source/source_estate/test/charge_extra_test.cpp @@ -16,7 +16,6 @@ Magnetism::Magnetism() Magnetism::~Magnetism() { } -Parallel_Grid::~Parallel_Grid(){}; // mock functions for Charge diff --git a/source/source_estate/test/elecstate_base_test.cpp b/source/source_estate/test/elecstate_base_test.cpp index 5778b876e9..e917bfe749 100644 --- a/source/source_estate/test/elecstate_base_test.cpp +++ b/source/source_estate/test/elecstate_base_test.cpp @@ -39,8 +39,6 @@ UnitCell::UnitCell() UnitCell::~UnitCell() { } -Parallel_Grid::Parallel_Grid() {}; -Parallel_Grid::~Parallel_Grid() {}; Magnetism::Magnetism() { } diff --git a/source/source_hamilt/module_hcontainer/output_hcontainer.cpp b/source/source_hamilt/module_hcontainer/output_hcontainer.cpp index 41971575cd..454b6985d2 100644 --- a/source/source_hamilt/module_hcontainer/output_hcontainer.cpp +++ b/source/source_hamilt/module_hcontainer/output_hcontainer.cpp @@ -1,6 +1,6 @@ #include "output_hcontainer.h" -#include "source_io/module_output/sparse_matrix.h" +#include "source_base/module_out/sparse_matrix.h" #include diff --git a/source/source_hamilt/module_hcontainer/read_hcontainer.cpp b/source/source_hamilt/module_hcontainer/read_hcontainer.cpp index 51d40ad9f0..853142467b 100644 --- a/source/source_hamilt/module_hcontainer/read_hcontainer.cpp +++ b/source/source_hamilt/module_hcontainer/read_hcontainer.cpp @@ -1,7 +1,7 @@ #include "read_hcontainer.h" -#include "source_io/module_output/sparse_matrix.h" -#include "source_io/module_output/csr_reader.h" +#include "source_base/module_out/sparse_matrix.h" +#include "source_base/module_out/csr_reader.h" #include "hcontainer_funcs.h" #include diff --git a/source/source_hamilt/module_hcontainer/test/CMakeLists.txt b/source/source_hamilt/module_hcontainer/test/CMakeLists.txt index 38c43466f1..98ffd8e009 100644 --- a/source/source_hamilt/module_hcontainer/test/CMakeLists.txt +++ b/source/source_hamilt/module_hcontainer/test/CMakeLists.txt @@ -52,7 +52,6 @@ AddTest( ../hcontainer.cpp ../atom_pair.cpp ../../../source_basis/module_ao/parallel_orbitals.cpp - ../../../source_io/module_output/sparse_matrix.cpp ) install(DIRECTORY support DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/source/source_hamilt/module_hcontainer/test/test_hcontainer_readCSR.cpp b/source/source_hamilt/module_hcontainer/test/test_hcontainer_readCSR.cpp index 2efa6742fa..c0c6a6b4ff 100644 --- a/source/source_hamilt/module_hcontainer/test/test_hcontainer_readCSR.cpp +++ b/source/source_hamilt/module_hcontainer/test/test_hcontainer_readCSR.cpp @@ -1,6 +1,6 @@ #include "source_hamilt/module_hcontainer/hcontainer.h" #include "source_hamilt/module_hcontainer/output_hcontainer.h" -#include "source_io/module_output/csr_reader.h" +#include "source_base/module_out/csr_reader.h" #include "prepare_unitcell.h" #include "gmock/gmock.h" diff --git a/source/source_hamilt/module_surchem/test/CMakeLists.txt b/source/source_hamilt/module_surchem/test/CMakeLists.txt index 6b0c4e9c53..a30a962d59 100644 --- a/source/source_hamilt/module_surchem/test/CMakeLists.txt +++ b/source/source_hamilt/module_surchem/test/CMakeLists.txt @@ -16,20 +16,18 @@ AddTest( TARGET MODULE_HAMILT_surchem_cal_pseudo LIBS parameter planewave device base psi SOURCES cal_pseudo_test.cpp ../cal_pseudo.cpp ../surchem.cpp ../cal_epsilon.cpp ../../../source_pw/module_pwdft/structure_factor.cpp - ../../../source_pw/module_pwdft/parallel_grid.cpp - ) AddTest( TARGET MODULE_HAMILT_surchem_cal_totn LIBS parameter planewave device base - SOURCES cal_totn_test.cpp ../cal_totn.cpp ../surchem.cpp ../../../source_pw/module_pwdft/parallel_grid.cpp + SOURCES cal_totn_test.cpp ../cal_totn.cpp ../surchem.cpp ) AddTest( TARGET MODULE_HAMILT_surchem_cal_vcav LIBS parameter planewave device base container - SOURCES cal_vcav_test.cpp ../cal_vcav.cpp ../surchem.cpp ../../../source_pw/module_pwdft/parallel_grid.cpp + SOURCES cal_vcav_test.cpp ../cal_vcav.cpp ../surchem.cpp ../../module_xc/xc_grad.cpp ../../module_xc/xc_functional.cpp ../../module_xc/xc_lda_wrap.cpp ../../module_xc/xc_gga_wrap.cpp ../../module_xc/libxc_setup.cpp @@ -44,7 +42,7 @@ AddTest( AddTest( TARGET MODULE_HAMILT_surchem_cal_vel LIBS parameter planewave device base container - SOURCES cal_vel_test.cpp ../cal_vel.cpp ../surchem.cpp ../cal_epsilon.cpp ../minimize_cg.cpp ../../../source_pw/module_pwdft/parallel_grid.cpp + SOURCES cal_vel_test.cpp ../cal_vel.cpp ../surchem.cpp ../cal_epsilon.cpp ../minimize_cg.cpp ../../module_xc/xc_grad.cpp ../../module_xc/xc_functional.cpp ../../module_xc/xc_lda_wrap.cpp ../../module_xc/xc_gga_wrap.cpp ../../module_xc/libxc_setup.cpp @@ -54,4 +52,4 @@ AddTest( ../../module_xc/libxc_mgga_wrap.cpp ../../module_xc/xc_gga_corr.cpp ../../module_xc/xc_lda_corr.cpp ../../module_xc/xc_gga_exch.cpp ../../module_xc/xc_lda_exch.cpp ../../module_xc/xc_hcth.cpp -) \ No newline at end of file +) diff --git a/source/source_hamilt/module_surchem/test/setcell.h b/source/source_hamilt/module_surchem/test/setcell.h index ebd38bcc09..2bed939b26 100644 --- a/source/source_hamilt/module_surchem/test/setcell.h +++ b/source/source_hamilt/module_surchem/test/setcell.h @@ -7,7 +7,7 @@ #include "source_cell/module_neighbor/sltk_atom_arrange.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" #include "source_cell/unitcell.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #include "source_pw/module_pwdft/structure_factor.h" namespace GlobalC diff --git a/source/source_io/CMakeLists.txt b/source/source_io/CMakeLists.txt index ddd5c56f1a..3b654ad5d7 100644 --- a/source/source_io/CMakeLists.txt +++ b/source/source_io/CMakeLists.txt @@ -11,7 +11,6 @@ list(APPEND objects module_dos/cal_dos.cpp module_dos/cal_ldos.cpp module_ml/cal_mlkedf_descriptors.cpp - module_output/cif_io.cpp module_dos/write_dos_pw.cpp module_energy/write_bands.cpp module_energy/nscf_fermi_surf.cpp @@ -22,11 +21,9 @@ list(APPEND objects module_output/print_info.cpp module_output/read_cube.cpp module_chgpot/rhog_io.cpp - module_output/read_exit_file.cpp module_wf/read_wfc_pw.cpp module_wf/read_wf2rho_pw.cpp module_restart/restart.cpp - module_output/binstream.cpp module_wf/write_wfc_pw.cpp module_output/write_pao.cpp module_output/write_cube.cpp @@ -44,9 +41,6 @@ list(APPEND objects module_json/para_json.cpp parse_args.cpp input_help.cpp - module_output/orb_io.cpp - module_output/filename.cpp - module_output/ucell_io.cpp ) list(APPEND objects_advanced @@ -72,9 +66,6 @@ if(ENABLE_LCAO) module_wf/write_wfc_nao.cpp module_dm/write_dmk.cpp module_dm/write_dmr.cpp - module_output/sparse_matrix.cpp - module_output/file_reader.cpp - module_output/csr_reader.cpp module_qo/to_qo_kernel.cpp module_qo/to_qo_mpi.cpp module_qo/to_qo_structures.cpp diff --git a/source/source_io/module_chgpot/get_pchg_lcao.h b/source/source_io/module_chgpot/get_pchg_lcao.h index acf9cbbf62..9f335599d2 100644 --- a/source/source_io/module_chgpot/get_pchg_lcao.h +++ b/source/source_io/module_chgpot/get_pchg_lcao.h @@ -3,7 +3,7 @@ #include "source_cell/klist.h" #include "source_estate/module_dm/density_matrix.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #include "source_basis/module_pw/pw_basis.h" #include "source_psi/psi.h" diff --git a/source/source_io/module_chgpot/rhog_io.cpp b/source/source_io/module_chgpot/rhog_io.cpp index 5ebffbdaa5..ab17608cad 100644 --- a/source/source_io/module_chgpot/rhog_io.cpp +++ b/source/source_io/module_chgpot/rhog_io.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/binstream.h" +#include "source_base/module_out/binstream.h" #include "source_base/global_function.h" #include "source_io/module_parameter/parameter.h" #include "source_base/global_variable.h" diff --git a/source/source_io/module_dhs/write_dH.cpp b/source/source_io/module_dhs/write_dH.cpp index a96192d4db..53b9b2f341 100644 --- a/source/source_io/module_dhs/write_dH.cpp +++ b/source/source_io/module_dhs/write_dH.cpp @@ -4,7 +4,7 @@ #include "source_base/timer.h" #include "source_io/module_hs/write_HS.h" #include "source_io/module_hs/write_HS_R.h" -#include "source_io/module_output/ucell_io.h" +#include "source_cell/ucell_io.h" #include "source_io/module_parameter/parameter.h" #include "source_hamilt/module_hcontainer/hcontainer_funcs.h" #include "source_hamilt/module_hcontainer/output_hcontainer.h" diff --git a/source/source_io/module_dhs/write_dH_terms.cpp b/source/source_io/module_dhs/write_dH_terms.cpp index 43130abc4f..177fad14c5 100644 --- a/source/source_io/module_dhs/write_dH_terms.cpp +++ b/source/source_io/module_dhs/write_dH_terms.cpp @@ -1,6 +1,6 @@ #include "source_base/timer.h" #include "source_io/module_hs/write_HS_R.h" -#include "source_io/module_output/ucell_io.h" +#include "source_cell/ucell_io.h" #include "source_io/module_parameter/parameter.h" #include "source_hamilt/module_hcontainer/hcontainer_funcs.h" #include "source_hamilt/module_hcontainer/output_hcontainer.h" diff --git a/source/source_io/module_dm/write_dmk.cpp b/source/source_io/module_dm/write_dmk.cpp index 7b807079dd..ac58816fb9 100644 --- a/source/source_io/module_dm/write_dmk.cpp +++ b/source/source_io/module_dm/write_dmk.cpp @@ -4,7 +4,7 @@ #include "source_base/module_external/scalapack_connector.h" #include "source_base/timer.h" #include "source_io/module_parameter/parameter.h" -#include "source_io/module_output/ucell_io.h" +#include "source_cell/ucell_io.h" std::string ModuleIO::dmk_gen_fname(const bool gamma_only, const int ispin, const int nspin, const int ik, const int istep) { diff --git a/source/source_io/module_dm/write_dmr.cpp b/source/source_io/module_dm/write_dmr.cpp index c7d995b799..f953683515 100644 --- a/source/source_io/module_dm/write_dmr.cpp +++ b/source/source_io/module_dm/write_dmr.cpp @@ -3,7 +3,7 @@ #include "source_io/module_parameter/parameter.h" #include "source_hamilt/module_hcontainer/hcontainer_funcs.h" #include "source_hamilt/module_hcontainer/output_hcontainer.h" -#include "source_io/module_output/ucell_io.h" +#include "source_cell/ucell_io.h" namespace ModuleIO { diff --git a/source/source_io/module_dos/cal_ldos.cpp b/source/source_io/module_dos/cal_ldos.cpp index b084e9de54..dd9283e3f4 100644 --- a/source/source_io/module_dos/cal_ldos.cpp +++ b/source/source_io/module_dos/cal_ldos.cpp @@ -198,7 +198,7 @@ void ldos_mode_pw(const elecstate::ElecStatePW>* pelec, // calculate grid points std::vector> points(npoints, std::vector(3, 0)); std::vector> shifts(npoints, std::vector(3, 0)); - get_grid_points(start, end, npoints, pgrid.nx, pgrid.ny, pgrid.nz, points, shifts); + get_grid_points(start, end, npoints, pgrid.get_nx(), pgrid.get_ny(), pgrid.get_nz(), points, shifts); std::vector> ldos(npoints, std::vector(ndata, 0)); @@ -315,9 +315,9 @@ void trilinear_interpolate(const std::vector>& points, const std::vector& data, std::vector& results) { - const int nx = pgrid.nx; - const int ny = pgrid.ny; - const int nz = pgrid.nz; + const int nx = pgrid.get_nx(); + const int ny = pgrid.get_ny(); + const int nz = pgrid.get_nz(); const int nyz = ny * nz; const int nxyz = nx * ny * nz; diff --git a/source/source_io/module_hs/write_HS.hpp b/source/source_io/module_hs/write_HS.hpp index c3bd846a55..a532e23ac2 100644 --- a/source/source_io/module_hs/write_HS.hpp +++ b/source/source_io/module_hs/write_HS.hpp @@ -5,7 +5,7 @@ #include "source_base/timer.h" #include "source_base/tool_quit.h" #include "source_cell/module_neighbor/sltk_grid_driver.h" -#include "source_io/module_output/filename.h" // use filename_output function +#include "source_base/module_out/filename.h" // use filename_output function template diff --git a/source/source_io/module_hs/write_HS_R.cpp b/source/source_io/module_hs/write_HS_R.cpp index e1717ef862..7301eb035a 100644 --- a/source/source_io/module_hs/write_HS_R.cpp +++ b/source/source_io/module_hs/write_HS_R.cpp @@ -222,7 +222,7 @@ template void ModuleIO::output_SR>(Parallel_Orbitals& pv, #include "source_hamilt/module_hcontainer/hcontainer_funcs.h" #include "source_hamilt/module_hcontainer/output_hcontainer.h" -#include "source_io/module_output/ucell_io.h" +#include "source_cell/ucell_io.h" std::string ModuleIO::hsr_gen_fname(const std::string& prefix, const int ispin, diff --git a/source/source_io/module_hs/write_H_terms.cpp b/source/source_io/module_hs/write_H_terms.cpp index 20115c1d2d..84fccfa2da 100644 --- a/source/source_io/module_hs/write_H_terms.cpp +++ b/source/source_io/module_hs/write_H_terms.cpp @@ -6,8 +6,8 @@ #include "source_hamilt/module_xc/xc_functional.h" #include "source_io/module_hs/write_HS.h" #include "source_io/module_hs/write_HS_R.h" -#include "source_io/module_output/filename.h" -#include "source_io/module_output/ucell_io.h" +#include "source_base/module_out/filename.h" +#include "source_cell/ucell_io.h" #include "source_io/module_parameter/parameter.h" #include "source_hamilt/module_gint/gint_interface.h" #include "source_hamilt/module_hcontainer/hcontainer_funcs.h" diff --git a/source/source_io/module_hs/write_vxc.hpp b/source/source_io/module_hs/write_vxc.hpp index 7f8d2c8134..04973978ad 100644 --- a/source/source_io/module_hs/write_vxc.hpp +++ b/source/source_io/module_hs/write_vxc.hpp @@ -11,7 +11,7 @@ #endif #include "source_psi/psi.h" #include "source_io/module_hs/write_HS.h" -#include "source_io/module_output/filename.h" // use filename_output function +#include "source_base/module_out/filename.h" // use filename_output function namespace ModuleIO { diff --git a/source/source_io/module_hs/write_vxc_lip.hpp b/source/source_io/module_hs/write_vxc_lip.hpp index 5909094a2f..6339f71d59 100644 --- a/source/source_io/module_hs/write_vxc_lip.hpp +++ b/source/source_io/module_hs/write_vxc_lip.hpp @@ -9,7 +9,7 @@ #include "source_cell/klist.h" #include "source_estate/module_pot/potential_new.h" #include "source_io/module_hs/write_HS.h" -#include "source_io/module_output/filename.h" // use filename_output function +#include "source_base/module_out/filename.h" // use filename_output function #include namespace ModuleIO diff --git a/source/source_io/module_output/read_cube.cpp b/source/source_io/module_output/read_cube.cpp index 5553245244..a4155f78f8 100644 --- a/source/source_io/module_output/read_cube.cpp +++ b/source/source_io/module_output/read_cube.cpp @@ -1,6 +1,7 @@ #include "source_io/module_output/cube_io.h" #include -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" +#include "source_io/module_parameter/parameter.h" #include // use std::memcpy bool ModuleIO::read_vdata_palgrid( @@ -27,9 +28,9 @@ bool ModuleIO::read_vdata_palgrid( } // read the full grid data - const int& nx = pgrid.nx; - const int& ny = pgrid.ny; - const int& nz = pgrid.nz; + const int nx = pgrid.get_nx(); + const int ny = pgrid.get_ny(); + const int nz = pgrid.get_nz(); const int& nxyz = nx * ny * nz; std::vector data_xyz_full(nxyz, 0.0); if (my_rank == 0) @@ -67,7 +68,7 @@ bool ModuleIO::read_vdata_palgrid( // distribute #ifdef __MPI - pgrid.bcast(data_xyz_full.data(), data, my_rank); + pgrid.bcast(data_xyz_full.data(), data, my_rank, PARAM.inp.esolver_type == "sdft"); #else std::memcpy(data, data_xyz_full.data(), nxyz * sizeof(double)); #endif diff --git a/source/source_io/module_output/write_cube.cpp b/source/source_io/module_output/write_cube.cpp index e7ae67a763..8466889d8f 100644 --- a/source/source_io/module_output/write_cube.cpp +++ b/source/source_io/module_output/write_cube.cpp @@ -1,6 +1,6 @@ #include "source_base/element_name.h" #include "source_base/parallel_comm.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #include "source_io/module_output/cube_io.h" #include @@ -34,9 +34,9 @@ void ModuleIO::write_vdata_palgrid(const Parallel_Grid& pgrid, time_t end; std::stringstream ss; - const int& nx = pgrid.nx; - const int& ny = pgrid.ny; - const int& nz = pgrid.nz; + const int nx = pgrid.get_nx(); + const int ny = pgrid.get_ny(); + const int nz = pgrid.get_nz(); const int& nxyz = nx * ny * nz; start = time(nullptr); diff --git a/source/source_io/module_restart/restart_exx_csr.hpp b/source/source_io/module_restart/restart_exx_csr.hpp index 568ed952fc..55890fd7e8 100644 --- a/source/source_io/module_restart/restart_exx_csr.hpp +++ b/source/source_io/module_restart/restart_exx_csr.hpp @@ -2,7 +2,7 @@ #include "restart_exx_csr.h" #include "source_base/global_function.h" #include "source_cell/unitcell.h" -#include "source_io/module_output/csr_reader.h" +#include "source_base/module_out/csr_reader.h" #include "source_io/module_hs/write_HS_sparse.h" #include "source_lcao/module_ri/serialization_cereal.h" #include diff --git a/source/source_io/module_wannier/to_wannier90_lcao_in_pw.cpp b/source/source_io/module_wannier/to_wannier90_lcao_in_pw.cpp index 48d3e7ae65..a9fc4fe2d5 100644 --- a/source/source_io/module_wannier/to_wannier90_lcao_in_pw.cpp +++ b/source/source_io/module_wannier/to_wannier90_lcao_in_pw.cpp @@ -6,7 +6,7 @@ #include "source_base/math_sphbes.h" #include "source_base/math_ylmreal.h" #include "source_base/parallel_reduce.h" -#include "../module_output/binstream.h" +#include "source_base/module_out/binstream.h" #include "source_psi/psi_init_nao.h" #ifdef __LCAO diff --git a/source/source_io/module_wannier/to_wannier90_pw.cpp b/source/source_io/module_wannier/to_wannier90_pw.cpp index 3f6af1d44e..791bf3c972 100644 --- a/source/source_io/module_wannier/to_wannier90_pw.cpp +++ b/source/source_io/module_wannier/to_wannier90_pw.cpp @@ -7,7 +7,7 @@ #include "source_base/math_sphbes.h" #include "source_base/math_ylmreal.h" #include "source_base/parallel_reduce.h" -#include "../module_output/binstream.h" +#include "source_base/module_out/binstream.h" toWannier90_PW::toWannier90_PW( const bool &out_wannier_mmn, diff --git a/source/source_io/module_wf/read_wf2rho_pw.cpp b/source/source_io/module_wf/read_wf2rho_pw.cpp index 98592eed1b..1bb898f579 100644 --- a/source/source_io/module_wf/read_wf2rho_pw.cpp +++ b/source/source_io/module_wf/read_wf2rho_pw.cpp @@ -5,7 +5,7 @@ #include "source_estate/module_charge/symmetry_rho.h" #include "source_io/module_parameter/parameter.h" #include "source_estate/kernels/elecstate_op.h" -#include "source_io/module_output/filename.h" +#include "source_base/module_out/filename.h" void ModuleIO::read_wf2rho_pw( const ModulePW::PW_Basis_K* pw_wfc, diff --git a/source/source_io/module_wf/read_wfc_nao.cpp b/source/source_io/module_wf/read_wfc_nao.cpp index 549b13adba..662b39778d 100644 --- a/source/source_io/module_wf/read_wfc_nao.cpp +++ b/source/source_io/module_wf/read_wfc_nao.cpp @@ -6,7 +6,7 @@ #include "source_io/module_wf/write_wfc_nao.h" #include "source_base/module_external/scalapack_connector.h" -#include "source_io/module_output/filename.h" +#include "source_base/module_out/filename.h" #include "source_base/tool_title.h" // use title #include "source_base/global_function.h" // use READ_VALUE diff --git a/source/source_io/module_wf/read_wfc_pw.cpp b/source/source_io/module_wf/read_wfc_pw.cpp index a985707fbd..3850f2a42a 100644 --- a/source/source_io/module_wf/read_wfc_pw.cpp +++ b/source/source_io/module_wf/read_wfc_pw.cpp @@ -1,7 +1,7 @@ #include "read_wfc_pw.h" #include "source_io/module_parameter/parameter.h" -#include "source_io/module_output/binstream.h" +#include "source_base/module_out/binstream.h" #include "source_base/global_function.h" #include "source_base/global_variable.h" #include "source_base/parallel_common.h" diff --git a/source/source_io/module_wf/write_wfc_nao.cpp b/source/source_io/module_wf/write_wfc_nao.cpp index 3c16dfe3c8..53dd424868 100644 --- a/source/source_io/module_wf/write_wfc_nao.cpp +++ b/source/source_io/module_wf/write_wfc_nao.cpp @@ -8,8 +8,8 @@ #include "source_base/module_external/scalapack_connector.h" #include "source_base/global_variable.h" #include "source_base/global_function.h" -#include "source_io/module_output/binstream.h" -#include "source_io/module_output/filename.h" +#include "source_base/module_out/binstream.h" +#include "source_base/module_out/filename.h" namespace ModuleIO { diff --git a/source/source_io/module_wf/write_wfc_pw.cpp b/source/source_io/module_wf/write_wfc_pw.cpp index 0a8a7cf912..7ad4ed137f 100644 --- a/source/source_io/module_wf/write_wfc_pw.cpp +++ b/source/source_io/module_wf/write_wfc_pw.cpp @@ -4,12 +4,12 @@ #include "mpi.h" #endif -#include "source_io/module_output/binstream.h" +#include "source_base/module_out/binstream.h" #include "source_base/global_variable.h" #include "source_base/parallel_global.h" #include "source_base/tool_title.h" #include "source_io/module_parameter/parameter.h" -#include "source_io/module_output/filename.h" +#include "source_base/module_out/filename.h" void ModuleIO::write_wfc_pw( const int istep, diff --git a/source/source_io/test/CMakeLists.txt b/source/source_io/test/CMakeLists.txt index 04903ec1a5..f14ebc304d 100644 --- a/source/source_io/test/CMakeLists.txt +++ b/source/source_io/test/CMakeLists.txt @@ -20,7 +20,7 @@ add_test(NAME MODULE_IO_input_test_para_4 AddTest( TARGET MODULE_IO_read_exit_file_test LIBS parameter base device - SOURCES read_exit_file_test.cpp ../module_output/read_exit_file.cpp + SOURCES read_exit_file_test.cpp ) add_test(NAME MODULE_IO_read_exit_file_test_para_4 @@ -48,11 +48,6 @@ AddTest( SOURCES td_vector_pot_io_test.cpp ../module_efield/td_vector_pot_io.cpp ) -AddTest( - TARGET MODULE_IO_binstream_test - SOURCES binstream_test.cpp ../module_output/binstream.cpp -) - AddTest( TARGET MODULE_IO_write_hsk_binary_test LIBS parameter base device @@ -69,7 +64,7 @@ AddTest( TARGET MODULE_IO_write_eig_occ_test LIBS parameter base device symmetry SOURCES write_eig_occ_test.cpp ../module_energy/write_eig_occ.cpp ../../source_cell/parallel_kpoints.cpp ../../source_cell/klist.cpp ../../source_cell/k_vector_utils.cpp - ../module_output/cif_io.cpp + ../../source_cell/cif_io.cpp ) AddTest( @@ -105,7 +100,7 @@ AddTest( AddTest( TARGET MODULE_IO_write_wfc_nao LIBS parameter base psi device - SOURCES write_wfc_nao_test.cpp ../module_output/filename.cpp ../module_wf/write_wfc_nao.cpp ../../source_basis/module_ao/parallel_orbitals.cpp ../module_output/binstream.cpp + SOURCES write_wfc_nao_test.cpp ../module_wf/write_wfc_nao.cpp ../../source_basis/module_ao/parallel_orbitals.cpp ) configure_file(write_wfc_nao_para.sh ${CMAKE_CURRENT_BINARY_DIR}/write_wfc_nao_para.sh COPYONLY) @@ -145,28 +140,10 @@ AddTest( SOURCES ../module_output/output_log.cpp outputlog_test.cpp ../../source_basis/module_pw/test/test_tool.cpp ) -AddTest( - TARGET MODULE_IO_sparse_matrix_test - LIBS parameter base device - SOURCES sparse_matrix_test.cpp ../module_output/sparse_matrix.cpp -) - -AddTest( - TARGET MODULE_IO_file_reader_test - LIBS parameter base device - SOURCES file_reader_test.cpp ../module_output/file_reader.cpp -) - -AddTest( - TARGET MODULE_IO_csr_reader_test - LIBS parameter base device - SOURCES csr_reader_test.cpp ../module_output/csr_reader.cpp ../module_output/file_reader.cpp ../module_output/sparse_matrix.cpp -) - AddTest( TARGET MODULE_IO_read_rhog_test LIBS parameter base device planewave - SOURCES read_rhog_test.cpp ../module_chgpot/rhog_io.cpp ../module_output/binstream.cpp ../../source_basis/module_pw/test/test_tool.cpp + SOURCES read_rhog_test.cpp ../module_chgpot/rhog_io.cpp ../../source_basis/module_pw/test/test_tool.cpp ) if(ENABLE_LCAO) @@ -182,14 +159,14 @@ AddTest( ../../source_cell/parallel_kpoints.cpp ../../source_cell/test/support/mock_unitcell.cpp ../../source_lcao/center2_orb.cpp - ../module_output/orb_io.cpp + ) endif() AddTest( TARGET MODULE_IO_read_wfc_pw_test LIBS parameter base device planewave - SOURCES read_wfc_pw_test.cpp ../module_wf/read_wfc_pw.cpp ../module_output/binstream.cpp ../../source_basis/module_pw/test/test_tool.cpp + SOURCES read_wfc_pw_test.cpp ../module_wf/read_wfc_pw.cpp ../../source_basis/module_pw/test/test_tool.cpp ) add_test(NAME MODULE_IO_read_wfc_pw_test_parallel @@ -200,7 +177,7 @@ add_test(NAME MODULE_IO_read_wfc_pw_test_parallel AddTest( TARGET MODULE_IO_read_wf2rho_pw_test LIBS parameter base device planewave psi - SOURCES read_wf2rho_pw_test.cpp ../module_wf/read_wfc_pw.cpp ../module_wf/read_wf2rho_pw.cpp ../module_output/binstream.cpp ../../source_basis/module_pw/test/test_tool.cpp ../../source_estate/module_charge/charge_mpi.cpp ../module_output/filename.cpp ../module_wf/write_wfc_pw.cpp + SOURCES read_wf2rho_pw_test.cpp ../module_wf/read_wfc_pw.cpp ../module_wf/read_wf2rho_pw.cpp ../../source_basis/module_pw/test/test_tool.cpp ../../source_estate/module_charge/charge_mpi.cpp ../module_wf/write_wfc_pw.cpp ) add_test(NAME MODULE_IO_read_wf2rho_pw_parallel @@ -215,7 +192,7 @@ AddTest( SOURCES numerical_basis_test.cpp ../module_bessel/numerical_basis_jyjy.cpp ../../source_lcao/center2_orb.cpp - ../module_output/orb_io.cpp + ) @@ -225,7 +202,7 @@ AddTest( SOURCES output_mulliken_test.cpp output_mulliken_mock.cpp ../module_mulliken/output_mulliken.cpp ../../source_cell/cell_index.cpp ../../source_basis/module_ao/parallel_orbitals.cpp - ../module_output/orb_io.cpp + ) #if(ENABLE_LCAO) @@ -242,21 +219,10 @@ AddTest( #endif() -AddTest( - TARGET MODULE_IO_cif_io_test - LIBS parameter base device - SOURCES cif_io_test.cpp ../module_output/cif_io.cpp -) - -add_test(NAME MODULE_IO_cif_io_test_parallel - COMMAND mpirun -np 4 ./MODULE_IO_cif_io_test - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -) - AddTest( TARGET MODULE_IO_orb_io_test LIBS parameter base device - SOURCES orb_io_test.cpp ../module_output/orb_io.cpp + SOURCES orb_io_test.cpp ) add_test(NAME MODULE_IO_orb_io_test_parallel @@ -267,7 +233,7 @@ add_test(NAME MODULE_IO_orb_io_test_parallel AddTest( TARGET MODULE_IO_write_dmk LIBS parameter base device cell_info - SOURCES ../module_dm/test/write_dmk_test.cpp ../module_dm/write_dmk.cpp ../module_output/ucell_io.cpp + SOURCES ../module_dm/test/write_dmk_test.cpp ../module_dm/write_dmk.cpp ../../source_cell/ucell_io.cpp ) add_test( @@ -320,10 +286,7 @@ AddTest( ../module_hs/single_R_io.cpp ../module_hs/rr_sparse_writer.cpp ../module_dm/write_dmr.cpp - ../module_output/ucell_io.cpp - ../module_output/sparse_matrix.cpp - ../module_output/csr_reader.cpp - ../module_output/file_reader.cpp + ../../source_cell/ucell_io.cpp ../../source_basis/module_ao/parallel_orbitals.cpp ../../source_hamilt/module_hcontainer/test/tmp_mocks.cpp ) diff --git a/source/source_io/test/for_testing_klist.h b/source/source_io/test/for_testing_klist.h index 0a0e2a14c3..fddfaf83b9 100644 --- a/source/source_io/test/for_testing_klist.h +++ b/source/source_io/test/for_testing_klist.h @@ -12,7 +12,7 @@ #include "source_cell/magnetism.h" #include "source_pw/module_pwdft/vl_pw.h" #include "source_pw/module_pwdft/vnl_pw.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" pseudo::pseudo(){} pseudo::~pseudo(){} diff --git a/source/source_io/test/orb_io_test.cpp b/source/source_io/test/orb_io_test.cpp index a17133da67..52f3e8bff2 100644 --- a/source/source_io/test/orb_io_test.cpp +++ b/source/source_io/test/orb_io_test.cpp @@ -1,5 +1,5 @@ #include -#include "source_io/module_output/orb_io.h" +#include "source_base/module_out/orb_io.h" #ifdef __MPI #include diff --git a/source/source_io/test/read_exit_file_test.cpp b/source/source_io/test/read_exit_file_test.cpp index e12c055576..711e340e8c 100644 --- a/source/source_io/test/read_exit_file_test.cpp +++ b/source/source_io/test/read_exit_file_test.cpp @@ -1,4 +1,4 @@ -#include "source_io/module_output/read_exit_file.h" +#include "source_base/module_out/read_exit_file.h" #include "source_io/module_parameter/read_input.h" #include "mpi.h" diff --git a/source/source_io/test/read_wf2rho_pw_test.cpp b/source/source_io/test/read_wf2rho_pw_test.cpp index 9b1611ae1e..a8ad423cb6 100644 --- a/source/source_io/test/read_wf2rho_pw_test.cpp +++ b/source/source_io/test/read_wf2rho_pw_test.cpp @@ -9,10 +9,10 @@ #include "source_estate/module_charge/charge.h" #include "source_estate/module_charge/symmetry_rho.h" #include "source_hamilt/module_xc/xc_functional.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #include "source_io/module_wf/read_wf2rho_pw.h" #include "source_io/module_wf/write_wfc_pw.h" -#include "source_io/module_output/filename.h" // mohan add 2025-05-17 +#include "source_base/module_out/filename.h" // mohan add 2025-05-17 #include "source_io/module_parameter/parameter.h" #include "source_psi/psi.h" @@ -22,12 +22,6 @@ #include "mpi.h" #endif -Parallel_Grid::Parallel_Grid() -{ -} -Parallel_Grid::~Parallel_Grid() -{ -} Charge::Charge() { } diff --git a/source/source_io/test/read_wfc_nao_test.cpp b/source/source_io/test/read_wfc_nao_test.cpp index d49c7f5834..bf3c31adec 100644 --- a/source/source_io/test/read_wfc_nao_test.cpp +++ b/source/source_io/test/read_wfc_nao_test.cpp @@ -6,27 +6,7 @@ #include "source_io/module_wf/read_wfc_nao.h" #include "source_basis/module_ao/parallel_orbitals.h" #include "source_io/module_wf/write_wfc_nao.h" - -namespace ModuleIO -{ -// mock filename_output -std::string filename_output( - const std::string &directory, - const std::string &property, - const std::string &basis, - const int ik, - const std::vector &ik2iktot, - const int nspin, - const int nkstot, - const int out_type, - const bool out_app_flag, - const bool gamma_only, - const int istep, - const int iter) -{ - return "./support/wfs1_nao.txt"; -} -} +#include "source_base/module_out/filename.h" /************************************************ * unit test of functions in read_wfc_nao.cpp diff --git a/source/source_io/test/support/wf_nao.txt b/source/source_io/test/support/wf_nao.txt new file mode 100644 index 0000000000..013c28170a --- /dev/null +++ b/source/source_io/test/support/wf_nao.txt @@ -0,0 +1,14 @@ +3 (number of bands) +3 (number of orbitals) +1 (band) +-7.5199188050468579458396334e-01 (Ry) +2.5000000000000000000000000e-01 (Occupations) +5.3759239842e-01 3.7570058235e-02 1.5292654624e-02 +2 (band) +3.1482195194888534794941393e-01 (Ry) +0.0000000000000000000000000e+00 (Occupations) +1.8587183851e+00 5.9595655928e-01 5.3528900615e-02 +3 (band) +7.4141254894954844445464914e-01 (Ry) +0.0000000000000000000000000e+00 (Occupations) +3.5389238463e-02 5.6401881891e-01 2.3262992046e-02 diff --git a/source/source_io/test/write_hs_r_compat_test.cpp b/source/source_io/test/write_hs_r_compat_test.cpp index 0bd23963db..88e2cd9c5b 100644 --- a/source/source_io/test/write_hs_r_compat_test.cpp +++ b/source/source_io/test/write_hs_r_compat_test.cpp @@ -12,7 +12,7 @@ #include "source_io/module_hs/rr_sparse_writer.h" #include "source_io/module_hs/write_HS_R.h" #include "source_io/module_hs/write_HS_sparse.h" -#include "source_io/module_output/csr_reader.h" +#include "source_base/module_out/csr_reader.h" #include "source_hamilt/module_hcontainer/atom_pair.h" #include "source_hamilt/module_hcontainer/hcontainer.h" diff --git a/source/source_io/test/write_wfc_nao_test.cpp b/source/source_io/test/write_wfc_nao_test.cpp index d5cf630b86..0692b35862 100644 --- a/source/source_io/test/write_wfc_nao_test.cpp +++ b/source/source_io/test/write_wfc_nao_test.cpp @@ -1,10 +1,10 @@ #include "../module_wf/write_wfc_nao.h" -#include "../module_output/filename.h" +#include "source_base/module_out/filename.h" #define private public #include "source_io/module_parameter/parameter.h" #undef private -#include "../module_output/binstream.h" +#include "source_base/module_out/binstream.h" #include "source_base/global_variable.h" #include "source_base/module_external/scalapack_connector.h" diff --git a/source/source_io/test_serial/rho_io_test.cpp b/source/source_io/test_serial/rho_io_test.cpp index 917bd3742f..5939eecaef 100644 --- a/source/source_io/test_serial/rho_io_test.cpp +++ b/source/source_io/test_serial/rho_io_test.cpp @@ -5,7 +5,7 @@ #include "source_base/global_variable.h" #include "source_io/module_output/cube_io.h" #include "prepare_unitcell.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" Magnetism::Magnetism() { @@ -17,7 +17,6 @@ Magnetism::Magnetism() Magnetism::~Magnetism() { } -Parallel_Grid::~Parallel_Grid() {} #define private public diff --git a/source/source_lcao/module_deepks/test/CMakeLists.txt b/source/source_lcao/module_deepks/test/CMakeLists.txt index beefdfecc5..ea61a5ed33 100644 --- a/source/source_lcao/module_deepks/test/CMakeLists.txt +++ b/source/source_lcao/module_deepks/test/CMakeLists.txt @@ -39,7 +39,6 @@ set(DEEPKS_UNIT_COMMON_SOURCES ../../../source_cell/sep.cpp ../../../source_cell/sep_cell.cpp ../../../source_pw/module_pwdft/soc.cpp - ../../../source_io/module_output/sparse_matrix.cpp ../../../source_cell/read_pseudo.cpp ../../../source_estate/param_update.cpp ../../../source_cell/cal_wfc.cpp diff --git a/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp b/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp index 5c0bdf0570..0bc27effe4 100644 --- a/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp +++ b/source/source_lcao/module_lr/esolver_lrtd_lcao.cpp @@ -399,7 +399,8 @@ void LR::ESolver_LR::initialize_from_unitcell_(UnitCell& ucell, const Inp this->pw_rho->nplane, this->pw_rho->nrxx, pw_big->nbz, - pw_big->bz); + pw_big->bz, + GlobalV::NPROC); Charge chg_gs; if (input.ri_hartree_benchmark != "aims") { this->read_ks_chg(chg_gs); } this->init_pot(chg_gs); diff --git a/source/source_lcao/module_lr/potentials/xc_kernel.h b/source/source_lcao/module_lr/potentials/xc_kernel.h index 087867c61e..a52b0c3c03 100644 --- a/source/source_lcao/module_lr/potentials/xc_kernel.h +++ b/source/source_lcao/module_lr/potentials/xc_kernel.h @@ -1,7 +1,7 @@ #pragma once #include "source_basis/module_pw/pw_basis.h" #include "source_cell/unitcell.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" #include "source_estate/module_charge/charge.h" #define CREF(x) const std::vector& x = x##_; #define CREF3(x) const std::vector>& x = x##_; diff --git a/source/source_lcao/module_lr/utils/test/CMakeLists.txt b/source/source_lcao/module_lr/utils/test/CMakeLists.txt index 150ba6f583..acbecee5b8 100644 --- a/source/source_lcao/module_lr/utils/test/CMakeLists.txt +++ b/source/source_lcao/module_lr/utils/test/CMakeLists.txt @@ -3,7 +3,7 @@ AddTest( TARGET MODULE_LR_lr_util_phys_test LIBS parameter base device container planewave #for FFT SOURCES lr_util_physics_test.cpp ../lr_util.cpp - ../../../../source_io/module_output/orb_io.cpp + ) AddTest( diff --git a/source/source_lcao/module_operator_lcao/test/CMakeLists.txt b/source/source_lcao/module_operator_lcao/test/CMakeLists.txt index 412d43b8b6..a0a6b1cb4a 100644 --- a/source/source_lcao/module_operator_lcao/test/CMakeLists.txt +++ b/source/source_lcao/module_operator_lcao/test/CMakeLists.txt @@ -7,7 +7,7 @@ AddTest( SOURCES test_overlap.cpp ../overlap.cpp ../overlap_fs.cpp ../operator_fs_utils.cpp ../../../source_hamilt/module_hcontainer/func_folding.cpp ../../../source_hamilt/module_hcontainer/base_matrix.cpp ../../../source_hamilt/module_hcontainer/hcontainer.cpp ../../../source_hamilt/module_hcontainer/atom_pair.cpp ../../../source_hamilt/module_hcontainer/func_transfer.cpp ../../../source_hamilt/module_hcontainer/output_hcontainer.cpp ../../../source_hamilt/module_hcontainer/transfer.cpp - ../../../source_io/module_output/sparse_matrix.cpp + ../../../source_basis/module_ao/parallel_orbitals.cpp ../../../source_basis/module_ao/ORB_atomic_lm.cpp tmp_mocks.cpp ../../../source_hamilt/operator.cpp @@ -20,7 +20,7 @@ AddTest( SOURCES test_overlap_serial.cpp ../overlap.cpp ../overlap_fs.cpp ../operator_fs_utils.cpp ../../../source_hamilt/module_hcontainer/func_folding.cpp ../../../source_hamilt/module_hcontainer/base_matrix.cpp ../../../source_hamilt/module_hcontainer/hcontainer.cpp ../../../source_hamilt/module_hcontainer/atom_pair.cpp ../../../source_hamilt/module_hcontainer/func_transfer.cpp ../../../source_hamilt/module_hcontainer/output_hcontainer.cpp ../../../source_hamilt/module_hcontainer/transfer.cpp - ../../../source_io/module_output/sparse_matrix.cpp + ../../../source_basis/module_ao/parallel_orbitals.cpp ../../../source_basis/module_ao/ORB_atomic_lm.cpp tmp_mocks.cpp ../../../source_hamilt/operator.cpp @@ -33,7 +33,7 @@ AddTest( SOURCES test_overlap_cd.cpp ../overlap.cpp ../overlap_fs.cpp ../operator_fs_utils.cpp ../../../source_hamilt/module_hcontainer/func_folding.cpp ../../../source_hamilt/module_hcontainer/base_matrix.cpp ../../../source_hamilt/module_hcontainer/hcontainer.cpp ../../../source_hamilt/module_hcontainer/atom_pair.cpp ../../../source_hamilt/module_hcontainer/func_transfer.cpp ../../../source_hamilt/module_hcontainer/output_hcontainer.cpp ../../../source_hamilt/module_hcontainer/transfer.cpp - ../../../source_io/module_output/sparse_matrix.cpp + ../../../source_basis/module_ao/parallel_orbitals.cpp ../../../source_basis/module_ao/ORB_atomic_lm.cpp tmp_mocks.cpp ../../../source_hamilt/operator.cpp diff --git a/source/source_lcao/module_ri/Exx_LRI_interface.hpp b/source/source_lcao/module_ri/Exx_LRI_interface.hpp index a99e2c4fc9..57ce9578f3 100644 --- a/source/source_lcao/module_ri/Exx_LRI_interface.hpp +++ b/source/source_lcao/module_ri/Exx_LRI_interface.hpp @@ -6,7 +6,7 @@ #include "source_estate/elecstate_lcao.h" #include "source_hamilt/module_xc/xc_functional.h" #include "source_io/module_hs/write_HS_sparse.h" -#include "source_io/module_output/csr_reader.h" +#include "source_base/module_out/csr_reader.h" #include "source_io/module_parameter/parameter.h" #include "source_io/module_restart/restart.h" #include "source_io/module_restart/restart_exx_csr.h" diff --git a/source/source_lcao/test/CMakeLists.txt b/source/source_lcao/test/CMakeLists.txt index 219ace8eb5..99ed22aabe 100644 --- a/source/source_lcao/test/CMakeLists.txt +++ b/source/source_lcao/test/CMakeLists.txt @@ -17,12 +17,9 @@ AddTest( ${ABACUS_SOURCE_DIR}/source_hamilt/module_hcontainer/func_folding.cpp ${ABACUS_SOURCE_DIR}/source_hamilt/module_hcontainer/transfer.cpp ${ABACUS_SOURCE_DIR}/source_basis/module_ao/parallel_orbitals.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/sparse_matrix.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/csr_reader.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/file_reader.cpp ${ABACUS_SOURCE_DIR}/source_io/module_dm/write_dmr.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/ucell_io.cpp + ${ABACUS_SOURCE_DIR}/source_cell/ucell_io.cpp ${ABACUS_SOURCE_DIR}/source_hamilt/module_hcontainer/output_hcontainer.cpp ) @@ -38,11 +35,8 @@ AddTest( ${ABACUS_SOURCE_DIR}/source_hamilt/module_hcontainer/func_transfer.cpp ${ABACUS_SOURCE_DIR}/source_hamilt/module_hcontainer/transfer.cpp ${ABACUS_SOURCE_DIR}/source_basis/module_ao/parallel_orbitals.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/sparse_matrix.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/file_reader.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/csr_reader.cpp ${ABACUS_SOURCE_DIR}/source_io/module_dm/write_dmr.cpp - ${ABACUS_SOURCE_DIR}/source_io/module_output/ucell_io.cpp + ${ABACUS_SOURCE_DIR}/source_cell/ucell_io.cpp ) AddTest( diff --git a/source/source_md/test/CMakeLists.txt b/source/source_md/test/CMakeLists.txt index 9f74a519a7..c1e60f81ce 100644 --- a/source/source_md/test/CMakeLists.txt +++ b/source/source_md/test/CMakeLists.txt @@ -54,7 +54,7 @@ list(APPEND depend_files ../../source_base/output.cpp ../../source_io/module_output/output_log.cpp ../../source_io/module_output/print_info.cpp - ../../source_io/module_output/cif_io.cpp + ../../source_cell/cif_io.cpp ../../source_esolver/esolver_lj.cpp ../../source_base/parallel_reduce.cpp ../../source_base/parallel_global.cpp diff --git a/source/source_psi/psi_init_file.cpp b/source/source_psi/psi_init_file.cpp index 2e633573bb..333097d4ba 100644 --- a/source/source_psi/psi_init_file.cpp +++ b/source/source_psi/psi_init_file.cpp @@ -3,7 +3,7 @@ #include "source_base/timer.h" #include "source_cell/klist.h" #include "source_io/module_wf/read_wfc_pw.h" -#include "source_io/module_output/filename.h" +#include "source_base/module_out/filename.h" #include "source_io/module_parameter/parameter.h" template diff --git a/source/source_psi/psi_init_nao.cpp b/source/source_psi/psi_init_nao.cpp index e514ae063d..1cd7cfc7d6 100644 --- a/source/source_psi/psi_init_nao.cpp +++ b/source/source_psi/psi_init_nao.cpp @@ -16,7 +16,7 @@ #include "source_base/parallel_common.h" #include "source_base/parallel_reduce.h" #endif -#include "source_io/module_output/orb_io.h" +#include "source_base/module_out/orb_io.h" #include "source_io/module_parameter/parameter.h" // GlobalV::NQX and GlobalV::DQ are here #include "source_io/module_parameter/parameter.h" diff --git a/source/source_psi/test/CMakeLists.txt b/source/source_psi/test/CMakeLists.txt index 63af5799e1..e933f1af73 100644 --- a/source/source_psi/test/CMakeLists.txt +++ b/source/source_psi/test/CMakeLists.txt @@ -16,11 +16,9 @@ AddTest( ../../source_cell/atom_spec.cpp ../../source_cell/parallel_kpoints.cpp ../../source_cell/test/support/mock_unitcell.cpp - ../../source_io/module_output/orb_io.cpp + ../../source_io/module_output/write_pao.cpp ../../source_io/module_wf/read_wfc_pw.cpp - ../../source_io/module_output/binstream.cpp - ../../source_io/module_output/filename.cpp ) endif() diff --git a/source/source_pw/module_pwdft/CMakeLists.txt b/source/source_pw/module_pwdft/CMakeLists.txt index a45bdb70e2..439f4f14cb 100644 --- a/source/source_pw/module_pwdft/CMakeLists.txt +++ b/source/source_pw/module_pwdft/CMakeLists.txt @@ -42,7 +42,6 @@ list(APPEND objects structure_factor.cpp structure_factor_k.cpp soc.cpp - parallel_grid.cpp elecond.cpp fs_nonlocal_tools.cpp fs_kin_tools.cpp diff --git a/source/source_pw/module_pwdft/elecond.cpp b/source/source_pw/module_pwdft/elecond.cpp index 7e5bc4d4c7..5c52a6cd8e 100644 --- a/source/source_pw/module_pwdft/elecond.cpp +++ b/source/source_pw/module_pwdft/elecond.cpp @@ -10,7 +10,7 @@ #include "source_estate/module_pot/potential_new.h" #include "source_hamilt/module_xc/xc_functional.h" #include "source_base/module_device/types.h" -#include "source_io/module_output/binstream.h" +#include "source_base/module_out/binstream.h" #include "source_io/module_parameter/parameter.h" #include diff --git a/source/source_pw/module_pwdft/structure_factor.h b/source/source_pw/module_pwdft/structure_factor.h index 8aadb3511f..6086c20bcb 100644 --- a/source/source_pw/module_pwdft/structure_factor.h +++ b/source/source_pw/module_pwdft/structure_factor.h @@ -4,7 +4,7 @@ #include "source_base/complexmatrix.h" #include "source_basis/module_pw/pw_basis_k.h" #include "source_cell/unitcell.h" -#include "source_pw/module_pwdft/parallel_grid.h" +#include "source_base/parallel_grid.h" class Structure_Factor { diff --git a/source/source_pw/module_pwdft/test/CMakeLists.txt b/source/source_pw/module_pwdft/test/CMakeLists.txt index 123e0ccd61..2f3386a8c3 100644 --- a/source/source_pw/module_pwdft/test/CMakeLists.txt +++ b/source/source_pw/module_pwdft/test/CMakeLists.txt @@ -31,7 +31,7 @@ AddTest( AddTest( TARGET MODULE_PW_structure_factor_test LIBS parameter base device planewave - SOURCES structure_factor_test.cpp ../structure_factor.cpp ../parallel_grid.cpp + SOURCES structure_factor_test.cpp ../structure_factor.cpp ../../../source_cell/unitcell.cpp ../../../source_cell/update_cell.cpp diff --git a/source/source_relax/relax_driver.cpp b/source/source_relax/relax_driver.cpp index 5bbc00c7da..4c6f314720 100644 --- a/source/source_relax/relax_driver.cpp +++ b/source/source_relax/relax_driver.cpp @@ -2,11 +2,11 @@ #include "source_base/formatter.h" #include "source_base/global_file.h" #include "source_base/version.h" -#include "source_io/module_output/cif_io.h" +#include "source_cell/cif_io.h" #include "source_io/module_json/output_info.h" #include "source_io/module_output/output_log.h" #include "source_io/module_output/print_info.h" -#include "source_io/module_output/read_exit_file.h" +#include "source_base/module_out/read_exit_file.h" #include "source_io/module_parameter/parameter.h" #include "source_cell/print_cell.h" diff --git a/source/source_relax/test/CMakeLists.txt b/source/source_relax/test/CMakeLists.txt index 10ccbd949c..a308693a49 100644 --- a/source/source_relax/test/CMakeLists.txt +++ b/source/source_relax/test/CMakeLists.txt @@ -49,14 +49,14 @@ AddTest( ../cg_base.cpp ../relax_data.cpp mock_remake_cell.cpp - ../../source_io/module_output/orb_io.cpp + ) AddTest( TARGET MODULE_RELAX_bfgs_basic_test LIBS parameter base device symmetry SOURCES bfgs_basic_test.cpp ../bfgs_basic.cpp ../relax_data.cpp ../ions_move_basic.cpp - ../../source_io/module_output/orb_io.cpp + ${cell_source_files} ) @@ -81,7 +81,7 @@ AddTest( ../ions_move_basic.cpp ../bfgs_basic.cpp ../relax_data.cpp - ../../source_io/module_output/orb_io.cpp + ${cell_source_files} ) @@ -100,7 +100,7 @@ AddTest( ../cg_base.cpp ../matrix_methods.cpp ../relax_data.cpp - ../../source_io/module_output/orb_io.cpp + ../../source_cell/bcast_cell.cpp ../../source_cell/print_cell.cpp ) @@ -113,7 +113,7 @@ AddTest( ../cg_base.cpp ../ions_move_basic.cpp ../relax_data.cpp - ../../source_io/module_output/orb_io.cpp + ${cell_source_files} )