Skip to content

Conversation

@dwhswenson
Copy link
Member

@dwhswenson dwhswenson commented Nov 10, 2018

This will add a PathSimulator for adaptive multilevel splitting (AMS), as well as tools for setting up and analyzing an AMS simulation.

Adaptive Multilevel Splitting

AMS uses a move that is a lot like interface-constrained TIS (#788), so now that we have that shooting point selector, it is relatively straightforward to implement AMS. The difference is that AMS isn't a Monte Carlo in path space, so we need a different simulator object. In addition, the way AMS selects which trajectory to change differs from path sampling, so we need a new path mover object.

Of course, AMS will also need analysis. Some parts of that will be implemented in this PR, but I'll probably do more in later PRs.

Parametrized Volumes

Aside from AMS itself, one of the things that this will introduce is a ParametrizedVolume, which allows its volume to be changed by setting parameters. Setting these parameters is part of the AMS simulation process. The idea here is that we need a new volume for every step in AMS. One implementation would be to create a new volume, a new ensemble using that volume, a new shooting point selector using that volume, and a new path mover using the ensemble and shooting point selector at every AMS step, leading to 1000s of each of these simulation objects.

The approach I'm using instead is to make a changeable volume, which is used in both the ensemble and the shooting point selector. Only one of each object needs to be saved, and they don't work at all unless you set the parameters before using them.

There's significant overlap between the parametrized volume and the volume interface set. I'm going to look into seeing if a volume interface set can contain a parametrized volume (without breaking backward compatibility). If so, I think that will be a cleaner approach. For now, I've implemented a ParametrizedVolume that wraps a VolumeInterfaceSet in order to get some of the functionality.


To-Do:

  • ParametrizedVolume with volume interface set variant
  • Tests for ParametrizedVolumes
  • AMSInitialization and DynamicsAMSInitialization to get initial trajectories
  • Tests for AMS initialization classes
  • PathMover subclass for AMS; PathSimulator subclass for AMS
  • Tests for AMS path mover, AMS simulator
  • Analysis class
  • Tests for analysis
  • Check storability of all new objects
  • Example using toy dynamics

Already ran quick tests of this with the toy model, so it should
work. Still need to write tests and analysis methods.
@dwhswenson dwhswenson self-assigned this Nov 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant