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

Comparing trunk/src/flucq/FluctuatingChargeConstraints.cpp (file contents):
Revision 1915 by gezelter, Mon Jul 29 17:55:17 2013 UTC vs.
Revision 1969 by gezelter, Wed Feb 26 14:14:50 2014 UTC

# Line 40 | Line 40
40   * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43 #include "FluctuatingChargeConstraints.hpp"
44 #include "primitives/Molecule.hpp"
45
43   #ifdef IS_MPI
44   #include <mpi.h>
45   #endif
46  
47 + #include "FluctuatingChargeConstraints.hpp"
48 + #include "primitives/Molecule.hpp"
49 +
50   namespace OpenMD {
51  
52    FluctuatingChargeConstraints::FluctuatingChargeConstraints(SimInfo* info) :
53      info_(info), constrainRegions_(false), hasFlucQ_(false), initialized_(false) {
54    
54    }
55  
56    void FluctuatingChargeConstraints::initialize(){
# Line 100 | Line 99 | namespace OpenMD {
99    void FluctuatingChargeConstraints::applyConstraints() {
100      if (!initialized_) initialize();
101      if (!hasFlucQ_) return;
102 +
103      SimInfo::MoleculeIterator i;
104      Molecule::FluctuatingChargeIterator  j;
105      Molecule* mol;
# Line 135 | Line 135 | namespace OpenMD {
135   #ifdef IS_MPI
136      // in parallel, we need to add up the contributions from all
137      // processors:
138 <    MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &totalFrc, 1, MPI::REALTYPE,
139 <                              MPI::SUM);
138 >    MPI_Allreduce(MPI_IN_PLACE, &totalFrc, 1, MPI_REALTYPE,
139 >                  MPI_SUM, MPI_COMM_WORLD);
140  
141      if (constrainRegions_) {
142 <      MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &regionForce_[0],
143 <                                regionForce_.size(), MPI::REALTYPE, MPI::SUM);
144 <      MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &regionCharges_[0],
145 <                                regionCharges_.size(), MPI::INT, MPI::SUM);
142 >      MPI_Allreduce(MPI_IN_PLACE, &regionForce_[0],
143 >                    regionForce_.size(), MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD);
144 >      MPI_Allreduce(MPI_IN_PLACE, &regionCharges_[0],
145 >                    regionCharges_.size(), MPI_INT, MPI_SUM, MPI_COMM_WORLD);
146      }
147  
148   #endif
# Line 152 | Line 152 | namespace OpenMD {
152      
153      // do the same in the regions:
154      if (constrainRegions_) {
155 <      for (int i = 0; i < regionForce_.size(); ++i)  {
155 >      for (unsigned int i = 0; i < regionForce_.size(); ++i)  {
156          regionForce_[ i ] /= regionCharges_[ i ];
157        }
158      }
# Line 183 | Line 183 | namespace OpenMD {
183  
184        for (atom = mol->beginFluctuatingCharge(j); atom != NULL;
185             atom = mol->nextFluctuatingCharge(j)) {
186 <        //constrainedFrc = atom->getFlucQFrc() - totalFrc - totalMolFrc;
186 >        constrainedFrc = atom->getFlucQFrc() - totalFrc - totalMolFrc;
187  
188 <        constrainedFrc = atom->getFlucQFrc() - totalMolFrc;
188 >        //constrainedFrc = atom->getFlucQFrc() - totalMolFrc;
189  
190          if (constrainRegions_)
191            constrainedFrc -= regionFrc;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines