Add mesh boundary gluing (aka periodic)#204
Conversation
|
So I've managed to get periodicity at least partially working. It seems to work fine with meshes for which the boundary transformation is just a translation, e.g.: But, for more general transformations I'm seeing some issues (reflections, instability): Driver code for these cases is here. As far as I can tell, the transformations are implemented correctly (the Gauss-Newton stuff in |
|
Oh cool. Yes, you're definitely right that the numerical flux would need to play a role in the case of more general transformations. (As in, if you give a numerical flux on the + side a normal that's orthogonal to the one on the - side, it's not a huge surprise that nothing good will come of that. I'm kind of surprised you got the simulation to survive as long as you did. :) Making this work right will require some design decisions, such as how to expose such an interface to the numerical flux. The easiest thing would be to expose the coordinate transform in a trace pair and separate out the periodic part of the boundary in a separate one. If we don't separate out that flux exchange, then we'd be paying to apply a pointless identity transform at every flux exchange point. I'm having a hard time guessing whether that would be a big deal in terms of cost. At any rate, my suggestion would be to devote the rest of this PR to get this merged as is, and to worry about those design decisions in a separate issue. (inducer/grudge#109) cc @thomasgibson @lukeolson for input |
2fdcd26 to
076adbf
Compare
inducer
left a comment
There was a problem hiding this comment.
Thanks! Some review bits that came up during our meeting.
|
Unsubscribing... @-mention or request review once it's ready for a look or needs attention. |
8bd6bc0 to
3308b16
Compare
|
Question that just came up while talking to @thomasgibson: what should happen if someone tries to call (I haven't thought about this at all yet; just putting it here so I don't forget.) |
46e3796 to
55791b2
Compare
37fb9bb to
536f514
Compare
536f514 to
c47b8d2
Compare
6cedb65 to
70d53e6
Compare
70d53e6 to
eb04641
Compare
eb04641 to
c9fafeb
Compare
|
I think this is ready for a look @inducer. (There's still a test failure, but it appears to be a pylint false positive?) |
| .. autofunction:: generate_box_mesh | ||
| .. autofunction:: generate_regular_rect_mesh | ||
| .. autofunction:: generate_warped_rect_mesh | ||
| .. autofunction:: generate_annular_cylinder_slice_mesh |
There was a problem hiding this comment.
Can we get a generate_periodic_rect_mesh pretty please? 😃
| i_tgt_grp, i_src_grp, | ||
| tgt_bdry_element_indices, src_bdry_element_indices): | ||
| tgt_bdry_element_indices, src_bdry_element_indices, | ||
| tgt_aff_transforms=None, src_aff_transforms=None): |
There was a problem hiding this comment.
Add docstring? (Shape of src_aff_transforms is how I got there.)
|
Superseded by #253. |


No description provided.