  Mesh optimization procedures are generally a combination of node smoothing
and discrete operations which affect a small number of elements to improve the
quality of the overall mesh. These procedures are useful as a post-processing
step in mesh generation procedures and in applications such as fluid
simulations with severely deforming domains. In order to perform high-order
mesh optimization, these ingredients must also be extended to high-order
(curved) meshes. In this work, we present a method to perform local element
operations on curved meshes. The mesh operations discussed in this work are
edge/face swaps, edge collapses, and edge splitting (more generally refinement)
for triangular and tetrahedral meshes. These local operations are performed by
first identifying the patch of elements which contain the edge/face being acted
on, performing the operation as a straight-sided one by placing the high-order
nodes via an isoparametric mapping from the master element, and smoothing the
high-order nodes on the elements in the patch by minimizing a Jacobian-based
high-order mesh distortion measure. Since the initial straight-sided guess from
the placement of the nodes via the isoparametric mapping frequently results in
invalid elements, the distortion measure must be regularized which allows for
mesh untangling for the optimization to succeed. We present several examples in
2D and 3D to demonstrate these local operations and how they can be combined
with a high-order node smoothing procedure to maintain mesh quality when faced
with severe deformations.
