@@ -113,6 +113,39 @@ TEST_F(UcellTest, BcastUnitcell)
113113 EXPECT_EQ (atom_labels[1 ], atom_type2_expected);
114114 }
115115}
116+ TEST_F (UcellTest, BcastLattice)
117+ {
118+ unitcell::bcast_Lattice (ucell->lat );
119+ if (GlobalV::MY_RANK != 0 )
120+ {
121+ EXPECT_EQ (ucell->Coordinate , " Direct" );
122+ EXPECT_DOUBLE_EQ (ucell->a1 .x , 10.0 );
123+ EXPECT_EQ (ucell->atoms [0 ].na , 1 );
124+ EXPECT_EQ (ucell->atoms [1 ].na , 2 );
125+ // / this is to ensure all processes have the atom label info
126+ auto atom_labels = ucell->get_atomLabels ();
127+ std::string atom_type1_expected = " C" ;
128+ std::string atom_type2_expected = " H" ;
129+ EXPECT_EQ (atom_labels[0 ], atom_type1_expected);
130+ EXPECT_EQ (atom_labels[1 ], atom_type2_expected);
131+ }
132+ }
133+
134+ TEST_F (UcellTest, BcastMagnitism)
135+ {
136+ unitcell::bcast_magnetism (ucell->magnet , ucell->ntype );
137+ PARAM.input .nspin = 4 ;
138+ if (GlobalV::MY_RANK != 0 )
139+ {
140+ EXPECT_DOUBLE_EQ (ucell->magnet .start_magnetization [0 ], 0.0 );
141+ EXPECT_DOUBLE_EQ (ucell->magnet .start_magnetization [1 ], 0.0 );
142+ for (int i = 0 ; i < 3 ; ++i)
143+ {
144+ EXPECT_DOUBLE_EQ (ucell->magnet .ux_ [i], 0.0 );
145+ }
146+ }
147+ }
148+
116149TEST_F (UcellTest, UpdatePosTau)
117150{
118151 double * pos_in = new double [ucell->nat * 3 ];
0 commit comments