Submitted by site admin on Thu, 2007-02-08 22:21.
List of Topics
Stakeholders
- Industry and other USERS
- Academics (primarily code/algorithm developers)
- Commercial software developers ??
What is out there already
see Simulation Methods Other Resources
Gaps in Work Flow (Where simulation doesn't work)
opportunities
- long time / large length scales relative to fundamental unit of the simulation
- low-deformation rate rheology
- phase transformations near phase coexistence
- inhomogeneous systems and interfacial properties
- truncation of nonbonded interactions
- long range corrections
- electrostatics in 2D
- glassy systems
- complex interaction potentials (e.g., many-body, polarizable)
- rare events
- phase equilibria involving crystalline phases (a biggie).
Why would developers use framework/standards and/or contribute to a code repository?
- Somehow manage to populate it with something(s) that aren't
generally available but would be generally useful. Someone who benefits
from it will be more likely to be motivated to then contribute to it.
Adun
webpage
journal article
- attempts to produce code that allows rapid development while
remaining easy to maintain by shifting away from an algorithmic-centric
development methodology to one that takes into account the program
strucutre using object-oriented techniques
- they desire to have a platform that will enable rapid and
easy implementation of yet to be determined functionality while
simultaneously avoiding burdening developers with a convoluted and hard
to understand program
- includes an XML-based template for describing force fields
coupled with a flat file to XML conversion tool to allow rapid
implementation of force fields
- intended to eventually include all levels of simulation (atomistic, meso, and macro)...initially focusing on MD
- implemented in Objective-C
- "Adun is the result of our ambition to provide a highly
scalable, easy to develop open-source platform for computer simulations
that also allows rapid implementation of new functionality and
protocols. This stands in contrast to many current simulation packages
that cannot keep pace with the rate of change in the state of the art,
a situation that has lead to a proliferation of lab-centric MD programs
that implement a few related protocols that subsequently remain unknown
or unused outside of a small user core."
FSAtom
webpage
summary document
- To spread the use of the "Free Software" concept in the community of Atomic-scale Simulation software developers,
- To improve the awareness of modern software engineering concepts,
- To constitute the natural place for interactions between different groups of developers in this field.
- maintain a Web site (hosted by CECAM) with mailing lists and
with links to the relevant software projects (also to proprietary
software, for information) ;
- through workgroups, organize the collaboration between
developers : file exchange, code testing, definition of objects,
exchange of development tools, exchange of expertise ... ;
- organize workshops and tutorials on related subjects, and on modern software engineering concepts ;
- maintain a contact with the Free Software foundation, and spread relevant information from it or about it;
- maintain a contact with relevant funding agencies or institutions, and ease (or foster) the writing of relevant proposals.
- TestingDFT coordinated by Gilles Zerah
- TestingMD coordinated by David van der Spoel
- PseudoPotentials coordinated by Karsten Jacobsen
- FileFormats coordinated by Mark Tuckerman
- InterfacesAndMiddleware coordinated by Konrad Hinsen
- MolecularMechanicsOpenStandards coordinated by Konrad Hinsen
- Identified the need for accurate comparison of the results from
different codes on a systematic basis via a well-defined protocol
- Emphasized the importance of the community adopting modern software development concepts including:
- libraries for handling files in view of sharing and comparison of routines and codes;
- reusability of sources;
- self-documentation of codes;
- combination of extension and compute-intensive languages (e.g. Python+C);
- high-level graphics libraries;
- installation and maintenance tools (autoconf, automake, CVS);
- self-testing of code.
- Identified a list of relevant topics:
- parallelism (MPI, OpenMP, ...)
- exchange of data (NetCDF, HDF, XML)
- graphics high-level libraries (VTK),
- techniques for optimisation of codes
- use of standard libraries (BLAS , LAPACK),
- extension languages (Python, Scheme, Tkl for user interface),
- installation tools (autoconf, automake)
- maintenance tools (CVS, bug tracking)
- good coding practice (especially for big projects),
- tools for documentation (Robodoc, Src2tex, TexInfo, Docbook)
MolecularMechanicsOpenStandards
wiki
- a workgroup of FSAtom
- StructuralData notes
- ForcefieldData notes
- General discussion about a common format for representing configurations, trajectories, force fields, etc.
- In general, most force fields require as input the atom types
(possibly forcefield-specific) and partial charges for each atom plus
the bond structure. Starting with that information, all force field
terms can be identified by algorithmic rules (though the rules can be
quite complicated, poorly documented, and very different from one force
field to another).
- Creating an XML representation of force fields can have a number of benefits:
- it allows the formulation to be used interchangeably. It might
be possible to search for programs which used a particular form. (Note
TeX doesn't normally support symbolic algebra, but MathML can.)
- it allows documentation and the equations could , for example, be systematically typeset.
- it might allow for program simulation to validate correctness of implementation on test sets.
- CmlCore
- CmlAtom
- In Feb 2005, Konrad Hinsen released a version of the Molecular Modelling Toolkit with support for reading and writing files for chemical systems in an xml format.
eMinerals
webpage
- The eMinerals project is intended to provide a "grid computing"
environment to address problems of environmental interest using a wide
variety of computational tools such as quantum mechanics, classical
molecular dynamics and Monte Carlo. The emphasis is on the use of
existing codes and on ways to manage the system inputs/outputs so that
it is transparent to the user. This is a non-trivial task as both the
grid and the users are at several distinct sites in the UK.
- Computer security issues are not discussed. Note that
computer security concerns have restricted grid computing at NIST to a
limited set of machines on a network with carefully llimited access.
Only with strong limitations can security issues be resolved.
The Molecular Modeling Toolkit (MMTK)
webpage
[E-mail for Konrad Hinsen, developer: hinsen@llb.saclay.cea.fr]
Modular/Efficient/Robust/Easy
The Molecular Modeling Toolkit lives up to its name since it is
a toolkit (or library) of open source Python modules for creating
Python-scripted molecular simulation applications. At first glance, the
MMTK appears to be only for life science applications, but the
object-oriented nature of the Python language makes this modeling
environment easy to use outside of the life science area. Also, if new
simulation methods or force fields need to be created and tested, then
additional Python modules can be written to interact with the MMTK. The
only (minor) reservation that I have is that Python executes relatively
slowly compared with C and Fortran. Time-critical computations could be
written in C since there is an interface with Python. Overall, the MMTK
offers a good start in providing a set of modules within the Python
environment for creating simulation applications.
Workflow
From what I can tell, the MMTK does have modules for problem set
up, through convergence, to analysis but not really for a broad range
of problems. However, the modularity of the Python language would allow
the development of the necessary modules to cover many different types
of problems. There is no GUI for workflow; one would have to be built
on top of MMTK.
Database
Although there is no database for simulation and relevant
experimental results, MMTK does have a user-configurable database which
defines atoms, functional groups, molecules, and proteins. This type of
database is also important, mainly for setting up the input for a
simulation.
Relevant Feedback
- On the topic of GUIs, (Marcus Martin (email received 30 Sept 05)):
"While your desire to create a GUI for multiple other packages is
admirable, my experience with folks who have on and off be working on a
GUI for Towhee is that a truly useful GUI takes an incredible amount of
effort. I have watched many GUI projects start, sputter, and then
fail...I have found little actual interest in using a GUI from my user
base. It only truly becomes useful once it has quite complicated
features like the ability to draw a molecule and have a force field
automatically assigned based on that drawing. Not something that is a
simple code project."