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

The splitting method of BAOAB integrator #761

Open
yongyouhe opened this issue Nov 28, 2024 · 1 comment
Open

The splitting method of BAOAB integrator #761

yongyouhe opened this issue Nov 28, 2024 · 1 comment

Comments

@yongyouhe
Copy link

yongyouhe commented Nov 28, 2024

Hi,

I noticed that the GHMCIntegrator uses the "O{VRV}O" splitting method, while the LangevinIntegrator uses the "VRORV" splitting method. I am confusing the difference between "O{VRV}O" and "VRORV." Would it be possible for the GHMCIntegrator to produce the same results if it adopted the "{VRORV}" splitting method instead?

If I want to combine the generalized hybrid Monte Carlo with MTSLangevin, which splitting method would be better?

Additionally, I noticed that in the OpenMM MSTLangevinIntegrator code, the v is not computed in the first "R" step (detailed code shown below). Why is this the case?
code link

    if len(groups) == 1:
        self.addComputePerDof("x", "x+(dt/"+str(2*substeps)+")*v")

        self.addComputePerDof("v", "a*v + b*sqrt(kT/m)*gaussian")
        self.addComputePerDof("x", "x+(dt/"+str(2*substeps)+")*v")
        self.addComputePerDof("x1", "x")
        self.addConstrainPositions();
        self.addComputePerDof("v", "v+(x-x1)/(dt/"+str(substeps)+")");

Looking forward to your reply!
Best regards.

@yongyouhe
Copy link
Author

For example, if I want to combine the generalized hybrid Monte Carlo with MTSLangevin for force group [(0,2), (1,1)], should the splitting method be "O{V1 V0 R V0 V0 R V0 V1}O"?

Appreciate it if someone could address my question.

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

1 participant