@@ -102,51 +102,54 @@ void Atom::bcast_atom(void)
102102 Parallel_Common::bcast_bool (this ->flag_empty_element );
103103 Parallel_Common::bcast_double (mass);
104104
105- if (GlobalV::MY_RANK != 0 )
105+ if (na > 0 )
106106 {
107- assert (na != 0 );
108- this ->tau .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
109- this ->dis .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
110- this ->taud .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
111- this ->vel .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
112- this ->mag .resize (na, 0 );
113- this ->angle1 .resize (na, 0 );
114- this ->angle2 .resize (na, 0 );
115- this ->m_loc_ .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
116- this ->mbl .resize (na, ModuleBase::Vector3<int >(0 , 0 , 0 ));
117- this ->lambda .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
118- this ->constrain .resize (na, ModuleBase::Vector3<int >(0 , 0 , 0 ));
119- }
107+ if (GlobalV::MY_RANK != 0 )
108+ {
109+ assert (na != 0 );
110+ this ->tau .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
111+ this ->dis .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
112+ this ->taud .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
113+ this ->vel .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
114+ this ->mag .resize (na, 0 );
115+ this ->angle1 .resize (na, 0 );
116+ this ->angle2 .resize (na, 0 );
117+ this ->m_loc_ .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
118+ this ->mbl .resize (na, ModuleBase::Vector3<int >(0 , 0 , 0 ));
119+ this ->lambda .resize (na, ModuleBase::Vector3<double >(0 , 0 , 0 ));
120+ this ->constrain .resize (na, ModuleBase::Vector3<int >(0 , 0 , 0 ));
121+ }
120122
121- for (int i = 0 ; i < na; i++)
122- {
123- Parallel_Common::bcast_double (tau[i].x );
124- Parallel_Common::bcast_double (tau[i].y );
125- Parallel_Common::bcast_double (tau[i].z );
126- Parallel_Common::bcast_double (taud[i].x );
127- Parallel_Common::bcast_double (taud[i].y );
128- Parallel_Common::bcast_double (taud[i].z );
129- Parallel_Common::bcast_double (dis[i].x );
130- Parallel_Common::bcast_double (dis[i].y );
131- Parallel_Common::bcast_double (dis[i].z );
132- Parallel_Common::bcast_double (vel[i].x );
133- Parallel_Common::bcast_double (vel[i].y );
134- Parallel_Common::bcast_double (vel[i].z );
135- Parallel_Common::bcast_double (mag[i]);
136- Parallel_Common::bcast_double (angle1[i]);
137- Parallel_Common::bcast_double (angle2[i]);
138- Parallel_Common::bcast_double (m_loc_[i].x );
139- Parallel_Common::bcast_double (m_loc_[i].y );
140- Parallel_Common::bcast_double (m_loc_[i].z );
141- Parallel_Common::bcast_int (mbl[i].x );
142- Parallel_Common::bcast_int (mbl[i].y );
143- Parallel_Common::bcast_int (mbl[i].z );
144- Parallel_Common::bcast_double (lambda[i].x );
145- Parallel_Common::bcast_double (lambda[i].y );
146- Parallel_Common::bcast_double (lambda[i].z );
147- Parallel_Common::bcast_int (constrain[i].x );
148- Parallel_Common::bcast_int (constrain[i].y );
149- Parallel_Common::bcast_int (constrain[i].z );
123+ for (int i = 0 ; i < na; i++)
124+ {
125+ Parallel_Common::bcast_double (tau[i].x );
126+ Parallel_Common::bcast_double (tau[i].y );
127+ Parallel_Common::bcast_double (tau[i].z );
128+ Parallel_Common::bcast_double (taud[i].x );
129+ Parallel_Common::bcast_double (taud[i].y );
130+ Parallel_Common::bcast_double (taud[i].z );
131+ Parallel_Common::bcast_double (dis[i].x );
132+ Parallel_Common::bcast_double (dis[i].y );
133+ Parallel_Common::bcast_double (dis[i].z );
134+ Parallel_Common::bcast_double (vel[i].x );
135+ Parallel_Common::bcast_double (vel[i].y );
136+ Parallel_Common::bcast_double (vel[i].z );
137+ Parallel_Common::bcast_double (mag[i]);
138+ Parallel_Common::bcast_double (angle1[i]);
139+ Parallel_Common::bcast_double (angle2[i]);
140+ Parallel_Common::bcast_double (m_loc_[i].x );
141+ Parallel_Common::bcast_double (m_loc_[i].y );
142+ Parallel_Common::bcast_double (m_loc_[i].z );
143+ Parallel_Common::bcast_int (mbl[i].x );
144+ Parallel_Common::bcast_int (mbl[i].y );
145+ Parallel_Common::bcast_int (mbl[i].z );
146+ Parallel_Common::bcast_double (lambda[i].x );
147+ Parallel_Common::bcast_double (lambda[i].y );
148+ Parallel_Common::bcast_double (lambda[i].z );
149+ Parallel_Common::bcast_int (constrain[i].x );
150+ Parallel_Common::bcast_int (constrain[i].y );
151+ Parallel_Common::bcast_int (constrain[i].z );
152+ }
150153 }
151154
152155 return ;
0 commit comments