mesh-adaptation / goalie

Goal-oriented error estimation and mesh adaptation for finite element problems solved using Firedrake
Other
1 stars 1 forks source link

Parallel consistent interpolation #39

Closed jwallwork23 closed 5 months ago

jwallwork23 commented 1 year ago

Currently we transfer solution fields between meshes using a conservative projection method, which is difficult to get to work in parallel. It would be good if we could get consistent interpolation to work in parallel.

Parent issue: https://github.com/pyroteus/pyroteus/issues/8.

ddundo commented 7 months ago

Connected to the Animate issue #71 to use subprocess to adapt, I was using subprocess to project in serial. Maybe we could do the same?

I would again do this in a separate script that I'd call from subprocess and make sure to use the same distribution parameters when I load the meshes (using file.load_mesh(..., distribution_parameters=...) with CheckpointFile) as the parameters I used when I created the meshes in the original script.

jwallwork23 commented 6 months ago

Thanks @ddundo. We were hoping to use the new point interpolation functionality, which apparently works better in parallel. (See https://github.com/pyroteus/animate/issues/56).

ddundo commented 6 months ago

Thanks @jwallwork23! Could you please point me to this new interpolation? I don't think I've seen it.

And do you then plan to completely drop the current projection eventually? Or will you keep both?

jwallwork23 commented 6 months ago

It hasn't been implemented in Animate or Goalie yet but it will use point interpolation via VertexOnlyMesh. Reuben tells me he has tested out mesh-to-mesh interpolation with this method and it works.

We'll likely keep both but default to the new one if it does indeed turn out to work better in parallel.