25 #ifdef FULLDIRECT_PERIODIC
27 Vector b1(0);
if ( lattice->a_p() ) b1 = lattice->a_r();
29 Vector b2(0);
if ( lattice->b_p() ) b2 = lattice->b_r();
31 Vector b3(0);
if ( lattice->c_p() ) b3 = lattice->c_r();
34 for(
int i=0; i<n1; ++i)
36 register BigReal p_i_x = *(dp1++);
37 register BigReal p_i_y = *(dp1++);
38 register BigReal p_i_z = *(dp1++);
39 register BigReal kq_i = coulomb * *(dp1++);
45 ++
j_begin; data2 += 4; results2 += 3;
48 register BigReal *rp2 = results2;
49 register int n2c = n2;
51 for( j = j_begin; j<n2c; ++j)
57 #ifdef FULLDIRECT_PERIODIC
58 Vector p_ij(p_ij_x,p_ij_y,p_ij_z);
59 p_ij -= ( a1*floor(0.5+b1*p_ij) + a2*floor(0.5+b2*p_ij) + a3*floor(0.5+b3*p_ij) );
66 r_1 = 1./sqrt(p_ij_x * p_ij_x + p_ij_y * p_ij_y + p_ij_z * p_ij_z);
67 register BigReal f = *(dp2++) * kq_i * r_1;
70 virial_xx += f * p_ij_x *
p_ij_x;
71 virial_xy += f * p_ij_x *
p_ij_y;
72 virial_xz += f * p_ij_x *
p_ij_z;
74 virial_yy += f * p_ij_y *
p_ij_y;
75 virial_yz += f * p_ij_y *
p_ij_z;
77 virial_zz += f * p_ij_z *
p_ij_z;
register BigReal virial_xy
register BigReal virial_xz
register BigReal virial_yz
static BigReal dielectric_1
register BigReal electEnergy
register const BigReal p_ij_z
register BigReal virial_yy
register BigReal virial_zz
register const BigReal p_ij_x
register BigReal virial_xx
register const BigReal p_ij_y