update to latest upstream and modernize neighbor list request handling

This commit is contained in:
Axel Kohlmeyer
2022-04-09 07:00:39 -04:00
parent 19b42bc726
commit cab6fca22e
3 changed files with 15 additions and 25 deletions

View File

@ -376,10 +376,8 @@ void FixElectrodeConp::init()
if (etypes_neighlists)
request_etypes_neighlists();
else {
int irequest = neighbor->request(this, instance_me);
neighbor->requests[irequest]->pair = 0;
neighbor->requests[irequest]->fix = 1;
if (intelflag) neighbor->requests[irequest]->intel = 1;
auto Req = neighbor->add_request(this);
if (intelflag) Req->enable_intel();
}
}
@ -1158,30 +1156,15 @@ void FixElectrodeConp::request_etypes_neighlists()
}
if (!(read_inv || read_mat)) {
mat_request = neighbor->request(this, instance_me);
NeighRequest *matRq = neighbor->requests[mat_request];
matRq->pair = 0;
matRq->fix = 1;
matRq->half = 1;
matRq->full = 0;
matRq->occasional = 1;
matRq->skip = 1;
matRq->iskip = iskip_mat;
matRq->ijskip = ijskip_mat;
if (intelflag) matRq->intel = 1;
auto matReq = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
matReq->set_skip(iskip_mat,ijskip_mat);
if (intelflag) matReq->enable_intel();
} else {
delete[] iskip_mat;
memory->destroy(ijskip_mat);
}
vec_request = neighbor->request(this, instance_me);
NeighRequest *vecRq = neighbor->requests[vec_request];
vecRq->pair = 0;
vecRq->fix = 1;
vecRq->half = 1;
vecRq->full = 0;
vecRq->skip = 1;
vecRq->iskip = iskip_vec;
vecRq->ijskip = ijskip_vec;
if (intelflag) vecRq->intel = 1;
auto vecReq = neighbor->add_request(this);
vecReq->set_skip(iskip_vec,ijskip_vec);
if (intelflag) vecReq->enable_intel();
}

View File

@ -317,3 +317,9 @@ void NeighRequest::enable_ghost()
{
ghost = 1;
}
void NeighRequest::enable_intel()
{
intel = 1;
omp = 0;
}

View File

@ -137,6 +137,7 @@ class NeighRequest : protected Pointers {
void set_skip(int *, int **);
void enable_full();
void enable_ghost();
void enable_intel();
int get_size() const { return size; }
void *get_requestor() const { return requestor; }