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,171 @@
1
+ #/a Makefile for Modules
2
+
3
+ include ../make.inc
4
+
5
+ # location of needed modules
6
+ MODFLAGS=$(BASEMOD_FLAGS) \
7
+ $(MOD_FLAG)../ELPA/src
8
+
9
+ # list of modules
10
+
11
+ MODULES = \
12
+ additional_kpoints.o \
13
+ autopilot.o \
14
+ basic_algebra_routines.o \
15
+ becmod.o \
16
+ bfgs_module.o \
17
+ bspline.o \
18
+ bz_form.o \
19
+ cell_base.o \
20
+ check_stop.o \
21
+ command_line_options.o \
22
+ compute_dipole.o \
23
+ constants.o \
24
+ constraints_module.o \
25
+ control_flags.o \
26
+ coulomb_vcut.o \
27
+ dist.o \
28
+ electrons_base.o \
29
+ environment.o \
30
+ fd_gradient.o \
31
+ fft_base.o \
32
+ fft_rho.o \
33
+ fsockets.o \
34
+ funct.o \
35
+ generate_function.o \
36
+ gradutils.o \
37
+ gvecw.o \
38
+ input_parameters.o \
39
+ invmat.o \
40
+ io_files.o \
41
+ io_global.o \
42
+ ions_base.o \
43
+ kind.o \
44
+ lmdif.o \
45
+ mdiis.o \
46
+ mm_dispersion.o \
47
+ mp_bands.o \
48
+ mp_exx.o \
49
+ mp_global.o \
50
+ mp_images.o \
51
+ mp_pools.o \
52
+ mp_wave.o \
53
+ mp_world.o \
54
+ noncol.o \
55
+ open_close_input_file.o \
56
+ parameters.o \
57
+ parser.o \
58
+ plugin_flags.o \
59
+ plugin_arguments.o \
60
+ plugin_variables.o \
61
+ pw_dot.o \
62
+ qmmm.o \
63
+ random_numbers.o \
64
+ read_cards.o \
65
+ read_input.o \
66
+ read_namelists.o \
67
+ read_pseudo.o \
68
+ recvec.o \
69
+ recvec_subs.o \
70
+ run_info.o \
71
+ space_group.o \
72
+ set_para_diag.o \
73
+ set_signal.o \
74
+ set_vdw_corr.o \
75
+ setqf.o \
76
+ timestep.o\
77
+ tsvdw.o\
78
+ mbdlib.o\
79
+ version.o \
80
+ wannier_gw.o\
81
+ wannier_new.o \
82
+ wavefunctions.o \
83
+ ws_base.o \
84
+ xc_vdW_DF.o \
85
+ xc_rVV10.o \
86
+ io_base.o \
87
+ qes_types_module.o \
88
+ qes_libs_module.o \
89
+ qes_write_module.o \
90
+ qes_read_module.o \
91
+ qes_reset_module.o \
92
+ qes_init_module.o \
93
+ qes_bcast_module.o \
94
+ qexsd.o \
95
+ qexsd_copy.o \
96
+ qexsd_init.o \
97
+ qexsd_input.o \
98
+ hdf5_qe.o\
99
+ qeh5_module.o\
100
+ fox_init_module.o \
101
+ xsf.o \
102
+ wyckoff.o \
103
+ wypos.o \
104
+ zvscal.o \
105
+ wave_gauge.o
106
+
107
+ # list of subroutines and functions (not modules) previously found in flib/clib
108
+
109
+ OBJS = \
110
+ atom_weight.o \
111
+ capital.o \
112
+ cryst_to_car.o \
113
+ expint.o \
114
+ generate_k_along_lines.o \
115
+ has_xml.o \
116
+ inpfile.o \
117
+ int_to_char.o \
118
+ latgen.o \
119
+ linpack.o \
120
+ matches.o \
121
+ plot_io.o \
122
+ radial_gradients.o \
123
+ rgen.o \
124
+ recips.o \
125
+ remove_tot_torque.o \
126
+ set_hubbard_l.o \
127
+ set_hubbard_n.o \
128
+ sort.o \
129
+ trimcheck.o \
130
+ test_input_file.o \
131
+ date_and_tim.o \
132
+ volume.o \
133
+ wgauss.o \
134
+ w0gauss.o \
135
+ w1gauss.o \
136
+ deviatoric.o \
137
+ customize_signals.o \
138
+ qmmm_aux.o \
139
+ sockets.o \
140
+ stack.o
141
+
142
+ # GPU versions of modules
143
+ MODULES += \
144
+ wavefunctions_gpu.o \
145
+ becmod_gpu.o \
146
+ becmod_subs_gpu.o \
147
+ cuda_subroutines.o \
148
+ random_numbers_gpu.o
149
+
150
+ TLDEPS= libfox libutil libla libfft librxc
151
+
152
+ all : libqemod.a
153
+
154
+ ## The following is needed only for lapack compiled from sources
155
+
156
+ dlamch.o : dlamch.f
157
+ $(F77) $(FFLAGS_NOOPT) -c $<
158
+
159
+ libqemod.a: $(MODULES) $(OBJS)
160
+ $(AR) $(ARFLAGS) $@ $?
161
+ $(RANLIB) $@
162
+
163
+ tldeps :
164
+ if test -n "$(TLDEPS)" ; then \
165
+ ( cd ../.. ; $(MAKE) $(TLDEPS) || exit 1 ) ; fi
166
+
167
+
168
+ clean :
169
+ - /bin/rm -f *.o *.a *.d *.i *~ *_tmp.f90 *.mod *.L
170
+
171
+ include make.depend
@@ -0,0 +1,486 @@
1
+ !
2
+ ! Copyright (C) 2001-2011 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
+ !
26
+ USE kinds, ONLY : DP
27
+ USE io_global, ONLY : stdout
28
+ USE cell_base, ONLY : at, bg, alat, omega
29
+ USE ions_base, ONLY : nat, ntyp => nsp, ityp, tau, zv, amass, extfor, atm
30
+ USE fft_base, ONLY : dfftp
31
+ USE gvect, ONLY : ngm, gstart, ngl, igtongl, igtongl_d, g, gg, &
32
+ g_d, gcutm
33
+ USE lsda_mod, ONLY : nspin
34
+ USE symme, ONLY : symvector
35
+ USE vlocal, ONLY : strf, vloc
36
+ USE force_mod, ONLY : force, sumfor
37
+ USE scf, ONLY : rho
38
+ USE ions_base, ONLY : if_pos
39
+ USE ldaU, ONLY : lda_plus_u, U_projection
40
+ USE extfield, ONLY : tefield, forcefield, gate, forcegate, relaxz
41
+ USE control_flags, ONLY : gamma_only, remove_rigid_rot, textfor, &
42
+ iverbosity, llondon, ldftd3, lxdm, ts_vdw, &
43
+ mbd_vdw, lforce => tprnfor
44
+ USE plugin_flags
45
+ USE bp, ONLY : lelfield, gdir, l3dstring, efield_cart, &
46
+ efield_cry,efield
47
+ USE uspp, ONLY : okvan
48
+ USE martyna_tuckerman, ONLY : do_comp_mt, wg_corr_force
49
+ USE london_module, ONLY : force_london
50
+ USE dftd3_api, ONLY : get_atomic_number, dftd3_calc
51
+ USE dftd3_qe, ONLY : dftd3_pbc_gdisp, dftd3
52
+
53
+ USE xdm_module, ONLY : force_xdm
54
+ USE tsvdw_module, ONLY : FtsvdW
55
+ USE libmbd_interface, ONLY : FmbdvdW
56
+ USE esm, ONLY : do_comp_esm, esm_bc, esm_force_ew
57
+ USE qmmm, ONLY : qmmm_mode
58
+ !
59
+ USE control_flags, ONLY : use_gpu
60
+ USE device_fbuff_m, ONLY : dev_buf
61
+ USE device_memcpy_m, ONLY : dev_memcpy
62
+ !
63
+ IMPLICIT NONE
64
+ !
65
+ REAL(DP), ALLOCATABLE :: forcenl(:,:), &
66
+ forcelc(:,:), &
67
+ forcecc(:,:), &
68
+ forceion(:,:), &
69
+ force_disp(:,:), &
70
+ force_d3(:,:), &
71
+ force_disp_xdm(:,:), &
72
+ force_mt(:,:), &
73
+ forcescc(:,:), &
74
+ forces_bp_efield(:,:),&
75
+ forceh(:,:)
76
+ ! nonlocal, local, core-correction, ewald, scf correction terms, and hubbard
77
+ !
78
+ ! aux is used to store a possible additional density
79
+ ! now defined in real space
80
+ !
81
+ COMPLEX(DP), ALLOCATABLE :: auxg(:), auxr(:)
82
+ !
83
+ REAL(DP) :: sumscf, sum_mm
84
+ REAL(DP), PARAMETER :: eps = 1.e-12_dp
85
+ INTEGER :: ipol, na
86
+ ! counter on polarization
87
+ ! counter on atoms
88
+ !
89
+ REAL(DP) :: latvecs(3,3)
90
+ INTEGER :: atnum(1:nat)
91
+ REAL(DP) :: stress_dftd3(3,3)
92
+ !
93
+ ! TODO: get rid of this !!!! Use standard method for duplicated global data
94
+ REAL(DP), POINTER :: vloc_d (:, :)
95
+ INTEGER :: ierr
96
+ #if defined(__CUDA)
97
+ attributes(DEVICE) :: vloc_d
98
+ #endif
99
+ !
100
+ force(:,:) = 0.D0
101
+ !
102
+ ! Early return if all forces to be set to zero
103
+ !
104
+ IF ( ALL( if_pos == 0 ) ) RETURN
105
+ !
106
+ CALL start_clock( 'forces' )
107
+ ! Cleanup scratch space used in previous SCF iterations.
108
+ ! This will reduce memory footprint.
109
+ CALL dev_buf%reinit(ierr)
110
+ IF (ierr .ne. 0) CALL infomsg('forces', 'Cannot reset GPU buffers! Some buffers still locked.')
111
+ !
112
+ !
113
+ ALLOCATE( forcenl(3,nat), forcelc(3,nat), forcecc(3,nat), &
114
+ forceh(3,nat), forceion(3,nat), forcescc(3,nat) )
115
+ !
116
+ forcescc(:,:) = 0.D0
117
+ forceh(:,:) = 0.D0
118
+ !
119
+ ! ... The nonlocal contribution is computed here
120
+ !
121
+ call start_clock('frc_us')
122
+ IF (.not. use_gpu) CALL force_us( forcenl )
123
+ IF ( use_gpu) CALL force_us_gpu( forcenl )
124
+ call stop_clock('frc_us')
125
+ !
126
+ ! ... The local contribution
127
+ !
128
+ CALL start_clock('frc_lc')
129
+ IF (.not. use_gpu) & ! On the CPU
130
+ CALL force_lc( nat, tau, ityp, alat, omega, ngm, ngl, igtongl, &
131
+ g, rho%of_r(:,1), dfftp%nl, gstart, gamma_only, vloc, &
132
+ forcelc )
133
+ IF ( use_gpu) THEN ! On the GPU
134
+ ! move these data to the GPU
135
+ CALL dev_buf%lock_buffer(vloc_d, (/ ngl, ntyp /) , ierr)
136
+ IF (ierr /= 0) CALL errore( 'forces', 'cannot allocate buffers', -1 )
137
+ CALL dev_memcpy(vloc_d, vloc)
138
+ CALL force_lc_gpu( nat, tau, ityp, alat, omega, ngm, ngl, igtongl_d, &
139
+ g_d, rho%of_r(:,1), dfftp%nl_d, gstart, gamma_only, vloc_d, &
140
+ forcelc )
141
+ CALL dev_buf%release_buffer(vloc_d, ierr)
142
+ END IF
143
+ call stop_clock('frc_lc')
144
+ !
145
+ ! ... The NLCC contribution
146
+ !
147
+ call start_clock('frc_cc')
148
+ IF (.not. use_gpu) CALL force_cc( forcecc )
149
+ IF ( use_gpu) CALL force_cc_gpu( forcecc )
150
+ !
151
+ call stop_clock('frc_cc')
152
+
153
+ ! ... The Hubbard contribution
154
+ ! (included by force_us if using beta as local projectors)
155
+ !
156
+ IF (.not. use_gpu) THEN
157
+ IF ( lda_plus_u .AND. U_projection.NE.'pseudo' ) CALL force_hub( forceh )
158
+ ELSE
159
+ IF ( lda_plus_u .AND. U_projection.NE.'pseudo' ) CALL force_hub_gpu( forceh )
160
+ ENDIF
161
+ !
162
+ ! ... The ionic contribution is computed here
163
+ !
164
+ IF( do_comp_esm ) THEN
165
+ CALL esm_force_ew( forceion )
166
+ ELSE
167
+ CALL force_ew( alat, nat, ntyp, ityp, zv, at, bg, tau, omega, g, &
168
+ gg, ngm, gstart, gamma_only, gcutm, strf, forceion )
169
+ ENDIF
170
+ !
171
+ ! ... the semi-empirical dispersion correction
172
+ !
173
+ IF ( llondon ) THEN
174
+ !
175
+ ALLOCATE( force_disp(3,nat) )
176
+ force_disp(:,:) = 0.0_DP
177
+ force_disp = force_london( alat , nat , ityp , at , bg , tau )
178
+ !
179
+ ENDIF
180
+ !
181
+ ! ... The Grimme-D3 dispersion correction
182
+ !
183
+ IF ( ldftd3 ) THEN
184
+ !
185
+ CALL start_clock('force_dftd3')
186
+ ALLOCATE( force_d3(3, nat) )
187
+ force_d3(:,:) = 0.0_DP
188
+ latvecs(:,:) = at(:,:)*alat
189
+ tau(:,:) = tau(:,:)*alat
190
+ atnum(:) = get_atomic_number(atm(ityp(:)))
191
+ CALL dftd3_pbc_gdisp( dftd3, tau, atnum, latvecs, &
192
+ force_d3, stress_dftd3 )
193
+ force_d3 = -2.d0*force_d3
194
+ tau(:,:) = tau(:,:)/alat
195
+ CALL stop_clock('force_dftd3')
196
+ ENDIF
197
+ !
198
+ !
199
+ IF (lxdm) THEN
200
+ ALLOCATE( force_disp_xdm(3,nat) )
201
+ force_disp_xdm = 0._dp
202
+ force_disp_xdm = force_xdm(nat)
203
+ ENDIF
204
+ !
205
+ ! ... The SCF contribution
206
+ !
207
+ call start_clock('frc_scc')
208
+ ! Cleanup scratch space again, next subroutines uses a lot of memory.
209
+ ! In an ideal world this should be done only if really needed (TODO).
210
+ CALL dev_buf%reinit(ierr)
211
+ IF (ierr .ne. 0) CALL errore('forces', 'Cannot reset GPU buffers! Buffers still locked: ', abs(ierr))
212
+ !
213
+ IF ( .not. use_gpu ) CALL force_corr( forcescc )
214
+ IF ( use_gpu ) CALL force_corr_gpu( forcescc )
215
+ call stop_clock('frc_scc')
216
+ !
217
+ IF (do_comp_mt) THEN
218
+ !
219
+ ALLOCATE( force_mt(3,nat) )
220
+ CALL wg_corr_force( .TRUE., omega, nat, ntyp, ityp, ngm, g, tau, zv, strf, &
221
+ rho%of_g(:,1), force_mt )
222
+ ENDIF
223
+ !
224
+ ! ... call void routine for user define/ plugin patches on internal forces
225
+ !
226
+ CALL plugin_int_forces()
227
+ !
228
+ ! ... Berry's phase electric field terms
229
+ !
230
+ IF (lelfield) THEN
231
+ ALLOCATE( forces_bp_efield(3,nat) )
232
+ forces_bp_efield(:,:) = 0.d0
233
+ IF (.NOT.l3dstring) THEN
234
+ IF (okvan) CALL forces_us_efield( forces_bp_efield, gdir, efield )
235
+ CALL forces_ion_efield( forces_bp_efield, gdir, efield )
236
+ ELSE
237
+ IF (okvan) THEN
238
+ DO ipol = 1, 3
239
+ CALL forces_us_efield( forces_bp_efield, ipol, efield_cry(ipol) )
240
+ ENDDO
241
+ ENDIF
242
+ DO ipol = 1, 3
243
+ CALL forces_ion_efield( forces_bp_efield, ipol, efield_cart(ipol) )
244
+ ENDDO
245
+ ENDIF
246
+ ENDIF
247
+ !
248
+ ! ... here we sum all the contributions and compute the total force acting
249
+ ! ... on the crystal
250
+ !
251
+ DO ipol = 1, 3
252
+ !
253
+ sumfor = 0.D0
254
+ !
255
+ DO na = 1, nat
256
+ !
257
+ force(ipol,na) = force(ipol,na) + &
258
+ forcenl(ipol,na) + &
259
+ forceion(ipol,na) + &
260
+ forcelc(ipol,na) + &
261
+ forcecc(ipol,na) + &
262
+ forceh(ipol,na) + &
263
+ forcescc(ipol,na)
264
+ !
265
+ IF ( llondon ) force(ipol,na) = force(ipol,na) + force_disp(ipol,na)
266
+ IF ( ldftd3 ) force(ipol,na) = force(ipol,na) + force_d3(ipol,na)
267
+ IF ( lxdm ) force(ipol,na) = force(ipol,na) + force_disp_xdm(ipol,na)
268
+ ! factor 2 converts from Ha to Ry a.u.
269
+ ! the IF condition is to avoid double counting
270
+ IF ( mbd_vdw ) THEN
271
+ force(ipol, na) = force(ipol, na) + 2.0_dp*FmbdvdW(ipol, na)
272
+ ELSE IF ( ts_vdw ) THEN
273
+ force(ipol, na) = force(ipol, na) + 2.0_dp*FtsvdW(ipol, na)
274
+ ENDIF
275
+ IF ( tefield ) force(ipol,na) = force(ipol,na) + forcefield(ipol,na)
276
+ IF ( gate ) force(ipol,na) = force(ipol,na) + forcegate(ipol,na) ! TB
277
+ IF (lelfield) force(ipol,na) = force(ipol,na) + forces_bp_efield(ipol,na)
278
+ IF (do_comp_mt) force(ipol,na) = force(ipol,na) + force_mt(ipol,na)
279
+ !
280
+ sumfor = sumfor + force(ipol,na)
281
+ !
282
+ ENDDO
283
+ !
284
+ !TB
285
+ IF ((gate.AND.relaxz).AND.(ipol==3)) WRITE( stdout, '("Total force in z direction = 0 disabled")')
286
+ !
287
+ IF ( (do_comp_esm .AND. ( esm_bc /= 'pbc' )).OR.(gate.AND.relaxz) ) THEN
288
+ !
289
+ ! ... impose total force along xy = 0
290
+ !
291
+ DO na = 1, nat
292
+ IF ( ipol /= 3) force(ipol,na) = force(ipol,na) &
293
+ - sumfor / DBLE( nat )
294
+ ENDDO
295
+ !
296
+ ELSEIF ( qmmm_mode < 0 ) THEN
297
+ !
298
+ ! ... impose total force = 0 except in a QM-MM calculation
299
+ !
300
+ DO na = 1, nat
301
+ force(ipol,na) = force(ipol,na) - sumfor / DBLE( nat )
302
+ ENDDO
303
+ !
304
+ ENDIF
305
+ !
306
+ ENDDO
307
+ !
308
+ ! ... resymmetrize (should not be needed, but ...)
309
+ !
310
+ CALL symvector( nat, force )
311
+ !
312
+ IF ( remove_rigid_rot ) &
313
+ CALL remove_tot_torque( nat, tau, amass(ityp(:)), force )
314
+ !
315
+ IF( textfor ) force(:,:) = force(:,:) + extfor(:,:)
316
+ !
317
+ ! ... call void routine for user define/ plugin patches on external forces
318
+ !
319
+ ! plugin should be called after stress has been computed
320
+ ! look in run_pwscf.f90
321
+ !CALL plugin_ext_forces()
322
+ !
323
+ ! ... write on output the forces
324
+ !
325
+ WRITE( stdout, '(/,5x,"Forces acting on atoms (cartesian axes, Ry/au):", / )')
326
+ DO na = 1, nat
327
+ WRITE( stdout, 9035) na, ityp(na), force(:,na)
328
+ ENDDO
329
+ !
330
+ ! ... forces on fixed coordinates are set to zero ( C.S. 15/10/2003 )
331
+ !
332
+ force(:,:) = force(:,:) * DBLE( if_pos )
333
+ forcescc(:,:) = forcescc(:,:) * DBLE( if_pos )
334
+ !
335
+ IF ( iverbosity > 0 ) THEN
336
+ IF ( do_comp_mt ) THEN
337
+ WRITE( stdout, '(5x,"The Martyna-Tuckerman correction term to forces")')
338
+ DO na = 1, nat
339
+ WRITE( stdout, 9035) na, ityp(na), ( force_mt(ipol,na), ipol = 1, 3 )
340
+ ENDDO
341
+ END IF
342
+ !
343
+ WRITE( stdout, '(5x,"The non-local contrib. to forces")')
344
+ DO na = 1, nat
345
+ WRITE( stdout, 9035) na, ityp(na), ( forcenl(ipol,na), ipol = 1, 3 )
346
+ ENDDO
347
+ WRITE( stdout, '(5x,"The ionic contribution to forces")')
348
+ DO na = 1, nat
349
+ WRITE( stdout, 9035) na, ityp(na), ( forceion(ipol,na), ipol = 1, 3 )
350
+ ENDDO
351
+ WRITE( stdout, '(5x,"The local contribution to forces")')
352
+ DO na = 1, nat
353
+ WRITE( stdout, 9035) na, ityp(na), ( forcelc(ipol,na), ipol = 1, 3 )
354
+ ENDDO
355
+ WRITE( stdout, '(5x,"The core correction contribution to forces")')
356
+ DO na = 1, nat
357
+ WRITE( stdout, 9035) na, ityp(na), ( forcecc(ipol,na), ipol = 1, 3 )
358
+ ENDDO
359
+ WRITE( stdout, '(5x,"The Hubbard contrib. to forces")')
360
+ DO na = 1, nat
361
+ WRITE( stdout, 9035) na, ityp(na), ( forceh(ipol,na), ipol = 1, 3 )
362
+ ENDDO
363
+ WRITE( stdout, '(5x,"The SCF correction term to forces")')
364
+ DO na = 1, nat
365
+ WRITE( stdout, 9035) na, ityp(na), ( forcescc(ipol,na), ipol = 1, 3 )
366
+ ENDDO
367
+ !
368
+ IF ( llondon) THEN
369
+ WRITE( stdout, '(/,5x,"Dispersion contribution to forces:")')
370
+ DO na = 1, nat
371
+ WRITE( stdout, 9035) na, ityp(na), (force_disp(ipol,na), ipol = 1, 3)
372
+ ENDDO
373
+ END IF
374
+ !
375
+ IF ( ldftd3 ) THEN
376
+ WRITE( stdout, '(/,5x,"DFT-D3 dispersion contribution to forces:")')
377
+ DO na = 1, nat
378
+ WRITE( stdout, 9035) na, ityp(na), (force_d3(ipol,na), ipol = 1, 3)
379
+ ENDDO
380
+ END IF
381
+ !
382
+ IF (lxdm) THEN
383
+ WRITE( stdout, '(/,5x,"XDM contribution to forces:")')
384
+ DO na = 1, nat
385
+ WRITE( stdout, 9035) na, ityp(na), (force_disp_xdm(ipol,na), ipol = 1, 3)
386
+ ENDDO
387
+ END IF
388
+ !
389
+ ! again, as above, if condition is to avoid redundant printing
390
+ IF ( mbd_vdw ) THEN
391
+ WRITE( stdout, '(/,5x, "MBD contribution to forces")')
392
+ DO na = 1, nat
393
+ WRITE( stdout, 9035) na, ityp(na), (2.0d0*FmbdvdW(ipol, na), ipol = 1, 3)
394
+ ENDDO
395
+ ELSE IF ( ts_vdw ) THEN
396
+ WRITE( stdout, '(/,5x, "TS-VDW contribution to forces")')
397
+ DO na = 1, nat
398
+ WRITE( stdout, 9035) na, ityp(na), (2.0d0*FtsvdW(ipol, na), ipol = 1, 3)
399
+ ENDDO
400
+ ENDIF
401
+
402
+ !
403
+ ! TB gate forces
404
+ IF ( gate ) THEN
405
+ WRITE( stdout, '(/,5x,"Gate contribution to forces:")')
406
+ DO na = 1, nat
407
+ WRITE( stdout, 9035) na, ityp(na), (forcegate(ipol,na), ipol = 1, 3)
408
+ ENDDO
409
+ END IF
410
+ !
411
+ END IF
412
+ !
413
+ sumfor = 0.D0
414
+ sumscf = 0.D0
415
+ !
416
+ DO na = 1, nat
417
+ !
418
+ sumfor = sumfor + force(1,na)**2 + force(2,na)**2 + force(3,na)**2
419
+ sumscf = sumscf + forcescc(1,na)**2 + forcescc(2,na)**2+ forcescc(3,na)**2
420
+ !
421
+ ENDDO
422
+ !
423
+ sumfor = SQRT( sumfor )
424
+ sumscf = SQRT( sumscf )
425
+ !
426
+ WRITE( stdout, '(/5x,"Total force = ",F12.6,5X, &
427
+ & "Total SCF correction = ",F12.6)') sumfor, sumscf
428
+ !
429
+ IF ( llondon .AND. iverbosity > 0 ) THEN
430
+ !
431
+ sum_mm = 0.D0
432
+ DO na = 1, nat
433
+ sum_mm = sum_mm + &
434
+ force_disp(1,na)**2 + force_disp(2,na)**2 + force_disp(3,na)**2
435
+ ENDDO
436
+ sum_mm = SQRT( sum_mm )
437
+ WRITE ( stdout, '(/,5x, "Total Dispersion Force = ",F12.6)') sum_mm
438
+ !
439
+ END IF
440
+ !
441
+ IF ( ldftd3 .AND. iverbosity > 0 ) THEN
442
+ !
443
+ sum_mm = 0.D0
444
+ DO na = 1, nat
445
+ sum_mm = sum_mm + &
446
+ force_d3(1,na)**2 + force_d3(2,na)**2 + force_d3(3,na)**2
447
+ ENDDO
448
+ sum_mm = SQRT( sum_mm )
449
+ WRITE ( stdout, '(/,5x, "DFT-D3 dispersion Force = ",F12.6)') sum_mm
450
+ !
451
+ END IF
452
+ !
453
+ IF ( lxdm .AND. iverbosity > 0 ) THEN
454
+ !
455
+ sum_mm = 0.D0
456
+ DO na = 1, nat
457
+ sum_mm = sum_mm + &
458
+ force_disp_xdm(1,na)**2 + force_disp_xdm(2,na)**2 + force_disp_xdm(3,na)**2
459
+ ENDDO
460
+ sum_mm = SQRT( sum_mm )
461
+ WRITE ( stdout, '(/,5x, "Total XDM Force = ",F12.6)') sum_mm
462
+ !
463
+ END IF
464
+ !
465
+ DEALLOCATE( forcenl, forcelc, forcecc, forceh, forceion, forcescc )
466
+ IF ( llondon ) DEALLOCATE( force_disp )
467
+ IF ( ldftd3 ) DEALLOCATE( force_d3 )
468
+ IF ( lxdm ) DEALLOCATE( force_disp_xdm )
469
+ IF ( lelfield ) DEALLOCATE( forces_bp_efield )
470
+ IF(ALLOCATED(force_mt)) DEALLOCATE( force_mt )
471
+ !
472
+ ! FIXME: what is the following line good for?
473
+ !
474
+ lforce = .TRUE.
475
+ !
476
+ CALL stop_clock( 'forces' )
477
+ !
478
+ IF ( ( sumfor < 10.D0*sumscf ) .AND. ( sumfor > nat*eps ) ) &
479
+ WRITE( stdout,'(5x,"SCF correction compared to forces is large: ", &
480
+ & "reduce conv_thr to get better values")')
481
+
482
+ RETURN
483
+ !
484
+ 9035 FORMAT(5X,'atom ',I4,' type ',I2,' force = ',3F14.8)
485
+ !
486
+ END SUBROUTINE forces