narupa.app.imd_app module

Module providing an implementation of an Narupa iMD application, for publishing simulations and trajectories for consumption by clients that can be interacted with in real-time through biasing potentials.

class narupa.app.imd_app.NarupaImdApplication(server: narupa.core.narupa_server.NarupaServer, discovery: Optional[narupa.essd.server.DiscoveryServer] = None, name: Optional[str] = None)

Bases: narupa.app.frame_app.NarupaFrameApplication

Application-level class for implementing a Narupa iMD server, something that publishes FrameData that can be consumed, e.g. simulation trajectories, and can received interactive forces in real-time, allowing the simulation to be biased.

>>> with NarupaImdApplication.basic_server() as app: # fire up interactive molecular dynamics
...     with NarupaImdClient() as client:
...         client.interactions # print any active interactions (in this case, none).
{}
DEFAULT_SERVER_NAME = 'Narupa iMD Server'
imd

The iMD service attached to this application. Use it to access interactive forces sent by clients, so they can be applied to a simulation.

Returns:An ImdStateWrapper for tracking interactions.