| version 1.1191 | version 1.1192 |
|---|
| |
| plint *pairlistn = pairlists.newlist(j_upper + 5 + 5 ALCH( + 20 )); | plint *pairlistn = pairlists.newlist(j_upper + 5 + 5 ALCH( + 20 )); |
| register plint *plin = pairlistn; | register plint *plin = pairlistn; |
| | |
| | |
| | if ( qmForcesOn ) { |
| | |
| | Real qmGroup_i = mol->get_qmAtomGroup(pExt_i.id); |
| | |
| | for (int k=pairlistoffset; k<pairlistindex; k++) { |
| | j = pairlist[k]; |
| | |
| | Real qmGroup_j = mol->get_qmAtomGroup(pExt_1[j].id); |
| | |
| | // There can be no non-bonded interaction between an QM-QM pair of the same QM group |
| | if (qmGroup_i > 0) { |
| | if (qmGroup_i == qmGroup_j) { |
| | continue; |
| | } else { |
| | *(pli++) = j; |
| | } |
| | } else { |
| | *(pli++) = j; |
| | } |
| | } |
| | |
| | int npair2_int = pli - pairlist2; |
| | pli = pairlist2; |
| | for (int k=0; k<npair2_int; k++) { |
| | |
| | j = pairlist2[k]; |
| | |
| | BigReal p_j_x = p_1[j].position.x; |
| | BigReal r2 = p_i_x - p_j_x; |
| | r2 *= r2; |
| | BigReal p_j_y = p_1[j].position.y; |
| | BigReal t2 = p_i_y - p_j_y; |
| | r2 += t2 * t2; |
| | BigReal p_j_z = p_1[j].position.z; |
| | t2 = p_i_z - p_j_z; |
| | r2 += t2 * t2; |
| | |
| | if ( ( ! (atomfixed && pExt_1[j].atomFixed) ) && (r2 <= plcutoff2) ) { |
| | int atom2 = pExt_1[j].id; |
| | if ( atom2 >= excl_min && atom2 <= excl_max ) *(pli++) = j; |
| | else *(plin++) = j; |
| | } |
| | } |
| | } else |
| | |
| | |
| | |
| INT( | INT( |
| if ( pairInteractionOn ) { | if ( pairInteractionOn ) { |
| const int ifep_type = p_i.partition; | const int ifep_type = p_i.partition; |