1. 06 Apr, 2026 1 commit
  2. 30 Mar, 2026 1 commit
  3. 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
  4. 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
  5. 23 Sep, 2025 1 commit
  6. 02 Sep, 2025 1 commit
  7. 26 Aug, 2025 1 commit
  8. 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
  9. 12 Aug, 2025 1 commit
    • 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
  10. 09 Jul, 2025 1 commit
  11. 02 Jun, 2025 1 commit
  12. 24 May, 2025 1 commit
  13. 23 May, 2025 1 commit
  14. 28 Apr, 2025 1 commit
    • Peter Eastman's avatar
      Added computeCurrentPressure() to MonteCarloBarostat (#4881) · bce0c133
      Peter Eastman authored
      * Added computeCurrentPressure() to MonteCarloBarostat
      
      * Use instantaneous temperature to compute pressure
      
      * Added computeCurrentPressure() to MonteCarloAnisotropicBarostat
      
      * Added computeCurrentPressure() to MonteCarloMembraneBarostat
      
      * Fixed compilation error
      
      * Fixed error in typemap
      
      * Added documentation on computing pressure
      
      * Fixed CUDA compilation errors
      
      * Made test case more robust
      
      * Made a test case more robust
      
      * Added computeCurrentPressure() to MonteCarloFlexibleBarostat
      
      * Fixed compilation error
      
      * More documentation on computing pressure
      bce0c133
  15. 14 Apr, 2025 1 commit
    • Peter Eastman's avatar
      DPDIntegrator (#4799) · de180e4e
      Peter Eastman authored
      * Created DPDIntegrator class
      
      * Reference implementation of DPDIntegrator
      
      * Build neighbor list for DPDIntegrator
      
      * Minor fixes
      
      * Documentation for DPDIntegrator
      
      * Python API for DPDIntegrator
      
      * Preliminary OpenCL implementation of DPDIntegrator
      
      * Enable USE_PERIODIC
      
      * Use updated positions in DPD thermostat
      
      * Working on neighbor list for OpenCL DPDIntegrator
      
      * ReorderListener for particle types
      
      * Serialization for DPDIntegrator
      
      * CUDA implementation of DPDIntegrator
      
      * HIP implementation of DPDIntegrator
      
      * Fixed compile error in Python wrapper
      
      * Fixed compile error in wrappers
      
      * Fixed uninitialized memory in reference neighbor list
      
      * Added DPDIntegrator to C++ API docs
      
      * Fixed incorrect launch size
      
      * Fixed nan in DPD random number generator
      
      * Minor optimizations
      
      * Improved load balancing
      
      * Fixed an indexing error
      
      * Neighbor list uses the maximum cutoff of any force
      
      * Fixed HIP compilation error
      
      * Fixed access to invalid memory
      
      * Added test case for diffusion coefficient
      
      * Try to debug segfaults on CI
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Possible fix
      
      * Debugging
      
      * Debugging
      
      * Debugging
      
      * Use correct block size on CPU OpenCL
      
      * Workaround for bug in Intel's OpenCL for CPUs
      
      * Removed an unnecessary define
      
      * Removed debugging code
      
      * Include Dart
      
      * More Intel workarounds
      
      * Workaround for error in NVIDIA OpenCL
      de180e4e
  16. 14 Mar, 2025 1 commit
  17. 16 Dec, 2024 1 commit
  18. 26 Nov, 2024 1 commit
  19. 06 Sep, 2024 1 commit
    • Peter Eastman's avatar
      Optimize updateParametersInContext() (#4610) · 78902bed
      Peter Eastman authored
      * Optimize CustomNonbondedForce.updateParametersInContext()
      
      * Optimized uploading changed values to GPU
      
      * Optimized updateParametersInContext() for lots of bonded forces
      
      * Optimized updateParametersInContext() for CustomExternalForce
      
      * Optimized updateParametersInContext() for NonbondedForce
      
      * Code changes for HIP platform
      78902bed
  20. 05 Sep, 2024 1 commit
  21. 19 Aug, 2024 1 commit
  22. 06 Apr, 2024 1 commit
  23. 23 Feb, 2024 1 commit
  24. 17 Feb, 2024 1 commit
  25. 18 Jan, 2024 1 commit
  26. 20 Dec, 2023 1 commit
  27. 12 Dec, 2023 1 commit
  28. 24 Oct, 2023 1 commit
  29. 16 Oct, 2023 1 commit
    • Christopher Woods's avatar
      WIP - looking for a way to optimise performance of creating contexts by... · 03ed8ff2
      Christopher Woods authored
      WIP - looking for a way to optimise performance of creating contexts by removing temporary arrays (and their associated mallocs/frees) (#4261)
      
      * Suggesting a "haveSameParameters" function for CustomNonbondedForce which could be
      used to avoid creating temporary copies of arrays when testing if particles are
      the same.
      
      Also updating "getParticleParameters" so that it re-uses the memory of the
      passed vector argument, rather than deallocating and reallocating it
      via a copy.
      
      * Revert "Suggesting a "haveSameParameters" function for CustomNonbondedForce which could be"
      
      This reverts commit e80ec2d2e9981abb90711636bf3a78d0c49e43fc.
      
      * Moved to `thread_local static` as suggested to prevent new vector allocations on each function call.
      
      Updated `getParameters` and `getBondParameters` to re-use the memory from the argument rather
      than re-allocating via the copy.
      
      * Forgot to reuse the memory for the groups...
      
      * Reverted back the manual copies via memcpy as they aren't needed. Looking at the header
      file and benchmarking shows that std::vector does the right thing.
      
      * Confined `thread_local static` only to ForceInfo methods, and have also put declarations
      for multiple variables back onto a single line
      
      * Removed `thread_local static` from the constructor
      
      * Moved constructor declarations back into the for loop
      03ed8ff2
  30. 28 Sep, 2023 1 commit
  31. 16 Sep, 2023 1 commit
  32. 02 Sep, 2023 1 commit
  33. 28 Aug, 2023 1 commit
  34. 18 Aug, 2023 1 commit
    • bdenhollander's avatar
      Amoeba and ATM Force minor cleanup (#4195) · f2bdcc75
      bdenhollander authored
      * Amoeba minor cleanup
      
      - Fix variable name in string
      - Remove odd space between variable and period that is inconsistently styled
      
      * Replaces random tabs with spaces in ATM Force
      f2bdcc75
  35. 02 Aug, 2023 1 commit
    • Emilio Gallicchio's avatar
      Draft integration of the Alchemical Transfer Method (ATM) plugin (#4110) · d8c67699
      Emilio Gallicchio authored
      * Draft integration of the Alchemical Transfer Method (ATM) plugin
      
      * Attempt to store and retrieve forces--does not compile
      
      * Implement addForce()/getForce() methods
      
      * Throw exception when specifying properties without a Platform (#4130)
      
      * Fixed DOF calculation for NoseHooverIntegrator (#4128)
      
      * Fix variance in documentation of VerletIntegrator (#4138)
      
      * Python API for ATMForce
      
      * Fixed compilation error
      
      * Minor cleanup of formatting and documentation
      
      * Files for ATMForce test cases
      
      * More cleanup
      
      * Removed variable groups
      
      * Test ATMForce with two particles
      
      * More tests for ATMForce plus fixes
      
      * Added missing header
      
      * Rework interface to pass displacements as vector of parameters
      
      * Revert "Rework interface to pass displacements as vector of parameters"
      
      This reverts commit 5e092031f31ded1137b677588f007add1c2d6f82.
      
      * Test with nonbonded force
      
      * Allow energy expression to be custom...
      d8c67699
  36. 23 Jun, 2023 1 commit
  37. 12 Jun, 2023 1 commit
  38. 31 May, 2023 1 commit
  39. 23 May, 2023 1 commit
  40. 18 May, 2023 1 commit