- 13 Dec, 2025 2 commits
-
-
Anton Gorenko authored
adaptFrictionPart1 is executed first, it reads randomForce and segmentVelocity buffers before other kernels write them so they can contain garbage after allocation (cuMemAlloc/hipMalloc/clCreateBuffer do not clear allocated memory).
-
Peter Eastman authored
* Prevent running out of disk space in OpenCL CI build * Removed incorrect lines * Delete more * Fixed incorrect paths * Removed some paths
-
- 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
-
- 02 Dec, 2025 1 commit
-
-
Peter Eastman authored
-
- 01 Dec, 2025 1 commit
-
-
Peter Eastman authored
* Minor optimization to PME * Minor simplification
-
- 26 Nov, 2025 1 commit
-
-
Peter Eastman authored
-
- 25 Nov, 2025 1 commit
-
-
9527567 authored
Added pythonforce.i to SWIG input files for Python.
-
- 18 Nov, 2025 1 commit
-
-
Evan Pretti authored
-
- 13 Nov, 2025 1 commit
-
-
Evan Pretti authored
-
- 12 Nov, 2025 1 commit
-
-
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
-
- 11 Nov, 2025 1 commit
-
-
Peter Eastman authored
-
- 06 Nov, 2025 1 commit
-
-
Peter Eastman authored
-
- 03 Nov, 2025 1 commit
-
-
Peter Eastman authored
-
- 22 Oct, 2025 3 commits
-
-
Peter Eastman authored
-
Peter Eastman authored
-
Peter Eastman authored
-
- 21 Oct, 2025 1 commit
-
-
Evan Pretti authored
* Ensure that neighbor list is valid before solving for charges * Add test with neighbor list that needs to be resized * Try another approach to skip interactions for neighbor list generation only * Increase CG error tolerance for test
-
- 16 Oct, 2025 2 commits
-
-
Peter Eastman authored
-
Peter Eastman authored
-
- 14 Oct, 2025 3 commits
-
-
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
-
Peter Eastman authored
-
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
-
- 25 Sep, 2025 2 commits
-
-
Peter Eastman authored
-
Evan Pretti authored
-
- 24 Sep, 2025 1 commit
-
-
Evan Pretti authored
-
- 23 Sep, 2025 1 commit
-
-
Evan Pretti authored
* Replace SimTK-containing file headers * Update file headers for new Tinker reader files added
-
- 19 Sep, 2025 3 commits
-
-
Peter Eastman authored
-
Peter Eastman authored
-
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:peastman <peastman@stanford.edu>
-
- 17 Sep, 2025 2 commits
-
-
Peter Eastman authored
-
Evan Pretti authored
* Add note about polarizable force fields with constant potential * Add notes about CG preconditioner
-
- 16 Sep, 2025 1 commit
-
-
Evan Pretti authored
-
- 13 Sep, 2025 1 commit
-
-
cmd23333 authored
Co-authored-by:chenlei.2333 <chenlei.2333@bytedance.com>
-
- 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>
-
- 08 Sep, 2025 1 commit
-
-
Evan Pretti authored
-
- 06 Sep, 2025 1 commit
-
-
Peter Eastman authored
-
- 02 Sep, 2025 2 commits
-
-
Peter Eastman authored
-
Emilio Gallicchio authored
-
- 30 Aug, 2025 1 commit
-
-
Peter Eastman authored
* Big fix to QTB * Fixed race condition
-
- 29 Aug, 2025 1 commit
-
-
Peter Eastman authored
-