Simulation Methods - Goals

Submitted by site admin on Thu, 2007-02-08 14:27.

Current Focus

  1. Create and maintain a list of publicly-available simulation codes. Make it available on the web site. Invite developers to correct or augment the information. Add a web form for developers to submit the survey for other codes.
  2. Use forum, email lists, and/or wiki to initiate (seeded with content by steering committee) and foster discussion about simulation methods within the broader community.

 

Other Goals

Educate ourselves regarding other previous and on-going efforts that are similar to ours. (completed)


Obtain buy-in to strategic plan by key stakeholders. (completed)


Identify commercially and publicly available resources; provide links and test cases.

  1. Delineate categories for programs (MD simulation driver, etc)
  2. Collect info on public codes via survey of developers (e.g., approximate size of user-base, unique features of your code, major challenges, future directions, etc.)
  3. Identify resources and populate summary Wiki lists with resource, link, and test-cases location info
  4. Publicize summary of available resources

Identify and begin building the framework for software interoperability.

  1. Identify gaps in workflow tools
  2. Identify standards for input and output, and identify which software modules are currently available to enable interoperability between codes/steps
  3. Publicize standardized links and gaps

Identify properties and classes of molecules and systems and what methods are available to address them. Categorize them according to routine and non-routine.


Establish the necessary characteristics of a graphical user interface (GUI) for setting up, launching, and monitoring a simulation as well as for the analysis of the end results.


Identify a problem-oriented simulation language (GUI or text line editing) for tying simulation tasks together to solve a problem.


Determine how to establish error bars for calculations.


Delineate all steps and criteria required to predict properties to a specific level of accuracy within established error bars for a basic set of simulation tasks which are readily amenable to code modularization.


Develop a series of Standard Benchmark Reference Simulation examples with model protocols to illustrate techniques for both expert developers and novice users to test and develop their codes. In so doing, enable the accurate comparison of the results from different codes on a systematic basis via a well-defined protocol. Include a set of coordinate files for a variety of specific systems along with a complete listing of the numerical values of each contribution to the potential energy for a given force field (non-bonded, angles, bonds, torsions, electrostatics) for a variety of systems spanning very simple (Lennard-Jones) to more complex (proteins) for use in validating methods/codes for the calculation of potential energy/forces. Include the consideration of quantum-chemical-based methods including criteria to establish when they have been improved to the extent necessary to sufficiently reproduce non-bonded interactions for fluid simulations


Establish a repository of short, explanatory articles about methods and algorithms. Each article should focus on a particular algorithm, contain a "pseudo-code" section which describes its steps in plain terms, and highlight the key papers from the literature which provide further information.


Establish a repository for simulation codes and simulation-related subroutines (analysis routines, property calculation routines, etc); Establish a set of methods for code validation (e.g., to insure microscopic reversibility in MC and energy conservation in MD); Establish curatorship protocols for accepting and storing routines; Educate simulation users on the benefits of sharing codes and subroutines; Encourage simulation users to adopt standards for facilitating straight forward integration.


Establish a database of simulation and related experimental results. Delineate and develop standards for storing data; Evaluate and recommend use of centralized or distributed databases or a combination of both; Establish curatorship protocols for accepting and integrating data; Educate simulation users on the benefits of sharing data and encourage them to adopt standards for facilitating automated data capture and integration.


Develop a primer on writing good molecular simulation routines, a tutorial including guides regarding topics such as the best way to parametrize molecular variables, subdivide tasks, speed performance, and enhance portability from one problem to another.


Offer a periodic challenge to test methods and stimulate development of new methods.