1. 30 Dec, 2025 1 commit
  2. 03 Nov, 2025 1 commit
  3. 14 Oct, 2025 1 commit
    • João Morado's avatar
      Update AMOEBA XML, .prm files, and parsing of Tinker files (#5086) · eaf56f96
      João Morado authored
      * Correct AmoebaAngleTorsion in test_Amoeba18Nucleic of TestForceField
      
      * Update processTinkerForceField to handle latest .prm Tinker files
      
      * Update amoeba2018 XML files
      
      * Update amoeba2013 XML files
      
      * Update amoeba2009 XML files
      
      * Adapt addTorTor to new format in the .prm files
      
      * Fix TorsionTorsion
      
      * Also update the total energy in test_Amoeba18Nucleic
      
      * Update amoebabio18.prm
      
      * Fix nucleic acid test energies
      
      * Correct AmoebaAngleTorsionForce params
      
      * Add new addTorTor to TinkerFiles
      
      * Revert unit fix
      
      * Change to .pdb file which Tinker likes
      
      * Update test_Amoeba18BPTI
      
      * Remove trailing zeros from XML files
      
      * Leave trailing zeros only on 2018 ff
      
      * New element names in 2018
      
      * More digits for surfaceAreaFactor
      
      * More digits for surfaceAreaFactor
      
      * More digits
      
      * Remove debugging print
      
      * Add support to 2009 and 2013 AMOEBA ffs to processTinkerForceField.py
      
      * Add FF specific residues XML files
      
      * Delete old residuesFinal.xml
      
      * Update AMOEBA XML ffs
      
      * Update FFs
      
      * Fix some formatting issues
      
      * Fix "." in scientific notation
      
      * Remove old assertions
      eaf56f96
  4. 12 Sep, 2025 1 commit
    • Evan Pretti's avatar
      Add constant potential method (#4870) · f55abcaa
      Evan Pretti authored
      
      
      * Initial implementation of C++ API
      
      * Add kernel interface and information for API generation
      
      * API updates for updating electrode parameters
      
      * Add serialization proxy for ConstantPotentialForce
      
      * Update file headers
      
      * Add CG error tolerance and fix units on getCharges() return value
      
      * Initial implementation of matrix solver
      
      * Fixes and conjugate gradient solver
      
      * Try to fix Linux and Windows builds
      
      * Make sure charge constraint target is on total charge
      
      * Restore handling of exceptions like NonbondedForce since they won't involve electrode atoms
      
      * Ameliorate numerical instability in constrained conjugate gradient
      
      * Fix uninitialized pointers, memory leak, and style
      
      * Set CG tolerance units in Python API
      
      * Test ConstantPotentialForce serialization
      
      * Read/write ExceptionsUsePeriodicBoundaryConditions as bool
      
      * Improve constrained conjugate gradient robustness to roundoff error accumulation
      
      * Recompute matrix if electrode atoms move due to setPositions()
      
      * Tolerance is now in gradient (potential) units again
      
      * Add neutralizing background correction
      
      * Add Python API tests
      
      * Fixes for CG and nonbonded exceptions
      
      * Add initial tests checking against existing NonbondedForce behavior
      
      * Expand test suite and fix some implementation issues
      
      * Add additional tests using larger reference system
      
      * Add Gaussian test
      
      * Finish test against reference computation
      
      * CPU platform implementation
      
      * Fixes for compilation on some platforms
      
      * Fixes for constant potential with AVX/AVX2
      
      * Test linking CPU PME library to constant potential test directly
      
      * Older SWIG versions don't support Python set to C++ set conversion
      
      * Add user guide entry
      
      * Increase speed of reference test
      
      * Conditional building constant potential CPU test is unreliable
      
      * Debugging
      
      * Miscellaneous fixes and improvements for CI
      
      * Cache charges so solver will not run if system and coordinates have not changed
      
      * Preconditioner flag, stability, and automatic detection improvements
      
      * Add GPU platform-specific constant potential kernel classes
      
      * PME and device-host I/O changes to support constant potential
      
      * Initial common constant potential implementation
      
      * Constant potential fixes:
      
      * Fix preconditioner PME position/charge save/restore logic
      
      * Fix reduction synchronization in constant potential solver kernels
      
      * Add double-float accumulation for conjugate gradient solver when
        double unsupported by hardware
      
      * Improve conditioning of a test system, and make sure particles are in or
      out of cutoff for consistency and ease of comparing between platforms
      
      * Reorder guess charges for CG when atom reordering changes positions
      
      * Remove PME queue for now
      
      * Trying to debug optimized direct space derivative kernel
      
      * Remove extraneous debugging lines
      
      * Style updates; just make CPU preconditioner double precision
      
      * Debugging updated optimized direct derivatives kernel for all but OpenCL CPU
      
      * OpenCL CPU implementation of direct space derivatives, and cleanup
      
      * Try to make test even shorter to not time out on CI
      
      * Temporary - Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Remove debugging code and fix reduction synchronization
      
      * Fix other reductions
      
      * Debugging - are tests hanging or just slow on CI?
      
      * Debugging
      
      * Debugging
      
      * Fix macro for case when double precision is available on hardware
      
      * Remove changes for debugging again
      
      * Try to improve matrix solver cache locality by uploading transpose
      
      * Fixes for atom ordering and periodic images
      
      * Can't rely on reorder listener for cell offset updates
      
      * Test reducing number of contexts and timing for CI
      
      * Debugging
      
      * Remove timing code and revert debugging changes
      
      * Matrix solver and plasma term optimizations
      
      * Reduce CG solver kernel calls and downloads
      
      * Don't read back convergence flag from global memory
      
      * Update PME due to refactoring in master branch
      
      * Faster matrix solver (1st step)
      
      * Faster matrix solver for CUDA
      
      * Faster matrix solver compatibility with non-CUDA platforms
      
      * Matrix solver fixes
      
      * Use warp shuffle reductions when possible
      
      * Attempt to work around intermittent compiler crash in Intel CPU OpenCL
      
      * Optimize CG solver kernel 1
      
      * Rework CG solver so some kernels can use more than 1 block
      
      * Don't run out of shared memory
      
      * Asynchronously download convergence flag while clearing buffers
      
      ---------
      Co-authored-by: default avatarEvan Pretti <pretti@sh03-17n15.int>
      f55abcaa
  5. 13 Aug, 2025 1 commit
  6. 28 Mar, 2025 1 commit
  7. 26 Nov, 2024 1 commit
  8. 16 Oct, 2024 1 commit
  9. 01 Oct, 2024 1 commit
  10. 05 Sep, 2024 1 commit
  11. 23 Aug, 2024 1 commit
  12. 19 Jul, 2024 1 commit
  13. 17 Jul, 2024 1 commit
    • Peter Eastman's avatar
      Debug CI failures (#4588) · e30e5b69
      Peter Eastman authored
      * Debug CI failures
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Removed build that was failing
      
      * Fixed URL that had changed
      e30e5b69
  14. 09 Jul, 2024 1 commit
  15. 09 Mar, 2024 1 commit
  16. 28 Sep, 2023 1 commit
  17. 20 Jul, 2023 1 commit
  18. 31 Jan, 2023 1 commit
  19. 05 Jan, 2023 1 commit
  20. 30 Oct, 2022 1 commit
    • Mike Henry's avatar
      Update hosted envs (#3818) · 02ee9325
      Mike Henry authored
      * add guide for dev builds
      
      * hosted env file for openmm-8 beta
      
      * explain how to host an env
      
      * add a namespace to support different os
      
      * pin all the versions
      
      * add version pins and env name
      
      * Added pytest
      
      * update envs
      02ee9325
  21. 17 Oct, 2022 1 commit
    • Mike Henry's avatar
      Feat/add host envs (#3808) · 48885911
      Mike Henry authored
      * add guide for dev builds
      
      * hosted env file for openmm-8 beta
      
      * explain how to host an env
      
      * add a namespace to support different os
      
      * pin all the versions
      
      * add version pins and env name
      
      * Added pytest
      48885911
  22. 20 Sep, 2022 1 commit
  23. 30 Jun, 2022 1 commit
    • Peter Eastman's avatar
      Use PocketFFT (#3667) · 1dac981a
      Peter Eastman authored
      * Use PocketFFT instead of FFTW
      
      * Minor cleanup
      
      * Use PocketFFT instead of fftpack for reference platform
      
      * Remove FFTW as a dependency
      
      * Converted a test case to use PocketFFT
      
      * Fixed an incorrect comment
      1dac981a
  24. 04 May, 2022 1 commit
  25. 18 Mar, 2022 1 commit
  26. 03 Dec, 2021 1 commit
  27. 23 Nov, 2021 1 commit
    • Mike Henry's avatar
      Add M1 build testing to GHA (#3335) · c28ae903
      Mike Henry authored
      * lets see what blows up!
      
      * need to add env file, different name than normal
      
      * lets see if setting an env will help it find the base
      
      * try forcing the use of mamba
      
      * this should break everything, but might make osx work
      
      * lets see if this fixes the issue with the extension
      
      * ci bump
      
      * lets see if a different installer will work
      
      * single thread build to see error better
      
      * ci bump
      
      * ci bump
      
      * can't build opencl on m1
      
      * add salt to url to prevent caching
      
      * rename to reflect that we can just build CPU
      
      * going to add a M1 x86_64 buld and an arm64 build
      
      * lets see if I broke 86
      
      * now lets see what happens with arm
      
      * forgot to add new build files
      
      * try older python version
      
      * newer python?
      
      * try mini forge
      
      * ci bump
      
      * unpin doxygen and remove gromacs as a dep
      
      * double check where x86_64 libs are getting pulled in
      
      * ci bump
      
      * try and use conda compiler toolchain and set arch
      
      * weird things happend with setting arch
      
      * lets see what the arch the runner thinks it is using
      
      * try printing arch again
      
      * undo shell change
      
      * remove changes to shell
      
      * make sure I don't break other buikds
      
      * fix syntax issue and add new label to actionlint
      
      * ci bump
      
      * ci bump
      
      * lets focus on arm64 builds for now
      
      * ci bump
      
      * ci bump
      
      * try setting arch to build with arch command
      
      * split steps up so other builds don't break
      
      * see if the cmake step is the only one we need to arch-ify
      
      * cleaning things up
      
      * cleaning things up
      
      * set -j2 for make
      
      * we can use the same build step as the otehr builds
      
      * now lets see if it can install gromacs
      
      * no gromacs, no problem?
      
      * remove bit of logic stopping the build
      
      * pin doxygen to 1.9.1
      
      * try building openCL
      
      * ci bump
      
      * ci bump
      c28ae903
  28. 05 Nov, 2021 1 commit
  29. 03 Nov, 2021 1 commit
  30. 26 Oct, 2021 1 commit
    • Peter Eastman's avatar
      Added AMOEBA 2018 force field (#3299) · 06767dde
      Peter Eastman authored
      * Adding support for new AMOEBA features
      
      * Support modern method of specifying in-plane angles
      
      * Implemented stretch-torsions
      
      * Implemented angle-torsions
      
      * More AMOEBA fixes
      
      * Bug fix
      
      * Converted AMOEBA 2018 force field
      
      * Added documentation for AMOEBA 2018
      
      * Added a missing file for tests
      06767dde
  31. 11 Aug, 2021 1 commit
    • Josh A. Mitchell's avatar
      Move to actively maintained dependencies for API docs (#3201) · ae2fe2fd
      Josh A. Mitchell authored
      * Proof of concept matching current behaviour with Breathe
      
      * Reorganise C++ API docs to work without autosummary
      
      * Revert to Sphinx-native search
      
      * Move remaining pip deps to conda
      
      * Remove unnecessary lunrsearch templates
      
      * Remove lunrsearch from cmake
      
      * Tidy up layout of API docs
      
      * Get code blocks to work with Breathe
      
      Breathe doesn't seem to support the Doxygen <preformatted> tag.
      It does support the <code> tag, but better yet it supports using
      <verbatim> tags to embed rst into docstrings. This commit changes
      all <pre> tags to use RST verbatim, and updates the Python
      documentation machinery to support it too.
      
      * Clarified some language
      
      * Have doxygen exclude undocumented classes and have sphinx fail on warnings for C++ API docs
      
      * List custom forces and integrators last
      
      * Add breathe to documentation CI
      
      * Typo
      
      * Fix link to custom forces in extras.rst
      
      * Have Breathe process only public classes
      
      * Strip OpenMM:: prefix from rst files to avoid colons in links
      
      * Remove existing private classes from EXCLUDE_SYMBOLS
      
      * Add comment to C++ cmake describing why we promote warnings to errors
      
      * Revise documentation build instructions for new dependencies
      ae2fe2fd
  32. 15 Jun, 2021 1 commit
  33. 03 May, 2021 1 commit
  34. 14 Apr, 2021 1 commit
  35. 11 Feb, 2021 1 commit
  36. 10 Feb, 2021 1 commit
    • Jaime Rodríguez-Guerra's avatar
      Migrate CI to GH Actions (#2964) · 6f8534dc
      Jaime Rodríguez-Guerra authored
      * Add draft GHA-based CI for Linux
      
      * Fix events
      
      * Dup key
      
      * Fix path
      
      * Update env vars
      
      * More fixes
      
      * Fix env vars again
      
      * add doxygen
      
      * add sudo
      
      * Typo
      
      * upgrade CUDA
      
      * escape newlines
      
      * more backslashes
      
      * fix CUDA_APT
      
      * more env vars fixes
      
      * fix missing file
      
      * acumulate env_vars
      
      * build python wrappers only if requested
      
      * add pytest
      
      * use $GITHUB_ENV
      
      https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#environment-files
      
      * use ${GITHUB_WORKSPACE}
      
      * Pin older gromacs
      
      * add windows
      
      * Provide default values for unbound vars
      
      * fixes
      
      * this is powershell not cmd
      
      * update envs
      
      * win fix
      
      * make windows use cmd
      
      * Change install prefix
      
      * fixes
      
      * better env files
      
      * Increase timeout threshold
      
      * set xcode to 10.x
      
      * specify action version
      
      * fix sdk in macos
      
      * split jobs a bit more
      
      * build wrappers even if tests failed for core
      
      * revert & resort build/test
      
      * fix run logic?
      
      * install envs in D:\
      
      * add more cudas
      
      * allow longer test times
      
      * sudo that
      
      * fix cuda ver checks
      
      * another little fix
      
      * one more
      
      * missing package
      
      * missing dev packages
      
      * missing backslash
      
      * add nvprof
      
      * factor scripts out
      
      * export CUDA_PATH
      
      * no quotes in env var
      
      * add more cudas
      
      * fix ci name
      
      * fix flags
      
      * typo
      
      * missing parenthesis
      
      * add cuda 11.2 urls
      
      * add retry loops for online installations
      
      * add library existence tests
      
      * verbose
      
      * fix sets
      
      * CPU and PME are not built in GPU variants; do not test for those
      
      * quote?
      
      * fix windows checks
      
      * add macos opencl
      
      * disable opencl tests on macos (but build anyway)
      
      * add docs
      
      * cd into build for docs!
      
      * install then cd
      
      * pin sphinxcontrib-bibtex
      
      * we need tex in the system
      
      * split docs into a separate job
      
      * simplify retrying
      
      * simplify retrying 2
      
      * do install
      
      * fix tlmgr installation
      
      * more tex packages
      
      * one more
      
      * one more
      
      * add textcomp to docs
      
      * usepackage[utf8]{inputenc}
      
      * switch to xelatex?
      
      * add xetex
      
      * more fonts
      
      * do not use xindy
      
      * tables can't contain blocks and use tabularcolumns at the same time
      
      https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html?highlight=tabular#directive-tabularcolumns
      
      * build libs in docs too
      
      * update docs deps; bring in pdfs
      
      * kill server after 404 checks
      
      * chage 404 checker
      
      * explicit locations needed
      
      * cumulative exit codes
      
      * override set -e
      
      * update README badges
      
      * add ppc / arm
      
      * missing vbar
      
      * not it
      
      * one too many extensions
      
      * do not test gromacs
      
      * manage workspace
      
      * source conda.sh
      
      * add python version to matrix vars
      
      * source first thing
      
      * disable unbound checks
      
      * add compilers
      
      * some more cuda stuff
      
      * add CPU only ppc64le
      
      * link through stubs
      
      * One more way to obtain HOST_USER_ID?
      
      * let cmake find cf's opencl
      
      * Try with GCC7
      
      * add timeouts for docker based runs
      
      * add several attempts for stochastic failures
      
      * add tests with conda forge compilers
      
      * do not parallelize pytest in docker runs
      
      * exclude some known slow tests
      
      * enable ccache
      
      * forgot conda shell
      
      * No need for macos sdk retries
      
      * \  -> ^
      
      * fix timestampt windows
      
      * export env vars for current step too
      
      * unneeded quotes windows?
      
      * disable compression on windows?
      
      * add ccache in docker too
      
      * group commands
      
      * fix syntax error
      
      * fix version spec
      
      * Increase timeout in Docker runs
      
      * heh, it's double colon
      
      * fix cache timestamp in windows
      
      * escape % with %%
      
      * ccache in docs too
      
      * don't use wrapper package in windows; call vcvarsall directly
      
      * More docker variants
      
      * Handle ccache env vars in yaml
      
      * Re-enable parallel pytest in Docker runs
      
      * Delete unwanted azure ymls that I didn't end up using
      
      * add some comments
      
      * Update badge URL
      
      * is that path messing with windows ccache?
      
      * add CI-README
      
      * Reduce CI matrix
      
      * increase timeouts
      
      * Add GCC7 on PPC QEmu again (temporarily, just for debugging)
      
      * add docker instructions for local debugging
      
      * fix start_docker_locally
      
      * skip some url checks in docs
      
      * Use new package name
      
      * update link
      6f8534dc
  37. 09 Feb, 2021 1 commit
  38. 01 Feb, 2021 1 commit
  39. 24 Jul, 2020 1 commit
  40. 29 Mar, 2020 1 commit
    • Rasmus Wriedt Larsen's avatar
      Minor Python tweaks (#2616) · c87b96fb
      Rasmus Wriedt Larsen authored
      * Use list-comprehension in Python code
      
      A minor change, but slighly easier to understand the initialization of
      `parent_exclude_list` in my opinion.
      
      * Implement __ne__ in Python classes that has __eq__
      
      In Python 3, `__ne__` is automatically implemented as `not __eq__`.
      
      However, in Python 2 it seems to be implemented as `not is` (so based on object
      identity).
      
      Based on setup.py [0] which says that "OpenMM requires Python 2.7 or better", it
      should be useful to have better support for Python 2 :)
      
      This was already done in 4 of the 12 classes that implements `__eq__`
      
      ```
      >>> class WildCard(object):
      ...     def __eq__(self, other): return True
      
      >>> w = WildCard()
      
      >>> w == 42
      True
      
      >>> w != 42
      True
      
      >>> w != w
      False
      ```
      
      [0]: https://github.com/openmm/openmm/blob/5cef29ce8d4e17b6d0f9fd8a3c6cc1669ca0ba2b/wrappers/python/setup.py#L237
      
      * Use umambiguous floor division for index calculations in Python
      
      This makes the code work as intended if run...
      c87b96fb