Interpolating grid functions on deformed meshes

Suppose I have a reference domain and I mesh it. I then map that reference domain to the true domain with a Mesh Deformation.

How do I Interpolate (or Set) a grid function on the deformed mesh? I tried this:

mesh.SetDeformation(deformation)
“interpolate”
mesh.UnsetDeformation()

But this did nothing; I get the same result whether I SetDeformation or not.

In looking at the help for Interpolate (or Set), there is no additional argument for passing the mesh deformation.

I could not find any examples where this is done.

-Shawn

Hi Shawn, I have done this (or something similar) a few times in the context of our isoparametric curved unfitted meshes in xfem. To my best understanding, gfu.Set(…) is indeed sensitive to the mesh deformation in the relevant manner. I append a minimal working example. Maybe you can compare and potentially post a script, where you observe this pattern not functioning. Best, Fabian
def_set_test.py (953 Bytes)

Hello Fabian.

Yes, I did a test already and it worked like it should. Either Interpolate or Set. I guess I have some other issue.

-Shawn