hillclimber 0.1.5a8__cp314-cp314-macosx_15_0_x86_64.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 (469) 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 +1065 -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.5a8.dist-info/METADATA +209 -0
  14. hillclimber-0.1.5a8.dist-info/RECORD +469 -0
  15. hillclimber-0.1.5a8.dist-info/WHEEL +6 -0
  16. hillclimber-0.1.5a8.dist-info/entry_points.txt +8 -0
  17. hillclimber-0.1.5a8.dist-info/licenses/LICENSE +165 -0
  18. plumed/__init__.py +104 -0
  19. plumed/_lib/bin/plumed +0 -0
  20. plumed/_lib/bin/plumed-config +9 -0
  21. plumed/_lib/bin/plumed-patch +9 -0
  22. plumed/_lib/include/plumed/adjmat/AdjacencyMatrixBase.h +659 -0
  23. plumed/_lib/include/plumed/adjmat/ContactMatrix.h +59 -0
  24. plumed/_lib/include/plumed/asmjit/arch.h +228 -0
  25. plumed/_lib/include/plumed/asmjit/arm.h +43 -0
  26. plumed/_lib/include/plumed/asmjit/asmjit.h +69 -0
  27. plumed/_lib/include/plumed/asmjit/asmjit_apibegin.h +143 -0
  28. plumed/_lib/include/plumed/asmjit/asmjit_apiend.h +93 -0
  29. plumed/_lib/include/plumed/asmjit/asmjit_build.h +971 -0
  30. plumed/_lib/include/plumed/asmjit/assembler.h +183 -0
  31. plumed/_lib/include/plumed/asmjit/base.h +56 -0
  32. plumed/_lib/include/plumed/asmjit/codebuilder.h +944 -0
  33. plumed/_lib/include/plumed/asmjit/codecompiler.h +767 -0
  34. plumed/_lib/include/plumed/asmjit/codeemitter.h +528 -0
  35. plumed/_lib/include/plumed/asmjit/codeholder.h +777 -0
  36. plumed/_lib/include/plumed/asmjit/constpool.h +286 -0
  37. plumed/_lib/include/plumed/asmjit/cpuinfo.h +402 -0
  38. plumed/_lib/include/plumed/asmjit/func.h +1327 -0
  39. plumed/_lib/include/plumed/asmjit/globals.h +370 -0
  40. plumed/_lib/include/plumed/asmjit/inst.h +137 -0
  41. plumed/_lib/include/plumed/asmjit/logging.h +317 -0
  42. plumed/_lib/include/plumed/asmjit/misc_p.h +103 -0
  43. plumed/_lib/include/plumed/asmjit/moved_string.h +318 -0
  44. plumed/_lib/include/plumed/asmjit/operand.h +1599 -0
  45. plumed/_lib/include/plumed/asmjit/osutils.h +207 -0
  46. plumed/_lib/include/plumed/asmjit/regalloc_p.h +597 -0
  47. plumed/_lib/include/plumed/asmjit/runtime.h +227 -0
  48. plumed/_lib/include/plumed/asmjit/simdtypes.h +1104 -0
  49. plumed/_lib/include/plumed/asmjit/utils.h +1387 -0
  50. plumed/_lib/include/plumed/asmjit/vmem.h +183 -0
  51. plumed/_lib/include/plumed/asmjit/x86.h +45 -0
  52. plumed/_lib/include/plumed/asmjit/x86assembler.h +125 -0
  53. plumed/_lib/include/plumed/asmjit/x86builder.h +117 -0
  54. plumed/_lib/include/plumed/asmjit/x86compiler.h +322 -0
  55. plumed/_lib/include/plumed/asmjit/x86emitter.h +5149 -0
  56. plumed/_lib/include/plumed/asmjit/x86globals.h +535 -0
  57. plumed/_lib/include/plumed/asmjit/x86inst.h +2547 -0
  58. plumed/_lib/include/plumed/asmjit/x86instimpl_p.h +74 -0
  59. plumed/_lib/include/plumed/asmjit/x86internal_p.h +108 -0
  60. plumed/_lib/include/plumed/asmjit/x86logging_p.h +92 -0
  61. plumed/_lib/include/plumed/asmjit/x86misc.h +417 -0
  62. plumed/_lib/include/plumed/asmjit/x86operand.h +1133 -0
  63. plumed/_lib/include/plumed/asmjit/x86regalloc_p.h +734 -0
  64. plumed/_lib/include/plumed/asmjit/zone.h +1157 -0
  65. plumed/_lib/include/plumed/bias/Bias.h +82 -0
  66. plumed/_lib/include/plumed/bias/ReweightBase.h +58 -0
  67. plumed/_lib/include/plumed/blas/blas.h +253 -0
  68. plumed/_lib/include/plumed/blas/def_external.h +61 -0
  69. plumed/_lib/include/plumed/blas/def_internal.h +97 -0
  70. plumed/_lib/include/plumed/blas/real.h +49 -0
  71. plumed/_lib/include/plumed/cltools/CLTool.h +32 -0
  72. plumed/_lib/include/plumed/clusters/ClusteringBase.h +70 -0
  73. plumed/_lib/include/plumed/colvar/Colvar.h +32 -0
  74. plumed/_lib/include/plumed/colvar/ColvarInput.h +68 -0
  75. plumed/_lib/include/plumed/colvar/ColvarShortcut.h +81 -0
  76. plumed/_lib/include/plumed/colvar/CoordinationBase.h +52 -0
  77. plumed/_lib/include/plumed/colvar/MultiColvarTemplate.h +333 -0
  78. plumed/_lib/include/plumed/colvar/PathMSDBase.h +101 -0
  79. plumed/_lib/include/plumed/colvar/RMSDVector.h +78 -0
  80. plumed/_lib/include/plumed/config/Config.h +118 -0
  81. plumed/_lib/include/plumed/config/version.h +9 -0
  82. plumed/_lib/include/plumed/contour/ContourFindingObject.h +87 -0
  83. plumed/_lib/include/plumed/contour/DistanceFromContourBase.h +82 -0
  84. plumed/_lib/include/plumed/contour/FindContour.h +67 -0
  85. plumed/_lib/include/plumed/core/Action.h +540 -0
  86. plumed/_lib/include/plumed/core/ActionAnyorder.h +48 -0
  87. plumed/_lib/include/plumed/core/ActionAtomistic.h +343 -0
  88. plumed/_lib/include/plumed/core/ActionForInterface.h +99 -0
  89. plumed/_lib/include/plumed/core/ActionPilot.h +57 -0
  90. plumed/_lib/include/plumed/core/ActionRegister.h +124 -0
  91. plumed/_lib/include/plumed/core/ActionSet.h +163 -0
  92. plumed/_lib/include/plumed/core/ActionSetup.h +48 -0
  93. plumed/_lib/include/plumed/core/ActionShortcut.h +73 -0
  94. plumed/_lib/include/plumed/core/ActionToGetData.h +59 -0
  95. plumed/_lib/include/plumed/core/ActionToPutData.h +101 -0
  96. plumed/_lib/include/plumed/core/ActionWithArguments.h +140 -0
  97. plumed/_lib/include/plumed/core/ActionWithMatrix.h +87 -0
  98. plumed/_lib/include/plumed/core/ActionWithValue.h +258 -0
  99. plumed/_lib/include/plumed/core/ActionWithVector.h +94 -0
  100. plumed/_lib/include/plumed/core/ActionWithVirtualAtom.h +123 -0
  101. plumed/_lib/include/plumed/core/CLTool.h +177 -0
  102. plumed/_lib/include/plumed/core/CLToolMain.h +102 -0
  103. plumed/_lib/include/plumed/core/CLToolRegister.h +108 -0
  104. plumed/_lib/include/plumed/core/Colvar.h +115 -0
  105. plumed/_lib/include/plumed/core/DataPassingObject.h +94 -0
  106. plumed/_lib/include/plumed/core/DataPassingTools.h +54 -0
  107. plumed/_lib/include/plumed/core/DomainDecomposition.h +120 -0
  108. plumed/_lib/include/plumed/core/ExchangePatterns.h +47 -0
  109. plumed/_lib/include/plumed/core/FlexibleBin.h +63 -0
  110. plumed/_lib/include/plumed/core/GREX.h +61 -0
  111. plumed/_lib/include/plumed/core/GenericMolInfo.h +89 -0
  112. plumed/_lib/include/plumed/core/Group.h +41 -0
  113. plumed/_lib/include/plumed/core/ModuleMap.h +30 -0
  114. plumed/_lib/include/plumed/core/ParallelTaskManager.h +1023 -0
  115. plumed/_lib/include/plumed/core/PbcAction.h +61 -0
  116. plumed/_lib/include/plumed/core/PlumedMain.h +632 -0
  117. plumed/_lib/include/plumed/core/PlumedMainInitializer.h +118 -0
  118. plumed/_lib/include/plumed/core/RegisterBase.h +340 -0
  119. plumed/_lib/include/plumed/core/TargetDist.h +48 -0
  120. plumed/_lib/include/plumed/core/Value.h +547 -0
  121. plumed/_lib/include/plumed/core/WithCmd.h +93 -0
  122. plumed/_lib/include/plumed/dimred/SMACOF.h +55 -0
  123. plumed/_lib/include/plumed/drr/DRR.h +383 -0
  124. plumed/_lib/include/plumed/drr/colvar_UIestimator.h +777 -0
  125. plumed/_lib/include/plumed/fisst/legendre_rule_fast.h +44 -0
  126. plumed/_lib/include/plumed/function/Custom.h +54 -0
  127. plumed/_lib/include/plumed/function/Function.h +85 -0
  128. plumed/_lib/include/plumed/function/FunctionOfMatrix.h +368 -0
  129. plumed/_lib/include/plumed/function/FunctionOfScalar.h +135 -0
  130. plumed/_lib/include/plumed/function/FunctionOfVector.h +296 -0
  131. plumed/_lib/include/plumed/function/FunctionSetup.h +180 -0
  132. plumed/_lib/include/plumed/function/FunctionShortcut.h +130 -0
  133. plumed/_lib/include/plumed/function/FunctionWithSingleArgument.h +165 -0
  134. plumed/_lib/include/plumed/gridtools/ActionWithGrid.h +43 -0
  135. plumed/_lib/include/plumed/gridtools/EvaluateGridFunction.h +99 -0
  136. plumed/_lib/include/plumed/gridtools/FunctionOfGrid.h +295 -0
  137. plumed/_lib/include/plumed/gridtools/GridCoordinatesObject.h +179 -0
  138. plumed/_lib/include/plumed/gridtools/GridSearch.h +135 -0
  139. plumed/_lib/include/plumed/gridtools/Interpolator.h +45 -0
  140. plumed/_lib/include/plumed/gridtools/KDE.h +455 -0
  141. plumed/_lib/include/plumed/gridtools/RDF.h +40 -0
  142. plumed/_lib/include/plumed/gridtools/SumOfKernels.h +219 -0
  143. plumed/_lib/include/plumed/isdb/MetainferenceBase.h +398 -0
  144. plumed/_lib/include/plumed/lapack/def_external.h +207 -0
  145. plumed/_lib/include/plumed/lapack/def_internal.h +388 -0
  146. plumed/_lib/include/plumed/lapack/lapack.h +899 -0
  147. plumed/_lib/include/plumed/lapack/lapack_limits.h +79 -0
  148. plumed/_lib/include/plumed/lapack/real.h +50 -0
  149. plumed/_lib/include/plumed/lepton/CompiledExpression.h +164 -0
  150. plumed/_lib/include/plumed/lepton/CustomFunction.h +143 -0
  151. plumed/_lib/include/plumed/lepton/Exception.h +93 -0
  152. plumed/_lib/include/plumed/lepton/ExpressionProgram.h +137 -0
  153. plumed/_lib/include/plumed/lepton/ExpressionTreeNode.h +145 -0
  154. plumed/_lib/include/plumed/lepton/Lepton.h +85 -0
  155. plumed/_lib/include/plumed/lepton/MSVC_erfc.h +123 -0
  156. plumed/_lib/include/plumed/lepton/Operation.h +1302 -0
  157. plumed/_lib/include/plumed/lepton/ParsedExpression.h +165 -0
  158. plumed/_lib/include/plumed/lepton/Parser.h +111 -0
  159. plumed/_lib/include/plumed/lepton/windowsIncludes.h +73 -0
  160. plumed/_lib/include/plumed/mapping/Path.h +44 -0
  161. plumed/_lib/include/plumed/mapping/PathProjectionCalculator.h +57 -0
  162. plumed/_lib/include/plumed/matrixtools/MatrixOperationBase.h +54 -0
  163. plumed/_lib/include/plumed/matrixtools/MatrixTimesMatrix.h +309 -0
  164. plumed/_lib/include/plumed/matrixtools/MatrixTimesVectorBase.h +365 -0
  165. plumed/_lib/include/plumed/matrixtools/OuterProduct.h +238 -0
  166. plumed/_lib/include/plumed/maze/Core.h +65 -0
  167. plumed/_lib/include/plumed/maze/Loss.h +86 -0
  168. plumed/_lib/include/plumed/maze/Member.h +66 -0
  169. plumed/_lib/include/plumed/maze/Memetic.h +799 -0
  170. plumed/_lib/include/plumed/maze/Optimizer.h +357 -0
  171. plumed/_lib/include/plumed/maze/Random_MT.h +156 -0
  172. plumed/_lib/include/plumed/maze/Tools.h +183 -0
  173. plumed/_lib/include/plumed/metatomic/vesin.h +188 -0
  174. plumed/_lib/include/plumed/molfile/Gromacs.h +2013 -0
  175. plumed/_lib/include/plumed/molfile/endianswap.h +217 -0
  176. plumed/_lib/include/plumed/molfile/fastio.h +683 -0
  177. plumed/_lib/include/plumed/molfile/largefiles.h +78 -0
  178. plumed/_lib/include/plumed/molfile/libmolfile_plugin.h +77 -0
  179. plumed/_lib/include/plumed/molfile/molfile_plugin.h +1034 -0
  180. plumed/_lib/include/plumed/molfile/periodic_table.h +248 -0
  181. plumed/_lib/include/plumed/molfile/readpdb.h +447 -0
  182. plumed/_lib/include/plumed/molfile/vmdplugin.h +236 -0
  183. plumed/_lib/include/plumed/multicolvar/MultiColvarShortcuts.h +45 -0
  184. plumed/_lib/include/plumed/opes/ExpansionCVs.h +79 -0
  185. plumed/_lib/include/plumed/sasa/Sasa.h +32 -0
  186. plumed/_lib/include/plumed/secondarystructure/SecondaryStructureBase.h +372 -0
  187. plumed/_lib/include/plumed/setup/ActionSetup.h +25 -0
  188. plumed/_lib/include/plumed/small_vector/small_vector.h +6114 -0
  189. plumed/_lib/include/plumed/symfunc/CoordinationNumbers.h +41 -0
  190. plumed/_lib/include/plumed/tools/Angle.h +52 -0
  191. plumed/_lib/include/plumed/tools/AtomDistribution.h +138 -0
  192. plumed/_lib/include/plumed/tools/AtomNumber.h +152 -0
  193. plumed/_lib/include/plumed/tools/BiasRepresentation.h +106 -0
  194. plumed/_lib/include/plumed/tools/BitmaskEnum.h +167 -0
  195. plumed/_lib/include/plumed/tools/Brent1DRootSearch.h +159 -0
  196. plumed/_lib/include/plumed/tools/CheckInRange.h +44 -0
  197. plumed/_lib/include/plumed/tools/Citations.h +74 -0
  198. plumed/_lib/include/plumed/tools/ColvarOutput.h +118 -0
  199. plumed/_lib/include/plumed/tools/Communicator.h +316 -0
  200. plumed/_lib/include/plumed/tools/ConjugateGradient.h +80 -0
  201. plumed/_lib/include/plumed/tools/DLLoader.h +79 -0
  202. plumed/_lib/include/plumed/tools/ERMSD.h +73 -0
  203. plumed/_lib/include/plumed/tools/Exception.h +406 -0
  204. plumed/_lib/include/plumed/tools/File.h +28 -0
  205. plumed/_lib/include/plumed/tools/FileBase.h +153 -0
  206. plumed/_lib/include/plumed/tools/FileTools.h +37 -0
  207. plumed/_lib/include/plumed/tools/ForwardDecl.h +54 -0
  208. plumed/_lib/include/plumed/tools/Grid.h +638 -0
  209. plumed/_lib/include/plumed/tools/HistogramBead.h +136 -0
  210. plumed/_lib/include/plumed/tools/IFile.h +117 -0
  211. plumed/_lib/include/plumed/tools/KernelFunctions.h +113 -0
  212. plumed/_lib/include/plumed/tools/Keywords.h +380 -0
  213. plumed/_lib/include/plumed/tools/LatticeReduction.h +66 -0
  214. plumed/_lib/include/plumed/tools/LeptonCall.h +64 -0
  215. plumed/_lib/include/plumed/tools/LinkCells.h +126 -0
  216. plumed/_lib/include/plumed/tools/Log.h +41 -0
  217. plumed/_lib/include/plumed/tools/LoopUnroller.h +163 -0
  218. plumed/_lib/include/plumed/tools/Matrix.h +721 -0
  219. plumed/_lib/include/plumed/tools/MatrixSquareBracketsAccess.h +138 -0
  220. plumed/_lib/include/plumed/tools/MergeVectorTools.h +153 -0
  221. plumed/_lib/include/plumed/tools/Minimise1DBrent.h +244 -0
  222. plumed/_lib/include/plumed/tools/MinimiseBase.h +120 -0
  223. plumed/_lib/include/plumed/tools/MolDataClass.h +51 -0
  224. plumed/_lib/include/plumed/tools/NeighborList.h +112 -0
  225. plumed/_lib/include/plumed/tools/OFile.h +286 -0
  226. plumed/_lib/include/plumed/tools/OpenACC.h +180 -0
  227. plumed/_lib/include/plumed/tools/OpenMP.h +75 -0
  228. plumed/_lib/include/plumed/tools/PDB.h +154 -0
  229. plumed/_lib/include/plumed/tools/Pbc.h +139 -0
  230. plumed/_lib/include/plumed/tools/PlumedHandle.h +105 -0
  231. plumed/_lib/include/plumed/tools/RMSD.h +493 -0
  232. plumed/_lib/include/plumed/tools/Random.h +80 -0
  233. plumed/_lib/include/plumed/tools/RootFindingBase.h +79 -0
  234. plumed/_lib/include/plumed/tools/Stopwatch.h +475 -0
  235. plumed/_lib/include/plumed/tools/Subprocess.h +142 -0
  236. plumed/_lib/include/plumed/tools/SwitchingFunction.h +208 -0
  237. plumed/_lib/include/plumed/tools/Tensor.h +724 -0
  238. plumed/_lib/include/plumed/tools/TokenizedLine.h +123 -0
  239. plumed/_lib/include/plumed/tools/Tools.h +638 -0
  240. plumed/_lib/include/plumed/tools/Torsion.h +55 -0
  241. plumed/_lib/include/plumed/tools/TrajectoryParser.h +118 -0
  242. plumed/_lib/include/plumed/tools/Tree.h +61 -0
  243. plumed/_lib/include/plumed/tools/TypesafePtr.h +463 -0
  244. plumed/_lib/include/plumed/tools/Units.h +167 -0
  245. plumed/_lib/include/plumed/tools/Vector.h +433 -0
  246. plumed/_lib/include/plumed/tools/View.h +296 -0
  247. plumed/_lib/include/plumed/tools/View2D.h +100 -0
  248. plumed/_lib/include/plumed/tools/h36.h +39 -0
  249. plumed/_lib/include/plumed/vatom/ActionWithVirtualAtom.h +32 -0
  250. plumed/_lib/include/plumed/ves/BasisFunctions.h +380 -0
  251. plumed/_lib/include/plumed/ves/CoeffsBase.h +310 -0
  252. plumed/_lib/include/plumed/ves/CoeffsMatrix.h +220 -0
  253. plumed/_lib/include/plumed/ves/CoeffsVector.h +251 -0
  254. plumed/_lib/include/plumed/ves/FermiSwitchingFunction.h +74 -0
  255. plumed/_lib/include/plumed/ves/GridIntegrationWeights.h +50 -0
  256. plumed/_lib/include/plumed/ves/GridLinearInterpolation.h +81 -0
  257. plumed/_lib/include/plumed/ves/GridProjWeights.h +61 -0
  258. plumed/_lib/include/plumed/ves/LinearBasisSetExpansion.h +303 -0
  259. plumed/_lib/include/plumed/ves/Optimizer.h +444 -0
  260. plumed/_lib/include/plumed/ves/TargetDistModifer.h +53 -0
  261. plumed/_lib/include/plumed/ves/TargetDistribution.h +266 -0
  262. plumed/_lib/include/plumed/ves/VesBias.h +545 -0
  263. plumed/_lib/include/plumed/ves/VesTools.h +142 -0
  264. plumed/_lib/include/plumed/ves/WaveletGrid.h +75 -0
  265. plumed/_lib/include/plumed/volumes/ActionVolume.h +268 -0
  266. plumed/_lib/include/plumed/volumes/VolumeShortcut.h +147 -0
  267. plumed/_lib/include/plumed/wrapper/Plumed.h +5025 -0
  268. plumed/_lib/include/plumed/xdrfile/xdrfile.h +663 -0
  269. plumed/_lib/include/plumed/xdrfile/xdrfile_trr.h +89 -0
  270. plumed/_lib/include/plumed/xdrfile/xdrfile_xtc.h +90 -0
  271. plumed/_lib/lib/PythonCVInterface.dylib +0 -0
  272. plumed/_lib/lib/libplumed.dylib +0 -0
  273. plumed/_lib/lib/libplumedKernel.dylib +0 -0
  274. plumed/_lib/lib/libplumedWrapper.a +0 -0
  275. plumed/_lib/lib/pkgconfig/plumed.pc +13 -0
  276. plumed/_lib/lib/pkgconfig/plumedInternals.pc +13 -0
  277. plumed/_lib/lib/pkgconfig/plumedWrapper.pc +13 -0
  278. plumed/_lib/lib/plumed/fortran/plumed.f90 +879 -0
  279. plumed/_lib/lib/plumed/fortran/plumed_f08.f90 +2625 -0
  280. plumed/_lib/lib/plumed/modulefile +69 -0
  281. plumed/_lib/lib/plumed/patches/gromacs-2022.5.config +43 -0
  282. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/CMakeLists.txt +543 -0
  283. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/CMakeLists.txt.preplumed +540 -0
  284. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.cpp +1628 -0
  285. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1590 -0
  286. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.h +103 -0
  287. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.h.preplumed +99 -0
  288. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/sim_util.cpp +2527 -0
  289. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2513 -0
  290. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
  291. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
  292. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.h +408 -0
  293. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +394 -0
  294. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/md.cpp +2348 -0
  295. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/md.cpp.preplumed +2091 -0
  296. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/minimize.cpp +3573 -0
  297. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3495 -0
  298. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.cpp +1506 -0
  299. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1402 -0
  300. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
  301. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
  302. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/rerun.cpp +997 -0
  303. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/rerun.cpp.preplumed +906 -0
  304. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/runner.cpp +2780 -0
  305. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/runner.cpp.preplumed +2738 -0
  306. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
  307. plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
  308. plumed/_lib/lib/plumed/patches/gromacs-2023.5.config +43 -0
  309. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/CMakeLists.txt +549 -0
  310. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/CMakeLists.txt.preplumed +546 -0
  311. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.cpp +1632 -0
  312. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1594 -0
  313. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.h +104 -0
  314. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.h.preplumed +100 -0
  315. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/sim_util.cpp +2624 -0
  316. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2610 -0
  317. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
  318. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
  319. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.h +409 -0
  320. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +395 -0
  321. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/md.cpp +2419 -0
  322. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/md.cpp.preplumed +2164 -0
  323. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/minimize.cpp +3546 -0
  324. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3468 -0
  325. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.cpp +1513 -0
  326. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1409 -0
  327. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
  328. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
  329. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/rerun.cpp +991 -0
  330. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/rerun.cpp.preplumed +900 -0
  331. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/runner.cpp +2895 -0
  332. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/runner.cpp.preplumed +2849 -0
  333. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
  334. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
  335. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/decidegpuusage.cpp +886 -0
  336. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/decidegpuusage.cpp.preplumed +880 -0
  337. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h +347 -0
  338. plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h.preplumed +345 -0
  339. plumed/_lib/lib/plumed/patches/gromacs-2024.3.config +43 -0
  340. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/CMakeLists.txt +575 -0
  341. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/CMakeLists.txt.preplumed +572 -0
  342. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.cpp +1632 -0
  343. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1594 -0
  344. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.h +104 -0
  345. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.h.preplumed +100 -0
  346. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/sim_util.cpp +2564 -0
  347. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2550 -0
  348. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
  349. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
  350. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.h +410 -0
  351. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +396 -0
  352. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/md.cpp +2435 -0
  353. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/md.cpp.preplumed +2187 -0
  354. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/minimize.cpp +3592 -0
  355. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3514 -0
  356. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.cpp +1513 -0
  357. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1409 -0
  358. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
  359. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
  360. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/rerun.cpp +958 -0
  361. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/rerun.cpp.preplumed +929 -0
  362. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/runner.cpp +2987 -0
  363. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/runner.cpp.preplumed +2941 -0
  364. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
  365. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
  366. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/decidegpuusage.cpp +904 -0
  367. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/decidegpuusage.cpp.preplumed +898 -0
  368. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h +353 -0
  369. plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h.preplumed +351 -0
  370. plumed/_lib/lib/plumed/patches/gromacs-2025.0.config +39 -0
  371. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/cmake/gmxManagePlumed.cmake +82 -0
  372. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/cmake/gmxManagePlumed.cmake.preplumed +82 -0
  373. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedMDModule.cpp +162 -0
  374. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedMDModule.cpp.preplumed +154 -0
  375. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.cpp +107 -0
  376. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.cpp.preplumed +99 -0
  377. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.h +120 -0
  378. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.h.preplumed +111 -0
  379. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.cpp +215 -0
  380. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.cpp.preplumed +197 -0
  381. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.h +87 -0
  382. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.h.preplumed +86 -0
  383. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrun/runner.cpp +2971 -0
  384. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrun/runner.cpp.preplumed +2970 -0
  385. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h +430 -0
  386. plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h.preplumed +429 -0
  387. plumed/_lib/lib/plumed/patches/namd-2.12.config +30 -0
  388. plumed/_lib/lib/plumed/patches/namd-2.12.diff +267 -0
  389. plumed/_lib/lib/plumed/patches/namd-2.13.config +30 -0
  390. plumed/_lib/lib/plumed/patches/namd-2.13.diff +267 -0
  391. plumed/_lib/lib/plumed/patches/namd-2.14.config +30 -0
  392. plumed/_lib/lib/plumed/patches/namd-2.14.diff +268 -0
  393. plumed/_lib/lib/plumed/patches/patch.sh +500 -0
  394. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.config +25 -0
  395. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/forces.f90 +368 -0
  396. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/forces.f90.preplumed +366 -0
  397. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_forces.f90 +71 -0
  398. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_forces.f90.preplumed +24 -0
  399. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_initialization.f90 +62 -0
  400. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  401. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/pwscf.f90 +189 -0
  402. plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/pwscf.f90.preplumed +185 -0
  403. plumed/_lib/lib/plumed/patches/qespresso-6.2.config +26 -0
  404. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/forces.f90 +422 -0
  405. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/forces.f90.preplumed +420 -0
  406. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_ext_forces.f90 +70 -0
  407. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
  408. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_initialization.f90 +62 -0
  409. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  410. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/run_pwscf.f90 +233 -0
  411. plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/run_pwscf.f90.preplumed +230 -0
  412. plumed/_lib/lib/plumed/patches/qespresso-7.0.config +28 -0
  413. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/Modules/Makefile +175 -0
  414. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/Modules/Makefile.preplumed +171 -0
  415. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/forces.f90 +486 -0
  416. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/forces.f90.preplumed +484 -0
  417. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_ext_forces.f90 +74 -0
  418. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
  419. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_initialization.f90 +64 -0
  420. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  421. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/run_pwscf.f90 +532 -0
  422. plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/run_pwscf.f90.preplumed +518 -0
  423. plumed/_lib/lib/plumed/patches/qespresso-7.2.config +28 -0
  424. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/Modules/Makefile +249 -0
  425. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/Modules/Makefile.preplumed +244 -0
  426. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/forces.f90 +532 -0
  427. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/forces.f90.preplumed +535 -0
  428. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_ext_forces.f90 +74 -0
  429. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
  430. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_initialization.f90 +64 -0
  431. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
  432. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/run_pwscf.f90 +569 -0
  433. plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/run_pwscf.f90.preplumed +560 -0
  434. plumed/_lib/lib/plumed/plumed-config +9 -0
  435. plumed/_lib/lib/plumed/plumed-mklib +9 -0
  436. plumed/_lib/lib/plumed/plumed-newcv +9 -0
  437. plumed/_lib/lib/plumed/plumed-partial_tempering +9 -0
  438. plumed/_lib/lib/plumed/plumed-patch +9 -0
  439. plumed/_lib/lib/plumed/plumed-runtime +0 -0
  440. plumed/_lib/lib/plumed/plumed-selector +9 -0
  441. plumed/_lib/lib/plumed/plumed-vim2html +9 -0
  442. plumed/_lib/lib/plumed/scripts/config.sh +126 -0
  443. plumed/_lib/lib/plumed/scripts/mklib.sh +175 -0
  444. plumed/_lib/lib/plumed/scripts/newcv.sh +26 -0
  445. plumed/_lib/lib/plumed/scripts/partial_tempering.sh +319 -0
  446. plumed/_lib/lib/plumed/scripts/patch.sh +4 -0
  447. plumed/_lib/lib/plumed/scripts/selector.sh +234 -0
  448. plumed/_lib/lib/plumed/scripts/vim2html.sh +190 -0
  449. plumed/_lib/lib/plumed/src/colvar/Template.cpp +116 -0
  450. plumed/_lib/lib/plumed/src/config/compile_options.sh +3 -0
  451. plumed/_lib/lib/plumed/src/config/config.txt +181 -0
  452. plumed/_lib/lib/plumed/src/lib/Plumed.cmake +6 -0
  453. plumed/_lib/lib/plumed/src/lib/Plumed.cmake.runtime +5 -0
  454. plumed/_lib/lib/plumed/src/lib/Plumed.cmake.shared +5 -0
  455. plumed/_lib/lib/plumed/src/lib/Plumed.cmake.static +3 -0
  456. plumed/_lib/lib/plumed/src/lib/Plumed.inc +6 -0
  457. plumed/_lib/lib/plumed/src/lib/Plumed.inc.runtime +5 -0
  458. plumed/_lib/lib/plumed/src/lib/Plumed.inc.shared +5 -0
  459. plumed/_lib/lib/plumed/src/lib/Plumed.inc.static +3 -0
  460. plumed/_lib/lib/plumed/vim/scripts.vim +6 -0
  461. plumed/_plumed_core.cpython-311-darwin.so +0 -0
  462. plumed/_plumed_core.cpython-312-darwin.so +0 -0
  463. plumed/_plumed_core.cpython-313-darwin.so +0 -0
  464. plumed/_plumed_core.cpython-314-darwin.so +0 -0
  465. plumedCommunications.cpython-311-darwin.so +0 -0
  466. plumedCommunications.cpython-312-darwin.so +0 -0
  467. plumedCommunications.cpython-313-darwin.so +0 -0
  468. plumedCommunications.cpython-314-darwin.so +0 -0
  469. plumedCommunications.pyi +431 -0
@@ -0,0 +1,532 @@
1
+ !
2
+ ! Copyright (C) 2013-2020 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 run_pwscf( exit_status )
10
+ !----------------------------------------------------------------------------
11
+ !! Author: Paolo Giannozzi
12
+ !! License: GNU
13
+ !! Summary: Run an instance of the Plane Wave Self-Consistent Field code
14
+ !
15
+ !! Run an instance of the Plane Wave Self-Consistent Field code
16
+ !! MPI initialization and input data reading is performed in the
17
+ !! calling code - returns in exit_status the exit code for pw.x,
18
+ !! returned in the shell. Values are:
19
+ !! * 0: completed successfully
20
+ !! * 1: an error has occurred (value returned by the errore() routine)
21
+ !! * 2-127: convergence error
22
+ !! * 2: scf convergence error
23
+ !! * 3: ion convergence error
24
+ !! * 128-255: code exited due to specific trigger
25
+ !! * 255: exit due to user request, or signal trapped,
26
+ !! or time > max_seconds
27
+ !! (note: in the future, check_stop_now could also return a value
28
+ !! to specify the reason of exiting, and the value could be used
29
+ !! to return a different value for different reasons)
30
+ !
31
+ !! @Note
32
+ !! 10/01/17 Samuel Ponce: Add Ford documentation
33
+ !! @endnote
34
+ !!
35
+ !
36
+ USE kinds, ONLY : DP
37
+ USE mp, ONLY : mp_bcast, mp_sum
38
+ USE io_global, ONLY : stdout, ionode, ionode_id
39
+ USE parameters, ONLY : ntypx, npk
40
+ USE upf_params, ONLY : lmaxx
41
+ USE cell_base, ONLY : fix_volume, fix_area
42
+ USE control_flags, ONLY : conv_elec, gamma_only, ethr, lscf, treinit_gvecs
43
+ USE control_flags, ONLY : conv_ions, istep, nstep, restart, lmd, lbfgs,&
44
+ lensemb, lforce=>tprnfor, tstress
45
+ USE control_flags, ONLY : io_level
46
+ USE cellmd, ONLY : lmovecell
47
+ USE command_line_options, ONLY : command_line
48
+ USE force_mod, ONLY : sigma, force
49
+ USE check_stop, ONLY : check_stop_init, check_stop_now
50
+ USE mp_images, ONLY : intra_image_comm
51
+ USE extrapolation, ONLY : update_file, update_pot
52
+ USE scf, ONLY : rho
53
+ USE lsda_mod, ONLY : nspin
54
+ USE fft_base, ONLY : dfftp
55
+ !
56
+ USE plugin_flags, ONLY : use_plumed
57
+ !
58
+ USE qmmm, ONLY : qmmm_initialization, qmmm_shutdown, &
59
+ qmmm_update_positions, qmmm_update_forces
60
+ USE qexsd_module, ONLY : qexsd_set_status
61
+ USE xc_lib, ONLY : xclib_dft_is, stop_exx
62
+ USE beef, ONLY : beef_energies
63
+ USE ldaU, ONLY : lda_plus_u
64
+ USE add_dmft_occ, ONLY : dmft
65
+ !
66
+ USE device_fbuff_m, ONLY : dev_buf
67
+ USE plumed_module, ONLY : plumed_f_gfinalize
68
+ !
69
+ IMPLICIT NONE
70
+ !
71
+ INTEGER, INTENT(OUT) :: exit_status
72
+ !! Gives the exit status at the end
73
+ !
74
+ LOGICAL, EXTERNAL :: matches
75
+ ! checks if first string is contained in the second
76
+ !
77
+ ! ... local variables
78
+ !
79
+ INTEGER :: idone
80
+ ! counter of electronic + ionic steps done in this run
81
+ INTEGER :: ions_status
82
+ ! ions_status = 3 not yet converged
83
+ ! ions_status = 2 converged, restart with nonzero magnetization
84
+ ! ions_status = 1 converged, final step with current cell needed
85
+ ! ions_status = 0 converged, exiting
86
+ !
87
+ LOGICAL :: optimizer_failed = .FALSE.
88
+ !
89
+ INTEGER :: ierr
90
+ ! collect error codes
91
+ !
92
+ ions_status = 3
93
+ exit_status = 0
94
+ IF ( ionode ) WRITE( UNIT = stdout, FMT = 9010 ) ntypx, npk, lmaxx
95
+ !
96
+ IF (ionode) CALL plugin_arguments()
97
+ CALL plugin_arguments_bcast( ionode_id, intra_image_comm )
98
+ !
99
+ ! ... needs to come before iosys() so some input flags can be
100
+ ! overridden without needing to write PWscf specific code.
101
+ !
102
+ CALL qmmm_initialization()
103
+ !
104
+ ! ... convert to internal variables
105
+ !
106
+ CALL iosys()
107
+ !
108
+ ! ... If executable names is "dist.x", compute atomic distances, angles,
109
+ ! ... nearest neighbors, write them to file "dist.out", exit
110
+ !
111
+ IF ( matches('dist.x',command_line) ) THEN
112
+ IF (ionode) CALL run_dist( exit_status )
113
+ RETURN
114
+ ENDIF
115
+ !
116
+ IF ( gamma_only ) WRITE( UNIT = stdout, &
117
+ & FMT = '(/,5X,"gamma-point specific algorithms are used")' )
118
+ !
119
+ ! call to void routine for user defined / plugin patches initializations
120
+ !
121
+ CALL plugin_initialization()
122
+ !
123
+ CALL check_stop_init()
124
+ !
125
+ CALL setup()
126
+ !
127
+ CALL qmmm_update_positions()
128
+ !
129
+ ! ... dry run: code will stop here if called with exit file present
130
+ ! ... useful for a quick and automated way to check input data
131
+ !
132
+ IF ( nstep == 0 .OR. check_stop_now() ) THEN
133
+ CALL pre_init()
134
+ CALL data_structure( gamma_only )
135
+ CALL summary()
136
+ CALL memory_report()
137
+ exit_status = 255
138
+ CALL qexsd_set_status( exit_status )
139
+ CALL punch( 'config-init' )
140
+ RETURN
141
+ ENDIF
142
+ !
143
+ CALL init_run()
144
+ !
145
+ IF ( check_stop_now() ) THEN
146
+ exit_status = 255
147
+ CALL qexsd_set_status( exit_status )
148
+ CALL punch( 'config' )
149
+ RETURN
150
+ ENDIF
151
+ !
152
+ main_loop: DO idone = 1, nstep
153
+ !
154
+ ! ... electronic self-consistency or band structure calculation
155
+ !
156
+ IF ( .NOT. lscf) THEN
157
+ CALL non_scf()
158
+ ELSE
159
+ CALL electrons()
160
+ END IF
161
+ !
162
+ ! ... code stopped by user or not converged
163
+ !
164
+ IF ( check_stop_now() .OR. .NOT. conv_elec ) THEN
165
+ IF ( check_stop_now() ) exit_status = 255
166
+ IF ( .NOT. conv_elec) THEN
167
+ IF (dmft) exit_status = 131
168
+ ELSE
169
+ exit_status = 2
170
+ ENDIF
171
+ CALL qexsd_set_status(exit_status)
172
+ CALL punch( 'config' )
173
+ RETURN
174
+ ENDIF
175
+ !
176
+ ! ... file in CASINO format written here if required
177
+ !
178
+ IF ( lmd ) THEN
179
+ CALL pw2casino( istep )
180
+ ELSE
181
+ CALL pw2casino( 0 )
182
+ END IF
183
+ !
184
+ ! ... ionic section starts here
185
+ !
186
+ CALL start_clock( 'ions' ); !write(*,*)' start ions' ; FLUSH(6)
187
+ conv_ions = .TRUE.
188
+ !
189
+ ! ... force calculation
190
+ !
191
+ IF ( lforce ) CALL forces()
192
+ !
193
+ ! ... stress calculation
194
+ !
195
+ IF ( tstress ) CALL stress( sigma )
196
+ !
197
+ ! ... this is the right place for plugin forces:
198
+ !
199
+ CALL plugin_ext_forces()
200
+ !
201
+ IF ( lmd .OR. lbfgs ) THEN
202
+ !
203
+ ! ... add information on this ionic step to xml file
204
+ !
205
+ CALL add_qexsd_step( idone )
206
+ !
207
+ IF (fix_volume) CALL impose_deviatoric_stress( sigma )
208
+ IF (fix_area) CALL impose_deviatoric_stress_2d( sigma )
209
+ !
210
+ ! ... save data needed for potential and wavefunction extrapolation
211
+ !
212
+ CALL update_file()
213
+ !
214
+ ! ... ionic step (for molecular dynamics or optimization)
215
+ !
216
+ CALL move_ions ( idone, ions_status, optimizer_failed )
217
+ conv_ions = ( ions_status == 0 ) .OR. &
218
+ ( ions_status == 1 .AND. treinit_gvecs )
219
+ !
220
+ IF ( xclib_dft_is('hybrid') ) CALL stop_exx()
221
+ !
222
+ ! ... save restart information for the new configuration
223
+ !
224
+ IF ( idone <= nstep .AND. .NOT. conv_ions ) THEN
225
+ exit_status = 255
226
+ CALL qexsd_set_status( exit_status )
227
+ CALL punch( 'config-only' )
228
+ END IF
229
+ !
230
+ END IF
231
+ !
232
+ CALL stop_clock( 'ions' ); !write(*,*)' stop ions' ; FLUSH(6)
233
+ !
234
+ ! ... send out forces to MM code in QM/MM run
235
+ !
236
+ CALL qmmm_update_forces( force, rho%of_r, nspin, dfftp )
237
+ !
238
+ ! ... exit condition (ionic convergence) is checked here
239
+ !
240
+ IF ( conv_ions .OR. optimizer_failed ) EXIT main_loop
241
+ !
242
+ ! ... receive new positions from MM code in QM/MM run
243
+ !
244
+ CALL qmmm_update_positions()
245
+ !
246
+ ! ... terms of the hamiltonian depending upon nuclear positions
247
+ ! ... are reinitialized here
248
+ !
249
+ IF ( lmd .OR. lbfgs ) THEN
250
+ !
251
+ IF ( ions_status == 1 ) THEN
252
+ !
253
+ ! ... final scf calculation with G-vectors for final cell
254
+ !
255
+ lbfgs=.FALSE.; lmd=.FALSE.
256
+ WRITE( UNIT = stdout, FMT=9020 )
257
+ !
258
+ CALL reset_gvectors( )
259
+ !
260
+ ! ... read atomic occupations for DFT+U(+V)
261
+ !
262
+ IF ( lda_plus_u ) CALL read_ns()
263
+ !
264
+ ELSE IF ( ions_status == 2 ) THEN
265
+ !
266
+ ! ... check whether nonzero magnetization is real
267
+ !
268
+ CALL reset_magn()
269
+ !
270
+ ELSE
271
+ !
272
+ IF ( treinit_gvecs ) THEN
273
+ !
274
+ ! ... prepare for next step with freshly computed G vectors
275
+ !
276
+ IF ( lmovecell) CALL scale_h()
277
+ CALL reset_gvectors ( )
278
+ !
279
+ ELSE
280
+ !
281
+ ! ... update the wavefunctions, charge density, potential
282
+ ! ... update_pot initializes structure factor array as well
283
+ !
284
+ CALL update_pot()
285
+ !
286
+ ! ... re-initialize atomic position-dependent quantities
287
+ !
288
+ CALL hinit1()
289
+ !
290
+ END IF
291
+ !
292
+ END IF
293
+ !
294
+ ENDIF
295
+ ! ... Reset convergence threshold of iterative diagonalization for
296
+ ! ... the first scf iteration of each ionic step (after the first)
297
+ !
298
+ ethr = 1.0D-6
299
+ !
300
+ CALL dev_buf%reinit( ierr )
301
+ IF ( ierr .ne. 0 ) CALL infomsg( 'run_pwscf', 'Cannot reset GPU buffers! Some buffers still locked.' )
302
+ !
303
+ ENDDO main_loop
304
+ !
305
+ ! Set correct exit_status
306
+ !
307
+ IF ( .NOT. conv_ions .OR. optimizer_failed ) THEN
308
+ exit_status = 3
309
+ ELSE
310
+ ! All good
311
+ exit_status = 0
312
+ END IF
313
+ !
314
+ ! ... save final data file
315
+ !
316
+ CALL qexsd_set_status( exit_status )
317
+ IF ( lensemb ) CALL beef_energies( )
318
+ IF ( io_level > -2 ) CALL punch( 'all' )
319
+ !
320
+ ! finalize plumed
321
+ !
322
+ IF(use_plumed) then
323
+ CALL plumed_f_gfinalize()
324
+ ENDIF
325
+ !
326
+ CALL qmmm_shutdown()
327
+ !
328
+ RETURN
329
+ !
330
+ 9010 FORMAT( /,5X,'Current dimensions of program PWSCF are:', &
331
+ & /,5X,'Max number of different atomic species (ntypx) = ',I2,&
332
+ & /,5X,'Max number of k-points (npk) = ',I6, &
333
+ & /,5X,'Max angular momentum in pseudopotentials (lmaxx) = ',i2)
334
+ 9020 FORMAT( /,5X,'Final scf calculation at the relaxed structure.', &
335
+ & /,5X,'The G-vectors are recalculated for the final unit cell', &
336
+ & /,5X,'Results may differ from those at the preceding step.' )
337
+ !
338
+ END SUBROUTINE run_pwscf
339
+ !
340
+ !
341
+ !-------------------------------------------------------------
342
+ SUBROUTINE reset_gvectors( )
343
+ !-------------------------------------------------------------
344
+ !
345
+ !! Prepare a new scf calculation with newly recomputed grids,
346
+ !! restarting from scratch, not from available data of previous
347
+ !! steps (dimensions and file lengths will be different in general)
348
+ !! Useful as a check of variable-cell optimization:
349
+ !! once convergence is achieved, compare the final energy with the
350
+ !! energy computed with G-vectors and plane waves for the final cell
351
+ !
352
+ USE io_global, ONLY : stdout
353
+ USE basis, ONLY : starting_wfc, starting_pot
354
+ USE fft_base, ONLY : dfftp
355
+ USE fft_base, ONLY : dffts
356
+ USE xc_lib, ONLY : xclib_dft_is
357
+ !
358
+ IMPLICIT NONE
359
+ !
360
+ ! ... get magnetic moments from previous run before charge is deleted
361
+ !
362
+ CALL reset_starting_magnetization()
363
+ !
364
+ ! ... clean everything (FIXME: clean only what has to be cleaned)
365
+ !
366
+ CALL clean_pw( .FALSE. )
367
+ CALL close_files(.TRUE.)
368
+ !
369
+ IF (TRIM(starting_wfc) == 'file') starting_wfc = 'atomic+random'
370
+ starting_pot='atomic'
371
+ !
372
+ ! ... re-set FFT grids and re-compute needed stuff (FIXME: which?)
373
+ !
374
+ dfftp%nr1=0; dfftp%nr2=0; dfftp%nr3=0
375
+ dffts%nr1=0; dffts%nr2=0; dffts%nr3=0
376
+ !
377
+ CALL init_run()
378
+ !
379
+ ! ... re-set and re-initialize EXX-related stuff
380
+ !
381
+ IF ( xclib_dft_is('hybrid') ) CALL reset_exx( )
382
+ !
383
+ END SUBROUTINE reset_gvectors
384
+ !
385
+ !
386
+ !-------------------------------------------------------------
387
+ SUBROUTINE reset_exx( )
388
+ !-------------------------------------------------------------
389
+ USE fft_types, ONLY : fft_type_deallocate
390
+ USE exx_base, ONLY : exx_grid_init, exx_mp_init, exx_div_check, &
391
+ coulomb_fac, coulomb_done
392
+ USE exx, ONLY : dfftt, exx_fft_create, deallocate_exx
393
+ USE exx_band, ONLY : igk_exx
394
+ !
395
+ IMPLICIT NONE
396
+ !
397
+ ! ... re-set EXX-related stuff...
398
+ !
399
+ IF (ALLOCATED(coulomb_fac) ) DEALLOCATE( coulomb_fac, coulomb_done )
400
+ CALL deallocate_exx( )
401
+ IF (ALLOCATED(igk_exx)) DEALLOCATE(igk_exx)
402
+ dfftt%nr1=0; dfftt%nr2=0; dfftt%nr3=0
403
+ CALL fft_type_deallocate( dfftt ) ! FIXME: is this needed?
404
+ !
405
+ ! ... re-compute needed EXX-related stuff
406
+ !
407
+ CALL exx_grid_init( REINIT = .TRUE. )
408
+ CALL exx_mp_init()
409
+ CALL exx_fft_create()
410
+ CALL exx_div_check()
411
+ !
412
+ END SUBROUTINE reset_exx
413
+ !
414
+ !
415
+ !----------------------------------------------------------------
416
+ SUBROUTINE reset_magn()
417
+ !----------------------------------------------------------------
418
+ !! LSDA optimization: a final configuration with zero
419
+ !! absolute magnetization has been found and we check
420
+ !! if it is really the minimum energy structure by
421
+ !! performing a new scf iteration without any "electronic" history.
422
+ !
423
+ USE io_global, ONLY : stdout
424
+ USE dfunct, ONLY : newd
425
+ !
426
+ IMPLICIT NONE
427
+ !
428
+ WRITE( UNIT = stdout, FMT = 9010 )
429
+ WRITE( UNIT = stdout, FMT = 9020 )
430
+ !
431
+ ! ... re-initialize the potential (no need to re-initialize wavefunctions)
432
+ !
433
+ CALL potinit()
434
+ CALL newd()
435
+ !
436
+ 9010 FORMAT( /5X,'lsda relaxation : a final configuration with zero', &
437
+ & /5X,' absolute magnetization has been found' )
438
+ 9020 FORMAT( /5X,'the program is checking if it is really ', &
439
+ & 'the minimum energy structure', &
440
+ & /5X,'by performing a new scf iteration ', &
441
+ & 'without any "electronic" history' )
442
+ !
443
+ END SUBROUTINE reset_magn
444
+ !
445
+ !
446
+ !-------------------------------------------------------------------
447
+ SUBROUTINE reset_starting_magnetization()
448
+ !-------------------------------------------------------------------
449
+ !! On input, the scf charge density is needed.
450
+ !! On output, new values for starting_magnetization, angle1, angle2
451
+ !! estimated from atomic magnetic moments - to be used in last step.
452
+ !
453
+ USE kinds, ONLY : DP
454
+ USE constants, ONLY : pi
455
+ USE ions_base, ONLY : nsp, ityp, nat
456
+ USE lsda_mod, ONLY : nspin, starting_magnetization
457
+ USE scf, ONLY : rho
458
+ USE noncollin_module, ONLY : noncolin, angle1, angle2, domag
459
+ !
460
+ IMPLICIT NONE
461
+ !
462
+ ! ... local variables
463
+ !
464
+ INTEGER :: i, nt, iat
465
+ ! loop counter on species
466
+ ! number of atoms per species
467
+ ! loop counter on atoms
468
+ REAL(DP) :: norm_tot, norm_xy
469
+ ! modulus of atomic magnetization
470
+ ! xy-projection of atomic magnetization
471
+ REAL(DP) :: theta, phi
472
+ ! angle between magnetization and z-axis
473
+ ! angle between xy-magnetization and x-axis
474
+ REAL(DP), ALLOCATABLE :: r_loc(:)
475
+ ! auxiliary array for density
476
+ REAL(DP), ALLOCATABLE :: m_loc(:,:)
477
+ ! auxiliary array for magnetization
478
+ !
479
+ IF ( (noncolin .AND. domag) .OR. nspin==2) THEN
480
+ ALLOCATE( r_loc(nat), m_loc(nspin-1,nat) )
481
+ CALL get_locals( r_loc,m_loc, rho%of_r )
482
+ ELSE
483
+ RETURN
484
+ ENDIF
485
+ !
486
+ DO i = 1, nsp
487
+ !
488
+ starting_magnetization(i) = 0.0_DP
489
+ angle1(i) = 0.0_DP
490
+ angle2(i) = 0.0_DP
491
+ nt = 0
492
+ !
493
+ DO iat = 1, nat
494
+ IF (ityp(iat) == i) THEN
495
+ nt = nt + 1
496
+ IF (noncolin) THEN
497
+ norm_tot = SQRT(m_loc(1,iat)**2+m_loc(2,iat)**2+m_loc(3,iat)**2)
498
+ norm_xy = SQRT(m_loc(1,iat)**2+m_loc(2,iat)**2)
499
+ IF (norm_tot > 1.d-10) THEN
500
+ theta = ACOS(m_loc(3,iat)/norm_tot)
501
+ IF (norm_xy > 1.d-10) THEN
502
+ phi = ACOS(m_loc(1,iat)/norm_xy)
503
+ IF (m_loc(2,iat) < 0.d0) phi = - phi
504
+ ELSE
505
+ phi = 2.d0*pi
506
+ ENDIF
507
+ ELSE
508
+ theta = 2.d0*pi
509
+ phi = 2.d0*pi
510
+ ENDIF
511
+ angle1(i) = angle1(i) + theta
512
+ angle2(i) = angle2(i) + phi
513
+ starting_magnetization(i) = starting_magnetization(i) + &
514
+ norm_tot/r_loc(iat)
515
+ ELSE
516
+ starting_magnetization(i) = starting_magnetization(i) + &
517
+ m_loc(1,iat)/r_loc(iat)
518
+ ENDIF
519
+ ENDIF
520
+ ENDDO
521
+ !
522
+ IF ( nt > 0 ) THEN
523
+ starting_magnetization(i) = starting_magnetization(i) / DBLE(nt)
524
+ angle1(i) = angle1(i) / DBLE(nt)
525
+ angle2(i) = angle2(i) / DBLE(nt)
526
+ ENDIF
527
+ !
528
+ ENDDO
529
+ !
530
+ DEALLOCATE( r_loc, m_loc )
531
+ !
532
+ END SUBROUTINE reset_starting_magnetization