diff --git a/src/DPD-REACT/npair_half_bin_newton_ssa.cpp b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp index 7393e54f78..902921bc90 100644 --- a/src/DPD-REACT/npair_half_bin_newton_ssa.cpp +++ b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp @@ -203,10 +203,9 @@ void NPairHalfBinNewtonSSA::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) neighptr[n++] = j; else if (domain->minimum_image_check(delx,dely,delz)) @@ -286,11 +285,11 @@ void NPairHalfBinNewtonSSA::build(NeighList *list) which = find_special(special[j],nspecial[j],tag[i]); else { int jmol = molindex[j]; - if (jmol >= 0) { + if ((jmol >= 0) && onemols[jmol]->special) { int jatom = molatom[j]; which = find_special(onemols[jmol]->special[jatom], - onemols[jmol]->nspecial[jatom], - tag[i] - (tag[j] - jatom - 1)); + onemols[jmol]->nspecial[jatom], + tag[i] - (tag[j] - jatom - 1)); } else which = 0; } if (which == 0) neighptr[n++] = j; diff --git a/src/OPENMP/npair_bin_ghost_omp.cpp b/src/OPENMP/npair_bin_ghost_omp.cpp index 93dd7b1110..f33bd821f7 100644 --- a/src/OPENMP/npair_bin_ghost_omp.cpp +++ b/src/OPENMP/npair_bin_ghost_omp.cpp @@ -135,7 +135,7 @@ void NPairBinGhostOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/OPENMP/npair_bin_omp.cpp b/src/OPENMP/npair_bin_omp.cpp index 7922d76612..21bb887177 100644 --- a/src/OPENMP/npair_bin_omp.cpp +++ b/src/OPENMP/npair_bin_omp.cpp @@ -207,9 +207,9 @@ void NPairBinOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol] ->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol] ->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) @@ -230,9 +230,9 @@ void NPairBinOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) neighptr[n++] = j; diff --git a/src/OPENMP/npair_multi_old_omp.cpp b/src/OPENMP/npair_multi_old_omp.cpp index fa790e177a..d07240cf9b 100644 --- a/src/OPENMP/npair_multi_old_omp.cpp +++ b/src/OPENMP/npair_multi_old_omp.cpp @@ -204,7 +204,7 @@ void NPairMultiOldOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else @@ -223,7 +223,7 @@ void NPairMultiOldOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/OPENMP/npair_multi_omp.cpp b/src/OPENMP/npair_multi_omp.cpp index cbc21ebc29..c85726f4fb 100644 --- a/src/OPENMP/npair_multi_omp.cpp +++ b/src/OPENMP/npair_multi_omp.cpp @@ -232,9 +232,9 @@ void NPairMultiOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) @@ -255,9 +255,9 @@ void NPairMultiOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) diff --git a/src/OPENMP/npair_nsq_ghost_omp.cpp b/src/OPENMP/npair_nsq_ghost_omp.cpp index a270fbb84d..59fa8ed6f5 100644 --- a/src/OPENMP/npair_nsq_ghost_omp.cpp +++ b/src/OPENMP/npair_nsq_ghost_omp.cpp @@ -131,7 +131,7 @@ void NPairNsqGhostOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/OPENMP/npair_nsq_omp.cpp b/src/OPENMP/npair_nsq_omp.cpp index 5d6aa518b0..1a7058791c 100644 --- a/src/OPENMP/npair_nsq_omp.cpp +++ b/src/OPENMP/npair_nsq_omp.cpp @@ -181,7 +181,7 @@ void NPairNsqOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else @@ -200,7 +200,7 @@ void NPairNsqOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/OPENMP/npair_respa_bin_omp.cpp b/src/OPENMP/npair_respa_bin_omp.cpp index a069affb06..691d807498 100644 --- a/src/OPENMP/npair_respa_bin_omp.cpp +++ b/src/OPENMP/npair_respa_bin_omp.cpp @@ -204,7 +204,7 @@ void NPairRespaBinOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/OPENMP/npair_respa_nsq_omp.cpp b/src/OPENMP/npair_respa_nsq_omp.cpp index deba473678..8483872ca0 100644 --- a/src/OPENMP/npair_respa_nsq_omp.cpp +++ b/src/OPENMP/npair_respa_nsq_omp.cpp @@ -186,7 +186,7 @@ void NPairRespaNsqOmp::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/npair_bin.cpp b/src/npair_bin.cpp index 2c6fbbb49b..3ed567a008 100644 --- a/src/npair_bin.cpp +++ b/src/npair_bin.cpp @@ -199,9 +199,9 @@ void NPairBin::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) @@ -222,9 +222,9 @@ void NPairBin::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) diff --git a/src/npair_bin_ghost.cpp b/src/npair_bin_ghost.cpp index 8403bc8f3d..5efe7898bb 100644 --- a/src/npair_bin_ghost.cpp +++ b/src/npair_bin_ghost.cpp @@ -130,9 +130,9 @@ void NPairBinGhost::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) diff --git a/src/npair_multi.cpp b/src/npair_multi.cpp index 44c68a9195..f41088d324 100644 --- a/src/npair_multi.cpp +++ b/src/npair_multi.cpp @@ -229,9 +229,9 @@ void NPairMulti::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) @@ -252,9 +252,9 @@ void NPairMulti::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], - tag[j] - tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], + onemols[imol]->nspecial[iatom], tag[j] - tagprev); else which = 0; if (which == 0) diff --git a/src/npair_multi_old.cpp b/src/npair_multi_old.cpp index 3d983bd7fd..8d2bb71f10 100644 --- a/src/npair_multi_old.cpp +++ b/src/npair_multi_old.cpp @@ -197,7 +197,7 @@ void NPairMultiOld::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else @@ -216,7 +216,7 @@ void NPairMultiOld::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/npair_nsq.cpp b/src/npair_nsq.cpp index 9f469de480..ec64e7d2a3 100644 --- a/src/npair_nsq.cpp +++ b/src/npair_nsq.cpp @@ -173,7 +173,7 @@ void NPairNsq::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else @@ -192,7 +192,7 @@ void NPairNsq::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/npair_nsq_ghost.cpp b/src/npair_nsq_ghost.cpp index 47009deff7..2f9c5123b7 100644 --- a/src/npair_nsq_ghost.cpp +++ b/src/npair_nsq_ghost.cpp @@ -127,10 +127,9 @@ void NPairNsqGhost::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i],nspecial[i],tag[j]); - else if (imol >= 0) - which = find_special(onemols[imol]->special[iatom], - onemols[imol]->nspecial[iatom], - tag[j]-tagprev); + else if ((imol >= 0) && onemols[imol]->special) + which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], + tag[j] - tagprev); else which = 0; if (which == 0) neighptr[n++] = j; else if (domain->minimum_image_check(delx,dely,delz)) diff --git a/src/npair_respa_bin.cpp b/src/npair_respa_bin.cpp index 5347f4d3a0..6a6c52de87 100644 --- a/src/npair_respa_bin.cpp +++ b/src/npair_respa_bin.cpp @@ -192,7 +192,7 @@ void NPairRespaBin::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else diff --git a/src/npair_respa_nsq.cpp b/src/npair_respa_nsq.cpp index 065c9eb6d6..43bf0d649c 100644 --- a/src/npair_respa_nsq.cpp +++ b/src/npair_respa_nsq.cpp @@ -179,7 +179,7 @@ void NPairRespaNsq::build(NeighList *list) if (molecular != Atom::ATOMIC) { if (!moltemplate) which = find_special(special[i], nspecial[i], tag[j]); - else if (imol >= 0) + else if ((imol >= 0) && onemols[imol]->special) which = find_special(onemols[imol]->special[iatom], onemols[imol]->nspecial[iatom], tag[j] - tagprev); else