Skip to content

The splitting method of BAOAB integrator #761

@yongyouhe

Description

@yongyouhe

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions