topo_metrics.ring_geometry#

Classes#

Module Contents#

class topo_metrics.ring_geometry.RingGeometry[source]#
nodes: tuple[topo_metrics.topology.Node, Ellipsis][source]#

The nodes in the ring.

property species: str[source]#

Species string of the ring.

property positions: numpy.typing.NDArray[numpy.floating][source]#

Cartesian positions of the nodes in the ring.

property radius_of_gyration: float[source]#

Radius of gyration around the geometric centroid.

property gyration_tensor: numpy.typing.NDArray[numpy.floating][source]#

Gyration tensor of the ring.

The gyration tensor describes the second moments of position of a set of points around their center of mass. It is a symmetric 3x3 matrix.

property principal_moments: numpy.typing.NDArray[numpy.floating][source]#

Principal moments of the gyration tensor.

The principal moments are the eigenvalues of the gyration tensor, which describe the distribution of points along the principal axes.

property asphericity: float[source]#

Asphericity of the ring based on the principal moments.

property geometric_centroid: numpy.typing.NDArray[numpy.floating][source]#

Geometric centroid of the ring.

writhe_and_acn(method: str = '1a', closed=True) tuple[float, float] | float[source]#

Writhe of the ring using specified method from

Parameters:

method – Method to compute writhe. Options are ‘1a’, ‘1b’, ‘2a’, ‘2b’. Default is ‘1a’. Each method corresponds to those introduced in

Return type:

Writhe of the ring.

linking_number(other: RingGeometry, *, cell: numpy.typing.ArrayLike, pbc: tuple[bool, bool, bool] = (True, True, True), n_images: int = 1, method: str = '1a', eps: float = 1e-12, check_top_k: int | None = None, disjoint_tol: float | None = 0.05, disjoint_rel: float = 0.001) tuple[float, tuple[int, int, int]][source]#

Linking number between this ring and another ring.

is_linked_to(other: RingGeometry, *, cell: numpy.typing.ArrayLike, pbc: tuple[bool, bool, bool] = (True, True, True), n_images: int = 1, method: str = '1a', eps: float = 1e-12, tol: float = 1e-06, check_top_k: int | None = None, disjoint_tol: float | None = None, disjoint_rel: float = 0.001) bool[source]#

Determine if this ring is linked to another ring.

to_xyz(filename: pathlib.Path | str, write_info: bool = False) None[source]#

Write the ring to an xyz file.