IMLCV.implementations.MdEngine#

MD engine class peforms MD simulations in a given NVT/NPT ensemble.

Currently, the MD is done with YAFF/OpenMM

Module Contents#

Classes#

YaffEngine

MD engine with YAFF as backend.

PlumedEngine

MD engine with YAFF as backend.

class IMLCV.implementations.MdEngine.YaffEngine(bias: IMLCV.base.bias.Bias, static_trajectory_info: IMLCV.base.MdEngine.StaticTrajectoryInfo, energy: IMLCV.base.bias.Energy, trajectory_file=None, sp: SystemParams | None = None, additional_parts=[])[source]#

Bases: IMLCV.base.MdEngine.MDEngine, yaff.sampling.iterative.Hook

MD engine with YAFF as backend.

Parameters:

ff (yaff.pes.ForceField) –

class YaffFF(md_engine: IMLCV.base.MdEngine.MDEngine, name='IMLCV_YAFF_forcepart', additional_parts=[])[source]#

Bases: yaff.pes.ForceField

A complete force field model.

property system[source]#
property sp[source]#
update_rvecs(rvecs)[source]#

See yaff.pes.ff.ForcePart.update_rvecs()

update_pos(pos)[source]#

See yaff.pes.ff.ForcePart.update_pos()

_internal_compute(gpos, vtens)[source]#

Subclasses implement their compute code here.

__call__(iterative: yaff.sampling.verlet.VerletIntegrator)[source]#
_setup_verlet()[source]#
static load(file, **kwargs) IMLCV.base.MdEngine.MDEngine[source]#
_run(steps)[source]#
class IMLCV.implementations.MdEngine.PlumedEngine(bias: IMLCV.base.bias.Bias, static_trajectory_info: IMLCV.base.MdEngine.StaticTrajectoryInfo, energy: IMLCV.base.bias.Energy, trajectory_file=None, sp: SystemParams | None = None)[source]#

Bases: YaffEngine

MD engine with YAFF as backend.

Parameters:

ff (yaff.pes.ForceField) –

plumed_dat = Multiline-String[source]#
Show Value
"""
    LOAD FILE=libpybias.so

    dist: DISTANCE ATOMS=1,2


    rc: PYTHONCV ATOMS=1,4,3 IMPORT=curvature FUNCTION=r

    # Creat a PyBias action, which executes "bias.py"
    PYBIAS ARG=rc


    RESTRAINT ARG=rc AT=0 KAPPA=0 SLOPE=1
    """