Merge pull request #2963 from akohlmey/hybrid-one-coeff-bugfix
Make sure the one_coeff flag is applied to hybrid sub-styles
This commit is contained in:
@ -512,13 +512,16 @@ void PairHybrid::coeff(int narg, char **arg)
|
||||
// then unset setflag/map assigned to that style before setting it below
|
||||
// in case pair coeff for this sub-style is being called for 2nd time
|
||||
|
||||
if (!none && styles[m]->one_coeff)
|
||||
if (!none && styles[m]->one_coeff) {
|
||||
if ((strcmp(arg[0],"*") != 0) || (strcmp(arg[1],"*") != 0))
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
for (int j = i; j <= atom->ntypes; j++)
|
||||
if (nmap[i][j] && map[i][j][0] == m) {
|
||||
setflag[i][j] = 0;
|
||||
nmap[i][j] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// set setflag and which type pairs map to which sub-style
|
||||
// if sub-style is none: set hybrid setflag, wipe out map
|
||||
|
||||
@ -70,6 +70,12 @@ void PairHybridOverlay::coeff(int narg, char **arg)
|
||||
arg[2+multflag] = arg[1];
|
||||
arg[1+multflag] = arg[0];
|
||||
|
||||
// ensure that one_coeff flag is honored
|
||||
|
||||
if (!none && styles[m]->one_coeff)
|
||||
if ((strcmp(arg[0],"*") != 0) || (strcmp(arg[1],"*") != 0))
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
|
||||
// invoke sub-style coeff() starting with 1st remaining arg
|
||||
|
||||
if (!none) styles[m]->coeff(narg-1-multflag,arg+1+multflag);
|
||||
|
||||
@ -474,6 +474,12 @@ void PairHybridScaled::coeff(int narg, char **arg)
|
||||
arg[2 + multflag] = arg[1];
|
||||
arg[1 + multflag] = arg[0];
|
||||
|
||||
// ensure that one_coeff flag is honored
|
||||
|
||||
if (!none && styles[m]->one_coeff)
|
||||
if ((strcmp(arg[0],"*") != 0) || (strcmp(arg[1],"*") != 0))
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
|
||||
// invoke sub-style coeff() starting with 1st remaining arg
|
||||
|
||||
if (!none) styles[m]->coeff(narg - 1 - multflag, &arg[1 + multflag]);
|
||||
|
||||
Reference in New Issue
Block a user