libCEED
libCEED copied to clipboard
Jeremy/periodic bps
Side note, using -dm_plex_box_bd periodic,periodic,periodic
sets the boundary cells as periodic rather than the faces, which is annoying when paired with the fact that for bps.c
we removed the ability to directly set the number of cells in each direction.
@jeremylt I do not understand the distinction between periodic cells and faces. Maybe I can make the interface easier if I understand.
Really, I should have said element instead of cell. But I think I was misunderstanding the information I was seeing.
I rebased my very (!) old branch here. https://gitlab.com/petsc/petsc/-/merge_requests/2178
It makes DMPlexSetClosurePermutationTensor
work with periodicity. Maybe we should merge clean and merge that up-front, but the coordinates are still a mess because you have normal coordinates and "localized" coordinates in the elements that wrap.
I want to fix that by making the local space always distinguish and using the sf mapping local to global spaces to tie it back together. Matt says that won't work, but I think I'm going to need to try it and see what breaks.
The solution fields should be managed correctly in the PETSc MR so we could test and merge it, then hack coordinates to make them good enough for us in fluids (@jrwrigh would really like this).
Periodic boundaries work in https://github.com/CEED/libCEED/tree/jrwrigh/fluid_example, which is otherwise rough. I had to remove the DMProjectCoordinates
and I hope @knepley can advise on what to do with that failing test case in PETSc because we do need an actual coordinate space at some point once we venture beyond the box with periodicity. https://gitlab.com/petsc/petsc/-/merge_requests/5107
Which test is failing? Is this in an MR?
Click through to the MR with failing test that I created and tagged you in. https://gitlab.com/petsc/petsc/-/merge_requests/5107
The question is how to get an FE for the localized space. I still think it's a big mess and we should excise "localized", but if we can't do that yet, we gotta decide how to make the test work.
I'm closing this since we sorted this out in fluids