- 26 May, 2026 1 commit
-
-
Peter Eastman authored
* More barostats support scaling particles independently * Documentation update * MonteCarloMembraneBarostat can scale particles independently
-
- 24 Feb, 2026 1 commit
-
-
Peter Eastman authored
-
- 11 Dec, 2025 1 commit
-
-
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
-
- 17 Sep, 2025 1 commit
-
-
Evan Pretti authored
* Add note about polarizable force fields with constant potential * Add notes about CG preconditioner
-
- 12 Sep, 2025 1 commit
-
-
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:Evan Pretti <pretti@sh03-17n15.int>
-
- 26 Aug, 2025 1 commit
-
-
Peter Eastman authored
* Created OrientationRestraintForce * Python API * Documentation * Serialization * GPU implementation of OrientationRestraintForce * Bug fix * Remove unused code
-
- 14 Aug, 2025 1 commit
-
-
Peter Eastman authored
* Reference implementation of RGForce * GPU implementation of RGForce * Serialization * Documentation * Fix compilation error * Fixed error building API docs
-
- 28 Apr, 2025 1 commit
-
-
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
-
- 18 Feb, 2022 1 commit
-
-
Peter Eastman authored
* Added documentation to clarify behavior of nonbonded exceptions * Added documentation to clarify behavior of nonbonded exceptions
-
- 14 Oct, 2021 1 commit
-
-
Peter Eastman authored
* Created MonteCarloFlexibleBarostat * Improved test cases * Documentation for MonteCarloFlexibleBarostat * Added a missing include * Serialization for MonteCarloFlexibleBarostat * Added MonteCarloFlexibleBarostat to C++ API docs index * Added citation for MonteCarloFlexibleBarostat
-
- 16 Jul, 2021 1 commit
-
-
Josh A. Mitchell authored
* Break user guide into parts * Break up file I missed * Add basic .gitignore to suit out-of-tree builds in build, build1, build2 ... build9 * Small changes to autonumber.py for doc compilation This is a small change designed not to fix the incorrect logic of autonumber.py, but just to get the docs compiling. While assigning numbers, the code now just ignores the autonumber_by_chapter setting for a particular object if it can't find the appropriate section in section_numbers. This is a temporary fix! * Include part and chapter in autonumbered objects * Fix autonumber.py to correctly reference autonumber roles in file-level sections * Unify and simplify styling across documentation * Break dev docs down into individual chapter-files * Correct absolute links to relative * Disable browser suggestions for lunrsearch box in API docs * Remove part name from chapter 2.1 * Rename ambiguous 'Home' link to OpenMM.org * Typo * Minor fixes and reversions Reverts some changes I had made and later thought better of, and fixes some recurring typos across the documentation. * Number developers guide chapters * Fix responsiveness * Remove header.rst and center captions * Add a level of depth to main TOC and styling to accomodate * Add third level to Part-level TOCs * Use :numref: instead of :ref: to number links to sections * Continuously number chapters in user guide * navbar links to other docs relative, not absolute * Improve navbar spacing with new template * Fix sidebar while allowing it to scroll * Hard -> Soft links for navigation.html template * Add navigation.html template to cmakelists * Add another level of .. to relative links * Fix flex on C++ and remove layer of ..
-