Linking Mesh Quality Constraints to DOFs in Shape Optimization

Hi everyone,

In the context of shape optimization, I aim to impose constraints on mesh quality. To achieve this, I define αi,j,k​, the angles of each individual triangle in the mesh.

When deriving the constraint, I obtain:

∂αi∂v_n=(dx,dy) for all n

where v_n represents the vertex coordinates.

I need to link these gradients to the degrees of freedom (DOFs) of VECtmp.FreeDofs(), where:

VECtmp = ngs.VectorH1(mesh, order=1, dirichlet=bdyname)

Any advice on this implementation would be greatly appreciated.