Skip to content
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

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from
Open

Various bugs related to BCs #1255

wants to merge 9 commits into from

Conversation

MartinKarp
Copy link
Collaborator

@MartinKarp MartinKarp commented Apr 25, 2024

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.

@MartinKarp MartinKarp added bug Something isn't working enhancement New feature or request labels Apr 25, 2024
@vbaconnet
Copy link
Collaborator

Yes this is what we had talked about! I can see if I have a small mesh to test this on.

Comment on lines +882 to +889
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)
Copy link
Collaborator

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?

Copy link
Collaborator Author

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.

src/bc/bc.f90 Outdated Show resolved Hide resolved
@MartinKarp MartinKarp changed the title Fix BC at mixed neumann/dirichlet between elements Fix BC when only edge of element is touching boundary Aug 21, 2024
@MartinKarp
Copy link
Collaborator Author

I have updated this PR. Please have a look when you have time!

@MartinKarp MartinKarp changed the title Fix BC when only edge of element is touching boundary Various bugs related to BCs Aug 21, 2024
@MartinKarp
Copy link
Collaborator Author

@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.

@njansson
Copy link
Collaborator

@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

@MartinKarp
Copy link
Collaborator Author

How is this going?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
Status: 🏗 In progress
Status: 🙅Skipped
Development

Successfully merging this pull request may close these issues.

3 participants