The adoption of atom-typing allowed for the creation of incredibly widely used force-fields (FF) such as GROMOS/AMBER/OPLS and many more. Because of the assumptions required in Molecular Mechanical (MM) models, in order to be accurate, at least part of the force-field must be fit to experimental data. This is very tedious, and there are many years, decades even, between updates to a FF.

Recent FF development has utilized chemical perception rather than atom-typing and seems to have alot of potential. For instance, the openFF consortium seems to be making large strides in creating an open source, easy to use and tinker with, FF.

Also, Parallel and GPU computing have come along way in the last decade. I would hope/assume that GPUs should make parameter optimization considerably faster than in previous decades.

Are there FF groups/projects in development that have the aim of being open source and highly "tinkerable", and are we in sight of being able to generate custom FFs somewhat on the fly, as we need them rather than relying on databases of atom-types fit nearly exclusively to solutes in water?

  • 1
    $\begingroup$ Welcome to Hot Network Questions, home of all your favourite out-of-context question titles! Please be aware that the use of personal deflector shields is not permitted on this aircraft, even if they are open source. $\endgroup$
    – user253751
    Jun 29, 2020 at 14:23
  • 1
    $\begingroup$ @user253751 good tip ;) $\endgroup$
    – B. Kelly
    Jun 29, 2020 at 17:37
  • 2
    $\begingroup$ Shortened title so that it fits on one line in HNQ list. $\endgroup$ Jun 29, 2020 at 18:44
  • 1
    $\begingroup$ It is a better title anyways, I appreciate it. $\endgroup$
    – B. Kelly
    Jun 29, 2020 at 18:48
  • $\begingroup$ @NikeDattani wow I frequently max out 150 characters in my HNQ titles, is fitting on one line for etiquette reasons (doesn't crowd out others) or are there other reasons? I find that as long as the first few words of the title are engineered to be HNQ-philic the rest just adds to the suspense, e.g. Guardrails against the German president from "going rogue"; violating norms and guidelines and unilaterally making/blocking foreign policy decisions? though that one is only slightly HNQ-ish. Hmm... $\endgroup$
    – uhoh
    Apr 14 at 22:23

2 Answers 2



ForceBalance is one approach which aims at making it easier to create force fields from a combination of theoretical and experimental data. I believe it's within the OpenMM framework.

The paper on the work can be found here https://pubs.acs.org/doi/10.1021/jz500737m

From the GitHub page it says

"The purpose of ForceBalance is to create force fields by applying a highly general and systematic process with explicitly specified input data and optimization methods, paving the way to higher accuracy and improved reproducibility."

The code can be downloaded here https://github.com/leeping/forcebalance



Cody is right, ForceBalance is designed for the task of generating custom force fields. Force fields have a lot of variability in their functional forms, representation of parameters (as text, XML files or objects in code), the possible values or ranges of parameters, the software that runs simulations using the force field, the experimental data that the force field is fitted to, and so on. This means the workflow to produce a force field can vary depending on the needs of the project.

ForceBalance lets you carry out the force field optimization in a systematic and reproducible way by accommodating as much of this variability as possible in a single calculation. You can fit parameters to experimental properties (such as density of a liquid), ab initio properties (such as QM calculations of energy / forces for a set of configurations), or any linear combination. A number of properties are implemented, each of which can be computed using any of several software packages (Gromacs, AMBER, Tinker, OpenMM). FB is also used to fit the OpenFF small molecule parameter set in a manuscript we're currently writing.

Extension of ForceBalance to new types of data and simulation software can be done by writing new "target" or "engine" classes. It is available via the 3-clause BSD license. I'd be happy to answer more questions.

  • 1
    $\begingroup$ Really glad to see you here, I have been meaning to send you an email for quite awhile :) $\endgroup$
    – B. Kelly
    Jun 29, 2020 at 18:28
  • 3
    $\begingroup$ Thanks, hoping to contribute more with time :) $\endgroup$ Jun 29, 2020 at 18:44
  • $\begingroup$ +10. @Lee-PingWang we are truly delighted to see you here. We hope to see much more of you on this site !!! $\endgroup$ Jun 29, 2020 at 18:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.