Open aclyde11 opened 4 years ago
Oh, my! I never considered providing a mechanism to pass arguments to openforcefield.typing.engines.smirnoff.ForceField
. I can provide a mechanism to do so, but it will be via a different optional argument to SystemGenerator
, perhaps forcefield_generator_kwargs
.
Out of curiosity, why would you have non-integral charges?
@jchodera why do I have non-integral charges.... ask neural networks. Not sure why that happens. My guess is something gets messed up somewhere. I knew someone would ask when I posted, but I would guess this change would be useful for something relevant as well haha
You might check out this simple idea in which you ask the ML model to predict two physical parameters (electronegativity and hardness) per atom, and then solve a simple convex optimization problem inspired by a physical charge-equilibration model to determine the (integral) charges. In our hands, this works much better than trying to get the ML model to learn the integral charge constraint!
A mechanism for this has been added for the EspalomaTemplateGenerator
in #293 that can be used for the other template generators, but we need to make sure the SMIRNOFFTemplateGenerator
know how to handle the parameters given through this mechanism.
It seems forcefield_kwargs is not being propagated sometimes. I've fixed this error below by editing
to
as a hack-y fix.
This is the error I typically get without the fix