P2Function::prolongateP1ToP2() is broken
Hi,
the method prolongateP1ToP2()
of the P2Function
class seems to not work correctly. It is supposed to fill the P2Function object with data obtained from embedding the given P1Function into the corresponding P2 FE-space on the same mesh and refinement level.
The following figure is the result of embedding a constant P1 function. As one can see there are errors at the macro edges. These seem to be associated with the left- and right-most edgeDoF at the edge:
Note that while the method is tested as part of P2P1TransferTest
, that test appears to only test inside a single macro face, while using zero values at edges and vertices. This would explain why it does not catch the problem.
Cheers
Marcus