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,879 @@
1
+ ! vim:ft=fortran
2
+
3
+
4
+
5
+
6
+ module plumed_module
7
+ use iso_c_binding
8
+ implicit none
9
+
10
+ ! names are private by default
11
+ private
12
+
13
+ ! only these names are public
14
+ public :: plumed_f_create
15
+ public :: plumed_f_create_dlopen
16
+ public :: plumed_f_create_reference
17
+ public :: plumed_f_create_invalid
18
+ public :: plumed_f_cmd
19
+ public :: plumed_f_finalize
20
+ public :: plumed_f_installed
21
+ public :: plumed_f_valid
22
+ public :: plumed_f_use_count
23
+ public :: plumed_f_global
24
+ public :: plumed_f_ginitialized
25
+ public :: plumed_f_gcreate
26
+ public :: plumed_f_gcmd
27
+ public :: plumed_f_gfinalize
28
+ public :: plumed_f_gvalid
29
+
30
+ ! this type maps to the struct plumed defined in src/wrapper/Plumed.h
31
+ type, bind(C) :: cplumed
32
+ type(c_ptr) :: ptr
33
+ end type cplumed
34
+
35
+ ! this type maps to the struct plumed_safeptr defined in src/wrapper/Plumed.h
36
+ type, bind(C) :: cplumed_safeptr
37
+ type(c_ptr) :: ptr
38
+ integer(kind=c_size_t) :: nelem
39
+ type(c_ptr) :: shape
40
+ integer(kind=c_size_t) :: flags
41
+ type(c_ptr) :: opt
42
+ end type cplumed_safeptr
43
+
44
+ integer(kind=c_size_t), parameter :: flags_ptr = 67108864 ! 0x2000000*2
45
+
46
+ ! this function is used to translate 32-char to c identifiers, only used internally
47
+ interface
48
+ function plumed_f2c(c) bind(C)
49
+ import
50
+ character(kind=c_char), intent(in) :: c(32)
51
+ type(cplumed) :: plumed_f2c
52
+ end function plumed_f2c
53
+ end interface
54
+
55
+ ! this subroutine provides a typesafe interface to plumed
56
+ interface
57
+ subroutine plumed_cmd_safe(p,key,safeptr) bind(C)
58
+ import
59
+ type(cplumed), value :: p
60
+ character(kind=c_char), intent(in) :: key(*)
61
+ type(cplumed_safeptr), value :: safeptr
62
+ end subroutine plumed_cmd_safe
63
+ end interface
64
+
65
+ ! now there are interfaces to the classic Fortran functions
66
+
67
+ interface
68
+ subroutine plumed_f_create(c) bind(C)
69
+ import
70
+ character(kind=c_char), intent(out) :: c(32)
71
+ end subroutine plumed_f_create
72
+ end interface
73
+
74
+ interface
75
+ subroutine plumed_f_create_dlopen(path,c) bind(C)
76
+ import
77
+ character(kind=c_char), intent(in) :: path(*)
78
+ character(kind=c_char), intent(out) :: c(32)
79
+ end subroutine plumed_f_create_dlopen
80
+ end interface
81
+
82
+ interface
83
+ subroutine plumed_f_create_reference(r,c) bind(C)
84
+ import
85
+ character(kind=c_char), intent(in) :: r(32)
86
+ character(kind=c_char), intent(out) :: c(32)
87
+ end subroutine plumed_f_create_reference
88
+ end interface
89
+
90
+ interface
91
+ subroutine plumed_f_create_invalid(c) bind(C)
92
+ import
93
+ character(kind=c_char), intent(out) :: c(32)
94
+ end subroutine plumed_f_create_invalid
95
+ end interface
96
+
97
+ interface
98
+ subroutine plumed_f_finalize(c) bind(C)
99
+ import
100
+ character(kind=c_char), intent(in) :: c(32)
101
+ end subroutine plumed_f_finalize
102
+ end interface
103
+
104
+ interface
105
+ subroutine plumed_f_installed(i) bind(C)
106
+ import
107
+ integer(kind=c_int), intent(out) :: i
108
+ end subroutine plumed_f_installed
109
+ end interface
110
+
111
+ interface
112
+ subroutine plumed_f_valid(c,i) bind(C)
113
+ import
114
+ character(kind=c_char), intent(in) :: c(32)
115
+ integer(kind=c_int), intent(out) :: i
116
+ end subroutine plumed_f_valid
117
+ end interface
118
+
119
+ interface
120
+ subroutine plumed_f_use_count(c,i) bind(C)
121
+ import
122
+ character(kind=c_char), intent(in) :: c(32)
123
+ integer(kind=c_int), intent(out) :: i
124
+ end subroutine plumed_f_use_count
125
+ end interface
126
+
127
+ interface
128
+ subroutine plumed_f_global(c) bind(C)
129
+ import
130
+ character(kind=c_char), intent(out) :: c(32)
131
+ end subroutine plumed_f_global
132
+ end interface
133
+
134
+ interface
135
+ subroutine plumed_f_ginitialized(i) bind(C)
136
+ import
137
+ integer(kind=c_int), intent(out) :: i
138
+ end subroutine plumed_f_ginitialized
139
+ end interface
140
+
141
+ interface
142
+ subroutine plumed_f_gcreate() bind(C)
143
+ end subroutine plumed_f_gcreate
144
+ end interface
145
+
146
+ interface
147
+ subroutine plumed_f_gfinalize() bind(C)
148
+ end subroutine plumed_f_gfinalize
149
+ end interface
150
+
151
+ interface
152
+ subroutine plumed_f_gvalid(i) bind(C)
153
+ import
154
+ integer(kind=c_int), intent(out) :: i
155
+ end subroutine plumed_f_gvalid
156
+ end interface
157
+
158
+ ! here the interfaces to C functions to construct the plumed_safeptr object
159
+ interface
160
+ function plumed_f_safeptr_ptr(val,nelem,pass_shape,flags,opt) bind(C)
161
+ import
162
+ type(c_ptr), value :: val
163
+ integer(kind=c_size_t), value :: nelem
164
+ integer(kind=c_size_t) :: pass_shape(*)
165
+ integer(kind=c_size_t), value :: flags
166
+ type(c_ptr), value :: opt
167
+ type(cplumed_safeptr) :: plumed_f_safeptr_ptr
168
+ end function plumed_f_safeptr_ptr
169
+ end interface
170
+
171
+ interface
172
+ function plumed_f_safeptr_char(val,nelem,pass_shape,flags,opt) bind(C)
173
+ import
174
+ character(kind=c_char) :: val(*)
175
+ integer(kind=c_size_t), value :: nelem
176
+ integer(kind=c_size_t) :: pass_shape(*)
177
+ integer(kind=c_size_t), value :: flags
178
+ type(c_ptr), value :: opt
179
+ type(cplumed_safeptr) :: plumed_f_safeptr_char
180
+ end function plumed_f_safeptr_char
181
+ end interface
182
+
183
+ interface
184
+ function plumed_f_safeptr_int_scalar(val,nelem,pass_shape,flags,opt) bind(C)
185
+ import
186
+ integer(kind=c_int) :: val
187
+ integer(kind=c_size_t), value :: nelem
188
+ integer(kind=c_size_t) :: pass_shape(*)
189
+ integer(kind=c_size_t), value :: flags
190
+ type(c_ptr), value :: opt
191
+ type(cplumed_safeptr) :: plumed_f_safeptr_int_scalar
192
+ end function plumed_f_safeptr_int_scalar
193
+ end interface
194
+ interface
195
+ function plumed_f_safeptr_int(val,nelem,pass_shape,flags,opt) bind(C)
196
+ import
197
+ integer(kind=c_int) :: val(*)
198
+ integer(kind=c_size_t), value :: nelem
199
+ integer(kind=c_size_t) :: pass_shape(*)
200
+ integer(kind=c_size_t), value :: flags
201
+ type(c_ptr), value :: opt
202
+ type(cplumed_safeptr) :: plumed_f_safeptr_int
203
+ end function plumed_f_safeptr_int
204
+ end interface
205
+ interface
206
+ function plumed_f_safeptr_short_scalar(val,nelem,pass_shape,flags,opt) bind(C)
207
+ import
208
+ integer(kind=c_short) :: val
209
+ integer(kind=c_size_t), value :: nelem
210
+ integer(kind=c_size_t) :: pass_shape(*)
211
+ integer(kind=c_size_t), value :: flags
212
+ type(c_ptr), value :: opt
213
+ type(cplumed_safeptr) :: plumed_f_safeptr_short_scalar
214
+ end function plumed_f_safeptr_short_scalar
215
+ end interface
216
+ interface
217
+ function plumed_f_safeptr_short(val,nelem,pass_shape,flags,opt) bind(C)
218
+ import
219
+ integer(kind=c_short) :: val(*)
220
+ integer(kind=c_size_t), value :: nelem
221
+ integer(kind=c_size_t) :: pass_shape(*)
222
+ integer(kind=c_size_t), value :: flags
223
+ type(c_ptr), value :: opt
224
+ type(cplumed_safeptr) :: plumed_f_safeptr_short
225
+ end function plumed_f_safeptr_short
226
+ end interface
227
+ interface
228
+ function plumed_f_safeptr_long_scalar(val,nelem,pass_shape,flags,opt) bind(C)
229
+ import
230
+ integer(kind=c_long) :: val
231
+ integer(kind=c_size_t), value :: nelem
232
+ integer(kind=c_size_t) :: pass_shape(*)
233
+ integer(kind=c_size_t), value :: flags
234
+ type(c_ptr), value :: opt
235
+ type(cplumed_safeptr) :: plumed_f_safeptr_long_scalar
236
+ end function plumed_f_safeptr_long_scalar
237
+ end interface
238
+ interface
239
+ function plumed_f_safeptr_long(val,nelem,pass_shape,flags,opt) bind(C)
240
+ import
241
+ integer(kind=c_long) :: val(*)
242
+ integer(kind=c_size_t), value :: nelem
243
+ integer(kind=c_size_t) :: pass_shape(*)
244
+ integer(kind=c_size_t), value :: flags
245
+ type(c_ptr), value :: opt
246
+ type(cplumed_safeptr) :: plumed_f_safeptr_long
247
+ end function plumed_f_safeptr_long
248
+ end interface
249
+ interface
250
+ function plumed_f_safeptr_float_scalar(val,nelem,pass_shape,flags,opt) bind(C)
251
+ import
252
+ real(kind=c_float) :: val
253
+ integer(kind=c_size_t), value :: nelem
254
+ integer(kind=c_size_t) :: pass_shape(*)
255
+ integer(kind=c_size_t), value :: flags
256
+ type(c_ptr), value :: opt
257
+ type(cplumed_safeptr) :: plumed_f_safeptr_float_scalar
258
+ end function plumed_f_safeptr_float_scalar
259
+ end interface
260
+ interface
261
+ function plumed_f_safeptr_float(val,nelem,pass_shape,flags,opt) bind(C)
262
+ import
263
+ real(kind=c_float) :: val(*)
264
+ integer(kind=c_size_t), value :: nelem
265
+ integer(kind=c_size_t) :: pass_shape(*)
266
+ integer(kind=c_size_t), value :: flags
267
+ type(c_ptr), value :: opt
268
+ type(cplumed_safeptr) :: plumed_f_safeptr_float
269
+ end function plumed_f_safeptr_float
270
+ end interface
271
+ interface
272
+ function plumed_f_safeptr_double_scalar(val,nelem,pass_shape,flags,opt) bind(C)
273
+ import
274
+ real(kind=c_double) :: val
275
+ integer(kind=c_size_t), value :: nelem
276
+ integer(kind=c_size_t) :: pass_shape(*)
277
+ integer(kind=c_size_t), value :: flags
278
+ type(c_ptr), value :: opt
279
+ type(cplumed_safeptr) :: plumed_f_safeptr_double_scalar
280
+ end function plumed_f_safeptr_double_scalar
281
+ end interface
282
+ interface
283
+ function plumed_f_safeptr_double(val,nelem,pass_shape,flags,opt) bind(C)
284
+ import
285
+ real(kind=c_double) :: val(*)
286
+ integer(kind=c_size_t), value :: nelem
287
+ integer(kind=c_size_t) :: pass_shape(*)
288
+ integer(kind=c_size_t), value :: flags
289
+ type(c_ptr), value :: opt
290
+ type(cplumed_safeptr) :: plumed_f_safeptr_double
291
+ end function plumed_f_safeptr_double
292
+ end interface
293
+
294
+ ! here are the interfaces used for overloading
295
+ interface plumed_f_cmd
296
+ module procedure plumed_f_cmd_char
297
+ module procedure plumed_f_cmd_integer_0_0
298
+ module procedure plumed_f_cmd_integer_0_1
299
+ module procedure plumed_f_cmd_integer_0_2
300
+ module procedure plumed_f_cmd_integer_0_3
301
+ module procedure plumed_f_cmd_integer_0_4
302
+ module procedure plumed_f_cmd_integer_1_0
303
+ module procedure plumed_f_cmd_integer_1_1
304
+ module procedure plumed_f_cmd_integer_1_2
305
+ module procedure plumed_f_cmd_integer_1_3
306
+ module procedure plumed_f_cmd_integer_1_4
307
+ module procedure plumed_f_cmd_integer_2_0
308
+ module procedure plumed_f_cmd_integer_2_1
309
+ module procedure plumed_f_cmd_integer_2_2
310
+ module procedure plumed_f_cmd_integer_2_3
311
+ module procedure plumed_f_cmd_integer_2_4
312
+ module procedure plumed_f_cmd_real_0_0
313
+ module procedure plumed_f_cmd_real_0_1
314
+ module procedure plumed_f_cmd_real_0_2
315
+ module procedure plumed_f_cmd_real_0_3
316
+ module procedure plumed_f_cmd_real_0_4
317
+ module procedure plumed_f_cmd_real_1_0
318
+ module procedure plumed_f_cmd_real_1_1
319
+ module procedure plumed_f_cmd_real_1_2
320
+ module procedure plumed_f_cmd_real_1_3
321
+ module procedure plumed_f_cmd_real_1_4
322
+ end interface plumed_f_cmd
323
+
324
+ interface plumed_f_gcmd
325
+ module procedure plumed_f_gcmd_char
326
+ module procedure plumed_f_gcmd_integer_0_0
327
+ module procedure plumed_f_gcmd_integer_0_1
328
+ module procedure plumed_f_gcmd_integer_0_2
329
+ module procedure plumed_f_gcmd_integer_0_3
330
+ module procedure plumed_f_gcmd_integer_0_4
331
+ module procedure plumed_f_gcmd_integer_1_0
332
+ module procedure plumed_f_gcmd_integer_1_1
333
+ module procedure plumed_f_gcmd_integer_1_2
334
+ module procedure plumed_f_gcmd_integer_1_3
335
+ module procedure plumed_f_gcmd_integer_1_4
336
+ module procedure plumed_f_gcmd_integer_2_0
337
+ module procedure plumed_f_gcmd_integer_2_1
338
+ module procedure plumed_f_gcmd_integer_2_2
339
+ module procedure plumed_f_gcmd_integer_2_3
340
+ module procedure plumed_f_gcmd_integer_2_4
341
+ module procedure plumed_f_gcmd_real_0_0
342
+ module procedure plumed_f_gcmd_real_0_1
343
+ module procedure plumed_f_gcmd_real_0_2
344
+ module procedure plumed_f_gcmd_real_0_3
345
+ module procedure plumed_f_gcmd_real_0_4
346
+ module procedure plumed_f_gcmd_real_1_0
347
+ module procedure plumed_f_gcmd_real_1_1
348
+ module procedure plumed_f_gcmd_real_1_2
349
+ module procedure plumed_f_gcmd_real_1_3
350
+ module procedure plumed_f_gcmd_real_1_4
351
+ end interface plumed_f_gcmd
352
+
353
+ contains
354
+
355
+ ! we then define all the functions needed for overloading
356
+
357
+ subroutine plumed_f_cmd_char(p,key,val)
358
+ character(kind=c_char,len=32), intent(in) :: p
359
+ character(kind=c_char,len=*), intent(in) :: key
360
+ character(kind=c_char,len=*) :: val
361
+ integer(kind=c_size_t) :: pass_shape(2)
362
+ integer(kind=c_size_t) :: nelem
363
+ pass_shape=(/len(val),0/)
364
+ nelem=product(pass_shape)
365
+ call plumed_cmd_safe(plumed_f2c(p),key, &
366
+ plumed_f_safeptr_char(val,nelem,pass_shape,flags_ptr,c_null_ptr))
367
+ end subroutine plumed_f_cmd_char
368
+
369
+ subroutine plumed_f_gcmd_char(key,val)
370
+ character(kind=c_char,len=*), intent(in) :: key
371
+ character(kind=c_char,len=*) :: val
372
+ character(kind=c_char,len=32) :: global
373
+ call plumed_f_global(global)
374
+ call plumed_f_cmd(global,key,val)
375
+ end subroutine plumed_f_gcmd_char
376
+
377
+ subroutine plumed_f_cmd_integer_0_0(p,key,val)
378
+ character(kind=c_char,len=32), intent(in) :: p
379
+ character(kind=c_char,len=*), intent(in) :: key
380
+ integer(KIND=c_int) :: val
381
+ integer(kind=c_size_t) :: nelem
382
+ integer(kind=c_size_t) :: pass_shape(2)
383
+ pass_shape=(/1,0/)
384
+ nelem=product(pass_shape)
385
+ call plumed_cmd_safe(plumed_f2c(p),key, &
386
+ plumed_f_safeptr_int_scalar(val,nelem,pass_shape,flags_ptr,c_null_ptr))
387
+ end subroutine plumed_f_cmd_integer_0_0
388
+ subroutine plumed_f_gcmd_integer_0_0(key,val)
389
+ character(kind=c_char,len=*), intent(in) :: key
390
+ integer(kind=c_int) :: val
391
+ character(kind=c_char,len=32) :: global
392
+ call plumed_f_global(global)
393
+ call plumed_f_cmd(global,key,val)
394
+ end subroutine plumed_f_gcmd_integer_0_0
395
+ subroutine plumed_f_cmd_integer_0_1(p,key,val)
396
+ character(kind=c_char,len=32), intent(in) :: p
397
+ character(kind=c_char,len=*), intent(in) :: key
398
+ integer(KIND=c_int) :: val(:)
399
+ integer(kind=c_size_t) :: nelem
400
+ integer(kind=c_size_t) :: pass_shape(2)
401
+ pass_shape(1)=size(val,1)
402
+ pass_shape(2)=0
403
+ nelem=product(pass_shape)
404
+ call plumed_cmd_safe(plumed_f2c(p),key, &
405
+ plumed_f_safeptr_int(val,nelem,pass_shape,flags_ptr,c_null_ptr))
406
+ end subroutine plumed_f_cmd_integer_0_1
407
+ subroutine plumed_f_gcmd_integer_0_1(key,val)
408
+ character(kind=c_char,len=*), intent(in) :: key
409
+ integer(kind=c_int) :: val(:)
410
+ character(kind=c_char,len=32) :: global
411
+ call plumed_f_global(global)
412
+ call plumed_f_cmd(global,key,val)
413
+ end subroutine plumed_f_gcmd_integer_0_1
414
+ subroutine plumed_f_cmd_integer_0_2(p,key,val)
415
+ character(kind=c_char,len=32), intent(in) :: p
416
+ character(kind=c_char,len=*), intent(in) :: key
417
+ integer(KIND=c_int) :: val(:,:)
418
+ integer(kind=c_size_t) :: nelem
419
+ integer(kind=c_size_t) :: pass_shape(3)
420
+ pass_shape(1)=size(val,2)
421
+ pass_shape(2)=size(val,1)
422
+ pass_shape(3)=0
423
+ nelem=product(pass_shape)
424
+ call plumed_cmd_safe(plumed_f2c(p),key, &
425
+ plumed_f_safeptr_int(val,nelem,pass_shape,flags_ptr,c_null_ptr))
426
+ end subroutine plumed_f_cmd_integer_0_2
427
+ subroutine plumed_f_gcmd_integer_0_2(key,val)
428
+ character(kind=c_char,len=*), intent(in) :: key
429
+ integer(kind=c_int) :: val(:,:)
430
+ character(kind=c_char,len=32) :: global
431
+ call plumed_f_global(global)
432
+ call plumed_f_cmd(global,key,val)
433
+ end subroutine plumed_f_gcmd_integer_0_2
434
+ subroutine plumed_f_cmd_integer_0_3(p,key,val)
435
+ character(kind=c_char,len=32), intent(in) :: p
436
+ character(kind=c_char,len=*), intent(in) :: key
437
+ integer(KIND=c_int) :: val(:,:,:)
438
+ integer(kind=c_size_t) :: nelem
439
+ integer(kind=c_size_t) :: pass_shape(4)
440
+ pass_shape(1)=size(val,3)
441
+ pass_shape(2)=size(val,2)
442
+ pass_shape(3)=size(val,1)
443
+ pass_shape(4)=0
444
+ nelem=product(pass_shape)
445
+ call plumed_cmd_safe(plumed_f2c(p),key, &
446
+ plumed_f_safeptr_int(val,nelem,pass_shape,flags_ptr,c_null_ptr))
447
+ end subroutine plumed_f_cmd_integer_0_3
448
+ subroutine plumed_f_gcmd_integer_0_3(key,val)
449
+ character(kind=c_char,len=*), intent(in) :: key
450
+ integer(kind=c_int) :: val(:,:,:)
451
+ character(kind=c_char,len=32) :: global
452
+ call plumed_f_global(global)
453
+ call plumed_f_cmd(global,key,val)
454
+ end subroutine plumed_f_gcmd_integer_0_3
455
+ subroutine plumed_f_cmd_integer_0_4(p,key,val)
456
+ character(kind=c_char,len=32), intent(in) :: p
457
+ character(kind=c_char,len=*), intent(in) :: key
458
+ integer(KIND=c_int) :: val(:,:,:,:)
459
+ integer(kind=c_size_t) :: nelem
460
+ integer(kind=c_size_t) :: pass_shape(5)
461
+ pass_shape(1)=size(val,4)
462
+ pass_shape(2)=size(val,3)
463
+ pass_shape(3)=size(val,2)
464
+ pass_shape(4)=size(val,1)
465
+ pass_shape(5)=0
466
+ nelem=product(pass_shape)
467
+ call plumed_cmd_safe(plumed_f2c(p),key, &
468
+ plumed_f_safeptr_int(val,nelem,pass_shape,flags_ptr,c_null_ptr))
469
+ end subroutine plumed_f_cmd_integer_0_4
470
+ subroutine plumed_f_gcmd_integer_0_4(key,val)
471
+ character(kind=c_char,len=*), intent(in) :: key
472
+ integer(kind=c_int) :: val(:,:,:,:)
473
+ character(kind=c_char,len=32) :: global
474
+ call plumed_f_global(global)
475
+ call plumed_f_cmd(global,key,val)
476
+ end subroutine plumed_f_gcmd_integer_0_4
477
+ subroutine plumed_f_cmd_integer_1_0(p,key,val)
478
+ character(kind=c_char,len=32), intent(in) :: p
479
+ character(kind=c_char,len=*), intent(in) :: key
480
+ integer(KIND=c_short) :: val
481
+ integer(kind=c_size_t) :: nelem
482
+ integer(kind=c_size_t) :: pass_shape(2)
483
+ pass_shape=(/1,0/)
484
+ nelem=product(pass_shape)
485
+ call plumed_cmd_safe(plumed_f2c(p),key, &
486
+ plumed_f_safeptr_short_scalar(val,nelem,pass_shape,flags_ptr,c_null_ptr))
487
+ end subroutine plumed_f_cmd_integer_1_0
488
+ subroutine plumed_f_gcmd_integer_1_0(key,val)
489
+ character(kind=c_char,len=*), intent(in) :: key
490
+ integer(kind=c_short) :: val
491
+ character(kind=c_char,len=32) :: global
492
+ call plumed_f_global(global)
493
+ call plumed_f_cmd(global,key,val)
494
+ end subroutine plumed_f_gcmd_integer_1_0
495
+ subroutine plumed_f_cmd_integer_1_1(p,key,val)
496
+ character(kind=c_char,len=32), intent(in) :: p
497
+ character(kind=c_char,len=*), intent(in) :: key
498
+ integer(KIND=c_short) :: val(:)
499
+ integer(kind=c_size_t) :: nelem
500
+ integer(kind=c_size_t) :: pass_shape(2)
501
+ pass_shape(1)=size(val,1)
502
+ pass_shape(2)=0
503
+ nelem=product(pass_shape)
504
+ call plumed_cmd_safe(plumed_f2c(p),key, &
505
+ plumed_f_safeptr_short(val,nelem,pass_shape,flags_ptr,c_null_ptr))
506
+ end subroutine plumed_f_cmd_integer_1_1
507
+ subroutine plumed_f_gcmd_integer_1_1(key,val)
508
+ character(kind=c_char,len=*), intent(in) :: key
509
+ integer(kind=c_short) :: val(:)
510
+ character(kind=c_char,len=32) :: global
511
+ call plumed_f_global(global)
512
+ call plumed_f_cmd(global,key,val)
513
+ end subroutine plumed_f_gcmd_integer_1_1
514
+ subroutine plumed_f_cmd_integer_1_2(p,key,val)
515
+ character(kind=c_char,len=32), intent(in) :: p
516
+ character(kind=c_char,len=*), intent(in) :: key
517
+ integer(KIND=c_short) :: val(:,:)
518
+ integer(kind=c_size_t) :: nelem
519
+ integer(kind=c_size_t) :: pass_shape(3)
520
+ pass_shape(1)=size(val,2)
521
+ pass_shape(2)=size(val,1)
522
+ pass_shape(3)=0
523
+ nelem=product(pass_shape)
524
+ call plumed_cmd_safe(plumed_f2c(p),key, &
525
+ plumed_f_safeptr_short(val,nelem,pass_shape,flags_ptr,c_null_ptr))
526
+ end subroutine plumed_f_cmd_integer_1_2
527
+ subroutine plumed_f_gcmd_integer_1_2(key,val)
528
+ character(kind=c_char,len=*), intent(in) :: key
529
+ integer(kind=c_short) :: val(:,:)
530
+ character(kind=c_char,len=32) :: global
531
+ call plumed_f_global(global)
532
+ call plumed_f_cmd(global,key,val)
533
+ end subroutine plumed_f_gcmd_integer_1_2
534
+ subroutine plumed_f_cmd_integer_1_3(p,key,val)
535
+ character(kind=c_char,len=32), intent(in) :: p
536
+ character(kind=c_char,len=*), intent(in) :: key
537
+ integer(KIND=c_short) :: val(:,:,:)
538
+ integer(kind=c_size_t) :: nelem
539
+ integer(kind=c_size_t) :: pass_shape(4)
540
+ pass_shape(1)=size(val,3)
541
+ pass_shape(2)=size(val,2)
542
+ pass_shape(3)=size(val,1)
543
+ pass_shape(4)=0
544
+ nelem=product(pass_shape)
545
+ call plumed_cmd_safe(plumed_f2c(p),key, &
546
+ plumed_f_safeptr_short(val,nelem,pass_shape,flags_ptr,c_null_ptr))
547
+ end subroutine plumed_f_cmd_integer_1_3
548
+ subroutine plumed_f_gcmd_integer_1_3(key,val)
549
+ character(kind=c_char,len=*), intent(in) :: key
550
+ integer(kind=c_short) :: val(:,:,:)
551
+ character(kind=c_char,len=32) :: global
552
+ call plumed_f_global(global)
553
+ call plumed_f_cmd(global,key,val)
554
+ end subroutine plumed_f_gcmd_integer_1_3
555
+ subroutine plumed_f_cmd_integer_1_4(p,key,val)
556
+ character(kind=c_char,len=32), intent(in) :: p
557
+ character(kind=c_char,len=*), intent(in) :: key
558
+ integer(KIND=c_short) :: val(:,:,:,:)
559
+ integer(kind=c_size_t) :: nelem
560
+ integer(kind=c_size_t) :: pass_shape(5)
561
+ pass_shape(1)=size(val,4)
562
+ pass_shape(2)=size(val,3)
563
+ pass_shape(3)=size(val,2)
564
+ pass_shape(4)=size(val,1)
565
+ pass_shape(5)=0
566
+ nelem=product(pass_shape)
567
+ call plumed_cmd_safe(plumed_f2c(p),key, &
568
+ plumed_f_safeptr_short(val,nelem,pass_shape,flags_ptr,c_null_ptr))
569
+ end subroutine plumed_f_cmd_integer_1_4
570
+ subroutine plumed_f_gcmd_integer_1_4(key,val)
571
+ character(kind=c_char,len=*), intent(in) :: key
572
+ integer(kind=c_short) :: val(:,:,:,:)
573
+ character(kind=c_char,len=32) :: global
574
+ call plumed_f_global(global)
575
+ call plumed_f_cmd(global,key,val)
576
+ end subroutine plumed_f_gcmd_integer_1_4
577
+ subroutine plumed_f_cmd_integer_2_0(p,key,val)
578
+ character(kind=c_char,len=32), intent(in) :: p
579
+ character(kind=c_char,len=*), intent(in) :: key
580
+ integer(KIND=c_long) :: val
581
+ integer(kind=c_size_t) :: nelem
582
+ integer(kind=c_size_t) :: pass_shape(2)
583
+ pass_shape=(/1,0/)
584
+ nelem=product(pass_shape)
585
+ call plumed_cmd_safe(plumed_f2c(p),key, &
586
+ plumed_f_safeptr_long_scalar(val,nelem,pass_shape,flags_ptr,c_null_ptr))
587
+ end subroutine plumed_f_cmd_integer_2_0
588
+ subroutine plumed_f_gcmd_integer_2_0(key,val)
589
+ character(kind=c_char,len=*), intent(in) :: key
590
+ integer(kind=c_long) :: val
591
+ character(kind=c_char,len=32) :: global
592
+ call plumed_f_global(global)
593
+ call plumed_f_cmd(global,key,val)
594
+ end subroutine plumed_f_gcmd_integer_2_0
595
+ subroutine plumed_f_cmd_integer_2_1(p,key,val)
596
+ character(kind=c_char,len=32), intent(in) :: p
597
+ character(kind=c_char,len=*), intent(in) :: key
598
+ integer(KIND=c_long) :: val(:)
599
+ integer(kind=c_size_t) :: nelem
600
+ integer(kind=c_size_t) :: pass_shape(2)
601
+ pass_shape(1)=size(val,1)
602
+ pass_shape(2)=0
603
+ nelem=product(pass_shape)
604
+ call plumed_cmd_safe(plumed_f2c(p),key, &
605
+ plumed_f_safeptr_long(val,nelem,pass_shape,flags_ptr,c_null_ptr))
606
+ end subroutine plumed_f_cmd_integer_2_1
607
+ subroutine plumed_f_gcmd_integer_2_1(key,val)
608
+ character(kind=c_char,len=*), intent(in) :: key
609
+ integer(kind=c_long) :: val(:)
610
+ character(kind=c_char,len=32) :: global
611
+ call plumed_f_global(global)
612
+ call plumed_f_cmd(global,key,val)
613
+ end subroutine plumed_f_gcmd_integer_2_1
614
+ subroutine plumed_f_cmd_integer_2_2(p,key,val)
615
+ character(kind=c_char,len=32), intent(in) :: p
616
+ character(kind=c_char,len=*), intent(in) :: key
617
+ integer(KIND=c_long) :: val(:,:)
618
+ integer(kind=c_size_t) :: nelem
619
+ integer(kind=c_size_t) :: pass_shape(3)
620
+ pass_shape(1)=size(val,2)
621
+ pass_shape(2)=size(val,1)
622
+ pass_shape(3)=0
623
+ nelem=product(pass_shape)
624
+ call plumed_cmd_safe(plumed_f2c(p),key, &
625
+ plumed_f_safeptr_long(val,nelem,pass_shape,flags_ptr,c_null_ptr))
626
+ end subroutine plumed_f_cmd_integer_2_2
627
+ subroutine plumed_f_gcmd_integer_2_2(key,val)
628
+ character(kind=c_char,len=*), intent(in) :: key
629
+ integer(kind=c_long) :: val(:,:)
630
+ character(kind=c_char,len=32) :: global
631
+ call plumed_f_global(global)
632
+ call plumed_f_cmd(global,key,val)
633
+ end subroutine plumed_f_gcmd_integer_2_2
634
+ subroutine plumed_f_cmd_integer_2_3(p,key,val)
635
+ character(kind=c_char,len=32), intent(in) :: p
636
+ character(kind=c_char,len=*), intent(in) :: key
637
+ integer(KIND=c_long) :: val(:,:,:)
638
+ integer(kind=c_size_t) :: nelem
639
+ integer(kind=c_size_t) :: pass_shape(4)
640
+ pass_shape(1)=size(val,3)
641
+ pass_shape(2)=size(val,2)
642
+ pass_shape(3)=size(val,1)
643
+ pass_shape(4)=0
644
+ nelem=product(pass_shape)
645
+ call plumed_cmd_safe(plumed_f2c(p),key, &
646
+ plumed_f_safeptr_long(val,nelem,pass_shape,flags_ptr,c_null_ptr))
647
+ end subroutine plumed_f_cmd_integer_2_3
648
+ subroutine plumed_f_gcmd_integer_2_3(key,val)
649
+ character(kind=c_char,len=*), intent(in) :: key
650
+ integer(kind=c_long) :: val(:,:,:)
651
+ character(kind=c_char,len=32) :: global
652
+ call plumed_f_global(global)
653
+ call plumed_f_cmd(global,key,val)
654
+ end subroutine plumed_f_gcmd_integer_2_3
655
+ subroutine plumed_f_cmd_integer_2_4(p,key,val)
656
+ character(kind=c_char,len=32), intent(in) :: p
657
+ character(kind=c_char,len=*), intent(in) :: key
658
+ integer(KIND=c_long) :: val(:,:,:,:)
659
+ integer(kind=c_size_t) :: nelem
660
+ integer(kind=c_size_t) :: pass_shape(5)
661
+ pass_shape(1)=size(val,4)
662
+ pass_shape(2)=size(val,3)
663
+ pass_shape(3)=size(val,2)
664
+ pass_shape(4)=size(val,1)
665
+ pass_shape(5)=0
666
+ nelem=product(pass_shape)
667
+ call plumed_cmd_safe(plumed_f2c(p),key, &
668
+ plumed_f_safeptr_long(val,nelem,pass_shape,flags_ptr,c_null_ptr))
669
+ end subroutine plumed_f_cmd_integer_2_4
670
+ subroutine plumed_f_gcmd_integer_2_4(key,val)
671
+ character(kind=c_char,len=*), intent(in) :: key
672
+ integer(kind=c_long) :: val(:,:,:,:)
673
+ character(kind=c_char,len=32) :: global
674
+ call plumed_f_global(global)
675
+ call plumed_f_cmd(global,key,val)
676
+ end subroutine plumed_f_gcmd_integer_2_4
677
+ subroutine plumed_f_cmd_real_0_0(p,key,val)
678
+ character(kind=c_char,len=32), intent(in) :: p
679
+ character(kind=c_char,len=*), intent(in) :: key
680
+ real(KIND=c_float) :: val
681
+ integer(kind=c_size_t) :: nelem
682
+ integer(kind=c_size_t) :: pass_shape(2)
683
+ pass_shape=(/1,0/)
684
+ nelem=product(pass_shape)
685
+ call plumed_cmd_safe(plumed_f2c(p),key, &
686
+ plumed_f_safeptr_float_scalar(val,nelem,pass_shape,flags_ptr,c_null_ptr))
687
+ end subroutine plumed_f_cmd_real_0_0
688
+ subroutine plumed_f_gcmd_real_0_0(key,val)
689
+ character(kind=c_char,len=*), intent(in) :: key
690
+ real(kind=c_float) :: val
691
+ character(kind=c_char,len=32) :: global
692
+ call plumed_f_global(global)
693
+ call plumed_f_cmd(global,key,val)
694
+ end subroutine plumed_f_gcmd_real_0_0
695
+ subroutine plumed_f_cmd_real_0_1(p,key,val)
696
+ character(kind=c_char,len=32), intent(in) :: p
697
+ character(kind=c_char,len=*), intent(in) :: key
698
+ real(KIND=c_float) :: val(:)
699
+ integer(kind=c_size_t) :: nelem
700
+ integer(kind=c_size_t) :: pass_shape(2)
701
+ pass_shape(1)=size(val,1)
702
+ pass_shape(2)=0
703
+ nelem=product(pass_shape)
704
+ call plumed_cmd_safe(plumed_f2c(p),key, &
705
+ plumed_f_safeptr_float(val,nelem,pass_shape,flags_ptr,c_null_ptr))
706
+ end subroutine plumed_f_cmd_real_0_1
707
+ subroutine plumed_f_gcmd_real_0_1(key,val)
708
+ character(kind=c_char,len=*), intent(in) :: key
709
+ real(kind=c_float) :: val(:)
710
+ character(kind=c_char,len=32) :: global
711
+ call plumed_f_global(global)
712
+ call plumed_f_cmd(global,key,val)
713
+ end subroutine plumed_f_gcmd_real_0_1
714
+ subroutine plumed_f_cmd_real_0_2(p,key,val)
715
+ character(kind=c_char,len=32), intent(in) :: p
716
+ character(kind=c_char,len=*), intent(in) :: key
717
+ real(KIND=c_float) :: val(:,:)
718
+ integer(kind=c_size_t) :: nelem
719
+ integer(kind=c_size_t) :: pass_shape(3)
720
+ pass_shape(1)=size(val,2)
721
+ pass_shape(2)=size(val,1)
722
+ pass_shape(3)=0
723
+ nelem=product(pass_shape)
724
+ call plumed_cmd_safe(plumed_f2c(p),key, &
725
+ plumed_f_safeptr_float(val,nelem,pass_shape,flags_ptr,c_null_ptr))
726
+ end subroutine plumed_f_cmd_real_0_2
727
+ subroutine plumed_f_gcmd_real_0_2(key,val)
728
+ character(kind=c_char,len=*), intent(in) :: key
729
+ real(kind=c_float) :: val(:,:)
730
+ character(kind=c_char,len=32) :: global
731
+ call plumed_f_global(global)
732
+ call plumed_f_cmd(global,key,val)
733
+ end subroutine plumed_f_gcmd_real_0_2
734
+ subroutine plumed_f_cmd_real_0_3(p,key,val)
735
+ character(kind=c_char,len=32), intent(in) :: p
736
+ character(kind=c_char,len=*), intent(in) :: key
737
+ real(KIND=c_float) :: val(:,:,:)
738
+ integer(kind=c_size_t) :: nelem
739
+ integer(kind=c_size_t) :: pass_shape(4)
740
+ pass_shape(1)=size(val,3)
741
+ pass_shape(2)=size(val,2)
742
+ pass_shape(3)=size(val,1)
743
+ pass_shape(4)=0
744
+ nelem=product(pass_shape)
745
+ call plumed_cmd_safe(plumed_f2c(p),key, &
746
+ plumed_f_safeptr_float(val,nelem,pass_shape,flags_ptr,c_null_ptr))
747
+ end subroutine plumed_f_cmd_real_0_3
748
+ subroutine plumed_f_gcmd_real_0_3(key,val)
749
+ character(kind=c_char,len=*), intent(in) :: key
750
+ real(kind=c_float) :: val(:,:,:)
751
+ character(kind=c_char,len=32) :: global
752
+ call plumed_f_global(global)
753
+ call plumed_f_cmd(global,key,val)
754
+ end subroutine plumed_f_gcmd_real_0_3
755
+ subroutine plumed_f_cmd_real_0_4(p,key,val)
756
+ character(kind=c_char,len=32), intent(in) :: p
757
+ character(kind=c_char,len=*), intent(in) :: key
758
+ real(KIND=c_float) :: val(:,:,:,:)
759
+ integer(kind=c_size_t) :: nelem
760
+ integer(kind=c_size_t) :: pass_shape(5)
761
+ pass_shape(1)=size(val,4)
762
+ pass_shape(2)=size(val,3)
763
+ pass_shape(3)=size(val,2)
764
+ pass_shape(4)=size(val,1)
765
+ pass_shape(5)=0
766
+ nelem=product(pass_shape)
767
+ call plumed_cmd_safe(plumed_f2c(p),key, &
768
+ plumed_f_safeptr_float(val,nelem,pass_shape,flags_ptr,c_null_ptr))
769
+ end subroutine plumed_f_cmd_real_0_4
770
+ subroutine plumed_f_gcmd_real_0_4(key,val)
771
+ character(kind=c_char,len=*), intent(in) :: key
772
+ real(kind=c_float) :: val(:,:,:,:)
773
+ character(kind=c_char,len=32) :: global
774
+ call plumed_f_global(global)
775
+ call plumed_f_cmd(global,key,val)
776
+ end subroutine plumed_f_gcmd_real_0_4
777
+ subroutine plumed_f_cmd_real_1_0(p,key,val)
778
+ character(kind=c_char,len=32), intent(in) :: p
779
+ character(kind=c_char,len=*), intent(in) :: key
780
+ real(KIND=c_double) :: val
781
+ integer(kind=c_size_t) :: nelem
782
+ integer(kind=c_size_t) :: pass_shape(2)
783
+ pass_shape=(/1,0/)
784
+ nelem=product(pass_shape)
785
+ call plumed_cmd_safe(plumed_f2c(p),key, &
786
+ plumed_f_safeptr_double_scalar(val,nelem,pass_shape,flags_ptr,c_null_ptr))
787
+ end subroutine plumed_f_cmd_real_1_0
788
+ subroutine plumed_f_gcmd_real_1_0(key,val)
789
+ character(kind=c_char,len=*), intent(in) :: key
790
+ real(kind=c_double) :: val
791
+ character(kind=c_char,len=32) :: global
792
+ call plumed_f_global(global)
793
+ call plumed_f_cmd(global,key,val)
794
+ end subroutine plumed_f_gcmd_real_1_0
795
+ subroutine plumed_f_cmd_real_1_1(p,key,val)
796
+ character(kind=c_char,len=32), intent(in) :: p
797
+ character(kind=c_char,len=*), intent(in) :: key
798
+ real(KIND=c_double) :: val(:)
799
+ integer(kind=c_size_t) :: nelem
800
+ integer(kind=c_size_t) :: pass_shape(2)
801
+ pass_shape(1)=size(val,1)
802
+ pass_shape(2)=0
803
+ nelem=product(pass_shape)
804
+ call plumed_cmd_safe(plumed_f2c(p),key, &
805
+ plumed_f_safeptr_double(val,nelem,pass_shape,flags_ptr,c_null_ptr))
806
+ end subroutine plumed_f_cmd_real_1_1
807
+ subroutine plumed_f_gcmd_real_1_1(key,val)
808
+ character(kind=c_char,len=*), intent(in) :: key
809
+ real(kind=c_double) :: val(:)
810
+ character(kind=c_char,len=32) :: global
811
+ call plumed_f_global(global)
812
+ call plumed_f_cmd(global,key,val)
813
+ end subroutine plumed_f_gcmd_real_1_1
814
+ subroutine plumed_f_cmd_real_1_2(p,key,val)
815
+ character(kind=c_char,len=32), intent(in) :: p
816
+ character(kind=c_char,len=*), intent(in) :: key
817
+ real(KIND=c_double) :: val(:,:)
818
+ integer(kind=c_size_t) :: nelem
819
+ integer(kind=c_size_t) :: pass_shape(3)
820
+ pass_shape(1)=size(val,2)
821
+ pass_shape(2)=size(val,1)
822
+ pass_shape(3)=0
823
+ nelem=product(pass_shape)
824
+ call plumed_cmd_safe(plumed_f2c(p),key, &
825
+ plumed_f_safeptr_double(val,nelem,pass_shape,flags_ptr,c_null_ptr))
826
+ end subroutine plumed_f_cmd_real_1_2
827
+ subroutine plumed_f_gcmd_real_1_2(key,val)
828
+ character(kind=c_char,len=*), intent(in) :: key
829
+ real(kind=c_double) :: val(:,:)
830
+ character(kind=c_char,len=32) :: global
831
+ call plumed_f_global(global)
832
+ call plumed_f_cmd(global,key,val)
833
+ end subroutine plumed_f_gcmd_real_1_2
834
+ subroutine plumed_f_cmd_real_1_3(p,key,val)
835
+ character(kind=c_char,len=32), intent(in) :: p
836
+ character(kind=c_char,len=*), intent(in) :: key
837
+ real(KIND=c_double) :: val(:,:,:)
838
+ integer(kind=c_size_t) :: nelem
839
+ integer(kind=c_size_t) :: pass_shape(4)
840
+ pass_shape(1)=size(val,3)
841
+ pass_shape(2)=size(val,2)
842
+ pass_shape(3)=size(val,1)
843
+ pass_shape(4)=0
844
+ nelem=product(pass_shape)
845
+ call plumed_cmd_safe(plumed_f2c(p),key, &
846
+ plumed_f_safeptr_double(val,nelem,pass_shape,flags_ptr,c_null_ptr))
847
+ end subroutine plumed_f_cmd_real_1_3
848
+ subroutine plumed_f_gcmd_real_1_3(key,val)
849
+ character(kind=c_char,len=*), intent(in) :: key
850
+ real(kind=c_double) :: val(:,:,:)
851
+ character(kind=c_char,len=32) :: global
852
+ call plumed_f_global(global)
853
+ call plumed_f_cmd(global,key,val)
854
+ end subroutine plumed_f_gcmd_real_1_3
855
+ subroutine plumed_f_cmd_real_1_4(p,key,val)
856
+ character(kind=c_char,len=32), intent(in) :: p
857
+ character(kind=c_char,len=*), intent(in) :: key
858
+ real(KIND=c_double) :: val(:,:,:,:)
859
+ integer(kind=c_size_t) :: nelem
860
+ integer(kind=c_size_t) :: pass_shape(5)
861
+ pass_shape(1)=size(val,4)
862
+ pass_shape(2)=size(val,3)
863
+ pass_shape(3)=size(val,2)
864
+ pass_shape(4)=size(val,1)
865
+ pass_shape(5)=0
866
+ nelem=product(pass_shape)
867
+ call plumed_cmd_safe(plumed_f2c(p),key, &
868
+ plumed_f_safeptr_double(val,nelem,pass_shape,flags_ptr,c_null_ptr))
869
+ end subroutine plumed_f_cmd_real_1_4
870
+ subroutine plumed_f_gcmd_real_1_4(key,val)
871
+ character(kind=c_char,len=*), intent(in) :: key
872
+ real(kind=c_double) :: val(:,:,:,:)
873
+ character(kind=c_char,len=32) :: global
874
+ call plumed_f_global(global)
875
+ call plumed_f_cmd(global,key,val)
876
+ end subroutine plumed_f_gcmd_real_1_4
877
+
878
+ end module plumed_module
879
+