1. 06 Apr, 2026 1 commit
  2. 02 Apr, 2026 1 commit
  3. 26 Mar, 2026 1 commit
  4. 26 Feb, 2026 1 commit
  5. 17 Feb, 2026 1 commit
  6. 11 Feb, 2026 1 commit
  7. 09 Feb, 2026 2 commits
    • Peter Eastman's avatar
      Residue templates can specify constraints (#5197) · 834b1294
      Peter Eastman authored
      * Residue templates can specify constraints
      
      * Patched template generation preserves constraints
      834b1294
    • Peter Eastman's avatar
      API for querying devices (#5192) · add95438
      Peter Eastman authored
      * API for querying devices
      
      * CUDA and HIP implementations of getDevices()
      
      * Fix test failures
      
      * Fix test failures
      
      * CUDA returns correct devices even if no context has been created
      
      * Return a single device for Reference and CPU
      
      * Fix CI failure
      add95438
  8. 30 Jan, 2026 1 commit
  9. 14 Jan, 2026 1 commit
  10. 08 Jan, 2026 1 commit
  11. 30 Dec, 2025 1 commit
  12. 11 Dec, 2025 1 commit
    • Evan Pretti's avatar
      Add LCPO method (#5130) · adfd84c2
      Evan Pretti authored
      * Basic LCPO support
      
      * Add basic test for LCPO from a prmtop file
      
      * API for LCPOForce
      
      * Started LCPO reference implementation
      
      * Finished reference forces & test cases
      
      * Use other test for finite difference since grid might have discontinuous forces
      
      * Reference platform formatting
      
      * Initial implementation of CPU platform
      
      * Bugfixes
      
      * More vectorization and improve neighbor list query speed
      
      * Parallelize part of neighbor search
      
      * Check box size for LCPO with periodic boundary conditions
      
      * Fixes for updating parameters in context
      
      * GBSAOBCForce doesn't use first & last indices for updates, so no need for this optimization here
      
      * Changes to neighbor checking and optimization
      
      * Fixes and minor changes
      
      * Add global surface tension parameter
      
      * Only process half of the pairs in the neighbor list
      
      * Remove unnecessary checks
      
      * Initial version of common platform implementation
      
      * Asynchronously download neighbor list size
      
      * Debugging
      
      * Do pair precomputation in copyPairsToNeighborList
      
      * Recompute interactions instead of scanning neighbor list in inner loop
      
      * Condense position array before computations
      
      * Also make neighbor count download asynchronous on device
      
      * Fixes for kernel launching
      
      * Topology-based LCPO parameter assignment
      
      * Fixes, and use test system for LCPO with nucleic acids
      
      * Always raise instead of warn when LCPO parameters can't be assigned
      
      * Use Amber convention for phosphates
      adfd84c2
  13. 02 Dec, 2025 1 commit
  14. 26 Nov, 2025 1 commit
  15. 25 Nov, 2025 1 commit
  16. 18 Nov, 2025 1 commit
  17. 12 Nov, 2025 1 commit
    • Peter Eastman's avatar
      Created PythonForce (#5122) · 2fbed592
      Peter Eastman authored
      * Initial implementation of PythonForce
      
      * Continuing implementation of PythonForce
      
      * Tests for PythonForce
      
      * Fix memory leaks
      
      * Documentation for PythonForce
      
      * Fixed incorrect return type
      
      * Fix compilation error on Python older than 3.12
      
      * Handle all dtypes
      
      * Optimizations to PythonForce
      
      * Optimized getPositions()
      
      * Test all platforms
      
      * Fix test failures
      2fbed592
  18. 22 Oct, 2025 1 commit
  19. 14 Oct, 2025 2 commits
    • 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
    • João Morado's avatar
      Cleanup TinkerReader, ForceField, and amoebaforces (#5080) · 489e2c46
      João Morado authored
      * Fresh branch refactoring the new AMOEBA code
      
      * Finish cleaning up AmoebaAngleForce and AmoebaInPlaneAngleForce
      
      * Cleanup AmoebaTorsionTorsionForce
      
      * Cleanup AmoebaOutOfPlaneBend
      
      * Cleanup AmoebaMultipoleForce
      
      * Remove unnecessary gkForce
      
      * Simplify usage of atomClasses in ForceField
      
      * Formatting
      
      * Fix type of class on WCA
      
      * Simplify angle forces
      
      * Add parsing of units to PiTorsion and StretchBond, and misc. formatting adjustments
      
      * Update code per review feedback
      
      * Clearly defined API for TorsionTorsion,  and correct matching for UB,
      
      * Unindent break statements
      
      * Raise ValueError if classes and types are mixed in a Urey-Bradley term definition
      489e2c46
  20. 24 Sep, 2025 1 commit
  21. 23 Sep, 2025 1 commit
  22. 19 Sep, 2025 1 commit
    • João Morado's avatar
      Reader of Tinker files (#4769) · 939e0af5
      João Morado authored
      
      
      * Add basic version of TinkerFiles
      
      * Refactor TinkerFiles
      
      * Update docstring, type hints, and fix bug when setting box vectors
      
      * Small fixes
      
      * Add unit tests for the TinkerFiles class
      
      * Fixes and updates to TinkerFiles
      
      * Add simuteTinker example
      
      * Update Modeller to work with AMOEBA force fields
      
      * Small fixes
      
      * Relax type hinting
      
      * Fix indices in modeller
      
      * Fix modeller indices
      
      * Fix type hints and usage of Quantity
      
      * Remove numpy protector
      
      * Add reader of .seq files
      
      * Add topology parsing of some protein residues, waters, ions, and generic molecules.
      
      * Miscellaneous improvements
      
      * Update amino acids and nucleotides list
      
      * Various fixes to XML writing, and separate XML writing into a new class
      
      * Comments/warnings
      
      * Add nucleic topological definitions
      
      * Improved handling of peptide residues
      
      * Fix for CYX (disulfide bonds)
      
      * Refactor the topology creation methods
      
      * General improvements, and add support for nucleic-like residues
      
      * No need to handle MP, DP, TP
      
      * Minor improvements
      
      * General refactoring, add automatic determination of topology
      
      * Add TinkerAtomType dataclass, and remove references to biotypes as they are not needed
      
      * Re-add missing parsing of forces and scalars
      
      * Updates to createSystem()
      
      * Add AMOEBA forces
      
      * Add angle-related forces to createSystem
      
      * Add placeholders for missing forces
      
      * Beginning of support for AmoebaMultipoleForce
      
      * Finished support for AmoebaMultipoleForce
      
      * Support for AmoebaVdwForce
      
      * TinkerFiles supports vdw
      
      * Misc updates, and add AmoebaTorsionTorsion, AmoebaWcaDispersion, and AmoebaGeneralizedKirkwood
      
      * Remove XML writer
      
      * Fixes
      
      * Fix wrong indentation in _findBitorsions
      
      * Remove pdb debugging
      
      * Documentation and fixes
      
      * Remove files
      
      * Revert checks in AmoebaVdwForceBuilder and ## @private  markers
      
      * Remove duplicated static methods _getChiralAtomIndex
      
      * Fix GK force
      
      * Fix WcaDispersion force
      
      * Fix WcaDisp
      
      * Fixes and updates
      
      * Cleanup and removing duplicated code
      
      * Bug fixes
      
      * A few more unit conversions
      
      * Minor cleanup
      
      * Misc fixes and updates
      
      * Fix Add AmoebaStretchBendForce
      
      * Simplify force builders
      
      * Update ForceField
      
      * Fix AmoebaPiTorsionForce
      
      * Only add AmoebaWcaDispersionForce if using implicitSolvent
      
      * Simplify amoebaforces
      
      * Stretch torsion and angle torsion
      
      * Misc. fixes
      
      * Improve tests
      
      * Fix cap group identification
      
      * Add/improve tests
      
      * Remove whitespaces from residue names
      
      * Improve tests
      
      * Consistent use of atomClasses list
      
      * Fix match condition in AmoebaOutOfPlaneBendForceBuilder
      
      * Fix AmoebaStretchBendForce
      
      * Final fix for AmoebaStretchBendForce
      
      * Fix AmoebaAngleForce
      
      * Small fixes and improvements
      
      * Update assertion tolerances
      
      * Simplify torsion-torsion force creation
      
      * Small fixes in the tests
      
      * Review comments, type hints, docs for tinkerfiles.py
      
      * Only use standard PDB for AA
      
      * Type hint and docs for amoebaforces
      
      * Reduce tolerances for failing tests
      
      * Fixed error with ZOnly axis type when x particle is not specified
      
      ---------
      Co-authored-by: default avatarpeastman <peastman@stanford.edu>
      939e0af5
  23. 16 Sep, 2025 1 commit
  24. 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
  25. 08 Sep, 2025 1 commit
  26. 26 Aug, 2025 1 commit
  27. 22 Aug, 2025 1 commit
    • feiglab's avatar
      NBFIX in Gromacs for 1-4 pairs (#5050) · 44524bd1
      feiglab authored
      * fix to correctly read Gromacs topology files for CHARMM force field
      
      * updated fix to correctly read topology files with NBFIX and different combination rules
      
      * fixes to read topology files with NBFIX and different combination rules
      
      * changed default for useDispersionCorrection to True
      
      * changed docstring default for useDispersionCorrection to 'True'
      
      * fix scaling of 1-4 LJ pairs when NBFIX is used
      
      * apply NBFIXes to 1-4 pairs if no pair parameters are given
      
      * rerun CI
      44524bd1
  28. 14 Aug, 2025 1 commit
    • Peter Eastman's avatar
      Radius of gyration force (#5031) · 1b6236a8
      Peter Eastman authored
      * Reference implementation of RGForce
      
      * GPU implementation of RGForce
      
      * Serialization
      
      * Documentation
      
      * Fix compilation error
      
      * Fixed error building API docs
      1b6236a8
  29. 13 Aug, 2025 1 commit
  30. 12 Aug, 2025 2 commits
    • Emilio Gallicchio's avatar
      Variable distance-based displacements for ATMForce (#4776) · 3645e1ee
      Emilio Gallicchio authored
      
      
      * Variable displacements based on particle positions
      
      * set variable displacements when adding particles
      
      * update documentation
      
      * address compilation error in OpenMMFortranWrapper
      
      * update python API tests
      
      * fix stray 'and'
      
      * addParticle() without arguments add a particle that is not displaced
      
      * pack displacement particles into int4
      
      * put back default displacement removed in error
      
      * ATMForce interface with coordinate transformation objects
      
      * revise variable displacement API
      
      * documentation, formatting, serialization
      
      * Fixed C and Fortran wrappers
      
      * Fixed Python wrappers
      
      * Fixed factory
      
      * Sort files to ensure classes are listed in the correct order
      
      * Converted APIUnits test to new ATMForce API
      
      * write class name
      
      * skip the documentation for forward declarations
      
      * undo 9e91d0b since it does not fix the doc build
      
      * remove temporary doc files for nested classes
      
      * Clean away tabs
      
      ---------
      Co-authored-by: default avatarPeter Eastman <peastman@stanford.edu>
      3645e1ee
    • Peter Eastman's avatar
      Convert C++ types to Python types in API docs (#5036) · 4a956a72
      Peter Eastman authored
      * Convert C++ types to Python types in API docs
      
      * Translate some more types
      
      * Convert return types that are STL containers
      4a956a72
  31. 11 Aug, 2025 1 commit
    • Peter Eastman's avatar
      Adaptive quantum thermal bath (#4995) · 2af004b6
      Peter Eastman authored
      * Began implementing QTBIntegrator
      
      * Adaptation and deconvolution
      
      * Continuing reference implementation
      
      * Continuing to implement QTBIntegrator
      
      * Use common thread pool
      
      * More tests, documentation, and threading
      
      * Fix segfault
      
      * Serialize adapted friction when creating a State
      
      * Beginning of GPU implementation
      
      * Added missing files
      
      * Bug fixes
      
      * Fixed inverse FFT
      
      * Continuing GPU implementation
      
      * Checkpointing
      
      * Bug fixes
      
      * Test cases run faster
      
      * Changes needed for latest main branch
      
      * Minor optimizations
      
      * Documentation
      
      * Fixed atom reordering
      
      * Added parahydrogen test case
      
      * Workaround for bug in Microsoft's compiler
      
      * Added a Python test
      
      * Normalize kernel in deconvolution
      
      * Minor documentation improvements
      2af004b6
  32. 07 Aug, 2025 1 commit
    • feiglab's avatar
      fix for scaled 1-4 LJ interactions when NBFIX is present in Gromacs topology file (#5032) · d2a5d7e4
      feiglab authored
      * fix to correctly read Gromacs topology files for CHARMM force field
      
      * updated fix to correctly read topology files with NBFIX and different combination rules
      
      * fixes to read topology files with NBFIX and different combination rules
      
      * changed default for useDispersionCorrection to True
      
      * changed docstring default for useDispersionCorrection to 'True'
      
      * fix scaling of 1-4 LJ pairs when NBFIX is used
      d2a5d7e4
  33. 06 Aug, 2025 1 commit
    • feiglab's avatar
      Fix reading of Gromacs topologies created from CHARMM force field (#5026) · 0a4edb84
      feiglab authored
      * fix to correctly read Gromacs topology files for CHARMM force field
      
      * updated fix to correctly read topology files with NBFIX and different combination rules
      
      * fixes to read topology files with NBFIX and different combination rules
      
      * changed default for useDispersionCorrection to True
      
      * changed docstring default for useDispersionCorrection to 'True'
      0a4edb84
  34. 05 Aug, 2025 1 commit
  35. 25 Jul, 2025 1 commit
  36. 23 Jul, 2025 2 commits