fn k_space_atomic_virial(&mut self, configuration: &Configuration) -> Matrix3 {
        self.eik_dot_r(configuration);

        let virial = self.factors.virial
            .par_iter()
            .zip_eq(&self.rho)
            .map(|(factor, rho)| rho.norm2() * factor)
            .sum::<Matrix3>();

        return virial / FOUR_PI_EPSILON_0;
    }
/// k-space contribution to the atomic virial
k-space contribution to the atomic virial
k - space contribution to the atomic virial
fn k_space_atomic_virial(&mut self, configuration: &Configuration) -> Matrix3 {
        self.eik_dot_r(configuration);
        let virial = self.factors.virial
            .par_iter()
            .zip_eq(&self.rho)
            .map(|(factor, rho)| rho.norm2() * factor)
            .sum::<Matrix3>();
        return virial / FOUR_PI_EPSILON_0;
    }
fn k_space_atomic_virial ( & mut self , configuration : & Configuration ) -> Matrix3 { self . eik_dot_r ( configuration ) ; let virial = self . factors . virial . par_iter ( ) . zip_eq ( & self . rho ) . map ( | ( factor , rho ) | rho . norm2 ( ) * factor ) . sum :: < Matrix3 > ( ) ; return virial / FOUR_PI_EPSILON_0 ; }
k-space contribution to the atomic virial
k - space contribution to the atomic virial
&mut self
configuration
&Configuration