1. 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
  2. 13 Aug, 2025 1 commit
  3. 10 Mar, 2025 1 commit
  4. 13 Feb, 2024 1 commit
  5. 07 Sep, 2023 1 commit
  6. 05 Jun, 2023 1 commit
  7. 14 Mar, 2022 1 commit
  8. 22 Jan, 2022 1 commit
  9. 21 Jun, 2021 1 commit
  10. 01 Feb, 2021 1 commit
  11. 05 Jan, 2021 1 commit
  12. 19 Sep, 2019 1 commit
  13. 06 Aug, 2019 2 commits
  14. 19 Feb, 2019 3 commits
  15. 05 May, 2017 1 commit
  16. 26 Jan, 2017 1 commit
  17. 11 May, 2016 2 commits
  18. 20 Nov, 2015 1 commit
  19. 27 Aug, 2015 1 commit
  20. 13 Aug, 2015 1 commit
  21. 02 May, 2015 1 commit
  22. 19 Mar, 2015 1 commit
  23. 14 Mar, 2015 2 commits
  24. 11 Feb, 2015 1 commit
  25. 23 Oct, 2014 1 commit
  26. 17 Jul, 2014 1 commit
  27. 16 Jul, 2014 2 commits
  28. 14 Jul, 2014 2 commits
  29. 11 Jul, 2014 3 commits
    • Jason Swails's avatar
      Force the test to use the Reference platform (it's a tiny system, and all · cb9d7219
      Jason Swails authored
      TestAmberPrmtopFile.py tests take 17 seconds combined on my laptop).
      cb9d7219
    • Jason Swails's avatar
      Add NBFIX support to the Amber topology file parsers. The new Amber ff14IPQ · d865c202
      Jason Swails authored
      force field utilizes nbfix functionality. Without this commit, using a ff14IPQ
      topology file (or one modified by ParmEd to contain off-diagonal LJ elements),
      would happily run, but ignore off-diagonal elements.
      
      The new Chen and Garcia RNA force field (see doi:10.1073/pnas.1309392110) also
      utilizes off-diagonal terms in its parametrization scheme.
      
      One shortcoming is that the approach taken here -- using a pair parameter lookup
      table -- cannot be currently used with a long-range correction because it is not
      a `Continuous1DFunction' by virtue of using two `Discrete2DFunction'
      TabulatedFunction classes.
      
      Energies here match the values obtained with Amber to 0.01 -- 0.1 kcal/mol
      (within 0.1% of the total).
      d865c202
    • Jason Swails's avatar
      Move prmtop instantiation outside of the setUp routine and put it in the module · 27dcdb77
      Jason Swails authored
      itself. This way each parm is only read once for every test (rather than being
      read for every test, even when they're not used, as part of the setUp routine).
      For large systems, this makes the tests run a lot faster (for small systems it's
      not a large speedup).
      
      All tests continue to pass. This change also tests that the various calls to
      createSystem and such do not actually change the object in a detrimental way.
      27dcdb77
  30. 13 Sep, 2013 1 commit
  31. 27 Aug, 2013 1 commit