correction to molecule-ID-increment logic

This commit is contained in:
jrgissing
2020-03-08 16:06:49 -06:00
parent d717eeba66
commit 73186e4d26
3 changed files with 23 additions and 4 deletions

View File

@ -672,7 +672,13 @@ void FixPour::pre_exchange()
fixshake->set_molecule(nlocalprev,maxtag_all,imol,coord,vnew,quat);
maxtag_all += natom;
if (mode == MOLECULE && atom->molecule_flag) maxmol_all++;
if (mode == MOLECULE && atom->molecule_flag) {
if (onemols[imol]->moleculeflag) {
maxmol_all += onemols[imol]->nmolecules;
} else {
maxmol_all++;
}
}
}
// warn if not successful with all insertions b/c too many attempts

View File

@ -609,7 +609,13 @@ void FixDeposit::pre_exchange()
maxtag_all += natom;
if (maxtag_all >= MAXTAGINT)
error->all(FLERR,"New atom IDs exceed maximum allowed ID");
if (mode == MOLECULE && atom->molecule_flag) maxmol_all++;
if (mode == MOLECULE && atom->molecule_flag) {
if (onemols[imol]->moleculeflag) {
maxmol_all += onemols[imol]->nmolecules;
} else {
maxmol_all++;
}
}
if (atom->map_style) {
atom->map_init();
atom->map_set();

View File

@ -492,9 +492,9 @@ void CreateAtoms::command(int narg, char **arg)
for (int m = 0; m < natoms; m++) {
if (molecule_flag) {
if (onemol->moleculeflag) {
molecule[ilocal] = moloffset + i + onemol->molecule[m];
molecule[ilocal] = moloffset + onemol->molecule[m];
} else {
molecule[ilocal] = moloffset + i+1;
molecule[ilocal] = moloffset + 1;
}
}
if (molecular == 2) {
@ -530,6 +530,13 @@ void CreateAtoms::command(int narg, char **arg)
}
ilocal++;
}
if (molecule_flag) {
if (onemol->moleculeflag) {
moloffset += onemol->nmolecules;
} else {
moloffset++;
}
}
}
// perform irregular comm to migrate atoms to new owning procs