- 16 Sep, 2025 1 commit
-
-
Evan Pretti authored
-
- 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>
-
- 02 Sep, 2025 1 commit
-
-
Peter Eastman authored
-
- 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
-
- 11 Aug, 2025 1 commit
-
-
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
-
- 05 Aug, 2025 2 commits
-
-
Evan Pretti authored
-
Evan Pretti authored
-
- 04 Aug, 2025 1 commit
-
-
Evan Pretti authored
-
- 29 Jul, 2025 1 commit
-
-
Evan Pretti authored
-
- 23 Jul, 2025 1 commit
-
-
Peter Eastman authored
* Reference implementation of SymmetrySite * Common implementation of SymmetrySite * Removed duplicated code * Serialization for SymmetrySite * Fixed compilation error building C wrapper * Added SymmetrySite to user guide * Bug fix * Added P21 test case
-
- 09 Jul, 2025 1 commit
-
-
Peter Eastman authored
-
- 02 Jul, 2025 1 commit
-
-
Evan Pretti authored
-
- 18 Jun, 2025 1 commit
-
-
Joe Greener authored
-
- 05 May, 2025 1 commit
-
-
Evan Pretti authored
-
- 02 May, 2025 1 commit
-
-
Evan Pretti authored
-
- 01 May, 2025 1 commit
-
-
Evan Pretti authored
-
- 28 Apr, 2025 2 commits
-
-
Peter Eastman authored
* Created CustomVolumeForce * Serialization for CustomVolumeForce * Documentation for CustomVolumeForce * Code simplification * Removed unused code
-
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
-
- 14 Apr, 2025 1 commit
-
-
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
-
- 28 Mar, 2025 1 commit
-
-
Peter Eastman authored
* Remove includes for Dart * Fix CMake error * Fixed broken link * Pin to cmake<4.0 * Try to make the link checker stop complaining
-
- 10 Mar, 2025 1 commit
-
-
Peter Eastman authored
-
- 31 Oct, 2024 1 commit
-
-
Peter Eastman authored
-
- 16 Oct, 2024 1 commit
-
-
Peter Eastman authored
-
- 04 Oct, 2024 1 commit
-
-
Will Poole authored
* updated units in energy minimisation user guide * Made units more readable
-
- 02 Oct, 2024 1 commit
-
-
Marc Schuh authored
* added type checking for Simulation.step() * changed how to check if step is an integer number * allow for dicts to be returned from Reporter.describeNextReport remove deprecated getState parameters ( #4437 ) * convert old format into new format * update docstring * nested set comprehension to set.union * Allow 'periodic':None update describeNextReport in all occurrences in the code * debug * update documentation * add a reporter for energyParameterDerivative * Revert "add a reporter for energyParameterDerivative" This reverts commit 1d44dc3f60153defb6252ab56a3b85350fa24826. * Edit documentation
-
- 27 Sep, 2024 1 commit
-
-
Peter Eastman authored
* Added documentation on HIP * Instructions for building HIP on Windows
-
- 05 Sep, 2024 1 commit
-
-
Anton Gorenko authored
-
- 23 Aug, 2024 1 commit
-
-
Peter Eastman authored
-
- 17 Jul, 2024 1 commit
-
-
Peter Eastman authored
* Debug CI failures * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Debugging * Removed build that was failing * Fixed URL that had changed
-
- 18 Mar, 2024 1 commit
-
-
Matt Thompson authored
* Update references to "openmmforcefields" project * Org name, too
-
- 13 Feb, 2024 1 commit
-
-
Peter Eastman authored
* Can use getPlatform() instead of getPlatformByName() * More concise arguments for getState()
-
- 01 Nov, 2023 1 commit
-
-
Peter Eastman authored
-
- 10 Oct, 2023 1 commit
-
-
Peter Eastman authored
-
- 24 Aug, 2023 1 commit
-
-
Stephen Farr authored
-
- 02 Aug, 2023 1 commit
-
-
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 customized * Optional displacements at the initial state * Fixed compilation error build C wrapper * Address edge case of default energy expression * Consistent naming of the variables of the displacement states * Test of soft core function of the default energy expression * Mark addForce() as taking ownership * initial python test for ATMForce * Test custom expressions * Expanded C++ API documentation for ATMForce * Energy parameter derivatives * Serialization for ATMForce * Documentation, cleanup, and fixes * Fixed typos * getPerturbationEnergy() computes energy * Another test case * Minor edits --------- Co-authored-by:
Peter Eastman <peastman@stanford.edu> Co-authored-by:
Michael Plainer <plainer@ymail.com>
-
- 20 Jul, 2023 1 commit
-
-
Peter Eastman authored
* Always use nvrtc for compilation * Install nvrtc on CI * Workaround for compiler error * Set empty values for deprecated properties
-
- 07 Jul, 2023 1 commit
-
-
Michael Plainer authored
-
- 05 Jun, 2023 1 commit
-
-
Peter Eastman authored
-
- 22 Apr, 2023 1 commit
-
-
Raul authored
* Preliminary work on XTC reporter 1. Move and adapt xtc writer/reader from moleculekit (explicit permission granted by the authors to do so) 2. Create XTCTrajectoryFile 3. Create XTCReporter * Add licence and attribution to c++ xtc library Apply clang-format to it Remove some unused functions and document the rest * Add attribution and licence to cython wrappers for the xtc library Remove some unused functions * Change XTCTrajectoryFile to XTCFile Simplify the interface and document the class * Add test for the xtc file parser * Update XTC reporter with new parser name * Fix incorrect function name in XTCReporter * XTCFile: * Add function to get number of frames * Add function to read a group of frames from a file * Add tests for the above * Ensure data is passed as float32 in XTC file * Add XTCReporter and tests * Add more tests to XTCReporter * Remove unnecessary pdb reporter in XTC tests * Copy test xtc file in python/tests/systems to build directory for testing * Remove XTC file reading from the interface Make XTCFile mimic DCDFile more closely * Use xtc_read to test the correctness of the XTC reporter * Add a test for reporting triclinic boxes * Make XTC library compatible with triclinic boxes. Adapt XTCFile to triclinic boxes * Change XTCFile to take a file as argument instead of a filename * Match DCDFile handling of the box * Fix comment * Revert "Change XTCFile to take a file as argument instead of a filename" This reverts commit 9815d4790b3886cc8a741586792268e80a227ba0. * Fix dangling file name issue * Remove index file functionality from XTC parser. Remove unused define switch PLATFORM_Linux * Fix formatting * Remove inconsistent variable naming in xtcfile.py * Change file argument name to match other reporters * Do not turn off error checking in cython wrappers * Fix leftover fileName in reporter * Rewrite wrapper to xtclib in C++ * Small changes to wrapper code * Small changes to wrapper code * Small changes to wrapper code * XTCFile: Get number of atoms directly from topology * DCDFile: Get number of atoms directly from topology * Change constexpr to const * Check precision in XTC file matches the written one * Add a write function to XTCFrame. Make write check for errors C++ side. * Rewrite large trajectory files without loading the whole file to memory * Remove unused code in XTC test * Avoid spurious copy of the positions array when calling xtc_write_frame * Pass box as reference * Remove unnecessary imports and definitions * Fix formatting * Use std::string instead of char* * Use .c_str() instead of .data() * Fix crash in Mac by correctly checking precision * Use TemporaryDirectory for tests instead of NamedTemporaryFile (Fixes windows ci) * Remove unnecessary file creation * Propagate exceptions via cython * Switch to TemporaryDirectory in xtcfile.py * Remove unnecessary include * Update some comments and document functions * Add XTC reporter to the docs
-