Skip to content

Commit 48bf3f2

Browse files
committed
Merge branch 'develop' of https://github.com/sunliang98/abacus-develop into ML_KEDF_merge-develop
2 parents 3b9876d + 9bf2533 commit 48bf3f2

38 files changed

+806
-731
lines changed

source/Makefile.Objects

+2-1
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,11 @@ OBJS_CELL=atom_pseudo.o\
187187
klist.o\
188188
cell_index.o\
189189
check_atomic_stru.o\
190+
update_cell.o\
190191

191192
OBJS_DEEPKS=LCAO_deepks.o\
192193
deepks_force.o\
193-
LCAO_deepks_odelta.o\
194+
deepks_orbital.o\
194195
LCAO_deepks_io.o\
195196
LCAO_deepks_mpi.o\
196197
LCAO_deepks_pdm.o\

source/module_cell/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ add_library(
2323
parallel_kpoints.cpp
2424
cell_index.cpp
2525
check_atomic_stru.cpp
26+
update_cell.cpp
2627
)
2728

2829
if(ENABLE_COVERAGE)

source/module_cell/test/CMakeLists.txt

+3-2
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ add_test(NAME cell_parallel_kpoints_test
103103
AddTest(
104104
TARGET cell_unitcell_test
105105
LIBS parameter ${math_libs} base device cell_info symmetry
106-
SOURCES unitcell_test.cpp ../../module_io/output.cpp ../../module_elecstate/cal_ux.cpp
106+
SOURCES unitcell_test.cpp ../../module_io/output.cpp ../../module_elecstate/cal_ux.cpp ../update_cell.cpp
107107

108108
)
109109

@@ -122,7 +122,8 @@ AddTest(
122122
AddTest(
123123
TARGET cell_unitcell_test_setupcell
124124
LIBS parameter ${math_libs} base device cell_info
125-
SOURCES unitcell_test_setupcell.cpp ../../module_io/output.cpp
125+
SOURCES unitcell_test_setupcell.cpp ../../module_io/output.cpp
126+
../../module_cell/update_cell.cpp
126127
)
127128

128129
add_test(NAME cell_unitcell_test_parallel

source/module_cell/test/prepare_unitcell.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class UcellTestPrepare
109109
ucell->latvec.e13 = this->latvec[2];
110110
ucell->latvec.e21 = this->latvec[3];
111111
ucell->latvec.e22 = this->latvec[4];
112-
ucell->latvec.e23 = this->latvec[5];
112+
ucell->latvec.e23 = this->latvec[5];
113113
ucell->latvec.e31 = this->latvec[6];
114114
ucell->latvec.e32 = this->latvec[7];
115115
ucell->latvec.e33 = this->latvec[8];

source/module_cell/test/support/mock_unitcell.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ void UnitCell::print_stru_file(const std::string& fn,
6363
const bool& dpks_desc,
6464
const int& iproc) const {}
6565
void UnitCell::check_dtau() {}
66-
void UnitCell::setup_cell_after_vc(std::ofstream& log) {}
67-
void UnitCell::remake_cell() {}
6866
void UnitCell::cal_nwfc(std::ofstream& log) {}
6967
void UnitCell::cal_meshx() {}
7068
void UnitCell::cal_natomwfc(std::ofstream& log) {}

source/module_cell/test/unitcell_test.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
#define private public
44
#include "module_parameter/parameter.h"
55
#undef private
6-
#include "module_cell/unitcell.h"
76
#include "module_elecstate/cal_ux.h"
87
#include "module_elecstate/read_pseudo.h"
98

109
#include "memory"
1110
#include "module_base/global_variable.h"
1211
#include "module_base/mathzone.h"
1312
#include "prepare_unitcell.h"
13+
#include "module_cell/update_cell.h"
1414
#include <streambuf>
1515
#include <valarray>
1616
#include <vector>
@@ -346,7 +346,7 @@ TEST_F(UcellTest, RemakeCell)
346346
ucell->latvec.e32 = 0.00;
347347
ucell->latvec.e33 = 10.0;
348348
ucell->latName = latname_in[i];
349-
ucell->remake_cell();
349+
unitcell::remake_cell(ucell->lat);
350350
if (latname_in[i] == "sc")
351351
{
352352
double celldm
@@ -591,7 +591,7 @@ TEST_F(UcellDeathTest, RemakeCellWarnings)
591591
ucell->latvec.e33 = 10.0;
592592
ucell->latName = latname_in[i];
593593
testing::internal::CaptureStdout();
594-
EXPECT_EXIT(ucell->remake_cell(), ::testing::ExitedWithCode(1), "");
594+
EXPECT_EXIT(unitcell::remake_cell(ucell->lat), ::testing::ExitedWithCode(1), "");
595595
std::string output = testing::internal::GetCapturedStdout();
596596
if (latname_in[i] == "none")
597597
{

source/module_cell/test/unitcell_test_setupcell.cpp

+41-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#include<valarray>
1212
#include <streambuf>
1313
#include "prepare_unitcell.h"
14-
14+
#include "module_cell/update_cell.h"
1515
#ifdef __LCAO
1616
#include "module_basis/module_ao/ORB_read.h"
1717
InfoNonlocal::InfoNonlocal(){}
@@ -145,8 +145,47 @@ TEST_F(UcellTest,SetupCellAfterVC)
145145
ucell->ntype = 2;
146146
delete[] ucell->magnet.start_magnetization;
147147
ucell->magnet.start_magnetization = new double[ucell->ntype];
148+
149+
148150
ucell->setup_cell(fn,ofs_running);
149-
ucell->setup_cell_after_vc(ofs_running);
151+
ucell->lat0 = 1.0;
152+
ucell->latvec.Zero();
153+
ucell->latvec.e11 = 10.0;
154+
ucell->latvec.e22 = 10.0;
155+
ucell->latvec.e33 = 10.0;
156+
for (int i =0;i<ucell->ntype;i++)
157+
{
158+
ucell->atoms[i].na = 1;
159+
ucell->atoms[i].taud.resize(ucell->atoms[i].na);
160+
ucell->atoms[i].tau.resize(ucell->atoms[i].na);
161+
ucell->atoms[i].taud[0].x = 0.1;
162+
ucell->atoms[i].taud[0].y = 0.1;
163+
ucell->atoms[i].taud[0].z = 0.1;
164+
}
165+
166+
unitcell::setup_cell_after_vc(*ucell,ofs_running);
167+
EXPECT_EQ(ucell->lat0_angstrom,0.529177);
168+
EXPECT_EQ(ucell->tpiba,ModuleBase::TWO_PI);
169+
EXPECT_EQ(ucell->tpiba2,ModuleBase::TWO_PI*ModuleBase::TWO_PI);
170+
EXPECT_EQ(ucell->a1.x ,10.0);
171+
EXPECT_EQ(ucell->a2.y ,10.0);
172+
EXPECT_EQ(ucell->a3.z ,10.0);
173+
EXPECT_EQ(ucell->omega,1000.0);
174+
EXPECT_EQ(ucell->GT.e11,0.1);
175+
EXPECT_EQ(ucell->GT.e22,0.1);
176+
EXPECT_EQ(ucell->GT.e33,0.1);
177+
EXPECT_EQ(ucell->G.e11,0.1);
178+
EXPECT_EQ(ucell->G.e22,0.1);
179+
EXPECT_EQ(ucell->G.e33,0.1);
180+
181+
for (int it = 0; it < ucell->ntype; it++) {
182+
Atom* atom = &ucell->atoms[it];
183+
for (int ia = 0; ia < atom->na; ia++) {
184+
EXPECT_EQ(atom->tau[ia].x,1);
185+
EXPECT_EQ(atom->tau[ia].y,1);
186+
EXPECT_EQ(atom->tau[ia].z,1);
187+
}
188+
}
150189
ofs_running.close();
151190
remove("setup_cell.tmp");
152191
}

0 commit comments

Comments
 (0)