-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adaptive Hole Map #12
Conversation
… case with multiblock looks coorrect. Need to extensively test.
nice, way faster! |
…with an outer/overset bc face and wall bc face -- this prevents the adaptive hole map from refining to the max number of levels. (2) Fix compiler warnings about the intstring character array buffer size.
…memory cleanup. Note: suspect small memory leak in exchangeBoxes().
Can there be something other than a define to turn this on? Also, can we verify this has been run through ASAN or valgrind to see that there are no leaks? |
…compiler define variable). Also added memory cleanup for tioga shutdown -- checked with valgrind (iblank_cell is lost but only because it is handled by nalu-wind).
Hi Jon,
This function replaces the compile-time define variable. Second, I added some memory cleanup for tioga instance deletion. valgrid.adaptHoleMap.1rank.txt |
verbose=0; | ||
if(iblank[i] < 0){ | ||
temp=donorList[i]; | ||
while(temp!=NULL){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need to exist?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a hold-over from the original function lines 320-330, so I wouldn't change the functionality.
But it does look potentially buggy with the while construct. Let me track down the history of the donorList.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if there's a bug in the original function. My guess is there should be
'''temp=temp->next;'''
Inside the while loop. Thoughts ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it doesn't make any sense without some kind of increment inside the while
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does indeed seem suspect ... Do you see a reason why it hasn't broken anything yet?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it worked before because Jay already sorted the temp donor resolutions (finest donor first) inside insertInList
and already established the iblank value to be a fringe (-1). Otherwise, it would have a better resolution than the donor and not entered that if-statement check.
…te in MeshBlock::processDonors. (2) Replace raw c-pointers for adaptive processDonors.
…into adaptive-hole-map
@ackirby88 Where is the |
@ashesh2512 It was from the Jay's original TIOGA repository. |
@ashesh2512 I don't see your commits here... |
verbose=0; | ||
if(iblank[i] < 0){ | ||
temp=donorList[i]; | ||
while(temp!=NULL){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does indeed seem suspect ... Do you see a reason why it hasn't broken anything yet?
src/MeshBlock.h
Outdated
int nrank; | ||
int masterID; /* master rank for distributing mesh block data */ | ||
MPI_Comm comm; /* communicator containing all complement ranks + master */ | ||
MPI_Request req; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is req
used anywhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so -- I originally had asynchronous communications.
I'll check to see if I use it for the abutting mesh implementation (next week); if not, I'll remove it.
@ackirby88 Turns out I never submitted the comments. You should be able to see them now. |
…ap specific functions (comms), (2) macro replacement, (3) increase max level to all full 32-bit usage, (4) add back poisson_mms.
@ashesh2512 I committed your recommended changes. Please give the built-in test case a try along with your other tests. |
…ction using mallinfo.
@jrood-nrel @ashesh2512 I've merged in the latest exawind changes with the std::min/max fixes. I've also addressed your suggestions, Jon, about the malloc.h. |
Merged through #14 |
Initial implementation of the adaptive hole map algorithm.
To enable/disable this functionality, set line 64 in codetypes.h
I've done preliminary testing on the tioga test case: unstructured tetrahedral sphere and Cartesian background mesh.
Test Case Input (case/grid/input):
Original Hole Map (./run.sh 12):
Adaptive Hole Map (./run.sh 12):