| 637 | 
  | 
    // Collect from all nodes.  This should eventually be moved into a | 
| 638 | 
  | 
    // SystemDecomposition, but this is a better place than in | 
| 639 | 
  | 
    // Thermo to do the collection. | 
| 640 | 
< | 
    MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &bondPotential, 1, MPI::REALTYPE,  | 
| 641 | 
< | 
                              MPI::SUM); | 
| 642 | 
< | 
    MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &bendPotential, 1, MPI::REALTYPE,  | 
| 643 | 
< | 
                              MPI::SUM); | 
| 644 | 
< | 
    MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &torsionPotential, 1,  | 
| 645 | 
< | 
                              MPI::REALTYPE, MPI::SUM); | 
| 646 | 
< | 
    MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &inversionPotential, 1,  | 
| 647 | 
< | 
                              MPI::REALTYPE, MPI::SUM); | 
| 640 | 
> | 
 | 
| 641 | 
> | 
    MPI_Allreduce(MPI_IN_PLACE, &bondPotential, 1, MPI_REALTYPE,  | 
| 642 | 
> | 
                  MPI_SUM, MPI_COMM_WORLD); | 
| 643 | 
> | 
    MPI_Allreduce(MPI_IN_PLACE, &bendPotential, 1, MPI_REALTYPE,  | 
| 644 | 
> | 
                  MPI_SUM, MPI_COMM_WORLD); | 
| 645 | 
> | 
    MPI_Allreduce(MPI_IN_PLACE, &torsionPotential, 1,  | 
| 646 | 
> | 
                  MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); | 
| 647 | 
> | 
    MPI_Allreduce(MPI_IN_PLACE, &inversionPotential, 1,  | 
| 648 | 
> | 
                  MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); | 
| 649 | 
> | 
    // MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &bondPotential, 1, MPI::REALTYPE,  | 
| 650 | 
> | 
    //                           MPI::SUM); | 
| 651 | 
> | 
    // MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &bendPotential, 1, MPI::REALTYPE,  | 
| 652 | 
> | 
    //                           MPI::SUM); | 
| 653 | 
> | 
    // MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &torsionPotential, 1,  | 
| 654 | 
> | 
    //                           MPI::REALTYPE, MPI::SUM); | 
| 655 | 
> | 
    // MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, &inversionPotential, 1,  | 
| 656 | 
> | 
    //                           MPI::REALTYPE, MPI::SUM); | 
| 657 | 
  | 
#endif | 
| 658 | 
  | 
 | 
| 659 | 
  | 
    Snapshot* curSnapshot = info_->getSnapshotManager()->getCurrentSnapshot(); | 
| 675 | 
  | 
    DataStorage* config = &(curSnapshot->atomData); | 
| 676 | 
  | 
    DataStorage* cgConfig = &(curSnapshot->cgData); | 
| 677 | 
  | 
 | 
| 678 | 
+ | 
 | 
| 679 | 
  | 
    //calculate the center of mass of cutoff group | 
| 680 | 
  | 
 | 
| 681 | 
  | 
    SimInfo::MoleculeIterator mi; | 
| 719 | 
  | 
    RealType dVdFQ1(0.0); | 
| 720 | 
  | 
    RealType dVdFQ2(0.0); | 
| 721 | 
  | 
    potVec longRangePotential(0.0); | 
| 722 | 
< | 
    potVec reciprocalPotential(0.0); | 
| 722 | 
> | 
    RealType reciprocalPotential(0.0); | 
| 723 | 
  | 
    potVec workPot(0.0); | 
| 724 | 
  | 
    potVec exPot(0.0); | 
| 725 | 
  | 
    Vector3d eField1(0.0); | 
| 780 | 
  | 
        rgrpsq = d_grp.lengthSquare(); | 
| 781 | 
  | 
 | 
| 782 | 
  | 
        if (rgrpsq < rCutSq) { | 
| 773 | 
– | 
 | 
| 783 | 
  | 
          if (iLoop == PAIR_LOOP) { | 
| 784 | 
  | 
            vij = 0.0; | 
| 785 | 
  | 
            fij.zero(); | 
| 836 | 
  | 
                | 
| 837 | 
  | 
                r = sqrt( *(idat.r2) ); | 
| 838 | 
  | 
                idat.rij = &r; | 
| 839 | 
< | 
                | 
| 839 | 
> | 
 | 
| 840 | 
  | 
                if (iLoop == PREPAIR_LOOP) { | 
| 841 | 
  | 
                  interactionMan_->doPrePair(idat); | 
| 842 | 
  | 
                } else { | 
| 937 | 
  | 
    fDecomp_->collectData(); | 
| 938 | 
  | 
    if (cutoffMethod_ == EWALD_FULL) { | 
| 939 | 
  | 
      interactionMan_->doReciprocalSpaceSum(reciprocalPotential); | 
| 940 | 
+ | 
 | 
| 941 | 
+ | 
      curSnapshot->setReciprocalPotential(reciprocalPotential); | 
| 942 | 
  | 
    } | 
| 943 | 
  | 
         | 
| 944 | 
  | 
    if (info_->requiresSelfCorrection()) { | 
| 952 | 
  | 
    fDecomp_->collectSelfData(); | 
| 953 | 
  | 
 | 
| 954 | 
  | 
    longRangePotential = *(fDecomp_->getEmbeddingPotential()) +  | 
| 955 | 
< | 
      *(fDecomp_->getPairwisePotential()) + reciprocalPotential; | 
| 955 | 
> | 
      *(fDecomp_->getPairwisePotential()); | 
| 956 | 
  | 
 | 
| 957 | 
  | 
    curSnapshot->setLongRangePotential(longRangePotential); | 
| 958 | 
  | 
     | 
| 986 | 
  | 
    } | 
| 987 | 
  | 
     | 
| 988 | 
  | 
#ifdef IS_MPI | 
| 989 | 
< | 
    MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, stressTensor.getArrayPointer(), 9,  | 
| 990 | 
< | 
                              MPI::REALTYPE, MPI::SUM); | 
| 989 | 
> | 
    MPI_Allreduce(MPI_IN_PLACE, stressTensor.getArrayPointer(), 9,  | 
| 990 | 
> | 
      MPI_REALTYPE, MPI_SUM, MPI_COMM_WORLD); | 
| 991 | 
> | 
    // MPI::COMM_WORLD.Allreduce(MPI::IN_PLACE, stressTensor.getArrayPointer(), 9,  | 
| 992 | 
> | 
    //                           MPI::REALTYPE, MPI::SUM); | 
| 993 | 
  | 
#endif | 
| 994 | 
  | 
    curSnapshot->setStressTensor(stressTensor); | 
| 995 | 
  | 
     |