Skip to content

Single Replica Minus Mover - #350

Merged
jhprinz merged 11 commits into
openpathsampling:masterfrom
dwhswenson:sr_minus_mover
Nov 3, 2015
Merged

jhprinz merged 11 commits into
openpathsampling:masterfrom
dwhswenson:sr_minus_mover

Conversation

@dwhswenson

Copy link
Copy Markdown
Member

The SRMinusMover is a little different from the standard minus mover: instead of keeping an active minus ensemble, the minus ensemble is only used as an intermediate.

As before, we define the innermost ensemble, the minus ensemble, and the "segment" ensemble, which is like the innermost except it only allows A->A paths.

The basic process for the single replica minus is like this:

  1. Hop innermost->segment
  2. Extend segment->minus
  3. Select subtrajectory in segment
  4. Hop segment->innermost

In practice, this is split into a forward minus and a backward minus: forward minus extends forward and selects final subtraj; backward minus extends backward and selects first subtraj. The total SingleReplicaMinusMover has a 50/50 chance of selecting its forward or its backward submover.

So the normal MinusMover is a replica exchange between the minus_ensemble and one of the innermost_ensembles. On the other hand,the single replica minus mover is a move from innermost_ensemble to (hypothetically another) innermost_ensemble.

As mentioned in #331, this approach is really only useful for single innermost interfaces. In fact, the code as implemented will only be correct in that case (and raises a warning if you aren't).

  • SingleReplicaMinusMover
  • Tests for SRMinusMover
  • SingleReplicaMinusMoveStrategy
  • Tests for SingleReplicaMinusMoverStrategy

@dwhswenson dwhswenson self-assigned this Oct 29, 2015
@dwhswenson dwhswenson added this to the 1.0 milestone Oct 29, 2015
@jhprinz

jhprinz commented Nov 1, 2015

Copy link
Copy Markdown
Contributor

Is this ready to be merged?

@dwhswenson

Copy link
Copy Markdown
Member Author

No ... I'm going to add some more tests, and I think I'll go ahead and add the associated MoveStrategy and its tests as part of this PR.

@dwhswenson dwhswenson changed the title Single Replica Minus Mover [WIP] Single Replica Minus Mover Nov 1, 2015
Hypothetically, this might be useful if someone insists on using
`isinstance` to identify movers of "minus" type. However, I would *strongly*
discourage that usage; there are many better ways to do it. (Use MoveScheme,
or find the movers associated with moves involving the minus ensemble....
perhaps other things)
@dwhswenson

Copy link
Copy Markdown
Member Author

Now this is ready for review and merge.

Note: the SRMinusMover is useful beyond just single replica TIS. It is essentially the original implementation of the minus move. Instead of keeping a separate minus ensemble in the active sample set, just uses it as an intermediate ensemble. We might eventually switch to using this as the minus mover for MSTIS -- it should work there, and removes the need to manually populate the minus ensemble.

(The minus ensemble has to be manually populated for MISTIS, however, because we need to keep the minus trajectory in the active samples to get interface switching.)

@dwhswenson dwhswenson changed the title [WIP] Single Replica Minus Mover Single Replica Minus Mover Nov 2, 2015
@dwhswenson dwhswenson assigned jhprinz and unassigned dwhswenson Nov 2, 2015
@jhprinz

jhprinz commented Nov 3, 2015

Copy link
Copy Markdown
Contributor

Very nice. I always habe to smile a little when I realize how clear you can write down a new mover in ops...

Will merge this.

jhprinz added a commit that referenced this pull request Nov 3, 2015
@jhprinz
jhprinz merged commit 9f34bdd into openpathsampling:master Nov 3, 2015
@dwhswenson
dwhswenson deleted the sr_minus_mover branch April 7, 2016 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants