Don't pass restricted BCs into assemble - #5285
Conversation
2250327 to
c2774fa
Compare
|
We still needs the BCs for a RestrictedFunctionSpace, as they are used to set the value of u_restrict at the beginning of the solve. Does your change preserve that? |
|
Why is this change required? Please add a description and or tests. |
I only change the BCs passed to the residual and Jacobian assembly.
Because we don't need to pass these BCs in to assembly. In particular I would like this for my cross-mesh stuff, since BCs for cross-mesh interpolation has not been implemented yet. I will add a description and tests. |
|
I hit this with pyop3. It was quite annoying to have the debug why imposing boundary conditions on a restricted space failed to be a no-op. More generally I don't understand why it is valid to create a |
Don't pass the restricted BCs in to assembly. When
restrict=True, the boundary DoFs are removed in the restricted function space so passing in these BCs does nothing. This lets us userestrict=Truefor residuals containing things we cannot apply BCs to (e.g. cross-mesh interpolation currently) in the traditional way.