do_random_walk_chain_from_to_mc

pylimer_tools_cpp.do_random_walk_chain_from_to_mc(box: pylimer_tools_cpp.Box, from_coordinates: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]'], to_coordinates: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 1]'], chain_len: SupportsInt, bead_distance: SupportsFloat = 1.0, mean_squared_bead_distance: SupportsFloat = 1.0, seed: str = '', n_iterations: SupportsInt = 10000) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']

Do a random walk from one point to another. Then, relax the points in between using a Metropolis-Monte Carlo simulation.

Parameters:
  • box – Simulation box for periodic boundary conditions.

  • from_coordinates – Starting coordinates as 3D vector.

  • to_coordinates – Target coordinates as 3D vector.

  • chain_len – Number of beads to place between start and end points.

  • bead_distance – Mean distance between consecutive beads (default: 1.0).

  • mean_squared_bead_distance – Mean squared distance between consecutive beads (default: 1.0).

  • seed – Random seed for reproducibility (default: empty string for no seed).

  • n_iterations – Number of Monte Carlo iterations for relaxation (default: 10000).

Returns:

Coordinates of the relaxed chain as a flat array (i.e., [x1, y1, z1, x2, y2, z2, …]).