@@ -61,6 +61,12 @@ Magnetism::~Magnetism()
6161 * - cal_nwfc(): calcuate the total number of local basis: NSPIN != 4
6262 * - this corresponds to number_of_proj, PP_BETA in pp file, and atoms[it].l_nchi[nw], nw from orb file
6363 * - setup GlobalV::NLOCAL
64+ * - interfaces initialed in this function:
65+ * - itia2iat
66+ * - iat2iwt
67+ * - itiaiw2iwt
68+ * - iwt2iat
69+ * - iwt2iw
6470 * - CalNwfc2
6571 * - cal_nwfc(): calcuate the total number of local basis: NSPIN == 4
6672 * - CheckStructure
@@ -257,6 +263,37 @@ TEST_F(UcellTest,CalNwfc1)
257263 EXPECT_EQ (ucell->atoms [1 ].nw ,9 );
258264 EXPECT_EQ (ucell->nwmax ,9 );
259265 EXPECT_EQ (GlobalV::NLOCAL,3 *9 );
266+ // check itia2iat
267+ EXPECT_EQ (ucell->itia2iat .getSize (), 4 );
268+ EXPECT_EQ (ucell->itia2iat (0 ,0 ), 0 );
269+ EXPECT_EQ (ucell->itia2iat (0 ,1 ), 0 );
270+ EXPECT_EQ (ucell->itia2iat (1 ,0 ), 1 );
271+ EXPECT_EQ (ucell->itia2iat (1 ,1 ), 2 );
272+ // check iat2iwt
273+ EXPECT_EQ (ucell->iat2iwt .size (), 3 );
274+ EXPECT_EQ (ucell->iat2iwt [0 ], 0 );
275+ EXPECT_EQ (ucell->iat2iwt [1 ], 9 );
276+ EXPECT_EQ (ucell->iat2iwt [2 ], 18 );
277+ // check itiaiw2iwt
278+ EXPECT_EQ (ucell->itiaiw2iwt (0 , 0 , 0 ), 0 );
279+ EXPECT_EQ (ucell->itiaiw2iwt (0 , 0 , 1 ), 1 );
280+ EXPECT_EQ (ucell->itiaiw2iwt (0 , 0 , 8 ), 8 );
281+ EXPECT_EQ (ucell->itiaiw2iwt (1 , 0 , 0 ), 9 );
282+ EXPECT_EQ (ucell->itiaiw2iwt (1 , 1 , 0 ), 18 );
283+ // check itia2iat
284+ EXPECT_EQ (ucell->itia2iat .getSize (), 4 );
285+ EXPECT_EQ (ucell->itia2iat (0 , 0 ), 0 );
286+ EXPECT_EQ (ucell->itia2iat (0 , 1 ), 0 );
287+ EXPECT_EQ (ucell->itia2iat (1 , 0 ), 1 );
288+ EXPECT_EQ (ucell->itia2iat (1 , 1 ), 2 );
289+ // check iwt2iat
290+ EXPECT_EQ (ucell->iwt2iat [0 ], 0 );
291+ EXPECT_EQ (ucell->iwt2iat [10 ], 1 );
292+ EXPECT_EQ (ucell->iwt2iat [20 ], 2 );
293+ // check iwt2iw
294+ EXPECT_EQ (ucell->iwt2iw [0 ], 0 );
295+ EXPECT_EQ (ucell->iwt2iw [10 ], 1 );
296+ EXPECT_EQ (ucell->iwt2iw [20 ], 2 );
260297}
261298
262299TEST_F (UcellTest,CalNwfc2)
0 commit comments