Skip to content

Roadmap and ideas for Molly.jl development #2

Open
@jgreener64

Description

@jgreener64

This issue is a roadmap for Molly.jl development. Feel free to discuss things here or submit a PR. Bear in mind that significant refactoring will probably occur as the package develops.

Low hanging fruit

Want to get involved? These issues might be the place to start:

  • Speedups to the code. Both on the level of individual functions and the overall algorithm. [Getting there]
  • Look over the code to find mistakes in implementation. There will be some because...
  • Test coverage is minimal. We need tests for the 'core' functions that are unlikely to change their return values, e.g. the force functions. [Done]

Bigger things to tackle

  • Energy minimisation by gradient descent [Done].
  • Add other forcefields. [Partly done]
  • Add other thermostats/ensembles. [Partly done]
  • Get it working on the GPU. [Done]
  • Line by line checking of how a mature MD package works to see where we have missed things and to get an idea of how to organise the codebase in future. [Partly done]
  • Neighbour list in a cubic lattice, and use of group lists. [Partly done]
  • Setup of MD simulations, e.g. adding hydrogen, solvent. [Partly done]
  • Trajectory/topology file format readers and writers. The current topology reader is not very robust. [Partly done]

Projects that will require more planning or will cause significant changes

  • Abstracting the forcefield from the integration to allow different forcefields and integrators to be combined. [Done]
  • Allow definition of custom forcefields. [Done]
  • Parallelisation. [Done]

Okay, so this is less of a roadmap and more of a list of ideas to work on. But most or all of the above would be required to make this a package suitable for general use, so in a sense this is the roadmap.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions