ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/brains/SimInfo.cpp
(Generate patch)

Comparing trunk/src/brains/SimInfo.cpp (file contents):
Revision 963 by tim, Wed May 17 21:51:42 2006 UTC vs.
Revision 998 by chrisfen, Mon Jul 3 13:18:43 2006 UTC

# Line 89 | Line 89 | namespace oopse {
89      nGlobalIntegrableObjects_(0), nGlobalRigidBodies_(0),
90      nAtoms_(0), nBonds_(0),  nBends_(0), nTorsions_(0), nRigidBodies_(0),
91      nIntegrableObjects_(0),  nCutoffGroups_(0), nConstraints_(0),
92 <    sman_(NULL), fortranInitialized_(false) {
92 >    sman_(NULL), fortranInitialized_(false), calcBoxDipole_(false) {
93  
94        MoleculeStamp* molStamp;
95        int nMolWithSameStamp;
# Line 602 | Line 602 | namespace oopse {
602      
603      setupElectrostaticSummationMethod( isError );
604      setupSwitchingFunction();
605 +    setupAccumulateBoxDipole();
606  
607      if(isError){
608        sprintf( painCave.errMsg,
# Line 661 | Line 662 | namespace oopse {
662      int usePBC = simParams_->getUsePeriodicBoundaryConditions();
663      int useRF;
664      int useSF;
665 +    int useSP;
666 +    int useBoxDipole;
667      std::string myMethod;
668  
669      // set the useRF logical
# Line 671 | Line 674 | namespace oopse {
674      if (simParams_->haveElectrostaticSummationMethod()) {
675        std::string myMethod = simParams_->getElectrostaticSummationMethod();
676        toUpper(myMethod);
677 <      if (myMethod == "REACTION_FIELD") {
677 >      if (myMethod == "REACTION_FIELD"){
678          useRF=1;
679 <      } else {
680 <        if (myMethod == "SHIFTED_FORCE") {
681 <          useSF = 1;
682 <        }
679 >      } else if (myMethod == "SHIFTED_FORCE"){
680 >        useSF = 1;
681 >      } else if (myMethod == "SHIFTED_POTENTIAL"){
682 >        useSP = 1;
683        }
684      }
685 +    
686 +    if (simParams_->haveAccumulateBoxDipole())
687 +      if (simParams_->getAccumulateBoxDipole())
688 +        useBoxDipole = 1;
689  
690      //loop over all of the atom types
691      for (i = atomTypes.begin(); i != atomTypes.end(); ++i) {
# Line 749 | Line 756 | namespace oopse {
756      MPI_Allreduce(&temp, &useRF, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD);    
757  
758      temp = useSF;
759 <    MPI_Allreduce(&temp, &useSF, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD);    
759 >    MPI_Allreduce(&temp, &useSF, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD);  
760  
761 +    temp = useSP;
762 +    MPI_Allreduce(&temp, &useSP, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD);
763 +
764 +    temp = useBoxDipole;
765 +    MPI_Allreduce(&temp, &useBoxDipole, 1, MPI_INT, MPI_LOR, MPI_COMM_WORLD);
766 +
767   #endif
768  
769      fInfo_.SIM_uses_PBC = usePBC;    
# Line 768 | Line 781 | namespace oopse {
781      fInfo_.SIM_uses_FLARB = useFLARB;
782      fInfo_.SIM_uses_RF = useRF;
783      fInfo_.SIM_uses_SF = useSF;
784 +    fInfo_.SIM_uses_SP = useSP;
785 +    fInfo_.SIM_uses_BoxDipole = useBoxDipole;
786  
787      if( myMethod == "REACTION_FIELD") {
788        
# Line 1161 | Line 1176 | namespace oopse {
1176  
1177    }
1178  
1179 +  void SimInfo::setupAccumulateBoxDipole() {    
1180 +
1181 +    // we only call setAccumulateBoxDipole if the accumulateBoxDipole parameter is true
1182 +    if ( simParams_->haveAccumulateBoxDipole() )
1183 +      if ( simParams_->getAccumulateBoxDipole() ) {
1184 +        setAccumulateBoxDipole();
1185 +        calcBoxDipole_ = true;
1186 +      }
1187 +
1188 +  }
1189 +
1190    void SimInfo::addProperty(GenericData* genData) {
1191      properties_.addProperty(genData);  
1192    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines