Skip to content

Conversation

@leo-collins
Copy link
Contributor

Description

Allows construction of the interpolation matrix between a VOM and its input-ordering. This is a permutation matrix which is used for cross-mesh interpolation to redistribute the points correctly on the target mesh.

Set the keyword argument matfree=False to construct the matrix. By default matfree=True which uses the current way of SF reduce and broadcasts.

P0DG = FunctionSpace(vom, "DG", 0)
P0DG_io = FunctionSpace(vom.input_ordering, "DG", 0)
B = assemble(interpolate(TestFunction(P0DG), P0DG_io, matfree=False))

@leo-collins leo-collins marked this pull request as ready for review May 28, 2025 14:46
@leo-collins leo-collins force-pushed the vom-to-vom-petscmat3 branch 2 times, most recently from 6b1f3c8 to 0e85e05 Compare June 12, 2025 19:08
@leo-collins leo-collins force-pushed the vom-to-vom-petscmat3 branch 2 times, most recently from b604010 to 7ec084f Compare July 1, 2025 12:30
@leo-collins leo-collins force-pushed the vom-to-vom-petscmat3 branch from 7ec084f to 1608972 Compare July 3, 2025 21:05
@dham dham merged commit 758a6bf into master Jul 9, 2025
6 of 7 checks passed
@dham dham deleted the vom-to-vom-petscmat3 branch July 9, 2025 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants