@@ -179,29 +179,29 @@ class Symmetry : public Symmetry_Basic
179179 void rhog_symmetry (std::complex <double > *rhogtot, int * ixyz2ipw, const int &nx,
180180 const int &ny, const int &nz, const int & fftnx, const int &fftny, const int &fftnz,
181181 const bool gamma_only_pw,
182- const ModuleBase::Matrix3* kgmatrix_in = nullptr ,
183- const ModuleBase::Vector3<double >* gtrans_in = nullptr , const int nop = - 1 );
184-
185- // / @brief Symmetrize the nspin=4 (non-collinear/SOC) spin density in reciprocal space.
186- // / The three Pauli spin components (rho^x, rho^y, rho^z) are processed TOGETHER because
187- // / each symmetry operation g couples the spatial map with a spin rotation W(g):
188- // / m_sym(G) = (1/|G|) sum_g W(g) * m(g^{-1} G) * phase(g).
189- // / The spatial bookkeeping (grouping/phase) is identical to rhog_symmetry; the only
190- // / difference is that the per-g spin rotation W(g) is applied to the 3-vector. `wspin`
191- // / is the precomputed array (size nrotk) of spin-rotation matrices, with
192- // / wspin[s] = SpinRotation::spin_so3(direct_to_cartesian(gmatrix[s], latvec)),
193- // / such that m'^i = sum_j wspin[s]_{ij} m^j under symmetry operation s.
194- // / @param trs_inv time-reversal sign per operation (+1 unitary, -1 antiunitary Theta*g), from
195- // / density_sym_ops(). Theta flips the magnetization, so the antiunitary elements
196- // / contribute m -> -W(g) m instead of m -> W(g) m. nullptr means all +1.
197- // / @param kgmatrix_in,gtrans_in,nop optional operation set (default: the nrotk unitary members).
198- void rhog_symmetry_nspin4 (std::complex <double >* rhogtot_x, std::complex <double >* rhogtot_y,
199- std::complex <double >* rhogtot_z, const ModuleBase::Matrix3* wspin,
200- int * ixyz2ipw, const int &nx, const int &ny, const int &nz,
201- const int & fftnx, const int &fftny, const int &fftnz,
202- const double * trs_inv = nullptr ,
203- const ModuleBase::Matrix3* kgmatrix_in = nullptr ,
204- const ModuleBase::Vector3<double >* gtrans_in = nullptr , const int nop = - 1 );
182+ const ModuleBase::Matrix3* kgmatrix_in,
183+ const ModuleBase::Vector3<double >* gtrans_in, const int nop);
184+
185+ // / @brief Symmetrize the nspin=4 (non-collinear/SOC) spin density in reciprocal space.
186+ // / The three Pauli spin components (rho^x, rho^y, rho^z) are processed TOGETHER because
187+ // / each symmetry operation g couples the spatial map with a spin rotation W(g):
188+ // / m_sym(G) = (1/|G|) sum_g W(g) * m(g^{-1} G) * phase(g).
189+ // / The spatial bookkeeping (grouping/phase) is identical to rhog_symmetry; the only
190+ // / difference is that the per-g spin rotation W(g) is applied to the 3-vector. `wspin`
191+ // / is the precomputed array (size nrotk) of spin-rotation matrices, with
192+ // / wspin[s] = SpinRotation::spin_so3(direct_to_cartesian(gmatrix[s], latvec)),
193+ // / such that m'^i = sum_j wspin[s]_{ij} m^j under symmetry operation s.
194+ // / @param trs_inv time-reversal sign per operation (+1 unitary, -1 antiunitary Theta*g), from
195+ // / density_sym_ops(). Theta flips the magnetization, so the antiunitary elements
196+ // / contribute m -> -W(g) m instead of m -> W(g) m. nullptr means all +1.
197+ // / @param kgmatrix_in,gtrans_in,nop optional operation set (default: the nrotk unitary members).
198+ void rhog_symmetry_nspin4 (std::complex <double >* rhogtot_x, std::complex <double >* rhogtot_y,
199+ std::complex <double >* rhogtot_z, const ModuleBase::Matrix3* wspin,
200+ int * ixyz2ipw, const int &nx, const int &ny, const int &nz,
201+ const int & fftnx, const int &fftny, const int &fftnz,
202+ const double * trs_inv,
203+ const ModuleBase::Matrix3* kgmatrix_in,
204+ const ModuleBase::Vector3<double >* gtrans_in, const int nop);
205205
206206 // / symmetrize a vector3 with nat elements, which can be forces or variation of atom positions in relax
207207 void symmetrize_vec3_nat (double * v)const ; // force
0 commit comments