left click and move rotating scroll dollying right click and move panning double click edit mode
Model Properties:
Discretization Parameters:
Standard Knots:
Or Enter a Parametric Representation for \(x\in[0,1]\) A re-parametrization to arc-length is applied automatically.
Boundary Conditions:
Or Enter a Torus Knot
Draw a Braid Representation:
Enter JSON data:
Confining Shape:
Confinement Semi-Axes: For no confinement, enter "0" along the corresponding direction.
Confinement Center of Mass:
Visible Objects:
Color Scheme:
Curve Visualization
Energy Warning
Data of Current Step
Downloads for Current Step
Downloads for Total Evolution:
Video of Canvas Evolution
Welcome to KNOTEVOLVE!

You are watching a "" curve with discrete points. The total length is .

If you would like to load a different knot or to change the elastic parameters, click on the "Parameter" button. You may choose from a set of predefined knots (all closed). As an alternative, a torus knot, which is defined by two winding-numbers, can be calculated. Also, loading a knot based on braids is possible. Based on a list of points or an explicit equation, rods with other types of boundary conditions can be calculated as well. All curves are automatically reparametrized to arc-length. A list of the current parameters and the curve position can be obtained in the "Export" tab in the section of "Data of Current Step".

To confine the rod/knot to a set of predefined shapes, please click on the "Confinement" tab. We offer spheres, cylinders and boxes.

The knot visualization can be rotated, zoomed and panned. The colors and other render options can be modified in the "Rendering" tab. If you double click on the figure, the knot becomes editable and you can move points around, coarsen, and refine the existing knot. On mobile devices, some features might not be available.

What's happening

Given a curve \(u:I\to\mathbf{R}^{3}\) for an interval \(I=(0,L)\) that is parametrized by arc-length (i.e. \(|u'|=1\)), we define the energy as the functional \[E[u]=\frac\kappa2\int_I\left|u''(x)\right|^2\mathrm{d}x + \varrho\,\mathrm{TP}[u] + \mu\,\mathrm{VP}[u],\] where \(\kappa\) is the bending rigidity, \(\varrho\) the self-repulsion, and \(\mu\) the confinement strength. The energy includes the curvature term \(\left|u''(x)\right|^2\), the tangent-point functional \[\mathrm{TP}[u]=\frac{2^{-2\ell}}{2\ell}\iint_{I\times I}\frac1{\mathbf r^{2\ell}(u(y), u(x))}\mathrm{d}x\mathrm{d}y\] for a suitable \(\ell>1\) (default: \(\ell=1.5\)) and the the domain violation penalty \[\mathrm{VP}[u]=\int_I\left(\sqrt{(u(x)-m_D)^T\,Q_D\,(u(x)-m_D)}-1\right)_+^2\] for a positive semi-definite quadratic form \(Q_D\) and the domain center of mass \(m_D\). The temporal evolution is calculated as a gradient flow \[(\partial_t u,w)+h^r([\partial_t u]'',w'')=-\delta E[u][w]\] for all admissible test curves \(w\) and the L2 inner product \((\cdot,\cdot)\), where \(h^r=0\) if \(r<0\).

The implemented scheme has an energy monotonicity property with controlled arc-length constraint violation for suitably chosen parameters. The algorithm is semi-implicit and based on cubic finite elements to represent the rod.

A detailed description of the calculations performed by KNOTEVOLVE is given in this manual.

About this Page

This is KNOTEVOLVE v20.12. This software is under development and may change in future releases. The service may be unavailable or under maintenance at any time.
Contributors: Sören Bartels, Philipp Falk, Pascal Weyer. Further details can be found at the group webpage. Please notify us in case you find any sort of bug on this page.
The authors thank Philipp Reiter and Patrick Schön for their contributions and insightful discussions as well as the Institute of Mathematics of the University of Freiburg for support and hospitality. We only use technically necessary cookies that enable the communication between our server and the user's web browser.
We use and appreciate MathJax, THREE.js, Plotly, math.js, Font Awesome and Fira Sans. You may find copies of the respective licenses in this text file.


Sören Bartels, Philipp Reiter, and Johannes Riege. A simple scheme for the approximation of self-avoiding inextensible curves. IMA J. Numer. Anal., 38(2):543--565, 2018.
Sören Bartels. A simple scheme for the approximation of the elastic flow of inextensible curves. IMA J. Numer. Anal., 33(4):1115--1125, 2013.
O. Gonzalez and J. H. Maddocks. Global curvature, thickness, and the ideal shapesof knots. Proc. Natl. Acad. Sci. USA, 96(9):4769–4773, 1999.

© Mathematisches Institut, Universität Freiburg 2017-2020. Imprint. Privacy Policy.