ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/nonbonded/Electrostatic.cpp
(Generate patch)

Comparing trunk/src/nonbonded/Electrostatic.cpp (file contents):
Revision 1922 by gezelter, Mon Aug 5 13:41:15 2013 UTC vs.
Revision 1924 by gezelter, Mon Aug 5 21:46:11 2013 UTC

# Line 1292 | Line 1292 | namespace OpenMD {
1292            eCos[l][i].z() = eCos[l-1][i].z()*eCos[2][i].z() - eSin[l-1][i].z()*eSin[2][i].z();
1293            
1294            eSin[l][i].x() = eSin[l-1][i].x()*eCos[2][i].x() + eCos[l-1][i].x()*eSin[2][i].x();
1295 <          eSin[l][i].y() = eSin[l-1][i].y()*eCos[2][i].y() + eCos[l-1][i].y()*eSin[2][i].z();
1296 <          eSin[l][i].z() = eSin[l-1][i].z()*eCos[2][i].z() + eCos[l-1][i].z()*eSin[2][i].y();
1295 >          eSin[l][i].y() = eSin[l-1][i].y()*eCos[2][i].y() + eCos[l-1][i].y()*eSin[2][i].y();
1296 >          eSin[l][i].z() = eSin[l-1][i].z()*eCos[2][i].z() + eCos[l-1][i].z()*eSin[2][i].z();
1297  
1298  
1299            // a.Vmul(eCos[l-1][i], u);
# Line 1421 | Line 1421 | namespace OpenMD {
1421                  
1422                  if (data.is_Dipole) {
1423                    Vector3d D = atom->getDipole() * mPoleConverter;
1424 <                  RealType dk = dot(kVec, D);
1425 <                  dxk[i] = cross(kVec, D);
1424 >                  RealType dk = dot(D, kVec);
1425 >                  dxk[i] = cross(D, kVec);
1426                    dkc[i] = dk * ckr[i];
1427                    dks[i] = dk * skr[i];
1428                  }
1429                  if (data.is_Quadrupole) {
1430                    Mat3x3d Q = atom->getQuadrupole();
1431                    Q *= mPoleConverter;
1432 <                  RealType qk = -( Q * k2 ).trace();
1432 >                  RealType qk = - doubleDot(Q, k2);
1433 >                  // RealType qk = -( Q * k2 ).trace();
1434                    qxk[i] = -2.0 * cross(k2, Q);
1435                    qkc[i] = qk * ckr[i];
1436                    qks[i] = qk * skr[i];
# Line 1462 | Line 1463 | namespace OpenMD {
1463                                        MPI::SUM);
1464   #endif        
1465              
1466 <            // Accumulate potential energy and virial contribution:          
1466 >            // Accumulate potential energy and virial contribution:
1467  
1468              kPot += 2.0 * rvol * AK[kk]*((ckss+dkcs-qkss)*(ckss+dkcs-qkss)
1469                                           + (ckcs-dkss-qkcs)*(ckcs-dkss-qkss));
# Line 1491 | Line 1492 | namespace OpenMD {
1492                                           -ckr[i]*(ckss+dkcs-qkss));
1493                  RealType qtrq2 = 2.0*AK[kk]*(ckr[i]*(ckcs-dkss-qkcs)+
1494                                               skr[i]*(ckss+dkcs-qkss));
1495 <                
1495 >              
1496                  atom->addFrc( 4.0 * rvol * qfrc * kVec );
1497                  
1498                  if (data.is_Dipole) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines