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
MappingQEulerian + MatrixFree + GMG #5108
Comments
The
Something similar should work for the displacement vector field. The rest should work as far as I can guess now without actually trying it... |
@kronbichler thanks, Martin. I will give it a go and see how to make user's life easier and wrap the transfer of solution to multi-grid vectors in, maybe, transfer class... |
@tjhei btw, did you have time to finish GMG DataOut thing? If it's in deal.II, i would be able to just do here equivalent of
on each level. |
No. :-( It is sadly more complicated than I thought. The incomplete thing is here: tjhei@3f19570 |
@kronbichler here's the catch: |
I am trying to figure out whether or not we currently support the MPI-parallel combo of
MappingQEulerian
+MatrixFree
+GMG
. So far the only tutorial which usesMappingQEulerian
is Step-44 with serial vectors. Luckily there is already a test mappin_q_eulerian_07 with parallel vectors and update_mapping_only with matrix-free.Looks like everything should work OOB. Given a locally relevant displacement field on the fine mesh, one can first do transfer to MG levels, e.g. MGTransferMatrixFree::copy_to_mg and then since we want to simply have the equivalent of a vector, but on all levels do MGTransferMatrixFree::restrict_and_add. Assuming that each level vector with displacement is setup as a ghost vector, this should be enough to be used in
MappingQEulerian
.I am keen at adding a unit test to make sure this logic actually works. But I am not sure how can one test the mapping in multi-level context. Maybe just have some simple translation as a displacement field and output quadrature points on locally owned cells on all levels to check that they are indeed translated by, say, 1000 in x-direction?
@tjhei @kronbichler i think you worked with
MappingQEulerian
, any hints?The text was updated successfully, but these errors were encountered: