Unify MixedElement with the new UFL interface #119
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an attempt to fix #105, which is still breaking G-ADOPT, because we almost always call
is_continuous
on aMixedElement
(https://github.com/g-adopt/g-adopt/blob/03ea2a086b325a61263b66d3415612a1c5a8d289/gadopt/utility.py#L154-L168) and hit this shortcoming.Unfortunately, I'm not fully integrated into how all of these components interact (i.e. fiat, finat, ufl), so this is quite a surface-level fix. It looks to me as though
MixedElement
has to deviate fromFiniteElementBase
in a few places:If a component is specified in either
is_cellwise_constant()
ordegree()
, a domain must also be provided so the component can be extracted usingextract_component()
. I've put this in as an optional keyword-only argument, but I don't think this is the best approach.Closes #105.