Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions src/MeshBlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,32 +137,35 @@
int* icft; // frequency table for nodal containment
int mapdims[3]; // dimensions of the map
double mapdx[3]; // sides of the map
public:
int* iblank; /** < iblank value for each grid node */
int* iblank; /** < iblank value for each grid node */
int* iblank_reduced;

int ntotalPointsCart;
double* rxyzCart;
int* donorIdCart;
int donorListLength;

int nfringe;
int mexclude;

int meshtag; /** < tag of the mesh that this block belongs to */
int check_uniform_hex_flag;
double resolutionScale;
double searchTol;
int dominanceFlag; /**< if dominanceflag=1: set noderes to tiny number */

public:
//
// oriented bounding box of this partition
//
OBB* obb;

Check warning on line 161 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'obb' has public visibility [misc-non-private-member-variables-in-classes]
OBB* obh;

Check warning on line 162 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'obh' has public visibility [misc-non-private-member-variables-in-classes]
//
int nsearch; /** < number of query points to search in this block */

Check warning on line 164 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'nsearch' has public visibility [misc-non-private-member-variables-in-classes]
int* isearch; /** < index of query points in the remote process */

Check warning on line 165 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'isearch' has public visibility [misc-non-private-member-variables-in-classes]
int* tagsearch; /** < index of query points in the remote process */

Check warning on line 166 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'tagsearch' has public visibility [misc-non-private-member-variables-in-classes]
double* res_search; /** < resolution of search points */

Check warning on line 167 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'res_search' has public visibility [misc-non-private-member-variables-in-classes]
int* xtag; /** < hash to determine if there are duplicates */

Check warning on line 168 in src/MeshBlock.h

View workflow job for this annotation

GitHub Actions / Lint-clang-tidy

member variable 'xtag' has public visibility [misc-non-private-member-variables-in-classes]
double* xsearch; /** < coordinates of the query points */
double* rst; /** < natural coordinates */
int* donorId; /** < donor indices for those found */
Expand Down Expand Up @@ -571,6 +574,18 @@
{
return static_cast<char>((box1.hi >= box2.lo) && (box2.hi >= box1.lo));
}

int get_ntotalPointsCart() { return ntotalPointsCart; }

void set_nfringe(int num_fringe) { nfringe = num_fringe; }
void set_mexclude(int num_exclude) { mexclude = num_exclude; }

double* get_rxyzCart() { return rxyzCart; }
int* get_donorIdCart() { return donorIdCart; }
void set_donorIdCart(int id, int val) { donorIdCart[id] = val; }
void set_check_uniform_hex_flag(int flag) { check_uniform_hex_flag = flag; }
void set_resolutionScale(double res) { resolutionScale = res; }
double get_searchTol() { return searchTol; }
};

/* Mesh Block Complement Rank Data */
Expand Down
23 changes: 12 additions & 11 deletions src/exchangeAMRDonors.C
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@ void tioga::exchangeAMRDonors()
//
for (int ib = 0; ib < nblocks; ib++) {
auto& mb = mblocks[ib];
for (i = 0; i < mb->ntotalPointsCart; i++) {
if (mb->donorIdCart[i] != -1) {
gid = mb->donorIdCart[i];
for (i = 0; i < mb->get_ntotalPointsCart(); i++) {
if ((mb->get_donorIdCart())[i] != -1) {
gid = (mb->get_donorIdCart())[i];
assert(
(cg->get_proc_id(gid) < nsend &&
cg->get_proc_id(gid) >= 0));
Expand Down Expand Up @@ -127,21 +127,21 @@ void tioga::exchangeAMRDonors()
if (nblocks > 0) {
for (int ib = 0; ib < nblocks; ib++) {
auto& mb = mblocks[ib];
for (i = 0; i < mb->ntotalPointsCart; i++) {
if (mb->donorIdCart[i] != -1) {
gid = mb->donorIdCart[i];
for (i = 0; i < mb->get_ntotalPointsCart(); i++) {
if ((mb->get_donorIdCart())[i] != -1) {
gid = (mb->get_donorIdCart())[i];
procid = imap[cg->get_proc_id(gid)];
localid = cg->get_local_id(gid);
sndPack[procid].intData[intcount[procid]++] = localid;
sndPack[procid].intData[intcount[procid]++] =
mb->receptorIdCart[i];
sndPack[procid].intData[intcount[procid]++] = ib;
sndPack[procid].realData[realcount[procid]++] =
mb->rxyzCart[3 * i];
(mb->get_rxyzCart())[3 * i];
sndPack[procid].realData[realcount[procid]++] =
mb->rxyzCart[(3 * i) + 1];
(mb->get_rxyzCart())[(3 * i) + 1];
sndPack[procid].realData[realcount[procid]++] =
mb->rxyzCart[(3 * i) + 2];
(mb->get_rxyzCart())[(3 * i) + 2];
}
}
}
Expand All @@ -154,7 +154,8 @@ void tioga::exchangeAMRDonors()
mb->isearch[(3 * i) + 1];
sndPack[procid].intData[intcount[procid]++] =
mb->isearch[(3 * i) + 2];
sndPack[procid].intData[intcount[procid]++] = mb->meshtag;
sndPack[procid].intData[intcount[procid]++] =
mb->getMeshTag();
sndPack[procid].intData[intcount[procid]++] = i;
sndPack[procid].intData[intcount[procid]++] = ib;
sndPack[procid].realData[realcount[procid]++] =
Expand Down Expand Up @@ -286,7 +287,7 @@ void tioga::exchangeAMRDonors()
id = rcvPack[i].intData[m++];
int const ib = rcvPack[i].intData[m++];
if (ctype == 0) {
mblocks[ib]->donorIdCart[id] = -1;
mblocks[ib]->set_donorIdCart(id, -1);
} else {
mblocks[ib]->donorId[id] = -1;
}
Expand Down
17 changes: 10 additions & 7 deletions src/searchADTrecursion.C
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,12 @@ void ADT::searchADT(MeshBlock* mb, int* cellIndex, double* xsearch)
for (i = 0; i < ndim / 2; i++) {
flag = static_cast<int>(
(flag != 0) && (xsearch[i] >= adtExtents[static_cast<int>(2 * i)] -
mb->searchTol));
mb->get_searchTol()));
}
for (i = 0; i < ndim / 2; i++) {
flag = static_cast<int>(
(flag != 0) &&
(xsearch[i] <= adtExtents[2 * i + 1] + mb->searchTol));
(xsearch[i] <= adtExtents[2 * i + 1] + mb->get_searchTol()));
}
//
// call recursive routine to check intersections with
Expand Down Expand Up @@ -90,10 +90,12 @@ void searchIntersections(
//
flag = true;
for (i = 0; i < ndim / 2; i++) {
flag = (flag && (xsearch[i] >= element[i] - mb->searchTol));
flag = (flag && (xsearch[i] >= element[i] - mb->get_searchTol()));
}
for (i = ndim / 2; i < ndim; i++) {
flag = (flag && (xsearch[i - ndim / 2] <= element[i] + mb->searchTol));
flag =
(flag &&
(xsearch[i - ndim / 2] <= element[i] + mb->get_searchTol()));
}
//
if (flag) {
Expand All @@ -117,12 +119,13 @@ void searchIntersections(

flag = true;
for (i = 0; i < ndim / 2; i++) {
flag = (flag && (xsearch[i] >= element[i] - mb->searchTol));
flag =
(flag && (xsearch[i] >= element[i] - mb->get_searchTol()));
}
for (i = ndim / 2; i < ndim; i++) {
flag =
(flag &&
(xsearch[i - ndim / 2] <= element[i] + mb->searchTol));
(flag && (xsearch[i - ndim / 2] <=
element[i] + mb->get_searchTol()));
}
if (flag) {
searchIntersections(
Expand Down
8 changes: 4 additions & 4 deletions src/tioga.C
Original file line number Diff line number Diff line change
Expand Up @@ -524,8 +524,8 @@ void tioga::profile()
this->myTimer("tioga::profile", 0);
for (int ib = 0; ib < nblocks; ib++) {
auto& mb = mblocks[ib];
mb->mexclude = mexclude;
mb->nfringe = nfringe;
mb->set_mexclude(mexclude);
mb->set_nfringe(nfringe);
mb->preprocess(USE_ADAPTIVE_HOLEMAP);
// mb->writeGridFile(myid);
}
Expand Down Expand Up @@ -644,8 +644,8 @@ void tioga::performConnectivityAMR()
this->myTimer("tioga::cgSearch", 0);
if (ib < nblocks) {
cg->search(
mblocks[ib]->rxyzCart, mblocks[ib]->donorIdCart,
mblocks[ib]->ntotalPointsCart);
mblocks[ib]->get_rxyzCart(), mblocks[ib]->get_donorIdCart(),
mblocks[ib]->get_ntotalPointsCart());
}
this->myTimer("tioga::cgSearch", 1);
}
Expand Down
4 changes: 2 additions & 2 deletions src/tioga.h
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ class tioga
auto idxit = tag_iblk_map.find(btag);
int const iblk = idxit->second;
auto& mb = mblocks[iblk];
mb->check_uniform_hex_flag = flag;
mb->set_check_uniform_hex_flag(flag);
}

void set_cell_iblank(int btag, int* ib_cell)
Expand Down Expand Up @@ -318,7 +318,7 @@ class tioga
for (int ib = 0; ib < nblocks; ib++) {
mytag[ib] = -mytag[ib];
auto& mb = mblocks[ib]; // TODO
mb->resolutionScale = 1000.0;
mb->set_resolutionScale(1000.0);
}
}

Expand Down
Loading