interpolation of restricted function broken

Issue #165 resolved
Martin Eigel created an issue

Relating to this thread, the interpolation of a function on a restricted space onto the full space is broken.

As a side remark, it would be nice if FunctionAssigner did support restricted functions. Moreover, getting access to a restricted_to_global dof mapping would be useful. Currently, the information one can obtain about the restricted space is pretty incomplete (no mesh, dof, mapping...).

Comments (14)

  1. Johan Hake

    This looks pretty tricky to fix. FunctionSpace::interpolate would need to know that the GenericFunction v (which is interpolated) is a restricted Function. At the moment one can only check that for a proper Function (via its FunctionSpace).

  2. Martin Sandve Alnæs

    The problem is in Function.restrict, where w[] is not filled with zeros. I have a fix coming up.

  3. Martin Sandve Alnæs

    Although interpolate is not fully defined in this case, semi-arbitrary things will happen on the boundary of the restricted space where there is a discontinuity. But the same problem shows up in a projection.

  4. Johan Hake

    Bitbucket marks it as fixed because you wrote "Fix issue 165" in the commit message and pushed it to a dolfin branch.

  5. Log in to comment