-
Notifications
You must be signed in to change notification settings - Fork 32
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
Various bugs related to BCs #1255
base: develop
Are you sure you want to change the base?
Conversation
Yes this is what we had talked about! I can see if I have a small mesh to test this on. |
call this%gs_Xh%op(this%u,GS_OP_MIN) | ||
call this%gs_Xh%op(this%v,GS_OP_MIN) | ||
call this%gs_Xh%op(this%w,GS_OP_MIN) | ||
call bc_list_apply_vector(this%bclst_vel,& | ||
this%u%x, this%v%x, this%w%x, this%dm_Xh%size(), t, tstep) | ||
call this%gs_Xh%op(this%u,GS_OP_MAX) | ||
call this%gs_Xh%op(this%v,GS_OP_MAX) | ||
call this%gs_Xh%op(this%w,GS_OP_MAX) |
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.
Would it be possible to only add a subset of the bclst? to reduce the work, and similarly for the gs, are these additional ops always needed, if not, can we possibly detect when they are, and have a if block around them?
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.
I think this is the only bulletproof way of doing this, but we can give it a thought I guess. For now I would keep it this way.
I have updated this PR. Please have a look when you have time! |
@njansson can we merge this? We should probably try to get it in as soon as possible, if device-aware mpi doesn't work maybe we can let that be an exception or something. |
I suggest we wait a bit, I'll have a go at the min/max kernels next week |
How is this going? |
Fixes the issue of applying bcs that are not necessarily on a facet. Enables the use of geometries where only the edge of an element is touching the boundary.
This is a major bugfix as currently we are constrained to rather well-posed geometries.
I also fixes Non-normal ('on') and Symmetry ('sym') bcs as they currently do not seem to work as intended as their init resets the marked facets.