Merge pull request #175 from peastman/master

Fixed segfaults on some computers
Merge pull request #176 from peastman/master

Added AmoebaMultipoleForce::getInducedDipoles()
Support gzip and bzip2 compression for StateDataReporter (based on filename
extension). Users were already able to pass gzip.GzipFile objects and
StateDataReporter would write compressed data. bz2.BZ2File objects also worked
after I removed the self._out.flush() calls.
Add sulphur and aluminium aliases.

Fix small bug in internal/pdbstructure.py.
Add the flush calls back to statedatareporter properly protected by try-except.
Merge pull request #178 from swails/master

Support gzip and bzip2 compression for StateDataReporter (based on filename extension) and other small fixes
Implement GBn2 (equivalent to igb==8 in Amber) via CustomGBForce. [1] The energy
computed with OpenMM matches that computed with Amber for the new model as well
as the existing models do (see table below). GBn2 is a much better GB model than
either the OBC models or the original GB neck by all indications...

This commit also does a few other things:
   -  Made the necessary changes to allow users to select GBn2 as the
      implicitSolvent model in AmberPrmtop.createSystem()

   -  Since AmberTools 12, Amber topology files have been written out with a
      ATOMIC_NUMBER section. When available, use this data to initialize element
      information in the Topology object generated by AmberPrmtopFile (when not
      available, try to determine elements from the atom name).

   -  GB parameters for GBn (and the new GBn2) should be determined based on the
      type of element. While this was approximated using the atom name, the
      better approach (and the one used in Amber since the addition of
      ATOMIC_NUMBER to the topology file) is to set the screening parameters
      from the element information.

[1] H. Nguyen, et al., J. Chem. Theory Comput. 9 (4) pp. 2020 - 2034

I also checked all of the GB model energies computed via OpenMM with those
computed via Amber, keeping all settings the same (I disabled the surface area
component in OpenMM and set rgbmax=cut=1000 in Amber, used full double
precision/CUDA in OpenMM, and used no constraints).

(all energies are kcal/mol)

             |  OpenMM    |    Amber
--------------------------------------
HCT (igb=1)  | -2284.0383 | -2283.9012
OBC1 (igb=2) | -2334.0054 | -2333.8666
OBC2 (igb=5) | -2220.8282 | -2220.6934
GBn (igb=7)* | -2155.8072 | -2155.6449
GBn2 (igb=8) | -2228.1681 | -2227.9147  <-- new

*Energies do not match OpenMM 5.2 due to bug fix in commit f7b98d01
Tweak comment in createSystem docstring to indicate GBn2 as an available choice.
Merge pull request #179 from swails/master

Implement GBn2 (same as igb==8 in Amber), a significantly improved GB model
Merge pull request #182 from peastman/master

Lots of optimizations to CPU platform
Merge pull request #185 from peastman/master

Minor optimizations to CPU platform
Merge pull request #186 from peastman/master

Fixed errors in Python wrapping of AmoebaMultipoleForce
Fix for #151
Merge pull request #188 from rmcgibbo/fix3

#define FLEXBILE by default in gromacstopfile
Fix
Merge pull request #189 from rmcgibbo/fix

Fix for PR #149
typo
Merge pull request #190 from rmcgibbo/typo

typo
Merge pull request #191 from peastman/master

Further improvements to CPU platform