Conversation
rckirby
left a comment
There was a problem hiding this comment.
This is a great start. The main issue is whether this is just some "window dressing" or we want to go "block-forward" and refactor all the to_riesz business. We also need a way to store these blocks as such in the finite element so we can try to automate zany maps. By using extend on the list of nodes, I think we're losing that structure?
FIAT/functional.py
Outdated
| nodes = [block.nodes[index]] | ||
| super().__init__(nodes) | ||
|
|
||
| def completion(self): |
FIAT/functional.py
Outdated
| super().__init__(ref_el, x, 2) | ||
|
|
||
|
|
||
| class PointDirectionalDerivativeBlock(PointFunctionalBlock): |
There was a problem hiding this comment.
Can we generalize the "view" idea to capture that this is a linear combination of the pieces of the gradient?
| super().__init__(nodes) | ||
|
|
||
|
|
||
| class PointNormalTangentialDerivativeBlock(PointDirectionalDerivativeBlock): |
There was a problem hiding this comment.
More generally: Gradient block doesn't require a particular basis. Is this and the gradient instances of a common abstract gradient?
There was a problem hiding this comment.
I think the Cartesian case is special, since it is the only one we can use to enforce continuity of derivatives at a vertex
| super().__init__(ref_el, entity_dim, entity_id, Q_ref, Phis) | ||
|
|
||
|
|
||
| class FacetNormalIntegralMomentBlock(FacetDirectionalIntegralMomentBlock): |
There was a problem hiding this comment.
Somehow (later) there are pieces of this that want attention so we can automated H(div) zany things (MTW, AW)
FIAT/functional.py
Outdated
| def __init__(self, nodes): | ||
| self.nodes = nodes | ||
|
|
||
| def __iter__(self): |
There was a problem hiding this comment.
So this means when we extend a list of functionals with a block, that we just get back all of the functionals in the block.
d62ca0f to
ac856a0
Compare
Refactor Functional