Source code for molsysmt.form.openmm_System.to_openmm_Context

from molsysmt._private.digestion import digest

[docs] @digest(form='openmm.System') def to_openmm_Context(item, atom_indices='all', coordinates=None, integrator='Langevin', temperature='300 kelvin', friction='1.0/picoseconds', time_step='2 femtoseconds', platform='CUDA', skip_digestion=False): from molsysmt import pyunitwizard as puw from molsysmt.form.openmm_Context import set_coordinates_to_atom import openmm as mm temperature = puw.convert(temperature, to_form='openmm.unit') friction = puw.convert(friction, to_form='openmm.unit') time_step = puw.convert(time_step, to_form='openmm.unit') if integrator=='Langevin': integrator = mm.LangevinIntegrator(temperature, friction, time_step) if platform=='CUDA': platform = mm.Platform.getPlatformByName('CUDA') elif platform=='CPU': platform = mm.Platform.getPlatformByName('CPU') context = mm.Context(item, integrator, platform) if coordinates is not None: set_coordinates_to_atom(context, indices=atom_indices, value=coordinates, skip_digestion=True) return context