-
Notifications
You must be signed in to change notification settings - Fork 18
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
Monte Carlo moves: adjustable maximum displacement #23
Comments
Yes, I agree. This can be the default, but should be easy to deactivate, as modifying the MC parameters will change the thermodynamic ensemble. I have seen this implemented using something like an |
I am currently working on this. Having displacement adjustments accelerates equilibration by a lot so in order to verify other implementations (like NPT, tail corrections, comparison to NIST data) I think it is nice to have this first. I will create a PR soon. For the moment, I added a new struct
The structure replaces I just wondering how much should be done via functions or by direct manipulation of the struct's components (e.g. how to increase the counter for a move, accepted move etc.). Does that sound reasonable? Edit: @Luthaf can you add a 0.1 milestone tag to this issue? |
This seems to be a nice implementation. Another way to do it would be to store an struct Update {
called: usize,
accepted: usize,
frequency: usize
}
struct MonteCarlo {
moves: Vec<(Box<Move>, Update)>
} So that it is the responsibility of
I do not have opinion here. Having functions is better if we need to change the internal implementation, but this seems unlikely. So defining a private struct with public members would do it.
Done! You can do it too, using the menu on the left. |
That is also an option. Since it is handy to track acceptances of every move (even those that do not use displacements) it is better to separate the moves' stats and the displacement updates. I will think about a solution. |
Leaving this open for tracking the implementation of this feature in the input files. |
It would be a good idea to implement a
demanded acceptance
for MC moves that have a displacement (translation, volume or box change). That way, the maximum displacement for the move can be adjusted during the simulation to achieve that acceptance. With a fixed displacement as is, simulations can be very inefficient.The text was updated successfully, but these errors were encountered: