Skip to content
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

Refactor OverlappingFluidSolidMap #576

Merged
merged 16 commits into from
Apr 13, 2019

Conversation

pbauman
Copy link
Member

@pbauman pbauman commented Apr 5, 2019

Updated the API to be more user friendly and avoid gross data types. Also now fixed the lack of parallel syncing which was ultimately an issue downstream for getting a GhostingFunctor to work correctly. This uses libMesh::Parallel::push_parallel_vector_data, which now uses the NBX (non-blocking consensus) algorithm. We'll see if the older libMesh used the same API before this was updated on the libMesh side. If not, then we'll bump the minimum libMesh version (which we're going to do for GMG anyway). ATM, we don't have any unit testing of the parallel_sync (see #575).

@pbauman
Copy link
Member Author

pbauman commented Apr 5, 2019

Yup. Looks like we need to bump to at least libMesh/libmesh@2a96106 for the parallel_sync.

pbauman added 16 commits April 12, 2019 15:25
First step in updating the API for OverlappingFluidSolidMap. We
want to hide the more complicated objects and make things easier for the
user as well as make it easer to do parallel syncing of the map.
We've added new API so that we don't have to provide access to the
raw underlying storage.
We never used this anyway, but we're going to refactor this data
structure so we'll wipe out the interface now and modify the data
structure under the hood.
This will only work in serial for the moment. Parallel syncing will
happen in subsequent commits.
This will pack up the information we need to send to other processors
in order to sync up the overlapping map.
Packs up solid and fluid element ids to send and then calls
libMesh::Parallel::push_parallel_vector_data to send the data.
The extraction functor populates both the map-to-set data structures
since we have the data to fill both.
Add capability to query to make sure there are overlapping
fluid elements on a given solid element, or vice-versa.
@pbauman pbauman force-pushed the refactor-overlapping-map branch from c1b3585 to 3acdce0 Compare April 12, 2019 19:26
@pbauman
Copy link
Member Author

pbauman commented Apr 12, 2019

Rebased on master. Will merge if these tests pass.

@pbauman pbauman merged commit 85ebb95 into grinsfem:master Apr 13, 2019
@pbauman pbauman deleted the refactor-overlapping-map branch April 18, 2019 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant