Fix logic for neigh/trim yes and multiple runs
This commit is contained in:
@ -304,8 +304,6 @@ void PairHybrid::settings(int narg, char **arg)
|
|||||||
// allocate list of sub-styles as big as possibly needed if no extra args
|
// allocate list of sub-styles as big as possibly needed if no extra args
|
||||||
|
|
||||||
styles = new Pair *[narg];
|
styles = new Pair *[narg];
|
||||||
cutmax_style = new double[narg];
|
|
||||||
memset(cutmax_style, 0.0, narg*sizeof(double));
|
|
||||||
keywords = new char *[narg];
|
keywords = new char *[narg];
|
||||||
multiple = new int[narg];
|
multiple = new int[narg];
|
||||||
|
|
||||||
@ -347,6 +345,9 @@ void PairHybrid::settings(int narg, char **arg)
|
|||||||
nstyles++;
|
nstyles++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cutmax_style = new double[nstyles];
|
||||||
|
memset(cutmax_style, 0.0, nstyles*sizeof(double));
|
||||||
|
|
||||||
// multiple[i] = 1 to M if sub-style used multiple times, else 0
|
// multiple[i] = 1 to M if sub-style used multiple times, else 0
|
||||||
|
|
||||||
int num_tip4p = 0, num_coul = 0; // count sub-styles with tip4p and coulomb
|
int num_tip4p = 0, num_coul = 0; // count sub-styles with tip4p and coulomb
|
||||||
@ -582,6 +583,8 @@ void PairHybrid::init_style()
|
|||||||
{
|
{
|
||||||
int i,m,itype,jtype,used,istyle,skip;
|
int i,m,itype,jtype,used,istyle,skip;
|
||||||
|
|
||||||
|
memset(cutmax_style, 0.0, nstyles*sizeof(double));
|
||||||
|
|
||||||
// error if a sub-style is not used
|
// error if a sub-style is not used
|
||||||
|
|
||||||
int ntypes = atom->ntypes;
|
int ntypes = atom->ntypes;
|
||||||
@ -750,7 +753,7 @@ double PairHybrid::init_one(int i, int j)
|
|||||||
cutmax_style[istyle] = cut;
|
cutmax_style[istyle] = cut;
|
||||||
|
|
||||||
for (auto &request : neighbor->get_pair_requests()) {
|
for (auto &request : neighbor->get_pair_requests()) {
|
||||||
if (styles[istyle] == request->get_requestor() && styles[istyle]->trim_flag) {
|
if (styles[istyle] == request->get_requestor()) {
|
||||||
request->set_cutoff(cutmax_style[istyle]);
|
request->set_cutoff(cutmax_style[istyle]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user