Difference for src/ComputeNonbondedBase2.h from version 1.25 to 1.26

version 1.25version 1.26
Line 87
Line 87
       BigReal kqq = kq_i * p_j->charge;       BigReal kqq = kq_i * p_j->charge;
  
       FEP(       FEP(
         const int jfep_table_index = 2*p_j->partition;         const BigReal lambda_vdw_1 = lambda_vdw_table_i[2*p_j->partition];
         const BigReal lambda_pair = lambda_table_i[jfep_table_index];         const BigReal lambda_vdw_2 = lambda_vdw_table_i[2*p_j->partition+1];
         const BigReal d_lambda_pair = lambda_table_i[jfep_table_index+1];         const BigReal lambda_elec_1 = lambda_elec_table_i[2*p_j->partition];
          const BigReal lambda_elec_2 = lambda_elec_table_i[2*p_j->partition+1];
       )       )
  
       LES( BigReal lambda_pair = lambda_table_i[p_j->partition]; )       LES( BigReal lambda_pair = lambda_table_i[p_j->partition]; )
Line 117
Line 118
         // The VdW parameters with the _1 and _2 suffix correspond to          // The VdW parameters with the _1 and _2 suffix correspond to 
         // lambda1 and lambda2, respectively, and are used to construct         // lambda1 and lambda2, respectively, and are used to construct
         // the scaled FEP VdW potential         // the scaled FEP VdW potential
         const BigReal r2_1 = r2 + lambda_shift_table_i[jfep_table_index];         const BigReal r2_1 = r2 + lambda_shift_table_i[2*p_j->partition];
         const BigReal r6_1 = r2_1*r2_1*r2_1;         const BigReal r6_1 = r2_1*r2_1*r2_1;
         const BigReal A_1 = A * lambda_scale_table_i[jfep_table_index] * lambda_scale_table_i[jfep_table_index]; 
         const BigReal B_1 = B * lambda_scale_table_i[jfep_table_index]; 
                  
         const BigReal r2_2 = r2 + lambda_shift_table_i[jfep_table_index+1];         const BigReal r2_2 = r2 + lambda_shift_table_i[2*p_j->partition+1];
         const BigReal r6_2 = r2_2*r2_2*r2_2;         const BigReal r6_2 = r2_2*r2_2*r2_2;
         const BigReal A_2 = A * lambda_scale_table_i[jfep_table_index+1] * lambda_scale_table_i[jfep_table_index+1]; 
         const BigReal B_2 = B * lambda_scale_table_i[jfep_table_index+1]; 
       )          )   
                      
       ENERGY(       ENERGY(
Line 140
Line 137
                  switchfactor*(cutoff2 - r2)*(cutoff2 - r2)*(cutoff2 - 3.*switchdist2 + 2.*r2) \                  switchfactor*(cutoff2 - r2)*(cutoff2 - r2)*(cutoff2 - 3.*switchdist2 + 2.*r2) \
                  : 1.;                  : 1.;
                  
         const BigReal fep_vdw_energy = A_1/(r6_1*r6_1) - B_1/r6_1; // needed later         const BigReal fep_vdw_energy = A/(r6_1*r6_1) - B/r6_1; // needed later
                        
         // modified FEP potential for vdW         // modified FEP potential for vdW
         vdwEnergy   +=   lambda_pair * fep_vdw_energy * switchmul;         vdwEnergy   += lambda_vdw_1 * fep_vdw_energy * switchmul;
         vdwEnergy_s += d_lambda_pair * (A_2/(r6_2*r6_2) - B_2/r6_2) * switchmul;         vdwEnergy_s += lambda_vdw_2 * (A/(r6_2*r6_2) - B/r6_2) * switchmul;
       )       )
       ) // ENERGY       ) // ENERGY
 #endif // FAST #endif // FAST
Line 184
Line 181
         electEnergy -=  LAM(lambda_pair *) fast_val;         electEnergy -=  LAM(lambda_pair *) fast_val;
       )       )
       FEP(       FEP(
         electEnergy   -=   lambda_pair * fast_val;         electEnergy   -= lambda_elec_1 * fast_val;
         electEnergy_s -= d_lambda_pair * fast_val;          electEnergy_s -= lambda_elec_2 * fast_val; 
       )       )
       ) //ENERGY       ) //ENERGY
  
Line 204
Line 201
         fast_d += vdw_d;         fast_d += vdw_d;
         fast_c += vdw_c;         fast_c += vdw_c;
         fast_b += vdw_b;         fast_b += vdw_b;
         fast_a += vdw_a;         fast_a += vdw_a;  // not used!
         register BigReal fast_dir =         register BigReal fast_dir =
                     (diffa * fast_d + fast_c) * diffa + fast_b;                     (diffa * fast_d + fast_c) * diffa + fast_b;
         BigReal force_r =  LAM(lambda_pair *) fast_dir;         BigReal force_r =  LAM(lambda_pair *) fast_dir;
Line 218
Line 215
              
         // FEP force for Coulomb and vdW         // FEP force for Coulomb and vdW
         register BigReal fast_elect_dir = (diffa * fast_d + fast_c) * diffa + fast_b;         register BigReal fast_elect_dir = (diffa * fast_d + fast_c) * diffa + fast_b;
         const BigReal force_r = lambda_pair * ( fast_elect_dir   \         const BigReal force_r = lambda_elec_1 * fast_elect_dir \
                             + (12.*fep_vdw_energy + 6.*B_1/r6_1)/r2_1 * switchmul \                           +  lambda_vdw_1 * (  \
                            + (12.*fep_vdw_energy + 6.*B/r6_1)/r2_1 * switchmul \
                             + fep_vdw_energy * switchmul2);                             + fep_vdw_energy * switchmul2);
       )       )
                      
Line 332
Line 330
       )       )
                      
       FEP(       FEP(
         fullElectEnergy   -=   lambda_pair * slow_val;         fullElectEnergy   -= lambda_elec_1 * slow_val;
         fullElectEnergy_s -= d_lambda_pair * slow_val;          fullElectEnergy_s -= lambda_elec_2 * slow_val; 
       )       )
       ) // ENERGY       ) // ENERGY
  
Line 345
Line 343
       reduction[pairElectForceIndex_Z] += force_sign * slow_dir * p_ij_z;       reduction[pairElectForceIndex_Z] += force_sign * slow_dir * p_ij_z;
       } )       } )
  
  
        NOT_FEP ( 
       FAST(       FAST(
       NOSHORT(       NOSHORT(
       slow_d += vdw_d;       slow_d += vdw_d;
       slow_c += vdw_c;       slow_c += vdw_c;
       slow_b += vdw_b;       slow_b += vdw_b;
       slow_a += vdw_a;         slow_a += vdw_a; // unused!
       )       )
       )       )
  
       register BigReal slow_dir = (diffa * slow_d + slow_c) * diffa + slow_b;       register BigReal slow_dir = (diffa * slow_d + slow_c) * diffa + slow_b;
       NOT_FEP (  
         BigReal fullforce_r = slow_dir LAM(* lambda_pair);         BigReal fullforce_r = slow_dir LAM(* lambda_pair);
       )       )
       FEP (        FEP ( 
         BigReal fullforce_r = slow_dir * lambda_pair;         register BigReal slow_dir = (diffa * slow_d + slow_c) * diffa + slow_b;
          BigReal fullforce_r = lambda_elec_1 * slow_dir;
            
          FAST( NOSHORT(
            const BigReal switchmul2 = (r2 > switchdist2)? \
                12.*switchfactor*(cutoff2 - r2)*(r2 - switchdist2) : 0.;
  
            fullforce_r += lambda_vdw_1 * ( \
                (12.*fep_vdw_energy + 6.*B/r6_1)/r2_1 * switchmul \
                 + fep_vdw_energy * switchmul2);
          ))
       )       )
                      
       {       {


Legend:
Removed in v.1.25 
changed lines
 Added in v.1.26



Made by using version 1.53 of cvs2html