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

Comparing:
branches/development/src/flucq/FluctuatingChargeObjectiveFunction.cpp (file contents), Revision 1760 by gezelter, Thu Jun 21 19:26:46 2012 UTC vs.
trunk/src/flucq/FluctuatingChargeObjectiveFunction.cpp (file contents), Revision 1927 by gezelter, Wed Aug 14 20:19:19 2013 UTC

# Line 35 | Line 35
35   *                                                                      
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 < * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
39   * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40   * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
# Line 54 | Line 54 | namespace OpenMD{
54      forceMan_->calcForces();
55  
56      Snapshot* curSnapshot = info_->getSnapshotManager()->getCurrentSnapshot();
57 <    potVec pot = curSnapshot->getLongRangePotentials();
57 >    //potVec pot = curSnapshot->getLongRangePotentials();
58 >    RealType lrPot = curSnapshot->getLongRangePotential();
59      potVec exPot = curSnapshot->getExcludedPotentials();  
59    cerr << "val p= " <<   pot[ELECTROSTATIC_FAMILY] << "\n";
60    cerr << "val e= " << exPot[ELECTROSTATIC_FAMILY] << "\n";
60    
61 <    return pot[ELECTROSTATIC_FAMILY] + exPot[ELECTROSTATIC_FAMILY];
61 >    //return pot[ELECTROSTATIC_FAMILY] + exPot[ELECTROSTATIC_FAMILY];
62 >    return lrPot + exPot[ELECTROSTATIC_FAMILY];
63    }
64    
65    void FluctuatingChargeObjectiveFunction::gradient(DynamicVector<RealType>& grad, const DynamicVector<RealType>& x) {
66    int shakeStatus;
66      
67      setCoor(x);    
68      
69      forceMan_->calcForces();
70      fqConstraints_->applyConstraints();
71 <    cerr << "grad\n";
71 >
72      getGrad(grad);      
73    }
74    
# Line 86 | Line 85 | namespace OpenMD{
85      Snapshot* curSnapshot = info_->getSnapshotManager()->getCurrentSnapshot();
86      potVec pot = curSnapshot->getLongRangePotentials();
87      potVec exPot = curSnapshot->getExcludedPotentials();    
89    cerr << "vang p= " <<   pot[ELECTROSTATIC_FAMILY] << "\n";
90    cerr << "vang e= " << exPot[ELECTROSTATIC_FAMILY] << "\n";
88  
89      return pot[ELECTROSTATIC_FAMILY] + exPot[ELECTROSTATIC_FAMILY];
90    }
# Line 106 | Line 103 | namespace OpenMD{
103             atom = mol->nextFluctuatingCharge(j)) {
104        
105          atom->setFlucQPos(x[index++]);
109        cerr << "setting charge = " << x[index -1] << "\n";
106        }
107      }    
108    }
# Line 125 | Line 121 | namespace OpenMD{
121        for (atom = mol->beginFluctuatingCharge(j); atom != NULL;
122             atom = mol->nextFluctuatingCharge(j)) {
123  
124 <        grad[index++] = atom->getFlucQFrc();
129 <        cerr << "getting grad = " << grad[index -1] << "\n";
124 >        grad[index++] = -atom->getFlucQFrc();
125        }
126      }
127    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines