-
Notifications
You must be signed in to change notification settings - Fork 160
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
Interior bcs #2007
Interior bcs #2007
Conversation
683271f
to
d5c2a87
Compare
I think we should change the docs on "Boundary conditions in discontinuous spaces", where we advise to use geometric boundary conditions, within this PR as well. It's line 568 in https://github.com/firedrakeproject/firedrake/blob/wence/feature/no-geom-bcs/docs/source/variational-problems.rst. |
I see I've been asked to review - I don't actually know much about how boundary conditions work in firedrake so don't quite feel I am able to comment usefully at the moment. Perhaps if you were to make Sophia's suggested change I might be able to start somewhere with the review? It's also now quite clear to me why this change as been made in either the description of the PR or the commit that makes the depreciation. Could you please add some context? |
@ScottMacLachlan have you had a chance to look at this? It would even be useful to have a testcase that you've been using. |
I now get an error in my call to MeshHierarchy, on a mesh read in from gmesh:
Any ideas? |
Can you provide the .geo? |
Here it is (extension changed to allow attachment)... |
This works forr me. I think that you didn't rebuild the Cython extensions in Firedrake after checking out the branch? If you have a separate PETSc, run |
You're right (of course). After running make, I get identical output for my test problem using |
FWIW, most of the code changes are in places where I'm not qualified to judge correctness. What I do understand, however, looks good to me... |
d5c2a87
to
f993f57
Compare
Provide DeprecationWarning in the top-level constructors.
PETSc errors if a label contains points that are not in the index range. This is preparation for "completing" facet labels such that they mark everything in their closure.
We are going to "complete" labels to contain points in their closure, so we must filter the label stratum by points that fall in a given mesh stratum (for example only facet points).
Should no longer be necessary.
This will be used for grabbing DirichletBC nodes from section data.
The magic method forwarding doesn't work in this case because we really want to pass "self" into the shared data boundary_node extraction (not self.topological).
f993f57
to
ee86830
Compare
I did this, thanks. |
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.
LGTM
Added a very simple test @ScottMacLachlan do you want to sanity-check? I also updated the triplot function to colour interior mesh markers as well, @danshapero does that look sane? |
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.
Looks good to me, and works for my test case
The plotting changes look good. I also tried it out with an unstructured quad mesh and everything looked fine there too. |
Remove support for
method="geometric"
boundary conditions and then augment the bc construction such that we can handle bcs on interior marked facets.@ScottMacLachlan does this work for your use cases? I have only proved it correct, not tested.