Skip to content

Fix periodic mesh

Christophe Geuzaine requested to merge fix_periodic_mesh into master

The current way to fix high-order periodic meshes modifies the location of nodes on the master entities. This is counterintuitive: IMHO the master mesh is the master and should not be modified.

This patch changes the strategy by simply forcing the slave nodes on the location dictated by the periodicity transform, and by adding the option to compute the locations either by inverting the parametrization (using parFromPoint, with Mesh.HighOrderOptimize=1) or by searching for the closest point on the entity (closestPoint, with Mesh.HighOrderOptimize=2).

@ajohnen: you played some tricks in HighOrderMeshPeriodicity.cpp to average the master/slave locations; was this really necessary? It wasn't clear to me if this guaranteed anything more than what the new version does.

@Koen, @thomas.toulorge: if you use Mesh.HighOrderPeriodic, could you test this branch and let me know if it breaks anything?

Edited by Christophe Geuzaine

Merge request reports