Draft: Fix for setting the right optimisation flag for nodes that are on more than 1 curve or surface

Open Mashy Green requested to merge meshing/nektar:fix/varopti-optiKind into master

Issue/feature addressed

When assigning optiKind (a flag to determine the range of movement a varopti node can have), the code was testing if the node is exactly on a single curve or surface with == 1. Nodes which are also vertices, or node that connect two surfaces, are not caught by this check and are assigned the wrong optiKind flag, which sometimes can cause issues with a node moving away from the CAD instead of sliding on it.

Proposed solution

Ensure that the correct flag is assigned to the nodes.


Changed the condition from if == to just the if (i.e. anything but zero), which will account for cases where it is on more than a single curve / surface.


Might effect the current VarOpti tests - WIP.

Suggested reviewers

Dave, Kaloyan, Jingtian


Some testing is still required.


  • Functions and classes, or changes to them, are documented.
  • User guide/documentation is updated.
  • Changelog is updated.
  • Suitable tests added for new functionality.
  • Contributed code is correctly formatted. (See the contributing guidelines).
  • License added to any new files.
  • No extraneous files have been added (e.g. compiler output or test data files).

Merge request reports