Created local_boundcondstep_GBC()

This commit is contained in:
Miikka Vaisala
2020-11-20 16:07:33 +08:00
parent f87d65408c
commit 06bacf298a

View File

@@ -657,22 +657,24 @@ local_boundcondstep(const Node node, const Stream stream, const VertexBufferHand
} }
static AcResult static AcResult
local_boundcondstep_GBC(const Node node, const Stream stream, const VertexBufferHandle vtxbuf) //TODO ADAPT local_boundcondstep_GBC(const Node node, const Stream stream, const VertexBufferHandle vtxbuf, const MeshInfo config)
{ {
acNodeSynchronizeStream(node, stream); acNodeSynchronizeStream(node, stream);
int3 bindex = {-1, -1, -1} //Dummy for node level. Relevant only for MPI.
if (node->num_devices > 1) { if (node->num_devices > 1) {
// Local boundary conditions // Local boundary conditions
// #pragma omp parallel for // #pragma omp parallel for
for (int i = 0; i < node->num_devices; ++i) { for (int i = 0; i < node->num_devices; ++i) {
const int3 d0 = (int3){0, 0, NGHOST}; // DECOMPOSITION OFFSET HERE const int3 d0 = (int3){0, 0, NGHOST}; // DECOMPOSITION OFFSET HERE
const int3 d1 = (int3){node->subgrid.m.x, node->subgrid.m.y, d0.z + node->subgrid.n.z}; const int3 d1 = (int3){node->subgrid.m.x, node->subgrid.m.y, d0.z + node->subgrid.n.z};
acDeviceGeneralBoundcondStep(node->devices[i], stream, vtxbuf, d0, d1); acDeviceGeneralBoundcondStep(node->devices[i], stream, vtxbuf, d0, d1, config, bindex);
} }
} }
else { else {
acDeviceGeneralBoundcondStep(node->devices[0], stream, vtxbuf, (int3){0, 0, 0}, acDeviceGeneralBoundcondStep(node->devices[0], stream, vtxbuf, (int3){0, 0, 0},
node->subgrid.m); node->subgrid.m, config, bindex);
} }
return AC_SUCCESS; return AC_SUCCESS;
} }