Minimal distance segment to segment with Karush-Kuhn-Tucker conditions
The module minDist2segments_KKT returns the minimal distance between two line segments. It uses the Karush-Kuhn-Tucker conditions (KKT) for the minimization under constraints.
We use the present module to avoid topology violations in an entangled polymer system. To preserve the topology in a system of entangled polymers we need to determine the minimal distance between two bonds. Once done we can apply either a soft or hard core potential to avoid the crossing of two bonds. Here, we propose to determine the minimal distance between two segments with the help of the Karush-Kuhn-Tucker conditions.
This module is a part of an E-CAM pilot project at the ENS Lyon, focused on the implementation of contact joint to resolve excluded volume constraints
A detailed derivation of the minimal distance between two segments using the Karush-Kuhn-Tucker conditions is available at https://gitlab.e-cam2020.eu:10443/carrivain/mindist2segments_kkt/-/blob/master/minDist2segments_KKT.pdf
This module is used by other ongoing work, such as module velocities_resolve_EV, that resolves the excluded volume constraint with a velocity formulation.
The source code and more information can be found at minDist2segments_KKT GitLab repository.