Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize REUniverse #13

Open
theavey opened this issue Feb 11, 2018 · 4 comments
Open

Generalize REUniverse #13

theavey opened this issue Feb 11, 2018 · 4 comments

Comments

@theavey
Copy link
Owner

theavey commented Feb 11, 2018

As implemented, this is really focused on parallel tempering-type replica exchange (where the temperatures differ between the replicas).

It would be good to ask someone who does non-temperature replica exchange to figure out how it would be best to do the indexing.
There might be some other parameter that might be natural to index by.

At the very least, possibly temps could be renamed to index or similar, and made optional.
Then, there could be a new argument index_type possibly that if it is 'temp', the replica's temperatures can be set by index.

@theavey
Copy link
Owner Author

theavey commented Jun 12, 2018

Hey @dstelter92, you have any insight into this?

I have an class this is a set of replica trajectories. I mostly index them by temperature, which is natural for me, but do you have any thoughts on a more general way to index?

I guess the most general would just be an index, but that could take away by fun of being able to access one with REUniverse[temperature].

@dstelter92
Copy link

dstelter92 commented Jun 13, 2018

The way I did this in LAMMPS was to index by 'world' (essentially indexing by processor if 1 proc/world). Then have separate helper functions, world2temp, and temp2world. Then you can access REUniverse[temp2world[temperature]] or just REUniverse[world]. FWIW- this approach is much easier to parallelize.

@theavey
Copy link
Owner Author

theavey commented Jun 13, 2018

So just essentially some arbitrary index that you keep track of using temp2world?

That seems very general: just use some index, but then define helper functions to go from some useful metric to the general index.

@dstelter92
Copy link

Yep. In the case of running the simulation, the index corresponds to the MPI world in the MPI universe. In your case for post-processing, it would be arbitrary.

theavey added a commit that referenced this issue Jun 18, 2018
basic definition of replica exchange index constructor
theavey added a commit that referenced this issue Jun 18, 2018
add untested methods __getitem__, __len__, and __call__
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

No branches or pull requests

2 participants