meld.system.montecarlo.DoubleTorsionMover

class meld.system.montecarlo.DoubleTorsionMover(index1a, index1b, atom_indices1, index2a, index2b, atom_indices2)[source]

Bases: Mover

A class to move pairs of torsions

__init__(index1a, index1b, atom_indices1, index2a, index2b, atom_indices2)[source]

Initialize a DoubleTorsionMover

Parameters
  • index1a (AtomIndex) – first atom of first bond

  • index1b (AtomIndex) – second atom of first bond

  • atom_indices1 (List[AtomIndex]) – atoms to rotate around first bond

  • index2a (AtomIndex) – first atom of second bond

  • index2b (AtomIndex) – second atom of second bond

  • atom_indices2 (List[AtomIndex]) – atoms to rotate around second bond

Methods

__init__(index1a, index1b, atom_indices1, ...)

Initialize a DoubleTorsionMover

trial(state, runner)

Perform a Metropolis trial

trial(state, runner)[source]

Perform a Metropolis trial

Parameters
  • starting_state – initial state of system

  • runner (IRunner) – runner to evaluate energies

Return type

Tuple[IState, bool]

Returns

the system state after Monte Carlo trials