pyfeyn2.auto.position

Functions

auto_align(fd, positions[, legs, vertices])

Automatically position the vertices and legs on a list of positions.

auto_align_legs(fd[, incoming, outgoing])

Automatically reshuffle the legs of a Feynman diagram.

auto_grid(fd[, n_x, n_y, min_x, min_y, ...])

Automatically position the vertices and legs on a grid, with the given minimum and maximum values for x and y, and the number of grid points, but avoid placing vertices or legs on the same position.

auto_gridded_springs(fd[, points, n_x, n_y, ...])

auto_position(fd[, layout, size, clear_vertices])

Automatically position the vertices and legs.

auto_remove_intersections_by_align_legs(fd)

Automatically remove intersections by aligning the legs and reshufffling (permuting) them.

auto_vdw(fd[, points, LJ, dis, y_symmetry, ...])

Minimizes a potential between vertices and legs.

ccw(A, B, C)

Return true if the points A, B, and C are in counter-clockwise order.

feynman_adjust_points(feyndiag[, size, ...])

Adjust the points of the vertices and legs using Dot language algorithms.

incoming_to_left(fd)

Set the incoming legs to the left.

intersect(A, B, C, D)

Return true if line segments AB and CD intersect

lennard_jones(points, cons, all_points, *args)

outgoing_to_right(fd)

Set the outgoing legs to the right.

quad(points, cons, all_points, *args[, dis])

remove_unnecessary_vertices(feyndiag)

Remove vertices that are only connected to two vertices with the same propagator.

require_xy(points)

scale_positions(fd, scale)

Scale the positions of the vertices and legs.

set_none_xy_to_zero(points)