hillclimber 0.1.5__cp313-cp313-musllinux_1_2_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. hillclimber/__init__.py +39 -0
  2. hillclimber/actions.py +53 -0
  3. hillclimber/analysis.py +590 -0
  4. hillclimber/biases.py +293 -0
  5. hillclimber/calc.py +22 -0
  6. hillclimber/cvs.py +1070 -0
  7. hillclimber/interfaces.py +133 -0
  8. hillclimber/metadynamics.py +325 -0
  9. hillclimber/nodes.py +6 -0
  10. hillclimber/opes.py +359 -0
  11. hillclimber/selectors.py +230 -0
  12. hillclimber/virtual_atoms.py +341 -0
  13. hillclimber-0.1.5.dist-info/METADATA +210 -0
  14. hillclimber-0.1.5.dist-info/RECORD +472 -0
  15. hillclimber-0.1.5.dist-info/WHEEL +5 -0
  16. hillclimber-0.1.5.dist-info/entry_points.txt +8 -0
  17. hillclimber-0.1.5.dist-info/licenses/LICENSE +165 -0
  18. hillclimber-0.1.5.dist-info/sboms/auditwheel.cdx.json +1 -0
  19. hillclimber.libs/libgcc_s-2d945d6c.so.1 +0 -0
  20. hillclimber.libs/libgomp-1ede7ee7.so.1.0.0 +0 -0
  21. hillclimber.libs/libstdc++-85f2cd6d.so.6.0.33 +0 -0
  22. plumed/__init__.py +104 -0
  23. plumed/_lib/bin/plumed +0 -0
  24. plumed/_lib/bin/plumed-config +9 -0
  25. plumed/_lib/bin/plumed-patch +9 -0
  26. plumed/_lib/include/plumed/adjmat/AdjacencyMatrixBase.h +659 -0
  27. plumed/_lib/include/plumed/adjmat/ContactMatrix.h +59 -0
  28. plumed/_lib/include/plumed/asmjit/arch.h +228 -0
  29. plumed/_lib/include/plumed/asmjit/arm.h +43 -0
  30. plumed/_lib/include/plumed/asmjit/asmjit.h +69 -0
  31. plumed/_lib/include/plumed/asmjit/asmjit_apibegin.h +143 -0
  32. plumed/_lib/include/plumed/asmjit/asmjit_apiend.h +93 -0
  33. plumed/_lib/include/plumed/asmjit/asmjit_build.h +971 -0
  34. plumed/_lib/include/plumed/asmjit/assembler.h +183 -0
  35. plumed/_lib/include/plumed/asmjit/base.h +56 -0
  36. plumed/_lib/include/plumed/asmjit/codebuilder.h +944 -0
  37. plumed/_lib/include/plumed/asmjit/codecompiler.h +767 -0
  38. plumed/_lib/include/plumed/asmjit/codeemitter.h +528 -0
  39. plumed/_lib/include/plumed/asmjit/codeholder.h +777 -0
  40. plumed/_lib/include/plumed/asmjit/constpool.h +286 -0
  41. plumed/_lib/include/plumed/asmjit/cpuinfo.h +402 -0
  42. plumed/_lib/include/plumed/asmjit/func.h +1327 -0
  43. plumed/_lib/include/plumed/asmjit/globals.h +370 -0
  44. plumed/_lib/include/plumed/asmjit/inst.h +137 -0
  45. plumed/_lib/include/plumed/asmjit/logging.h +317 -0
  46. plumed/_lib/include/plumed/asmjit/misc_p.h +103 -0
  47. plumed/_lib/include/plumed/asmjit/moved_string.h +318 -0
  48. plumed/_lib/include/plumed/asmjit/operand.h +1599 -0
  49. plumed/_lib/include/plumed/asmjit/osutils.h +207 -0
  50. plumed/_lib/include/plumed/asmjit/regalloc_p.h +597 -0
  51. plumed/_lib/include/plumed/asmjit/runtime.h +227 -0
  52. plumed/_lib/include/plumed/asmjit/simdtypes.h +1104 -0
  53. plumed/_lib/include/plumed/asmjit/utils.h +1387 -0
  54. plumed/_lib/include/plumed/asmjit/vmem.h +183 -0
  55. plumed/_lib/include/plumed/asmjit/x86.h +45 -0
  56. plumed/_lib/include/plumed/asmjit/x86assembler.h +125 -0
  57. plumed/_lib/include/plumed/asmjit/x86builder.h +117 -0
  58. plumed/_lib/include/plumed/asmjit/x86compiler.h +322 -0
  59. plumed/_lib/include/plumed/asmjit/x86emitter.h +5149 -0
  60. plumed/_lib/include/plumed/asmjit/x86globals.h +535 -0
  61. plumed/_lib/include/plumed/asmjit/x86inst.h +2547 -0
  62. plumed/_lib/include/plumed/asmjit/x86instimpl_p.h +74 -0
  63. plumed/_lib/include/plumed/asmjit/x86internal_p.h +108 -0
  64. plumed/_lib/include/plumed/asmjit/x86logging_p.h +92 -0
  65. plumed/_lib/include/plumed/asmjit/x86misc.h +417 -0
  66. plumed/_lib/include/plumed/asmjit/x86operand.h +1133 -0
  67. plumed/_lib/include/plumed/asmjit/x86regalloc_p.h +734 -0
  68. plumed/_lib/include/plumed/asmjit/zone.h +1157 -0
  69. plumed/_lib/include/plumed/bias/Bias.h +82 -0
  70. plumed/_lib/include/plumed/bias/ReweightBase.h +58 -0
  71. plumed/_lib/include/plumed/blas/blas.h +253 -0
  72. plumed/_lib/include/plumed/blas/def_external.h +61 -0
  73. plumed/_lib/include/plumed/blas/def_internal.h +97 -0
  74. plumed/_lib/include/plumed/blas/real.h +49 -0
  75. plumed/_lib/include/plumed/cltools/CLTool.h +32 -0
  76. plumed/_lib/include/plumed/clusters/ClusteringBase.h +70 -0
  77. plumed/_lib/include/plumed/colvar/Colvar.h +32 -0
  78. plumed/_lib/include/plumed/colvar/ColvarInput.h +68 -0
  79. plumed/_lib/include/plumed/colvar/ColvarShortcut.h +81 -0
  80. plumed/_lib/include/plumed/colvar/CoordinationBase.h +52 -0
  81. plumed/_lib/include/plumed/colvar/MultiColvarTemplate.h +333 -0
  82. plumed/_lib/include/plumed/colvar/PathMSDBase.h +101 -0
  83. plumed/_lib/include/plumed/colvar/RMSDVector.h +78 -0
  84. plumed/_lib/include/plumed/config/Config.h +118 -0
  85. plumed/_lib/include/plumed/config/version.h +9 -0
  86. plumed/_lib/include/plumed/contour/ContourFindingObject.h +87 -0
  87. plumed/_lib/include/plumed/contour/DistanceFromContourBase.h +82 -0
  88. plumed/_lib/include/plumed/contour/FindContour.h +67 -0
  89. plumed/_lib/include/plumed/core/Action.h +540 -0
  90. plumed/_lib/include/plumed/core/ActionAnyorder.h +48 -0
  91. plumed/_lib/include/plumed/core/ActionAtomistic.h +343 -0
  92. plumed/_lib/include/plumed/core/ActionForInterface.h +99 -0
  93. plumed/_lib/include/plumed/core/ActionPilot.h +57 -0
  94. plumed/_lib/include/plumed/core/ActionRegister.h +124 -0
  95. plumed/_lib/include/plumed/core/ActionSet.h +163 -0
  96. plumed/_lib/include/plumed/core/ActionSetup.h +48 -0
  97. plumed/_lib/include/plumed/core/ActionShortcut.h +73 -0
  98. plumed/_lib/include/plumed/core/ActionToGetData.h +59 -0
  99. plumed/_lib/include/plumed/core/ActionToPutData.h +101 -0
  100. plumed/_lib/include/plumed/core/ActionWithArguments.h +140 -0
  101. plumed/_lib/include/plumed/core/ActionWithMatrix.h +87 -0
  102. plumed/_lib/include/plumed/core/ActionWithValue.h +258 -0
  103. plumed/_lib/include/plumed/core/ActionWithVector.h +94 -0
  104. plumed/_lib/include/plumed/core/ActionWithVirtualAtom.h +123 -0
  105. plumed/_lib/include/plumed/core/CLTool.h +177 -0
  106. plumed/_lib/include/plumed/core/CLToolMain.h +102 -0
  107. plumed/_lib/include/plumed/core/CLToolRegister.h +108 -0
  108. plumed/_lib/include/plumed/core/Colvar.h +115 -0
  109. plumed/_lib/include/plumed/core/DataPassingObject.h +94 -0
  110. plumed/_lib/include/plumed/core/DataPassingTools.h +54 -0
  111. plumed/_lib/include/plumed/core/DomainDecomposition.h +120 -0
  112. plumed/_lib/include/plumed/core/ExchangePatterns.h +47 -0
  113. plumed/_lib/include/plumed/core/FlexibleBin.h +63 -0
  114. plumed/_lib/include/plumed/core/GREX.h +61 -0
  115. plumed/_lib/include/plumed/core/GenericMolInfo.h +89 -0
  116. plumed/_lib/include/plumed/core/Group.h +41 -0
  117. plumed/_lib/include/plumed/core/ModuleMap.h +30 -0
  118. plumed/_lib/include/plumed/core/ParallelTaskManager.h +1023 -0
  119. plumed/_lib/include/plumed/core/PbcAction.h +61 -0
  120. plumed/_lib/include/plumed/core/PlumedMain.h +632 -0
  121. plumed/_lib/include/plumed/core/PlumedMainInitializer.h +118 -0
  122. plumed/_lib/include/plumed/core/RegisterBase.h +340 -0
  123. plumed/_lib/include/plumed/core/TargetDist.h +48 -0
  124. plumed/_lib/include/plumed/core/Value.h +547 -0
  125. plumed/_lib/include/plumed/core/WithCmd.h +93 -0
  126. plumed/_lib/include/plumed/dimred/SMACOF.h +55 -0
  127. plumed/_lib/include/plumed/drr/DRR.h +383 -0
  128. plumed/_lib/include/plumed/drr/colvar_UIestimator.h +777 -0
  129. plumed/_lib/include/plumed/fisst/legendre_rule_fast.h +44 -0
  130. plumed/_lib/include/plumed/function/Custom.h +54 -0
  131. plumed/_lib/include/plumed/function/Function.h +85 -0
  132. plumed/_lib/include/plumed/function/FunctionOfMatrix.h +368 -0
  133. plumed/_lib/include/plumed/function/FunctionOfScalar.h +135 -0
  134. plumed/_lib/include/plumed/function/FunctionOfVector.h +296 -0
  135. plumed/_lib/include/plumed/function/FunctionSetup.h +180 -0
  136. plumed/_lib/include/plumed/function/FunctionShortcut.h +130 -0
  137. plumed/_lib/include/plumed/function/FunctionWithSingleArgument.h +165 -0
  138. plumed/_lib/include/plumed/gridtools/ActionWithGrid.h +43 -0
  139. plumed/_lib/include/plumed/gridtools/EvaluateGridFunction.h +99 -0
  140. plumed/_lib/include/plumed/gridtools/FunctionOfGrid.h +295 -0
  141. plumed/_lib/include/plumed/gridtools/GridCoordinatesObject.h +179 -0
  142. plumed/_lib/include/plumed/gridtools/GridSearch.h +135 -0
  143. plumed/_lib/include/plumed/gridtools/Interpolator.h +45 -0
  144. plumed/_lib/include/plumed/gridtools/KDE.h +455 -0
  145. plumed/_lib/include/plumed/gridtools/RDF.h +40 -0
  146. plumed/_lib/include/plumed/gridtools/SumOfKernels.h +219 -0
  147. plumed/_lib/include/plumed/isdb/MetainferenceBase.h +398 -0
  148. plumed/_lib/include/plumed/lapack/def_external.h +207 -0
  149. plumed/_lib/include/plumed/lapack/def_internal.h +388 -0
  150. plumed/_lib/include/plumed/lapack/lapack.h +899 -0
  151. plumed/_lib/include/plumed/lapack/lapack_limits.h +79 -0
  152. plumed/_lib/include/plumed/lapack/real.h +50 -0
  153. plumed/_lib/include/plumed/lepton/CompiledExpression.h +164 -0
  154. plumed/_lib/include/plumed/lepton/CustomFunction.h +143 -0
  155. plumed/_lib/include/plumed/lepton/Exception.h +93 -0
  156. plumed/_lib/include/plumed/lepton/ExpressionProgram.h +137 -0
  157. plumed/_lib/include/plumed/lepton/ExpressionTreeNode.h +145 -0
  158. plumed/_lib/include/plumed/lepton/Lepton.h +85 -0
  159. plumed/_lib/include/plumed/lepton/MSVC_erfc.h +123 -0
  160. plumed/_lib/include/plumed/lepton/Operation.h +1302 -0
  161. plumed/_lib/include/plumed/lepton/ParsedExpression.h +165 -0
  162. plumed/_lib/include/plumed/lepton/Parser.h +111 -0
  163. plumed/_lib/include/plumed/lepton/windowsIncludes.h +73 -0
  164. plumed/_lib/include/plumed/mapping/Path.h +44 -0
  165. plumed/_lib/include/plumed/mapping/PathProjectionCalculator.h +57 -0
  166. plumed/_lib/include/plumed/matrixtools/MatrixOperationBase.h +54 -0
  167. plumed/_lib/include/plumed/matrixtools/MatrixTimesMatrix.h +309 -0
  168. plumed/_lib/include/plumed/matrixtools/MatrixTimesVectorBase.h +365 -0
  169. plumed/_lib/include/plumed/matrixtools/OuterProduct.h +238 -0
  170. plumed/_lib/include/plumed/maze/Core.h +65 -0
  171. plumed/_lib/include/plumed/maze/Loss.h +86 -0
  172. plumed/_lib/include/plumed/maze/Member.h +66 -0
  173. plumed/_lib/include/plumed/maze/Memetic.h +799 -0
  174. plumed/_lib/include/plumed/maze/Optimizer.h +357 -0
  175. plumed/_lib/include/plumed/maze/Random_MT.h +156 -0
  176. plumed/_lib/include/plumed/maze/Tools.h +183 -0
  177. plumed/_lib/include/plumed/metatomic/vesin.h +188 -0
  178. plumed/_lib/include/plumed/molfile/Gromacs.h +2013 -0
  179. plumed/_lib/include/plumed/molfile/endianswap.h +217 -0
  180. plumed/_lib/include/plumed/molfile/fastio.h +683 -0
  181. plumed/_lib/include/plumed/molfile/largefiles.h +78 -0
  182. plumed/_lib/include/plumed/molfile/libmolfile_plugin.h +77 -0
  183. plumed/_lib/include/plumed/molfile/molfile_plugin.h +1034 -0
  184. plumed/_lib/include/plumed/molfile/periodic_table.h +248 -0
  185. plumed/_lib/include/plumed/molfile/readpdb.h +447 -0
  186. plumed/_lib/include/plumed/molfile/vmdplugin.h +236 -0
  187. plumed/_lib/include/plumed/multicolvar/MultiColvarShortcuts.h +45 -0
  188. plumed/_lib/include/plumed/opes/ExpansionCVs.h +79 -0
  189. plumed/_lib/include/plumed/sasa/Sasa.h +32 -0
  190. plumed/_lib/include/plumed/secondarystructure/SecondaryStructureBase.h +372 -0
  191. plumed/_lib/include/plumed/setup/ActionSetup.h +25 -0
  192. plumed/_lib/include/plumed/small_vector/small_vector.h +6114 -0
  193. plumed/_lib/include/plumed/symfunc/CoordinationNumbers.h +41 -0
  194. plumed/_lib/include/plumed/tools/Angle.h +52 -0
  195. plumed/_lib/include/plumed/tools/AtomDistribution.h +138 -0
  196. plumed/_lib/include/plumed/tools/AtomNumber.h +152 -0
  197. plumed/_lib/include/plumed/tools/BiasRepresentation.h +106 -0
  198. plumed/_lib/include/plumed/tools/BitmaskEnum.h +167 -0
  199. plumed/_lib/include/plumed/tools/Brent1DRootSearch.h +159 -0
  200. plumed/_lib/include/plumed/tools/CheckInRange.h +44 -0
  201. plumed/_lib/include/plumed/tools/Citations.h +74 -0
  202. plumed/_lib/include/plumed/tools/ColvarOutput.h +118 -0
  203. plumed/_lib/include/plumed/tools/Communicator.h +316 -0
  204. plumed/_lib/include/plumed/tools/ConjugateGradient.h +80 -0
  205. plumed/_lib/include/plumed/tools/DLLoader.h +79 -0
  206. plumed/_lib/include/plumed/tools/ERMSD.h +73 -0
  207. plumed/_lib/include/plumed/tools/Exception.h +406 -0
  208. plumed/_lib/include/plumed/tools/File.h +28 -0
  209. plumed/_lib/include/plumed/tools/FileBase.h +153 -0
  210. plumed/_lib/include/plumed/tools/FileTools.h +37 -0
  211. plumed/_lib/include/plumed/tools/ForwardDecl.h +54 -0
  212. plumed/_lib/include/plumed/tools/Grid.h +638 -0
  213. plumed/_lib/include/plumed/tools/HistogramBead.h +136 -0
  214. plumed/_lib/include/plumed/tools/IFile.h +117 -0
  215. plumed/_lib/include/plumed/tools/KernelFunctions.h +113 -0
  216. plumed/_lib/include/plumed/tools/Keywords.h +380 -0
  217. plumed/_lib/include/plumed/tools/LatticeReduction.h +66 -0
  218. plumed/_lib/include/plumed/tools/LeptonCall.h +64 -0
  219. plumed/_lib/include/plumed/tools/LinkCells.h +126 -0
  220. plumed/_lib/include/plumed/tools/Log.h +41 -0
  221. plumed/_lib/include/plumed/tools/LoopUnroller.h +163 -0
  222. plumed/_lib/include/plumed/tools/Matrix.h +721 -0
  223. plumed/_lib/include/plumed/tools/MatrixSquareBracketsAccess.h +138 -0
  224. plumed/_lib/include/plumed/tools/MergeVectorTools.h +153 -0
  225. plumed/_lib/include/plumed/tools/Minimise1DBrent.h +244 -0
  226. plumed/_lib/include/plumed/tools/MinimiseBase.h +120 -0
  227. plumed/_lib/include/plumed/tools/MolDataClass.h +51 -0
  228. plumed/_lib/include/plumed/tools/NeighborList.h +112 -0
  229. plumed/_lib/include/plumed/tools/OFile.h +286 -0
  230. plumed/_lib/include/plumed/tools/OpenACC.h +180 -0
  231. plumed/_lib/include/plumed/tools/OpenMP.h +75 -0
  232. plumed/_lib/include/plumed/tools/PDB.h +154 -0
  233. plumed/_lib/include/plumed/tools/Pbc.h +139 -0
  234. plumed/_lib/include/plumed/tools/PlumedHandle.h +105 -0
  235. plumed/_lib/include/plumed/tools/RMSD.h +493 -0
  236. plumed/_lib/include/plumed/tools/Random.h +80 -0
  237. plumed/_lib/include/plumed/tools/RootFindingBase.h +79 -0
  238. plumed/_lib/include/plumed/tools/Stopwatch.h +475 -0
  239. plumed/_lib/include/plumed/tools/Subprocess.h +142 -0
  240. plumed/_lib/include/plumed/tools/SwitchingFunction.h +208 -0
  241. plumed/_lib/include/plumed/tools/Tensor.h +724 -0
  242. plumed/_lib/include/plumed/tools/TokenizedLine.h +123 -0
  243. plumed/_lib/include/plumed/tools/Tools.h +638 -0
  244. plumed/_lib/include/plumed/tools/Torsion.h +55 -0
  245. plumed/_lib/include/plumed/tools/TrajectoryParser.h +118 -0
  246. plumed/_lib/include/plumed/tools/Tree.h +61 -0
  247. plumed/_lib/include/plumed/tools/TypesafePtr.h +463 -0
  248. plumed/_lib/include/plumed/tools/Units.h +167 -0
  249. plumed/_lib/include/plumed/tools/Vector.h +433 -0
  250. plumed/_lib/include/plumed/tools/View.h +296 -0
  251. plumed/_lib/include/plumed/tools/View2D.h +100 -0
  252. plumed/_lib/include/plumed/tools/h36.h +39 -0
  253. plumed/_lib/include/plumed/vatom/ActionWithVirtualAtom.h +32 -0
  254. plumed/_lib/include/plumed/ves/BasisFunctions.h +380 -0
  255. plumed/_lib/include/plumed/ves/CoeffsBase.h +310 -0
  256. plumed/_lib/include/plumed/ves/CoeffsMatrix.h +220 -0
  257. plumed/_lib/include/plumed/ves/CoeffsVector.h +251 -0
  258. plumed/_lib/include/plumed/ves/FermiSwitchingFunction.h +74 -0
  259. plumed/_lib/include/plumed/ves/GridIntegrationWeights.h +50 -0
  260. plumed/_lib/include/plumed/ves/GridLinearInterpolation.h +81 -0
  261. plumed/_lib/include/plumed/ves/GridProjWeights.h +61 -0
  262. plumed/_lib/include/plumed/ves/LinearBasisSetExpansion.h +303 -0
  263. plumed/_lib/include/plumed/ves/Optimizer.h +444 -0
  264. plumed/_lib/include/plumed/ves/TargetDistModifer.h +53 -0
  265. plumed/_lib/include/plumed/ves/TargetDistribution.h +266 -0
  266. plumed/_lib/include/plumed/ves/VesBias.h +545 -0
  267. plumed/_lib/include/plumed/ves/VesTools.h +142 -0
  268. plumed/_lib/include/plumed/ves/WaveletGrid.h +75 -0
  269. plumed/_lib/include/plumed/volumes/ActionVolume.h +268 -0
  270. plumed/_lib/include/plumed/volumes/VolumeShortcut.h +147 -0
  271. plumed/_lib/include/plumed/wrapper/Plumed.h +5025 -0
  272. plumed/_lib/include/plumed/xdrfile/xdrfile.h +663 -0
  273. plumed/_lib/include/plumed/xdrfile/xdrfile_trr.h +89 -0
  274. plumed/_lib/include/plumed/xdrfile/xdrfile_xtc.h +90 -0
  275. plumed/_lib/lib/PythonCVInterface.so +0 -0
  276. plumed/_lib/lib/libplumed.a +0 -0
  277. plumed/_lib/lib/libplumed.so +0 -0
  278. plumed/_lib/lib/libplumedKernel.so +0 -0
  279. plumed/_lib/lib/libplumedWrapper.a +0 -0
  280. plumed/_lib/lib/pkgconfig/plumed.pc +13 -0
  281. plumed/_lib/lib/pkgconfig/plumedInternals.pc +13 -0
  282. plumed/_lib/lib/pkgconfig/plumedWrapper.pc +13 -0
  283. plumed/_lib/lib/plumed/fortran/plumed.f90 +879 -0
  284. plumed/_lib/lib/plumed/fortran/plumed_f08.f90 +2625 -0
  285. plumed/_lib/lib/plumed/modulefile +69 -0
  286. plumed/_lib/lib/plumed/patches/gromacs-2022.5.config +43 -0
  287. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/CMakeLists.txt +543 -0
  288. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/CMakeLists.txt.preplumed +540 -0
  289. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.cpp +1628 -0
  290. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1590 -0
  291. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.h +103 -0
  292. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.h.preplumed +99 -0
  293. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/sim_util.cpp +2527 -0
  294. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2513 -0
  295. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
  296. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
  297. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.h +408 -0
  298. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +394 -0
  299. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/md.cpp +2348 -0
  300. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/md.cpp.preplumed +2091 -0
  301. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/minimize.cpp +3573 -0
  302. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3495 -0
  303. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.cpp +1506 -0
  304. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1402 -0
  305. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
  306. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
  307. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/rerun.cpp +997 -0
  308. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/rerun.cpp.preplumed +906 -0
  309. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/runner.cpp +2780 -0
  310. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/runner.cpp.preplumed +2738 -0
  311. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
  312. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
  313. plumed/_lib/lib/plumed/patches/gromacs-2023.5.config +43 -0
  314. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/CMakeLists.txt +549 -0
  315. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/CMakeLists.txt.preplumed +546 -0
  316. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.cpp +1632 -0
  317. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1594 -0
  318. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.h +104 -0
  319. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.h.preplumed +100 -0
  320. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/sim_util.cpp +2624 -0
  321. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2610 -0
  322. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
  323. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
  324. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.h +409 -0
  325. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +395 -0
  326. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/md.cpp +2419 -0
  327. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/md.cpp.preplumed +2164 -0
  328. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/minimize.cpp +3546 -0
  329. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3468 -0
  330. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.cpp +1513 -0
  331. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1409 -0
  332. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
  333. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
  334. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/rerun.cpp +991 -0
  335. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/rerun.cpp.preplumed +900 -0
  336. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/runner.cpp +2895 -0
  337. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/runner.cpp.preplumed +2849 -0
  338. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
  339. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
  340. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/decidegpuusage.cpp +886 -0
  341. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/decidegpuusage.cpp.preplumed +880 -0
  342. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h +347 -0
  343. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h.preplumed +345 -0
  344. plumed/_lib/lib/plumed/patches/gromacs-2024.3.config +43 -0
  345. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/CMakeLists.txt +575 -0
  346. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/CMakeLists.txt.preplumed +572 -0
  347. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.cpp +1632 -0
  348. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1594 -0
  349. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.h +104 -0
  350. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.h.preplumed +100 -0
  351. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/sim_util.cpp +2564 -0
  352. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2550 -0
  353. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
  354. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
  355. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.h +410 -0
  356. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +396 -0
  357. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/md.cpp +2435 -0
  358. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/md.cpp.preplumed +2187 -0
  359. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/minimize.cpp +3592 -0
  360. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3514 -0
  361. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.cpp +1513 -0
  362. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1409 -0
  363. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
  364. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
  365. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/rerun.cpp +958 -0
  366. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/rerun.cpp.preplumed +929 -0
  367. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/runner.cpp +2987 -0
  368. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/runner.cpp.preplumed +2941 -0
  369. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
  370. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
  371. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/decidegpuusage.cpp +904 -0
  372. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/decidegpuusage.cpp.preplumed +898 -0
  373. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h +353 -0
  374. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h.preplumed +351 -0
  375. plumed/_lib/lib/plumed/patches/gromacs-2025.0.config +39 -0
  376. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/cmake/gmxManagePlumed.cmake +82 -0
  377. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/cmake/gmxManagePlumed.cmake.preplumed +82 -0
  378. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedMDModule.cpp +162 -0
  379. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedMDModule.cpp.preplumed +154 -0
  380. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.cpp +107 -0
  381. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.cpp.preplumed +99 -0
  382. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.h +120 -0
  383. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.h.preplumed +111 -0
  384. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.cpp +215 -0
  385. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.cpp.preplumed +197 -0
  386. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.h +87 -0
  387. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.h.preplumed +86 -0
  388. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrun/runner.cpp +2971 -0
  389. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrun/runner.cpp.preplumed +2970 -0
  390. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h +430 -0
  391. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h.preplumed +429 -0
  392. plumed/_lib/lib/plumed/patches/namd-2.12.config +30 -0
  393. plumed/_lib/lib/plumed/patches/namd-2.12.diff +267 -0
  394. plumed/_lib/lib/plumed/patches/namd-2.13.config +30 -0
  395. plumed/_lib/lib/plumed/patches/namd-2.13.diff +267 -0
  396. plumed/_lib/lib/plumed/patches/namd-2.14.config +30 -0
  397. plumed/_lib/lib/plumed/patches/namd-2.14.diff +268 -0
  398. plumed/_lib/lib/plumed/patches/patch.sh +500 -0
  399. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.config +25 -0
  400. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/forces.f90 +368 -0
  401. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/forces.f90.preplumed +366 -0
  402. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_forces.f90 +71 -0
  403. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_forces.f90.preplumed +24 -0
  404. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_initialization.f90 +62 -0
  405. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  406. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/pwscf.f90 +189 -0
  407. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/pwscf.f90.preplumed +185 -0
  408. plumed/_lib/lib/plumed/patches/qespresso-6.2.config +26 -0
  409. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/forces.f90 +422 -0
  410. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/forces.f90.preplumed +420 -0
  411. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_ext_forces.f90 +70 -0
  412. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
  413. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_initialization.f90 +62 -0
  414. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  415. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/run_pwscf.f90 +233 -0
  416. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/run_pwscf.f90.preplumed +230 -0
  417. plumed/_lib/lib/plumed/patches/qespresso-7.0.config +28 -0
  418. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/Modules/Makefile +175 -0
  419. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/Modules/Makefile.preplumed +171 -0
  420. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/forces.f90 +486 -0
  421. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/forces.f90.preplumed +484 -0
  422. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_ext_forces.f90 +74 -0
  423. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
  424. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_initialization.f90 +64 -0
  425. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  426. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/run_pwscf.f90 +532 -0
  427. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/run_pwscf.f90.preplumed +518 -0
  428. plumed/_lib/lib/plumed/patches/qespresso-7.2.config +28 -0
  429. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/Modules/Makefile +249 -0
  430. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/Modules/Makefile.preplumed +244 -0
  431. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/forces.f90 +532 -0
  432. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/forces.f90.preplumed +535 -0
  433. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_ext_forces.f90 +74 -0
  434. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
  435. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_initialization.f90 +64 -0
  436. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  437. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/run_pwscf.f90 +569 -0
  438. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/run_pwscf.f90.preplumed +560 -0
  439. plumed/_lib/lib/plumed/plumed-config +9 -0
  440. plumed/_lib/lib/plumed/plumed-mklib +9 -0
  441. plumed/_lib/lib/plumed/plumed-newcv +9 -0
  442. plumed/_lib/lib/plumed/plumed-partial_tempering +9 -0
  443. plumed/_lib/lib/plumed/plumed-patch +9 -0
  444. plumed/_lib/lib/plumed/plumed-runtime +0 -0
  445. plumed/_lib/lib/plumed/plumed-selector +9 -0
  446. plumed/_lib/lib/plumed/plumed-vim2html +9 -0
  447. plumed/_lib/lib/plumed/scripts/config.sh +126 -0
  448. plumed/_lib/lib/plumed/scripts/mklib.sh +175 -0
  449. plumed/_lib/lib/plumed/scripts/newcv.sh +26 -0
  450. plumed/_lib/lib/plumed/scripts/partial_tempering.sh +319 -0
  451. plumed/_lib/lib/plumed/scripts/patch.sh +4 -0
  452. plumed/_lib/lib/plumed/scripts/selector.sh +234 -0
  453. plumed/_lib/lib/plumed/scripts/vim2html.sh +190 -0
  454. plumed/_lib/lib/plumed/src/colvar/Template.cpp +116 -0
  455. plumed/_lib/lib/plumed/src/config/compile_options.sh +3 -0
  456. plumed/_lib/lib/plumed/src/config/config.txt +179 -0
  457. plumed/_lib/lib/plumed/src/lib/Plumed.cmake +8 -0
  458. plumed/_lib/lib/plumed/src/lib/Plumed.cmake.runtime +5 -0
  459. plumed/_lib/lib/plumed/src/lib/Plumed.cmake.shared +5 -0
  460. plumed/_lib/lib/plumed/src/lib/Plumed.cmake.static +5 -0
  461. plumed/_lib/lib/plumed/src/lib/Plumed.inc +8 -0
  462. plumed/_lib/lib/plumed/src/lib/Plumed.inc.runtime +5 -0
  463. plumed/_lib/lib/plumed/src/lib/Plumed.inc.shared +5 -0
  464. plumed/_lib/lib/plumed/src/lib/Plumed.inc.static +5 -0
  465. plumed/_lib/lib/plumed/vim/scripts.vim +6 -0
  466. plumed/_plumed_core.cpython-311-aarch64-linux-musl.so +0 -0
  467. plumed/_plumed_core.cpython-312-aarch64-linux-musl.so +0 -0
  468. plumed/_plumed_core.cpython-313-aarch64-linux-musl.so +0 -0
  469. plumedCommunications.cpython-311-aarch64-linux-musl.so +0 -0
  470. plumedCommunications.cpython-312-aarch64-linux-musl.so +0 -0
  471. plumedCommunications.cpython-313-aarch64-linux-musl.so +0 -0
  472. plumedCommunications.pyi +431 -0
@@ -0,0 +1,532 @@
1
+ !
2
+ ! Copyright (C) 2001-2022 Quantum ESPRESSO group
3
+ ! This file is distributed under the terms of the
4
+ ! GNU General Public License. See the file `License'
5
+ ! in the root directory of the present distribution,
6
+ ! or http://www.gnu.org/copyleft/gpl.txt .
7
+ !
8
+ !----------------------------------------------------------------------------
9
+ SUBROUTINE forces()
10
+ !----------------------------------------------------------------------------
11
+ !! This routine is a driver routine which computes the forces
12
+ !! acting on the atoms. The complete expression of the forces
13
+ !! contains many parts which are computed by different routines:
14
+ !
15
+ !! - force_lc: local potential contribution
16
+ !! - force_us: non-local potential contribution
17
+ !! - (esm_)force_ew: (ESM) electrostatic ewald term
18
+ !! - force_cc: nonlinear core correction contribution
19
+ !! - force_corr: correction term for incomplete self-consistency
20
+ !! - force_hub: contribution due to the Hubbard term;
21
+ !! - force_london: Grimme DFT+D dispersion forces
22
+ !! - force_d3: Grimme-D3 (DFT-D3) dispersion forces
23
+ !! - force_xdm: XDM dispersion forces
24
+ !! - more terms from external electric fields, Martyna-Tuckerman, etc.
25
+ !! - force_sol: contribution due to 3D-RISM
26
+ !
27
+ USE kinds, ONLY : DP
28
+ USE io_global, ONLY : stdout
29
+ USE cell_base, ONLY : at, bg, alat, omega
30
+ USE ions_base, ONLY : nat, ntyp => nsp,nsp, ityp, tau, zv, amass, extfor, atm
31
+ USE gvect, ONLY : ngm, gstart, ngl, igtongl, g, gg, gcutm
32
+ USE lsda_mod, ONLY : nspin
33
+ USE symme, ONLY : symvector
34
+ USE vlocal, ONLY : strf, vloc
35
+ USE force_mod, ONLY : force, sumfor
36
+ USE scf, ONLY : rho
37
+ USE ions_base, ONLY : if_pos
38
+ USE ldaU, ONLY : lda_plus_u, Hubbard_projectors
39
+ USE extfield, ONLY : tefield, forcefield, gate, forcegate, relaxz
40
+ USE control_flags, ONLY : gamma_only, remove_rigid_rot, textfor, &
41
+ iverbosity, llondon, ldftd3, lxdm, ts_vdw, &
42
+ mbd_vdw, lforce => tprnfor, istep
43
+ USE bp, ONLY : lelfield, gdir, l3dstring, efield_cart, &
44
+ efield_cry,efield
45
+ USE uspp, ONLY : okvan
46
+ USE martyna_tuckerman, ONLY : do_comp_mt, wg_corr_force
47
+ USE london_module, ONLY : force_london
48
+ USE dftd3_api, ONLY : get_atomic_number
49
+ USE dftd3_qe, ONLY : dftd3_pbc_gdisp, dftd3
50
+
51
+ USE xdm_module, ONLY : force_xdm
52
+ USE tsvdw_module, ONLY : FtsvdW
53
+ USE libmbd_interface, ONLY : FmbdvdW
54
+ USE esm, ONLY : do_comp_esm, esm_bc, esm_force_ew
55
+ USE qmmm, ONLY : qmmm_mode
56
+ USE rism_module, ONLY : lrism, force_rism
57
+ USE extffield, ONLY : apply_extffield_PW
58
+ USE input_parameters, ONLY : nextffield
59
+ !
60
+ #if defined(__CUDA)
61
+ USE device_fbuff_m, ONLY : dev_buf
62
+ #endif
63
+ !
64
+ #if defined (__ENVIRON)
65
+ USE plugin_flags, ONLY : use_environ
66
+ USE environ_base_module, ONLY : calc_environ_force
67
+ USE environ_pw_module, ONLY : is_ms_gcs, run_ms_gcs
68
+ #endif
69
+ #if defined (__OSCDFT)
70
+ USE plugin_flags, ONLY : use_oscdft
71
+ USE oscdft_base, ONLY : oscdft_ctx
72
+ USE oscdft_forces_subs, ONLY : oscdft_apply_forces, oscdft_print_forces
73
+ #endif
74
+ !
75
+ IMPLICIT NONE
76
+ !
77
+ REAL(DP), ALLOCATABLE :: forcenl(:,:), &
78
+ forcelc(:,:), &
79
+ forcecc(:,:), &
80
+ forceion(:,:), &
81
+ force_disp(:,:), &
82
+ force_d3(:,:), &
83
+ force_disp_xdm(:,:), &
84
+ force_mt(:,:), &
85
+ forcescc(:,:), &
86
+ forces_bp_efield(:,:),&
87
+ forceh(:,:), &
88
+ force_sol(:,:)
89
+ ! nonlocal, local, core-correction, ewald, scf correction terms, and hubbard
90
+ !
91
+ ! aux is used to store a possible additional density
92
+ ! now defined in real space
93
+ !
94
+ COMPLEX(DP), ALLOCATABLE :: auxg(:), auxr(:)
95
+ !
96
+ REAL(DP) :: sumscf, sum_mm
97
+ REAL(DP), PARAMETER :: eps = 1.e-12_dp
98
+ INTEGER :: ipol, na
99
+ ! counter on polarization
100
+ ! counter on atoms
101
+ !
102
+ REAL(DP) :: latvecs(3,3)
103
+ INTEGER :: atnum(1:nat)
104
+ REAL(DP) :: stress_dftd3(3,3)
105
+ !
106
+ INTEGER :: ierr
107
+ !
108
+ force(:,:) = 0.D0
109
+ !
110
+ ! Early return if all forces to be set to zero
111
+ !
112
+ IF ( ALL( if_pos == 0 ) ) RETURN
113
+ !
114
+ CALL start_clock( 'forces' )
115
+ #if defined(__CUDA)
116
+ ! Cleanup scratch space used in previous SCF iterations.
117
+ ! This will reduce memory footprint.
118
+ CALL dev_buf%reinit(ierr)
119
+ IF (ierr .ne. 0) CALL infomsg('forces', 'Cannot reset GPU buffers! Some buffers still locked.')
120
+ #endif
121
+ !
122
+ !
123
+ ALLOCATE( forcenl(3,nat), forcelc(3,nat), forcecc(3,nat), &
124
+ forceh(3,nat), forceion(3,nat), forcescc(3,nat) )
125
+ !
126
+ forcescc(:,:) = 0.D0
127
+ forceh(:,:) = 0.D0
128
+ !
129
+ ! ... The nonlocal contribution is computed here
130
+ !
131
+ call start_clock('frc_us')
132
+ CALL force_us( forcenl )
133
+ call stop_clock('frc_us')
134
+ !
135
+ ! ... The local contribution
136
+ !
137
+ call start_clock('frc_lc')
138
+ CALL force_lc( nat, tau, ityp, ntyp, alat, omega, ngm, ngl, igtongl, &
139
+ g, rho%of_r(:,1), gstart, gamma_only, vloc, forcelc )
140
+ call stop_clock('frc_lc')
141
+ !
142
+ ! ... The NLCC contribution
143
+ !
144
+ call start_clock('frc_cc')
145
+ CALL force_cc( forcecc )
146
+ call stop_clock('frc_cc')
147
+
148
+ ! ... The Hubbard contribution
149
+ ! (included by force_us if using beta as local projectors)
150
+ !
151
+ IF ( lda_plus_u .AND. Hubbard_projectors.NE.'pseudo' ) CALL force_hub( forceh )
152
+ !
153
+ ! ... The ionic contribution is computed here
154
+ !
155
+ IF( do_comp_esm ) THEN
156
+ CALL esm_force_ew( forceion )
157
+ ELSE
158
+ CALL force_ew( alat, nat, ntyp, ityp, zv, at, bg, tau, omega, g, &
159
+ gg, ngm, gstart, gamma_only, gcutm, strf, forceion )
160
+ ENDIF
161
+ !
162
+ ! ... the semi-empirical dispersion correction
163
+ !
164
+ IF ( llondon ) THEN
165
+ !
166
+ ALLOCATE( force_disp(3,nat) )
167
+ force_disp(:,:) = 0.0_DP
168
+ force_disp = force_london( alat , nat , ityp , at , bg , tau )
169
+ !
170
+ ENDIF
171
+ !
172
+ ! ... The Grimme-D3 dispersion correction
173
+ !
174
+ IF ( ldftd3 ) THEN
175
+ !
176
+ CALL start_clock('force_dftd3')
177
+ ALLOCATE( force_d3(3, nat) )
178
+ force_d3(:,:) = 0.0_DP
179
+ latvecs(:,:) = at(:,:)*alat
180
+ tau(:,:) = tau(:,:)*alat
181
+ atnum(:) = get_atomic_number(atm(ityp(:)))
182
+ CALL dftd3_pbc_gdisp( dftd3, tau, atnum, latvecs, &
183
+ force_d3, stress_dftd3 )
184
+ force_d3 = -2.d0*force_d3
185
+ tau(:,:) = tau(:,:)/alat
186
+ CALL stop_clock('force_dftd3')
187
+ ENDIF
188
+ !
189
+ !
190
+ IF (lxdm) THEN
191
+ ALLOCATE( force_disp_xdm(3,nat) )
192
+ force_disp_xdm = 0._dp
193
+ force_disp_xdm = force_xdm(nat)
194
+ ENDIF
195
+ !
196
+ ! ... The SCF contribution
197
+ !
198
+ call start_clock('frc_scc')
199
+ #if defined(__CUDA)
200
+ ! Cleanup scratch space again, next subroutines uses a lot of memory.
201
+ ! In an ideal world this should be done only if really needed (TODO).
202
+ CALL dev_buf%reinit(ierr)
203
+ IF (ierr .ne. 0) CALL errore('forces', 'Cannot reset GPU buffers! Buffers still locked: ', abs(ierr))
204
+ #endif
205
+ !
206
+ CALL force_corr( forcescc )
207
+ call stop_clock('frc_scc')
208
+ !
209
+ IF (do_comp_mt) THEN
210
+ !
211
+ ALLOCATE( force_mt(3,nat) )
212
+ CALL wg_corr_force( .TRUE., omega, nat, ntyp, ityp, ngm, g, tau, zv, strf, &
213
+ rho%of_g(:,1), force_mt )
214
+ ENDIF
215
+ !
216
+ ! ... The solvation contribution (3D-RISM)
217
+ !
218
+ IF (lrism) THEN
219
+ ALLOCATE ( force_sol ( 3 , nat ) )
220
+ CALL force_rism( force_sol )
221
+ END IF
222
+ !
223
+ ! ... call void routine for user define/ plugin patches on internal forces
224
+ !
225
+ #if defined(__LEGACY_PLUGINS)
226
+ CALL plugin_int_forces()
227
+ #endif
228
+ #if defined (__ENVIRON)
229
+ IF (use_environ) CALL calc_environ_force(force)
230
+ #endif
231
+ #if defined (__OSCDFT)
232
+ IF (use_oscdft) CALL oscdft_apply_forces(oscdft_ctx)
233
+ #endif
234
+ !
235
+ ! ... Berry's phase electric field terms
236
+ !
237
+ IF (lelfield) THEN
238
+ ALLOCATE( forces_bp_efield(3,nat) )
239
+ forces_bp_efield(:,:) = 0.d0
240
+ IF (.NOT.l3dstring) THEN
241
+ IF (okvan) CALL forces_us_efield( forces_bp_efield, gdir, efield )
242
+ CALL forces_ion_efield( forces_bp_efield, gdir, efield )
243
+ ELSE
244
+ IF (okvan) THEN
245
+ DO ipol = 1, 3
246
+ CALL forces_us_efield( forces_bp_efield, ipol, efield_cry(ipol) )
247
+ ENDDO
248
+ ENDIF
249
+ DO ipol = 1, 3
250
+ CALL forces_ion_efield( forces_bp_efield, ipol, efield_cart(ipol) )
251
+ ENDDO
252
+ ENDIF
253
+ ENDIF
254
+ !
255
+ ! ... here we sum all the contributions and compute the total force acting
256
+ ! ... on the crystal
257
+ !
258
+ DO ipol = 1, 3
259
+ !
260
+ sumfor = 0.D0
261
+ !
262
+ DO na = 1, nat
263
+ !
264
+ force(ipol,na) = force(ipol,na) + &
265
+ forcenl(ipol,na) + &
266
+ forceion(ipol,na) + &
267
+ forcelc(ipol,na) + &
268
+ forcecc(ipol,na) + &
269
+ forceh(ipol,na) + &
270
+ forcescc(ipol,na)
271
+ !
272
+ IF ( llondon ) force(ipol,na) = force(ipol,na) + force_disp(ipol,na)
273
+ IF ( ldftd3 ) force(ipol,na) = force(ipol,na) + force_d3(ipol,na)
274
+ IF ( lxdm ) force(ipol,na) = force(ipol,na) + force_disp_xdm(ipol,na)
275
+ ! factor 2 converts from Ha to Ry a.u.
276
+ ! the IF condition is to avoid double counting
277
+ IF ( mbd_vdw ) THEN
278
+ force(ipol, na) = force(ipol, na) + 2.0_dp*FmbdvdW(ipol, na)
279
+ ELSE IF ( ts_vdw ) THEN
280
+ force(ipol, na) = force(ipol, na) + 2.0_dp*FtsvdW(ipol, na)
281
+ ENDIF
282
+ IF ( tefield ) force(ipol,na) = force(ipol,na) + forcefield(ipol,na)
283
+ IF ( gate ) force(ipol,na) = force(ipol,na) + forcegate(ipol,na) ! TB
284
+ IF (lelfield) force(ipol,na) = force(ipol,na) + forces_bp_efield(ipol,na)
285
+ IF (do_comp_mt) force(ipol,na) = force(ipol,na) + force_mt(ipol,na)
286
+ IF ( lrism ) force(ipol,na) = force(ipol,na) + force_sol(ipol,na)
287
+ !
288
+ sumfor = sumfor + force(ipol,na)
289
+ !
290
+ ENDDO
291
+ !
292
+ !TB
293
+ IF ((gate.AND.relaxz).AND.(ipol==3)) WRITE( stdout, '("Total force in z direction = 0 disabled")')
294
+ !
295
+ IF ( (do_comp_esm .AND. ( esm_bc /= 'pbc' )).OR.(gate.AND.relaxz) ) THEN
296
+ !
297
+ ! ... impose total force along xy = 0
298
+ !
299
+ DO na = 1, nat
300
+ IF ( ipol /= 3) force(ipol,na) = force(ipol,na) &
301
+ - sumfor / DBLE( nat )
302
+ ENDDO
303
+ !
304
+ ELSEIF ( qmmm_mode < 0 ) THEN
305
+ !
306
+ ! ... impose total force = 0 except in a QM-MM calculation
307
+ !
308
+ DO na = 1, nat
309
+ force(ipol,na) = force(ipol,na) - sumfor / DBLE( nat )
310
+ ENDDO
311
+ !
312
+ ENDIF
313
+ !
314
+ ENDDO
315
+ !
316
+ ! ... call run_extffield to apply external force fields on ions
317
+ !
318
+ IF ( nextffield > 0 ) THEN
319
+ tau(:,:) = tau(:,:)*alat
320
+ CALL apply_extffield_PW(istep,nextffield,tau,force)
321
+ tau(:,:) = tau(:,:)/alat
322
+ END IF
323
+ !
324
+ ! ... resymmetrize (should not be needed, but ...)
325
+ !
326
+ CALL symvector( nat, force )
327
+ !
328
+ IF ( remove_rigid_rot ) &
329
+ CALL remove_tot_torque( nat, tau, amass(ityp(:)), force )
330
+ !
331
+ IF( textfor ) force(:,:) = force(:,:) + extfor(:,:)
332
+ !
333
+ ! ... call void routine for user define/ plugin patches on external forces
334
+ !
335
+ #if defined(__LEGACY_PLUGINS)
336
+ CALL plugin_ext_forces()
337
+ #endif
338
+ #if defined (__ENVIRON)
339
+ IF (use_environ) THEN
340
+ IF (is_ms_gcs()) CALL run_ms_gcs()
341
+ END IF
342
+ #endif
343
+ !
344
+ ! ... write on output the forces
345
+ !
346
+ WRITE( stdout, '(/,5x,"Forces acting on atoms (cartesian axes, Ry/au):", / )')
347
+ DO na = 1, nat
348
+ WRITE( stdout, 9035) na, ityp(na), force(:,na)
349
+ ENDDO
350
+ !
351
+ ! ... forces on fixed coordinates are set to zero ( C.S. 15/10/2003 )
352
+ !
353
+ force(:,:) = force(:,:) * DBLE( if_pos )
354
+ forcescc(:,:) = forcescc(:,:) * DBLE( if_pos )
355
+ !
356
+ !civn
357
+ ! IF ( iverbosity > 0 ) THEN
358
+ IF ( .true. ) THEN
359
+ !
360
+ IF ( do_comp_mt ) THEN
361
+ WRITE( stdout, '(5x,"The Martyna-Tuckerman correction term to forces")')
362
+ DO na = 1, nat
363
+ WRITE( stdout, 9035) na, ityp(na), ( force_mt(ipol,na), ipol = 1, 3 )
364
+ ENDDO
365
+ END IF
366
+ !
367
+ WRITE( stdout, '(5x,"The non-local contrib. to forces")')
368
+ DO na = 1, nat
369
+ WRITE( stdout, 9035) na, ityp(na), ( forcenl(ipol,na), ipol = 1, 3 )
370
+ ENDDO
371
+ WRITE( stdout, '(5x,"The ionic contribution to forces")')
372
+ DO na = 1, nat
373
+ WRITE( stdout, 9035) na, ityp(na), ( forceion(ipol,na), ipol = 1, 3 )
374
+ ENDDO
375
+ WRITE( stdout, '(5x,"The local contribution to forces")')
376
+ DO na = 1, nat
377
+ WRITE( stdout, 9035) na, ityp(na), ( forcelc(ipol,na), ipol = 1, 3 )
378
+ ENDDO
379
+ WRITE( stdout, '(5x,"The core correction contribution to forces")')
380
+ DO na = 1, nat
381
+ WRITE( stdout, 9035) na, ityp(na), ( forcecc(ipol,na), ipol = 1, 3 )
382
+ ENDDO
383
+ WRITE( stdout, '(5x,"The Hubbard contrib. to forces")')
384
+ DO na = 1, nat
385
+ WRITE( stdout, 9035) na, ityp(na), ( forceh(ipol,na), ipol = 1, 3 )
386
+ ENDDO
387
+ WRITE( stdout, '(5x,"The SCF correction term to forces")')
388
+ DO na = 1, nat
389
+ WRITE( stdout, 9035) na, ityp(na), ( forcescc(ipol,na), ipol = 1, 3 )
390
+ ENDDO
391
+ !
392
+ IF ( llondon) THEN
393
+ WRITE( stdout, '(/,5x,"Dispersion contribution to forces:")')
394
+ DO na = 1, nat
395
+ WRITE( stdout, 9035) na, ityp(na), (force_disp(ipol,na), ipol = 1, 3)
396
+ ENDDO
397
+ END IF
398
+ !
399
+ IF ( ldftd3 ) THEN
400
+ WRITE( stdout, '(/,5x,"DFT-D3 dispersion contribution to forces:")')
401
+ DO na = 1, nat
402
+ WRITE( stdout, 9035) na, ityp(na), (force_d3(ipol,na), ipol = 1, 3)
403
+ ENDDO
404
+ END IF
405
+ !
406
+ IF (lxdm) THEN
407
+ WRITE( stdout, '(/,5x,"XDM contribution to forces:")')
408
+ DO na = 1, nat
409
+ WRITE( stdout, 9035) na, ityp(na), (force_disp_xdm(ipol,na), ipol = 1, 3)
410
+ ENDDO
411
+ END IF
412
+ !
413
+ ! again, as above, if condition is to avoid redundant printing
414
+ IF ( mbd_vdw ) THEN
415
+ WRITE( stdout, '(/,5x, "MBD contribution to forces")')
416
+ DO na = 1, nat
417
+ WRITE( stdout, 9035) na, ityp(na), (2.0d0*FmbdvdW(ipol, na), ipol = 1, 3)
418
+ ENDDO
419
+ ELSE IF ( ts_vdw ) THEN
420
+ WRITE( stdout, '(/,5x, "TS-VDW contribution to forces")')
421
+ DO na = 1, nat
422
+ WRITE( stdout, 9035) na, ityp(na), (2.0d0*FtsvdW(ipol, na), ipol = 1, 3)
423
+ ENDDO
424
+ ENDIF
425
+
426
+ !
427
+ ! TB gate forces
428
+ IF ( gate ) THEN
429
+ WRITE( stdout, '(/,5x,"Gate contribution to forces:")')
430
+ DO na = 1, nat
431
+ WRITE( stdout, 9035) na, ityp(na), (forcegate(ipol,na), ipol = 1, 3)
432
+ ENDDO
433
+ END IF
434
+ !
435
+ IF ( lrism ) THEN
436
+ WRITE( stdout, '(/,5x,"3D-RISM Solvation contribution to forces:")')
437
+ DO na = 1, nat
438
+ WRITE( stdout, 9035) na, ityp(na), (force_sol(ipol,na), ipol = 1, 3)
439
+ END DO
440
+ END IF
441
+ !
442
+ END IF
443
+ #if defined (__OSCDFT)
444
+ IF (use_oscdft) CALL oscdft_print_forces(oscdft_ctx)
445
+ #endif
446
+ !
447
+ sumfor = 0.D0
448
+ sumscf = 0.D0
449
+ !
450
+ DO na = 1, nat
451
+ !
452
+ sumfor = sumfor + force(1,na)**2 + force(2,na)**2 + force(3,na)**2
453
+ sumscf = sumscf + forcescc(1,na)**2 + forcescc(2,na)**2+ forcescc(3,na)**2
454
+ !
455
+ ENDDO
456
+ !
457
+ sumfor = SQRT( sumfor )
458
+ sumscf = SQRT( sumscf )
459
+ !
460
+ WRITE( stdout, '(/5x,"Total force = ",F12.6,5X, &
461
+ & "Total SCF correction = ",F12.6)') sumfor, sumscf
462
+ !
463
+ IF ( llondon .AND. iverbosity > 0 ) THEN
464
+ !
465
+ sum_mm = 0.D0
466
+ DO na = 1, nat
467
+ sum_mm = sum_mm + &
468
+ force_disp(1,na)**2 + force_disp(2,na)**2 + force_disp(3,na)**2
469
+ ENDDO
470
+ sum_mm = SQRT( sum_mm )
471
+ WRITE ( stdout, '(/,5x, "Total Dispersion Force = ",F12.6)') sum_mm
472
+ !
473
+ END IF
474
+ !
475
+ IF ( ldftd3 .AND. iverbosity > 0 ) THEN
476
+ !
477
+ sum_mm = 0.D0
478
+ DO na = 1, nat
479
+ sum_mm = sum_mm + &
480
+ force_d3(1,na)**2 + force_d3(2,na)**2 + force_d3(3,na)**2
481
+ ENDDO
482
+ sum_mm = SQRT( sum_mm )
483
+ WRITE ( stdout, '(/,5x, "DFT-D3 dispersion Force = ",F12.6)') sum_mm
484
+ !
485
+ END IF
486
+ !
487
+ IF ( lxdm .AND. iverbosity > 0 ) THEN
488
+ !
489
+ sum_mm = 0.D0
490
+ DO na = 1, nat
491
+ sum_mm = sum_mm + &
492
+ force_disp_xdm(1,na)**2 + force_disp_xdm(2,na)**2 + force_disp_xdm(3,na)**2
493
+ ENDDO
494
+ sum_mm = SQRT( sum_mm )
495
+ WRITE ( stdout, '(/,5x, "Total XDM Force = ",F12.6)') sum_mm
496
+ !
497
+ END IF
498
+ !
499
+ IF ( lrism .AND. iverbosity > 0 ) THEN
500
+ !
501
+ sum_mm = 0.D0
502
+ DO na = 1, nat
503
+ sum_mm = sum_mm + &
504
+ force_sol(1,na)**2 + force_sol(2,na)**2 + force_sol(3,na)**2
505
+ END DO
506
+ sum_mm = SQRT( sum_mm )
507
+ WRITE ( stdout, '(/,5x, "Total 3D-RISM Solvation Force = ",F12.6)') sum_mm
508
+ !
509
+ END IF
510
+ !
511
+ DEALLOCATE( forcenl, forcelc, forcecc, forceh, forceion, forcescc )
512
+ IF ( llondon ) DEALLOCATE( force_disp )
513
+ IF ( ldftd3 ) DEALLOCATE( force_d3 )
514
+ IF ( lxdm ) DEALLOCATE( force_disp_xdm )
515
+ IF ( lelfield ) DEALLOCATE( forces_bp_efield )
516
+ IF ( lrism ) DEALLOCATE( force_sol )
517
+ IF(ALLOCATED(force_mt)) DEALLOCATE( force_mt )
518
+ !
519
+ ! FIXME: what is the following line good for?
520
+ !
521
+ lforce = .TRUE.
522
+ !
523
+ CALL stop_clock( 'forces' )
524
+ !
525
+ IF ( ( sumfor < 10.D0*sumscf ) .AND. ( sumfor > nat*eps ) ) &
526
+ WRITE( stdout,'(5x,"SCF correction compared to forces is large: ", &
527
+ & "reduce conv_thr to get better values")')
528
+ RETURN
529
+ !
530
+ 9035 FORMAT(5X,'atom ',I4,' type ',I2,' force = ',3F14.8)
531
+ !
532
+ END SUBROUTINE forces