Difference for src/ComputePme.C from version 1.220 to 1.221

version 1.220version 1.221
Line 476
Line 476
 #endif #endif
  
   int qsize, fsize, bsize;   int qsize, fsize, bsize;
   int alchFepOn, alchThermIntOn, lesOn, lesFactor, pairOn, selfOn, numGrids;   int alchOn, alchFepOn, alchThermIntOn, lesOn, lesFactor, pairOn, selfOn, numGrids;
   int alchDecouple;   int alchDecouple;
   int offload;   int offload;
   BigReal alchElecLambdaStart;   BigReal alchElecLambdaStart;
Line 875
Line 875
  
   alchLambda = -1.;  // illegal value to catch if not updated   alchLambda = -1.;  // illegal value to catch if not updated
  
    alchOn = simParams->alchOn;
   alchFepOn = simParams->alchFepOn;   alchFepOn = simParams->alchFepOn;
   alchThermIntOn = simParams->alchThermIntOn;   alchThermIntOn = simParams->alchThermIntOn;
   alchDecouple = (alchFepOn || alchThermIntOn) && (simParams->alchDecouple);   alchDecouple = alchOn && simParams->alchDecouple;
   alchElecLambdaStart = (alchFepOn || alchThermIntOn) ?    alchElecLambdaStart = alchOn ? simParams->alchElecLambdaStart : 0;
     simParams->alchElecLambdaStart : 0;   if (alchOn) {
   if (alchFepOn || alchThermIntOn) { 
     numGrids = 2;     numGrids = 2;
     if (alchDecouple) numGrids += 2;     if (alchDecouple) numGrids += 2;
     if (alchElecLambdaStart || alchThermIntOn) numGrids ++;     if (alchElecLambdaStart || alchThermIntOn) numGrids ++;
Line 2596
Line 2596
  
   offload = simParams->PMEOffload;   offload = simParams->PMEOffload;
  
    alchOn = simParams->alchOn;
   alchFepOn = simParams->alchFepOn;   alchFepOn = simParams->alchFepOn;
   alchThermIntOn = simParams->alchThermIntOn;   alchThermIntOn = simParams->alchThermIntOn;
   alchDecouple = (alchFepOn || alchThermIntOn) && (simParams->alchDecouple);   alchDecouple = alchOn && simParams->alchDecouple;
   alchElecLambdaStart = (alchFepOn || alchThermIntOn) ?    alchElecLambdaStart = alchOn ? simParams->alchElecLambdaStart : 0;
     simParams->alchElecLambdaStart : 0; 
                          
   if (alchFepOn || alchThermIntOn) {   if (alchOn) {
     numGrids = 2;     numGrids = 2;
     if (alchDecouple) numGrids += 2;     if (alchDecouple) numGrids += 2;
     if (alchElecLambdaStart || alchThermIntOn) numGrids ++;     if (alchElecLambdaStart || alchThermIntOn) numGrids ++;
Line 3031
Line 3031
   }   }
  
   // copy to other grids if needed   // copy to other grids if needed
   if ( ((alchFepOn || alchThermIntOn) && (!alchDecouple)) || lesOn ) {   if ( (alchOn && (!alchDecouple)) || lesOn ) {
     for ( g=0; g<numGrids; ++g ) {     for ( g=0; g<numGrids; ++g ) {
       PmeParticle *lgd = localGridData[g];       PmeParticle *lgd = localGridData[g];
       int nga = 0;       int nga = 0;
Line 3045
Line 3045
       }       }
       numGridAtoms[g] = nga;       numGridAtoms[g] = nga;
     }     }
   } else if ( (alchFepOn || alchThermIntOn) && alchDecouple) {   } else if ( alchOn && alchDecouple) {
     // alchemical decoupling: four grids     // alchemical decoupling: four grids
     // g=0: partition 0 and partition 1     // g=0: partition 0 and partition 1
     // g=1: partition 0 and partition 2     // g=1: partition 0 and partition 2
Line 3863
Line 3863
     localResults_alloc.resize(numLocalAtoms* ((numGrids>1 || selfOn)?2:1));     localResults_alloc.resize(numLocalAtoms* ((numGrids>1 || selfOn)?2:1));
     Vector *localResults = localResults_alloc.begin();     Vector *localResults = localResults_alloc.begin();
     Vector *gridResults;     Vector *gridResults;
     if ( alchFepOn || alchThermIntOn || lesOn || selfOn || pairOn ) {     if ( alchOn || lesOn || selfOn || pairOn ) {
       for(int i=0; i<numLocalAtoms; ++i) { localResults[i] = 0.; }       for(int i=0; i<numLocalAtoms; ++i) { localResults[i] = 0.; }
       gridResults = localResults + numLocalAtoms;       gridResults = localResults + numLocalAtoms;
     } else {     } else {
Line 3893
Line 3893
  }  }
       scale_forces(gridResults, numGridAtoms[g], lattice);       scale_forces(gridResults, numGridAtoms[g], lattice);
              
       if ( alchFepOn || alchThermIntOn ) {       if (alchOn) {
         float scale = 1.;         float scale = 1.;
         BigReal elecLambdaUp, elecLambdaDown;         BigReal elecLambdaUp, elecLambdaDown;
         if ( simParams->alchFepWhamOn ) {         if ( simParams->alchFepWhamOn ) {
Line 4051
Line 4051
  
     for ( int g=0; g<numGrids; ++g ) {     for ( int g=0; g<numGrids; ++g ) {
       float scale = 1.;       float scale = 1.;
       if ( alchFepOn || alchThermIntOn ) {       if (alchOn) {
         BigReal elecLambdaUp, elecLambdaDown;         BigReal elecLambdaUp, elecLambdaDown;
         if( simParams->alchFepWhamOn ) {         if( simParams->alchFepWhamOn ) {
           if( simParams->alchFepElecOn ) {           if( simParams->alchFepElecOn ) {


Legend:
Removed in v.1.220 
changed lines
 Added in v.1.221



Made by using version 1.53 of cvs2html