-
Notifications
You must be signed in to change notification settings - Fork 189
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
Communicate volume mesh in boundary data #6293
Communicate volume mesh in boundary data #6293
Conversation
@nilsdeppe please test this for a BNS |
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.
Looks mostly reasonable. I'll give this a test.
@@ -177,12 +178,12 @@ struct BoundaryCorrectionAndGhostCellsInbox { | |||
ReceiveDataType&& data) { | |||
auto& current_inbox = (*inbox)[time_step_id]; | |||
if (auto it = current_inbox.find(data.first); it != current_inbox.end()) { | |||
auto& [volume_mesh_of_ghost_cell_data, face_mesh, ghost_cell_data, |
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.
Please also update retrieve_boundary_data_spsc
in src/Evolution/DiscontinuousGalerkin/Actions/ApplyBoundaryCorrections.hpp
|
This tag will be used to hold the mesh used for communicating subcell ghost data instead of using the tag NeighborMesh.
Also change volume_mesh_ghost_cell_data to std::optional. Now the item for Tags::NeighborMesh is always filled with the communicated volume_mesh which is the active mesh of the neighbor. The item for Tags::MeshForGhostData is set to the communicated volume_mesh_ghost_cell_data, and is only used when doing DG-subcell.
dcaeab3
to
3c7db88
Compare
Proposed changes
evolution::dg::subcell::Tags::MeshForGhostData
which holds the volume mesh used by each neighbor for communicating subcell ghost data. This information was previously held bydomain::Tags::NeighborMesh<Dim>
which will now always hold the mesh of the neighbor.BoundaryData
. This is needed for reactive adaptive mesh refinement.Upgrade instructions
Code review checklist
make doc
to generate the documentation locally intoBUILD_DIR/docs/html
.Then open
index.html
.code review guide.
bugfix
ornew feature
if appropriate.Further comments