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.
- hillclimber/__init__.py +39 -0
- hillclimber/actions.py +53 -0
- hillclimber/analysis.py +590 -0
- hillclimber/biases.py +293 -0
- hillclimber/calc.py +22 -0
- hillclimber/cvs.py +1065 -0
- hillclimber/interfaces.py +133 -0
- hillclimber/metadynamics.py +325 -0
- hillclimber/nodes.py +6 -0
- hillclimber/opes.py +359 -0
- hillclimber/selectors.py +230 -0
- hillclimber/virtual_atoms.py +341 -0
- hillclimber-0.1.5a8.dist-info/METADATA +209 -0
- hillclimber-0.1.5a8.dist-info/RECORD +469 -0
- hillclimber-0.1.5a8.dist-info/WHEEL +6 -0
- hillclimber-0.1.5a8.dist-info/entry_points.txt +8 -0
- hillclimber-0.1.5a8.dist-info/licenses/LICENSE +165 -0
- plumed/__init__.py +104 -0
- plumed/_lib/bin/plumed +0 -0
- plumed/_lib/bin/plumed-config +9 -0
- plumed/_lib/bin/plumed-patch +9 -0
- plumed/_lib/include/plumed/adjmat/AdjacencyMatrixBase.h +659 -0
- plumed/_lib/include/plumed/adjmat/ContactMatrix.h +59 -0
- plumed/_lib/include/plumed/asmjit/arch.h +228 -0
- plumed/_lib/include/plumed/asmjit/arm.h +43 -0
- plumed/_lib/include/plumed/asmjit/asmjit.h +69 -0
- plumed/_lib/include/plumed/asmjit/asmjit_apibegin.h +143 -0
- plumed/_lib/include/plumed/asmjit/asmjit_apiend.h +93 -0
- plumed/_lib/include/plumed/asmjit/asmjit_build.h +971 -0
- plumed/_lib/include/plumed/asmjit/assembler.h +183 -0
- plumed/_lib/include/plumed/asmjit/base.h +56 -0
- plumed/_lib/include/plumed/asmjit/codebuilder.h +944 -0
- plumed/_lib/include/plumed/asmjit/codecompiler.h +767 -0
- plumed/_lib/include/plumed/asmjit/codeemitter.h +528 -0
- plumed/_lib/include/plumed/asmjit/codeholder.h +777 -0
- plumed/_lib/include/plumed/asmjit/constpool.h +286 -0
- plumed/_lib/include/plumed/asmjit/cpuinfo.h +402 -0
- plumed/_lib/include/plumed/asmjit/func.h +1327 -0
- plumed/_lib/include/plumed/asmjit/globals.h +370 -0
- plumed/_lib/include/plumed/asmjit/inst.h +137 -0
- plumed/_lib/include/plumed/asmjit/logging.h +317 -0
- plumed/_lib/include/plumed/asmjit/misc_p.h +103 -0
- plumed/_lib/include/plumed/asmjit/moved_string.h +318 -0
- plumed/_lib/include/plumed/asmjit/operand.h +1599 -0
- plumed/_lib/include/plumed/asmjit/osutils.h +207 -0
- plumed/_lib/include/plumed/asmjit/regalloc_p.h +597 -0
- plumed/_lib/include/plumed/asmjit/runtime.h +227 -0
- plumed/_lib/include/plumed/asmjit/simdtypes.h +1104 -0
- plumed/_lib/include/plumed/asmjit/utils.h +1387 -0
- plumed/_lib/include/plumed/asmjit/vmem.h +183 -0
- plumed/_lib/include/plumed/asmjit/x86.h +45 -0
- plumed/_lib/include/plumed/asmjit/x86assembler.h +125 -0
- plumed/_lib/include/plumed/asmjit/x86builder.h +117 -0
- plumed/_lib/include/plumed/asmjit/x86compiler.h +322 -0
- plumed/_lib/include/plumed/asmjit/x86emitter.h +5149 -0
- plumed/_lib/include/plumed/asmjit/x86globals.h +535 -0
- plumed/_lib/include/plumed/asmjit/x86inst.h +2547 -0
- plumed/_lib/include/plumed/asmjit/x86instimpl_p.h +74 -0
- plumed/_lib/include/plumed/asmjit/x86internal_p.h +108 -0
- plumed/_lib/include/plumed/asmjit/x86logging_p.h +92 -0
- plumed/_lib/include/plumed/asmjit/x86misc.h +417 -0
- plumed/_lib/include/plumed/asmjit/x86operand.h +1133 -0
- plumed/_lib/include/plumed/asmjit/x86regalloc_p.h +734 -0
- plumed/_lib/include/plumed/asmjit/zone.h +1157 -0
- plumed/_lib/include/plumed/bias/Bias.h +82 -0
- plumed/_lib/include/plumed/bias/ReweightBase.h +58 -0
- plumed/_lib/include/plumed/blas/blas.h +253 -0
- plumed/_lib/include/plumed/blas/def_external.h +61 -0
- plumed/_lib/include/plumed/blas/def_internal.h +97 -0
- plumed/_lib/include/plumed/blas/real.h +49 -0
- plumed/_lib/include/plumed/cltools/CLTool.h +32 -0
- plumed/_lib/include/plumed/clusters/ClusteringBase.h +70 -0
- plumed/_lib/include/plumed/colvar/Colvar.h +32 -0
- plumed/_lib/include/plumed/colvar/ColvarInput.h +68 -0
- plumed/_lib/include/plumed/colvar/ColvarShortcut.h +81 -0
- plumed/_lib/include/plumed/colvar/CoordinationBase.h +52 -0
- plumed/_lib/include/plumed/colvar/MultiColvarTemplate.h +333 -0
- plumed/_lib/include/plumed/colvar/PathMSDBase.h +101 -0
- plumed/_lib/include/plumed/colvar/RMSDVector.h +78 -0
- plumed/_lib/include/plumed/config/Config.h +118 -0
- plumed/_lib/include/plumed/config/version.h +9 -0
- plumed/_lib/include/plumed/contour/ContourFindingObject.h +87 -0
- plumed/_lib/include/plumed/contour/DistanceFromContourBase.h +82 -0
- plumed/_lib/include/plumed/contour/FindContour.h +67 -0
- plumed/_lib/include/plumed/core/Action.h +540 -0
- plumed/_lib/include/plumed/core/ActionAnyorder.h +48 -0
- plumed/_lib/include/plumed/core/ActionAtomistic.h +343 -0
- plumed/_lib/include/plumed/core/ActionForInterface.h +99 -0
- plumed/_lib/include/plumed/core/ActionPilot.h +57 -0
- plumed/_lib/include/plumed/core/ActionRegister.h +124 -0
- plumed/_lib/include/plumed/core/ActionSet.h +163 -0
- plumed/_lib/include/plumed/core/ActionSetup.h +48 -0
- plumed/_lib/include/plumed/core/ActionShortcut.h +73 -0
- plumed/_lib/include/plumed/core/ActionToGetData.h +59 -0
- plumed/_lib/include/plumed/core/ActionToPutData.h +101 -0
- plumed/_lib/include/plumed/core/ActionWithArguments.h +140 -0
- plumed/_lib/include/plumed/core/ActionWithMatrix.h +87 -0
- plumed/_lib/include/plumed/core/ActionWithValue.h +258 -0
- plumed/_lib/include/plumed/core/ActionWithVector.h +94 -0
- plumed/_lib/include/plumed/core/ActionWithVirtualAtom.h +123 -0
- plumed/_lib/include/plumed/core/CLTool.h +177 -0
- plumed/_lib/include/plumed/core/CLToolMain.h +102 -0
- plumed/_lib/include/plumed/core/CLToolRegister.h +108 -0
- plumed/_lib/include/plumed/core/Colvar.h +115 -0
- plumed/_lib/include/plumed/core/DataPassingObject.h +94 -0
- plumed/_lib/include/plumed/core/DataPassingTools.h +54 -0
- plumed/_lib/include/plumed/core/DomainDecomposition.h +120 -0
- plumed/_lib/include/plumed/core/ExchangePatterns.h +47 -0
- plumed/_lib/include/plumed/core/FlexibleBin.h +63 -0
- plumed/_lib/include/plumed/core/GREX.h +61 -0
- plumed/_lib/include/plumed/core/GenericMolInfo.h +89 -0
- plumed/_lib/include/plumed/core/Group.h +41 -0
- plumed/_lib/include/plumed/core/ModuleMap.h +30 -0
- plumed/_lib/include/plumed/core/ParallelTaskManager.h +1023 -0
- plumed/_lib/include/plumed/core/PbcAction.h +61 -0
- plumed/_lib/include/plumed/core/PlumedMain.h +632 -0
- plumed/_lib/include/plumed/core/PlumedMainInitializer.h +118 -0
- plumed/_lib/include/plumed/core/RegisterBase.h +340 -0
- plumed/_lib/include/plumed/core/TargetDist.h +48 -0
- plumed/_lib/include/plumed/core/Value.h +547 -0
- plumed/_lib/include/plumed/core/WithCmd.h +93 -0
- plumed/_lib/include/plumed/dimred/SMACOF.h +55 -0
- plumed/_lib/include/plumed/drr/DRR.h +383 -0
- plumed/_lib/include/plumed/drr/colvar_UIestimator.h +777 -0
- plumed/_lib/include/plumed/fisst/legendre_rule_fast.h +44 -0
- plumed/_lib/include/plumed/function/Custom.h +54 -0
- plumed/_lib/include/plumed/function/Function.h +85 -0
- plumed/_lib/include/plumed/function/FunctionOfMatrix.h +368 -0
- plumed/_lib/include/plumed/function/FunctionOfScalar.h +135 -0
- plumed/_lib/include/plumed/function/FunctionOfVector.h +296 -0
- plumed/_lib/include/plumed/function/FunctionSetup.h +180 -0
- plumed/_lib/include/plumed/function/FunctionShortcut.h +130 -0
- plumed/_lib/include/plumed/function/FunctionWithSingleArgument.h +165 -0
- plumed/_lib/include/plumed/gridtools/ActionWithGrid.h +43 -0
- plumed/_lib/include/plumed/gridtools/EvaluateGridFunction.h +99 -0
- plumed/_lib/include/plumed/gridtools/FunctionOfGrid.h +295 -0
- plumed/_lib/include/plumed/gridtools/GridCoordinatesObject.h +179 -0
- plumed/_lib/include/plumed/gridtools/GridSearch.h +135 -0
- plumed/_lib/include/plumed/gridtools/Interpolator.h +45 -0
- plumed/_lib/include/plumed/gridtools/KDE.h +455 -0
- plumed/_lib/include/plumed/gridtools/RDF.h +40 -0
- plumed/_lib/include/plumed/gridtools/SumOfKernels.h +219 -0
- plumed/_lib/include/plumed/isdb/MetainferenceBase.h +398 -0
- plumed/_lib/include/plumed/lapack/def_external.h +207 -0
- plumed/_lib/include/plumed/lapack/def_internal.h +388 -0
- plumed/_lib/include/plumed/lapack/lapack.h +899 -0
- plumed/_lib/include/plumed/lapack/lapack_limits.h +79 -0
- plumed/_lib/include/plumed/lapack/real.h +50 -0
- plumed/_lib/include/plumed/lepton/CompiledExpression.h +164 -0
- plumed/_lib/include/plumed/lepton/CustomFunction.h +143 -0
- plumed/_lib/include/plumed/lepton/Exception.h +93 -0
- plumed/_lib/include/plumed/lepton/ExpressionProgram.h +137 -0
- plumed/_lib/include/plumed/lepton/ExpressionTreeNode.h +145 -0
- plumed/_lib/include/plumed/lepton/Lepton.h +85 -0
- plumed/_lib/include/plumed/lepton/MSVC_erfc.h +123 -0
- plumed/_lib/include/plumed/lepton/Operation.h +1302 -0
- plumed/_lib/include/plumed/lepton/ParsedExpression.h +165 -0
- plumed/_lib/include/plumed/lepton/Parser.h +111 -0
- plumed/_lib/include/plumed/lepton/windowsIncludes.h +73 -0
- plumed/_lib/include/plumed/mapping/Path.h +44 -0
- plumed/_lib/include/plumed/mapping/PathProjectionCalculator.h +57 -0
- plumed/_lib/include/plumed/matrixtools/MatrixOperationBase.h +54 -0
- plumed/_lib/include/plumed/matrixtools/MatrixTimesMatrix.h +309 -0
- plumed/_lib/include/plumed/matrixtools/MatrixTimesVectorBase.h +365 -0
- plumed/_lib/include/plumed/matrixtools/OuterProduct.h +238 -0
- plumed/_lib/include/plumed/maze/Core.h +65 -0
- plumed/_lib/include/plumed/maze/Loss.h +86 -0
- plumed/_lib/include/plumed/maze/Member.h +66 -0
- plumed/_lib/include/plumed/maze/Memetic.h +799 -0
- plumed/_lib/include/plumed/maze/Optimizer.h +357 -0
- plumed/_lib/include/plumed/maze/Random_MT.h +156 -0
- plumed/_lib/include/plumed/maze/Tools.h +183 -0
- plumed/_lib/include/plumed/metatomic/vesin.h +188 -0
- plumed/_lib/include/plumed/molfile/Gromacs.h +2013 -0
- plumed/_lib/include/plumed/molfile/endianswap.h +217 -0
- plumed/_lib/include/plumed/molfile/fastio.h +683 -0
- plumed/_lib/include/plumed/molfile/largefiles.h +78 -0
- plumed/_lib/include/plumed/molfile/libmolfile_plugin.h +77 -0
- plumed/_lib/include/plumed/molfile/molfile_plugin.h +1034 -0
- plumed/_lib/include/plumed/molfile/periodic_table.h +248 -0
- plumed/_lib/include/plumed/molfile/readpdb.h +447 -0
- plumed/_lib/include/plumed/molfile/vmdplugin.h +236 -0
- plumed/_lib/include/plumed/multicolvar/MultiColvarShortcuts.h +45 -0
- plumed/_lib/include/plumed/opes/ExpansionCVs.h +79 -0
- plumed/_lib/include/plumed/sasa/Sasa.h +32 -0
- plumed/_lib/include/plumed/secondarystructure/SecondaryStructureBase.h +372 -0
- plumed/_lib/include/plumed/setup/ActionSetup.h +25 -0
- plumed/_lib/include/plumed/small_vector/small_vector.h +6114 -0
- plumed/_lib/include/plumed/symfunc/CoordinationNumbers.h +41 -0
- plumed/_lib/include/plumed/tools/Angle.h +52 -0
- plumed/_lib/include/plumed/tools/AtomDistribution.h +138 -0
- plumed/_lib/include/plumed/tools/AtomNumber.h +152 -0
- plumed/_lib/include/plumed/tools/BiasRepresentation.h +106 -0
- plumed/_lib/include/plumed/tools/BitmaskEnum.h +167 -0
- plumed/_lib/include/plumed/tools/Brent1DRootSearch.h +159 -0
- plumed/_lib/include/plumed/tools/CheckInRange.h +44 -0
- plumed/_lib/include/plumed/tools/Citations.h +74 -0
- plumed/_lib/include/plumed/tools/ColvarOutput.h +118 -0
- plumed/_lib/include/plumed/tools/Communicator.h +316 -0
- plumed/_lib/include/plumed/tools/ConjugateGradient.h +80 -0
- plumed/_lib/include/plumed/tools/DLLoader.h +79 -0
- plumed/_lib/include/plumed/tools/ERMSD.h +73 -0
- plumed/_lib/include/plumed/tools/Exception.h +406 -0
- plumed/_lib/include/plumed/tools/File.h +28 -0
- plumed/_lib/include/plumed/tools/FileBase.h +153 -0
- plumed/_lib/include/plumed/tools/FileTools.h +37 -0
- plumed/_lib/include/plumed/tools/ForwardDecl.h +54 -0
- plumed/_lib/include/plumed/tools/Grid.h +638 -0
- plumed/_lib/include/plumed/tools/HistogramBead.h +136 -0
- plumed/_lib/include/plumed/tools/IFile.h +117 -0
- plumed/_lib/include/plumed/tools/KernelFunctions.h +113 -0
- plumed/_lib/include/plumed/tools/Keywords.h +380 -0
- plumed/_lib/include/plumed/tools/LatticeReduction.h +66 -0
- plumed/_lib/include/plumed/tools/LeptonCall.h +64 -0
- plumed/_lib/include/plumed/tools/LinkCells.h +126 -0
- plumed/_lib/include/plumed/tools/Log.h +41 -0
- plumed/_lib/include/plumed/tools/LoopUnroller.h +163 -0
- plumed/_lib/include/plumed/tools/Matrix.h +721 -0
- plumed/_lib/include/plumed/tools/MatrixSquareBracketsAccess.h +138 -0
- plumed/_lib/include/plumed/tools/MergeVectorTools.h +153 -0
- plumed/_lib/include/plumed/tools/Minimise1DBrent.h +244 -0
- plumed/_lib/include/plumed/tools/MinimiseBase.h +120 -0
- plumed/_lib/include/plumed/tools/MolDataClass.h +51 -0
- plumed/_lib/include/plumed/tools/NeighborList.h +112 -0
- plumed/_lib/include/plumed/tools/OFile.h +286 -0
- plumed/_lib/include/plumed/tools/OpenACC.h +180 -0
- plumed/_lib/include/plumed/tools/OpenMP.h +75 -0
- plumed/_lib/include/plumed/tools/PDB.h +154 -0
- plumed/_lib/include/plumed/tools/Pbc.h +139 -0
- plumed/_lib/include/plumed/tools/PlumedHandle.h +105 -0
- plumed/_lib/include/plumed/tools/RMSD.h +493 -0
- plumed/_lib/include/plumed/tools/Random.h +80 -0
- plumed/_lib/include/plumed/tools/RootFindingBase.h +79 -0
- plumed/_lib/include/plumed/tools/Stopwatch.h +475 -0
- plumed/_lib/include/plumed/tools/Subprocess.h +142 -0
- plumed/_lib/include/plumed/tools/SwitchingFunction.h +208 -0
- plumed/_lib/include/plumed/tools/Tensor.h +724 -0
- plumed/_lib/include/plumed/tools/TokenizedLine.h +123 -0
- plumed/_lib/include/plumed/tools/Tools.h +638 -0
- plumed/_lib/include/plumed/tools/Torsion.h +55 -0
- plumed/_lib/include/plumed/tools/TrajectoryParser.h +118 -0
- plumed/_lib/include/plumed/tools/Tree.h +61 -0
- plumed/_lib/include/plumed/tools/TypesafePtr.h +463 -0
- plumed/_lib/include/plumed/tools/Units.h +167 -0
- plumed/_lib/include/plumed/tools/Vector.h +433 -0
- plumed/_lib/include/plumed/tools/View.h +296 -0
- plumed/_lib/include/plumed/tools/View2D.h +100 -0
- plumed/_lib/include/plumed/tools/h36.h +39 -0
- plumed/_lib/include/plumed/vatom/ActionWithVirtualAtom.h +32 -0
- plumed/_lib/include/plumed/ves/BasisFunctions.h +380 -0
- plumed/_lib/include/plumed/ves/CoeffsBase.h +310 -0
- plumed/_lib/include/plumed/ves/CoeffsMatrix.h +220 -0
- plumed/_lib/include/plumed/ves/CoeffsVector.h +251 -0
- plumed/_lib/include/plumed/ves/FermiSwitchingFunction.h +74 -0
- plumed/_lib/include/plumed/ves/GridIntegrationWeights.h +50 -0
- plumed/_lib/include/plumed/ves/GridLinearInterpolation.h +81 -0
- plumed/_lib/include/plumed/ves/GridProjWeights.h +61 -0
- plumed/_lib/include/plumed/ves/LinearBasisSetExpansion.h +303 -0
- plumed/_lib/include/plumed/ves/Optimizer.h +444 -0
- plumed/_lib/include/plumed/ves/TargetDistModifer.h +53 -0
- plumed/_lib/include/plumed/ves/TargetDistribution.h +266 -0
- plumed/_lib/include/plumed/ves/VesBias.h +545 -0
- plumed/_lib/include/plumed/ves/VesTools.h +142 -0
- plumed/_lib/include/plumed/ves/WaveletGrid.h +75 -0
- plumed/_lib/include/plumed/volumes/ActionVolume.h +268 -0
- plumed/_lib/include/plumed/volumes/VolumeShortcut.h +147 -0
- plumed/_lib/include/plumed/wrapper/Plumed.h +5025 -0
- plumed/_lib/include/plumed/xdrfile/xdrfile.h +663 -0
- plumed/_lib/include/plumed/xdrfile/xdrfile_trr.h +89 -0
- plumed/_lib/include/plumed/xdrfile/xdrfile_xtc.h +90 -0
- plumed/_lib/lib/PythonCVInterface.dylib +0 -0
- plumed/_lib/lib/libplumed.dylib +0 -0
- plumed/_lib/lib/libplumedKernel.dylib +0 -0
- plumed/_lib/lib/libplumedWrapper.a +0 -0
- plumed/_lib/lib/pkgconfig/plumed.pc +13 -0
- plumed/_lib/lib/pkgconfig/plumedInternals.pc +13 -0
- plumed/_lib/lib/pkgconfig/plumedWrapper.pc +13 -0
- plumed/_lib/lib/plumed/fortran/plumed.f90 +879 -0
- plumed/_lib/lib/plumed/fortran/plumed_f08.f90 +2625 -0
- plumed/_lib/lib/plumed/modulefile +69 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.config +43 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/CMakeLists.txt +543 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/CMakeLists.txt.preplumed +540 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.cpp +1628 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1590 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.h +103 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/expanded.h.preplumed +99 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/sim_util.cpp +2527 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2513 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.h +408 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +394 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/md.cpp +2348 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/md.cpp.preplumed +2091 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/minimize.cpp +3573 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3495 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.cpp +1506 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1402 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/rerun.cpp +997 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/rerun.cpp.preplumed +906 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/runner.cpp +2780 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/mdrun/runner.cpp.preplumed +2738 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
- plumed/_lib/lib/plumed/patches/gromacs-2022.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.config +43 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/CMakeLists.txt +549 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/CMakeLists.txt.preplumed +546 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.cpp +1632 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1594 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.h +104 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/expanded.h.preplumed +100 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/sim_util.cpp +2624 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2610 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.h +409 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +395 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/md.cpp +2419 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/md.cpp.preplumed +2164 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/minimize.cpp +3546 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3468 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.cpp +1513 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1409 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/rerun.cpp +991 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/rerun.cpp.preplumed +900 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/runner.cpp +2895 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/mdrun/runner.cpp.preplumed +2849 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/decidegpuusage.cpp +886 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/decidegpuusage.cpp.preplumed +880 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h +347 -0
- plumed/_lib/lib/plumed/patches/gromacs-2023.5.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h.preplumed +345 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.config +43 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/CMakeLists.txt +575 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/CMakeLists.txt.preplumed +572 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.cpp +1632 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.cpp.preplumed +1594 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.h +104 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/expanded.h.preplumed +100 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/sim_util.cpp +2564 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdlib/sim_util.cpp.preplumed +2550 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.cpp +208 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.cpp.preplumed +175 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.h +410 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/legacymdrunoptions.h.preplumed +396 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/md.cpp +2435 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/md.cpp.preplumed +2187 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/minimize.cpp +3592 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/minimize.cpp.preplumed +3514 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.cpp +1513 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.cpp.preplumed +1409 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.h +114 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/replicaexchange.h.preplumed +106 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/rerun.cpp +958 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/rerun.cpp.preplumed +929 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/runner.cpp +2987 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/mdrun/runner.cpp.preplumed +2941 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp +224 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/modularsimulator/expandedensembleelement.cpp.preplumed +222 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/decidegpuusage.cpp +904 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/decidegpuusage.cpp.preplumed +898 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h +353 -0
- plumed/_lib/lib/plumed/patches/gromacs-2024.3.diff/src/gromacs/taskassignment/include/gromacs/taskassignment/decidegpuusage.h.preplumed +351 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.config +39 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/cmake/gmxManagePlumed.cmake +82 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/cmake/gmxManagePlumed.cmake.preplumed +82 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedMDModule.cpp +162 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedMDModule.cpp.preplumed +154 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.cpp +107 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.cpp.preplumed +99 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.h +120 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedOptions.h.preplumed +111 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.cpp +215 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.cpp.preplumed +197 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.h +87 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/applied_forces/plumed/plumedforceprovider.h.preplumed +86 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrun/runner.cpp +2971 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrun/runner.cpp.preplumed +2970 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h +430 -0
- plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h.preplumed +429 -0
- plumed/_lib/lib/plumed/patches/namd-2.12.config +30 -0
- plumed/_lib/lib/plumed/patches/namd-2.12.diff +267 -0
- plumed/_lib/lib/plumed/patches/namd-2.13.config +30 -0
- plumed/_lib/lib/plumed/patches/namd-2.13.diff +267 -0
- plumed/_lib/lib/plumed/patches/namd-2.14.config +30 -0
- plumed/_lib/lib/plumed/patches/namd-2.14.diff +268 -0
- plumed/_lib/lib/plumed/patches/patch.sh +500 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.config +25 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/forces.f90 +368 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/forces.f90.preplumed +366 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_forces.f90 +71 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_forces.f90.preplumed +24 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_initialization.f90 +62 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/pwscf.f90 +189 -0
- plumed/_lib/lib/plumed/patches/qespresso-5.0.2.diff/PW/src/pwscf.f90.preplumed +185 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.config +26 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/forces.f90 +422 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/forces.f90.preplumed +420 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_ext_forces.f90 +70 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_initialization.f90 +62 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/run_pwscf.f90 +233 -0
- plumed/_lib/lib/plumed/patches/qespresso-6.2.diff/PW/src/run_pwscf.f90.preplumed +230 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.config +28 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/Modules/Makefile +175 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/Modules/Makefile.preplumed +171 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/forces.f90 +486 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/forces.f90.preplumed +484 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_ext_forces.f90 +74 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_initialization.f90 +64 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/run_pwscf.f90 +532 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.0.diff/PW/src/run_pwscf.f90.preplumed +518 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.config +28 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/Modules/Makefile +249 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/Modules/Makefile.preplumed +244 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/forces.f90 +532 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/forces.f90.preplumed +535 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_ext_forces.f90 +74 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_ext_forces.f90.preplumed +23 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_initialization.f90 +64 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/plugin_initialization.f90.preplumed +21 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/run_pwscf.f90 +569 -0
- plumed/_lib/lib/plumed/patches/qespresso-7.2.diff/PW/src/run_pwscf.f90.preplumed +560 -0
- plumed/_lib/lib/plumed/plumed-config +9 -0
- plumed/_lib/lib/plumed/plumed-mklib +9 -0
- plumed/_lib/lib/plumed/plumed-newcv +9 -0
- plumed/_lib/lib/plumed/plumed-partial_tempering +9 -0
- plumed/_lib/lib/plumed/plumed-patch +9 -0
- plumed/_lib/lib/plumed/plumed-runtime +0 -0
- plumed/_lib/lib/plumed/plumed-selector +9 -0
- plumed/_lib/lib/plumed/plumed-vim2html +9 -0
- plumed/_lib/lib/plumed/scripts/config.sh +126 -0
- plumed/_lib/lib/plumed/scripts/mklib.sh +175 -0
- plumed/_lib/lib/plumed/scripts/newcv.sh +26 -0
- plumed/_lib/lib/plumed/scripts/partial_tempering.sh +319 -0
- plumed/_lib/lib/plumed/scripts/patch.sh +4 -0
- plumed/_lib/lib/plumed/scripts/selector.sh +234 -0
- plumed/_lib/lib/plumed/scripts/vim2html.sh +190 -0
- plumed/_lib/lib/plumed/src/colvar/Template.cpp +116 -0
- plumed/_lib/lib/plumed/src/config/compile_options.sh +3 -0
- plumed/_lib/lib/plumed/src/config/config.txt +181 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.cmake +6 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.cmake.runtime +5 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.cmake.shared +5 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.cmake.static +3 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.inc +6 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.inc.runtime +5 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.inc.shared +5 -0
- plumed/_lib/lib/plumed/src/lib/Plumed.inc.static +3 -0
- plumed/_lib/lib/plumed/vim/scripts.vim +6 -0
- plumed/_plumed_core.cpython-311-darwin.so +0 -0
- plumed/_plumed_core.cpython-312-darwin.so +0 -0
- plumed/_plumed_core.cpython-313-darwin.so +0 -0
- plumed/_plumed_core.cpython-314-darwin.so +0 -0
- plumedCommunications.cpython-311-darwin.so +0 -0
- plumedCommunications.cpython-312-darwin.so +0 -0
- plumedCommunications.cpython-313-darwin.so +0 -0
- plumedCommunications.cpython-314-darwin.so +0 -0
- plumedCommunications.pyi +431 -0
plumed/_lib/lib/plumed/patches/gromacs-2025.0.diff/src/gromacs/mdrunutility/mdmodulesnotifiers.h
ADDED
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the GROMACS molecular simulation package.
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2019- The GROMACS Authors
|
|
5
|
+
* and the project initiators Erik Lindahl, Berk Hess and David van der Spoel.
|
|
6
|
+
* Consult the AUTHORS/COPYING files and https://www.gromacs.org for details.
|
|
7
|
+
*
|
|
8
|
+
* GROMACS is free software; you can redistribute it and/or
|
|
9
|
+
* modify it under the terms of the GNU Lesser General Public License
|
|
10
|
+
* as published by the Free Software Foundation; either version 2.1
|
|
11
|
+
* of the License, or (at your option) any later version.
|
|
12
|
+
*
|
|
13
|
+
* GROMACS is distributed in the hope that it will be useful,
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
16
|
+
* Lesser General Public License for more details.
|
|
17
|
+
*
|
|
18
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
19
|
+
* License along with GROMACS; if not, see
|
|
20
|
+
* https://www.gnu.org/licenses, or write to the Free Software Foundation,
|
|
21
|
+
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
22
|
+
*
|
|
23
|
+
* If you want to redistribute modifications to GROMACS, please
|
|
24
|
+
* consider that scientific software is very special. Version
|
|
25
|
+
* control is crucial - bugs must be traceable. We will be happy to
|
|
26
|
+
* consider code for inclusion in the official distribution, but
|
|
27
|
+
* derived work must not be called official GROMACS. Details are found
|
|
28
|
+
* in the README & COPYING files - if they are missing, get the
|
|
29
|
+
* official version at https://www.gromacs.org.
|
|
30
|
+
*
|
|
31
|
+
* To help us fund GROMACS development, we humbly ask that you cite
|
|
32
|
+
* the research papers on the package. Check out https://www.gromacs.org.
|
|
33
|
+
*/
|
|
34
|
+
/*! \libinternal \file
|
|
35
|
+
* \brief
|
|
36
|
+
* Declares gmx::MDModulesNotifiers.
|
|
37
|
+
*
|
|
38
|
+
* \author Christian Blau <blau@kth.se>
|
|
39
|
+
* \inlibraryapi
|
|
40
|
+
* \ingroup module_mdrunutility
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
#ifndef GMX_MDRUNUTILITY_MDMODULESNOTIFIERS_H
|
|
44
|
+
#define GMX_MDRUNUTILITY_MDMODULESNOTIFIERS_H
|
|
45
|
+
|
|
46
|
+
#include <cstdint>
|
|
47
|
+
|
|
48
|
+
#include <optional>
|
|
49
|
+
#include <string>
|
|
50
|
+
#include <vector>
|
|
51
|
+
|
|
52
|
+
#include "gromacs/math/arrayrefwithpadding.h"
|
|
53
|
+
#include "gromacs/math/matrix.h"
|
|
54
|
+
#include "gromacs/math/vectypes.h"
|
|
55
|
+
#include "gromacs/mdrunutility/mdmodulesnotifier.h"
|
|
56
|
+
#include "gromacs/utility/arrayref.h"
|
|
57
|
+
#include "gromacs/utility/real.h"
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
struct t_commrec;
|
|
61
|
+
struct gmx_mtop_t;
|
|
62
|
+
class WarningHandler;
|
|
63
|
+
enum class PbcType : int;
|
|
64
|
+
struct t_inputrec;
|
|
65
|
+
struct gmx_multisim_t;
|
|
66
|
+
|
|
67
|
+
namespace gmx
|
|
68
|
+
{
|
|
69
|
+
|
|
70
|
+
class KeyValueTreeObject;
|
|
71
|
+
class KeyValueTreeObjectBuilder;
|
|
72
|
+
class LocalAtomSetManager;
|
|
73
|
+
class MDLogger;
|
|
74
|
+
class IndexGroupsAndNames;
|
|
75
|
+
class SeparatePmeRanksPermitted;
|
|
76
|
+
struct MDModulesCheckpointReadingDataOnMain;
|
|
77
|
+
struct MDModulesCheckpointReadingBroadcast;
|
|
78
|
+
struct MDModulesWriteCheckpointData;
|
|
79
|
+
enum class StartingBehavior;
|
|
80
|
+
|
|
81
|
+
/*! \libinternal \brief Notification that atoms may have been redistributed
|
|
82
|
+
*
|
|
83
|
+
* This notification is emitted at the end of the DD (re)partitioning
|
|
84
|
+
* or without DD right after atoms have put into the box.
|
|
85
|
+
* The local atom sets are updated for the new atom order when this signal is emitted.
|
|
86
|
+
* The coordinates of atoms can be shifted by periodic vectors
|
|
87
|
+
* before the signal was emitted.
|
|
88
|
+
*/
|
|
89
|
+
struct MDModulesAtomsRedistributedSignal
|
|
90
|
+
{
|
|
91
|
+
MDModulesAtomsRedistributedSignal(const matrix box, gmx::ArrayRef<const RVec> x) :
|
|
92
|
+
box_(createMatrix3x3FromLegacyMatrix(box)), x_(x)
|
|
93
|
+
{
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//! The simulation unit cell
|
|
97
|
+
const Matrix3x3 box_;
|
|
98
|
+
//! List of local atom coordinates after partitioning
|
|
99
|
+
gmx::ArrayRef<const RVec> x_;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/*! \libinternal \brief Check if module outputs energy to a specific field.
|
|
103
|
+
*
|
|
104
|
+
* Ensures that energy is output for this module.
|
|
105
|
+
*/
|
|
106
|
+
struct MDModulesEnergyOutputToDensityFittingRequestChecker
|
|
107
|
+
{
|
|
108
|
+
//! Trigger output to density fitting energy field
|
|
109
|
+
bool energyOutputToDensityFitting_ = false;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/*! \libinternal \brief Check if QMMM module outputs energy to a specific field.
|
|
113
|
+
*
|
|
114
|
+
* Ensures that energy is output for QMMM module.
|
|
115
|
+
*/
|
|
116
|
+
struct MDModulesEnergyOutputToQMMMRequestChecker
|
|
117
|
+
{
|
|
118
|
+
//! Trigger output to QMMM energy field
|
|
119
|
+
bool energyOutputToQMMM_ = false;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/*! \libinternal \brief Check if NNPot module outputs energy to a specific field.
|
|
123
|
+
*
|
|
124
|
+
* Ensures that energy is output for NNPot module.
|
|
125
|
+
*/
|
|
126
|
+
struct MDModulesEnergyOutputToNNPotRequestChecker
|
|
127
|
+
{
|
|
128
|
+
//! Trigger output to NNPot energy field
|
|
129
|
+
bool energyOutputToNNPot_ = false;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
/*! \libinternal
|
|
133
|
+
* \brief Collect errors for the energy calculation frequency.
|
|
134
|
+
*
|
|
135
|
+
* Collect errors regarding energy calculation frequencies as strings that then
|
|
136
|
+
* may be used to issue errors.
|
|
137
|
+
*
|
|
138
|
+
* \note The mdp option "nstcalcenergy" is altered after reading the .mdp input
|
|
139
|
+
* and only used in certain integrators, thus this class is to be used
|
|
140
|
+
* only after all these operations are done.
|
|
141
|
+
*/
|
|
142
|
+
class EnergyCalculationFrequencyErrors
|
|
143
|
+
{
|
|
144
|
+
public:
|
|
145
|
+
//! Construct by setting the energy calculation frequency
|
|
146
|
+
EnergyCalculationFrequencyErrors(int64_t energyCalculationIntervalInSteps);
|
|
147
|
+
//! Return the number of steps of an energy calculation interval
|
|
148
|
+
std::int64_t energyCalculationIntervalInSteps() const;
|
|
149
|
+
//! Collect error messages
|
|
150
|
+
void addError(const std::string& errorMessage);
|
|
151
|
+
//! Return error messages
|
|
152
|
+
const std::vector<std::string>& errorMessages() const;
|
|
153
|
+
|
|
154
|
+
private:
|
|
155
|
+
//! The frequency of energy calculations
|
|
156
|
+
const std::int64_t energyCalculationIntervalInSteps_;
|
|
157
|
+
//! The error messages
|
|
158
|
+
std::vector<std::string> errorMessages_;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/*! \libinternal \brief Provides the simulation time step in ps.
|
|
162
|
+
*/
|
|
163
|
+
struct SimulationTimeStep
|
|
164
|
+
{
|
|
165
|
+
//! Time step (ps)
|
|
166
|
+
const double delta_t;
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/*! \libinternal \brief Provides coordinates and simulation box.
|
|
170
|
+
*/
|
|
171
|
+
struct CoordinatesAndBoxPreprocessed
|
|
172
|
+
{
|
|
173
|
+
ArrayRefWithPadding<RVec> coordinates_;
|
|
174
|
+
matrix box_;
|
|
175
|
+
PbcType pbc_;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
/*! \libinternal \brief Mdrun input filename.
|
|
179
|
+
*/
|
|
180
|
+
struct MdRunInputFilename
|
|
181
|
+
{
|
|
182
|
+
//! The name of the run input file (.tpr) as output by grompp
|
|
183
|
+
std::string mdRunFilename_;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
/*! \libinternal \brief Energy trajectory output filename from Mdrun.
|
|
187
|
+
*/
|
|
188
|
+
struct EdrOutputFilename
|
|
189
|
+
{
|
|
190
|
+
//! The name of energy output file
|
|
191
|
+
std::string edrOutputFilename_;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
/*! \libinternal \brief Notification for QM program input filename
|
|
195
|
+
* provided by user as command-line argument for grompp
|
|
196
|
+
*/
|
|
197
|
+
struct QMInputFileName
|
|
198
|
+
{
|
|
199
|
+
//! Flag if QM Input File has been provided by user
|
|
200
|
+
bool hasQMInputFileName_ = false;
|
|
201
|
+
//! The name of the QM Input file (.inp)
|
|
202
|
+
std::string qmInputFileName_;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/*! \libinternal \brief Notification for the optianal plumed input filename
|
|
206
|
+
* provided by user as command-line argument for mdrun
|
|
207
|
+
*/
|
|
208
|
+
struct PlumedInputFilename
|
|
209
|
+
{
|
|
210
|
+
//! The name of plumed input file, empty by default
|
|
211
|
+
std::optional<std::string> plumedFilename_{};
|
|
212
|
+
bool replex_{};
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
/*! \libinternal \brief Provides the constant ensemble temperature
|
|
216
|
+
*/
|
|
217
|
+
struct EnsembleTemperature
|
|
218
|
+
{
|
|
219
|
+
/*! \libinternal
|
|
220
|
+
* \brief Check whether the constant ensemble temperature is available.
|
|
221
|
+
* Then, store the value as optional.
|
|
222
|
+
*/
|
|
223
|
+
explicit EnsembleTemperature(const t_inputrec& ir);
|
|
224
|
+
//! The constant ensemble temperature
|
|
225
|
+
std::optional<real> constantEnsembleTemperature_;
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
/*! \libinternal
|
|
229
|
+
* \brief Group of notifers to organize that MDModules
|
|
230
|
+
* can receive callbacks they subscribe to.
|
|
231
|
+
*
|
|
232
|
+
* MDModules use members of this struct to subscribe to notifications
|
|
233
|
+
* of particular events. When the event occurs, the callback provided
|
|
234
|
+
* by a particular MDModule will be passed a parameter of the
|
|
235
|
+
* particular type they are interested in.
|
|
236
|
+
*
|
|
237
|
+
* Typically, during the setup phase, modules subscribe to notifiers
|
|
238
|
+
* that interest them by passing callbacks that expect a single parameter
|
|
239
|
+
* that describes the event. These are stored for later use. See the
|
|
240
|
+
* sequence diagram that follows:
|
|
241
|
+
\msc
|
|
242
|
+
wordwraparcs=true,
|
|
243
|
+
hscale="2";
|
|
244
|
+
|
|
245
|
+
modules [label = "mdModules:\nMDModules"],
|
|
246
|
+
notifiers [label="notifiers\nMDModulesNotifiers"],
|
|
247
|
+
notifier [label="exampleNotifier:\nBuildMDModulesNotifier\n<EventX, EventY>::type"],
|
|
248
|
+
moduleA [label="moduleA"],
|
|
249
|
+
moduleB [label="moduleB"],
|
|
250
|
+
moduleC [label="moduleC"];
|
|
251
|
+
|
|
252
|
+
modules box moduleC [label = "mdModules creates and owns moduleA, moduleB, and moduleC"];
|
|
253
|
+
modules =>> notifiers [label="creates"];
|
|
254
|
+
notifiers =>> notifier [label="creates"];
|
|
255
|
+
notifier =>> notifiers [label="returns"];
|
|
256
|
+
notifiers =>> modules [label="returns"];
|
|
257
|
+
|
|
258
|
+
modules =>> moduleA [label="provides notifiers"];
|
|
259
|
+
moduleA =>> moduleA [label="unpacks\nnotifiers.exampleNotifier"];
|
|
260
|
+
moduleA =>> notifier [label="subscribes with\ncallback(EventX&)"];
|
|
261
|
+
notifier =>> notifier [label="records subscription\nto EventX"];
|
|
262
|
+
moduleA =>> notifier [label="subscribes with\ncallback(EventY&)"];
|
|
263
|
+
notifier =>> notifier [label="records subscription\nto EventY"];
|
|
264
|
+
moduleA =>> modules [label="returns"];
|
|
265
|
+
|
|
266
|
+
modules =>> moduleB [label="provides notifiers"];
|
|
267
|
+
moduleB =>> moduleB [label="unpacks\nnotifiers.exampleNotifier"];
|
|
268
|
+
moduleA =>> notifier [label="subscribes with\ncallback(EventY&)"];
|
|
269
|
+
notifier =>> notifier [label="records subscription\nto EventY"];
|
|
270
|
+
moduleB =>> modules [label="returns"];
|
|
271
|
+
|
|
272
|
+
modules =>> moduleC [label="provides notifiers"];
|
|
273
|
+
moduleC =>> moduleC [label="unpacks and keeps\nnotifiers.exampleNotifier"];
|
|
274
|
+
moduleC =>> modules [label="returns"];
|
|
275
|
+
|
|
276
|
+
\endmsc
|
|
277
|
+
|
|
278
|
+
* When the event occurs later on, the stored callbacks are used to
|
|
279
|
+
* allow the modules to react. See the following sequence diagram,
|
|
280
|
+
* which assumes that exampleNotifier was configured as in the
|
|
281
|
+
* previous sequence diagram.
|
|
282
|
+
|
|
283
|
+
\msc
|
|
284
|
+
wordwraparcs=true,
|
|
285
|
+
hscale="2";
|
|
286
|
+
|
|
287
|
+
moduleC [label="moduleC"],
|
|
288
|
+
notifier [label="exampleNotifier:\nBuildMDModulesNotifier\n<EventX, EventY>::type"],
|
|
289
|
+
moduleA [label="moduleA"],
|
|
290
|
+
moduleB [label="moduleB"];
|
|
291
|
+
|
|
292
|
+
moduleC box moduleB [label = "Later, when ModuleC is doing work"];
|
|
293
|
+
moduleC =>> moduleC [label="generates EventX"];
|
|
294
|
+
moduleC =>> moduleC [label="generates EventY"];
|
|
295
|
+
moduleC =>> notifier [label="calls notify(eventX)"];
|
|
296
|
+
notifier =>> moduleA [label="calls callback(eventX)"];
|
|
297
|
+
moduleA =>> moduleA [label="reacts to eventX"];
|
|
298
|
+
moduleA =>> notifier [label="returns"];
|
|
299
|
+
|
|
300
|
+
notifier =>> moduleC [label="returns"];
|
|
301
|
+
moduleC =>> notifier [label="calls notify(eventY)"];
|
|
302
|
+
notifier =>> moduleA [label="calls callback(eventY)"];
|
|
303
|
+
moduleA =>> moduleA [label="reacts to eventY"];
|
|
304
|
+
moduleA =>> notifier [label="returns"];
|
|
305
|
+
notifier =>> moduleB [label="calls callback(eventY)"];
|
|
306
|
+
moduleB =>> moduleB [label="reacts to eventY"];
|
|
307
|
+
moduleB =>> notifier [label="returns"];
|
|
308
|
+
notifier =>> moduleC [label="returns"];
|
|
309
|
+
\endmsc
|
|
310
|
+
*
|
|
311
|
+
* The template arguments to the members of this struct are the
|
|
312
|
+
* parameters passed to the callback functions, one type per
|
|
313
|
+
* callback. Arguments passed as pointers are always meant to be
|
|
314
|
+
* modified, but never meant to be stored (in line with the policy
|
|
315
|
+
* everywhere else).
|
|
316
|
+
*
|
|
317
|
+
*/
|
|
318
|
+
struct MDModulesNotifiers
|
|
319
|
+
{
|
|
320
|
+
/*! \brief Pre-processing callback functions.
|
|
321
|
+
*
|
|
322
|
+
* \tparam CoordinatesAndBoxPreprocessed
|
|
323
|
+
* Allows modules to access coordinates,
|
|
324
|
+
* box and PBC during grompp
|
|
325
|
+
* \tparam MDLogger Allows MdModule to use standard logging class for
|
|
326
|
+
* output of messages
|
|
327
|
+
* \tparam warninp* Allows modules to make grompp warnings, notes and errors
|
|
328
|
+
* \tparam EnergyCalculationFrequencyErrors*
|
|
329
|
+
* Allows modules to check if they match their required calculation
|
|
330
|
+
* frequency and add their error message if needed to the
|
|
331
|
+
* collected error messages
|
|
332
|
+
* \tparam gmx_mtop_t* Allows modules to modify the topology during pre-processing
|
|
333
|
+
* \tparam IndexGroupsAndNames Provides modules with atom indices and their names
|
|
334
|
+
* \tparam KeyValueTreeObjectBuilder
|
|
335
|
+
* Enables writing of module internal data to .tpr files.
|
|
336
|
+
* \tparam QMInputFileName Allows the QMMM module to know if the user has provided
|
|
337
|
+
* an external QM input file
|
|
338
|
+
* \tparam EnsembleTemperature Provides modules with the constant ensemble temperature.
|
|
339
|
+
*/
|
|
340
|
+
BuildMDModulesNotifier<const CoordinatesAndBoxPreprocessed&,
|
|
341
|
+
const MDLogger&,
|
|
342
|
+
WarningHandler*,
|
|
343
|
+
EnergyCalculationFrequencyErrors*,
|
|
344
|
+
gmx_mtop_t*,
|
|
345
|
+
const IndexGroupsAndNames&,
|
|
346
|
+
KeyValueTreeObjectBuilder,
|
|
347
|
+
const QMInputFileName&,
|
|
348
|
+
const EnsembleTemperature&>::type preProcessingNotifier_;
|
|
349
|
+
|
|
350
|
+
/*! \brief Handles subscribing and calling checkpointing callback functions.
|
|
351
|
+
*
|
|
352
|
+
* \tparam MDModulesCheckpointReadingDataOnMain
|
|
353
|
+
* Provides modules with their checkpointed data
|
|
354
|
+
* on the main node and checkpoint file version
|
|
355
|
+
* \tparam MDModulesCheckpointReadingBroadcast
|
|
356
|
+
* Provides modules with a communicator and the
|
|
357
|
+
* checkpoint file version to distribute their data
|
|
358
|
+
* \tparam MDModulesWriteCheckpointData
|
|
359
|
+
* Provides the modules with a key-value-tree
|
|
360
|
+
* builder to store their checkpoint data and
|
|
361
|
+
* the checkpoint file version
|
|
362
|
+
*/
|
|
363
|
+
BuildMDModulesNotifier<MDModulesCheckpointReadingDataOnMain, MDModulesCheckpointReadingBroadcast, MDModulesWriteCheckpointData>::type
|
|
364
|
+
checkpointingNotifier_;
|
|
365
|
+
|
|
366
|
+
/*! \brief Handles subscribing and calling callbacks during simulation setup.
|
|
367
|
+
*
|
|
368
|
+
* \tparam KeyValueTreeObject& Provides modules with the internal data they
|
|
369
|
+
* wrote to .tpr files
|
|
370
|
+
* \tparam LocalAtomSetManager* Enables modules to add atom indices to local atom sets
|
|
371
|
+
* to be managed
|
|
372
|
+
* \tparam StartingBehavio& Provides modules with the starting behavior of the simulation
|
|
373
|
+
* \tparam MDLogger& Allows MdModule to use standard logging class for messages
|
|
374
|
+
* output
|
|
375
|
+
* \tparam gmx_mtop_t& Provides the topology of the system to the modules
|
|
376
|
+
* \tparam MDModulesEnergyOutputToDensityFittingRequestChecker*
|
|
377
|
+
* Enables modules to report if they want to write their
|
|
378
|
+
* energy output to the density fitting field in the energy files
|
|
379
|
+
* \tparam MDModulesEnergyOutputToQMMMRequestChecker*
|
|
380
|
+
* Enables QMMM module to report if it wants to write its energy
|
|
381
|
+
* output to the "Quantum En." field in the energy files
|
|
382
|
+
* \tparam MDModulesEnergyOutputToNNPotRequestChecker*
|
|
383
|
+
* Enables NNPot module to report if it wants to write its energy
|
|
384
|
+
* output to the "NN Potential" field in the energy files
|
|
385
|
+
* \tparam SeparatePmeRanksPermitted*
|
|
386
|
+
* Enables modules to report if they want to disable dedicated
|
|
387
|
+
* PME ranks
|
|
388
|
+
* \tparam PbcType& Provides modules with the periodic boundary condition type
|
|
389
|
+
* that is used during the simulation
|
|
390
|
+
* \tparam SimulationTimeStep& Provides modules with the simulation time-step that allows
|
|
391
|
+
* them to interconvert between step and time information
|
|
392
|
+
* \tparam EnsembleTemperature& Provides modules with the (eventual) constant ensemble
|
|
393
|
+
* temperature
|
|
394
|
+
* \tparam t_commrec& Provides a communicator to the modules during simulation
|
|
395
|
+
* setup
|
|
396
|
+
*
|
|
397
|
+
* \tparam gmx_multisim_t& Shares the multisim struct with the modules
|
|
398
|
+
* Subscribing to this notifier will sync checkpointing
|
|
399
|
+
* of simulations and will cause simulations to stop,
|
|
400
|
+
* due to signals or exceededing maximum time, at the same step.
|
|
401
|
+
* This ensures that the output and checkpoints of ensemble
|
|
402
|
+
* simulations are consistent and that ensemble simulations
|
|
403
|
+
* can be continued.
|
|
404
|
+
* \tparam MdRunInputFilename& Allows modules to know .tpr filename during mdrun
|
|
405
|
+
* \tparam EdrOutputFilename& Allows modules to know .edr filename during mdrun
|
|
406
|
+
* \tparam PlumedInputFilename& Allows modules to know the optional .dat filename to be read by plumed
|
|
407
|
+
*/
|
|
408
|
+
BuildMDModulesNotifier<const KeyValueTreeObject&,
|
|
409
|
+
LocalAtomSetManager*,
|
|
410
|
+
const StartingBehavior&,
|
|
411
|
+
const MDLogger&,
|
|
412
|
+
const gmx_mtop_t&,
|
|
413
|
+
const MDModulesAtomsRedistributedSignal,
|
|
414
|
+
MDModulesEnergyOutputToDensityFittingRequestChecker*,
|
|
415
|
+
MDModulesEnergyOutputToQMMMRequestChecker*,
|
|
416
|
+
MDModulesEnergyOutputToNNPotRequestChecker*,
|
|
417
|
+
SeparatePmeRanksPermitted*,
|
|
418
|
+
const PbcType&,
|
|
419
|
+
const SimulationTimeStep&,
|
|
420
|
+
const EnsembleTemperature&,
|
|
421
|
+
const t_commrec&,
|
|
422
|
+
const gmx_multisim_t*,
|
|
423
|
+
const MdRunInputFilename&,
|
|
424
|
+
const EdrOutputFilename&,
|
|
425
|
+
const PlumedInputFilename&>::type simulationSetupNotifier_;
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
} // namespace gmx
|
|
429
|
+
|
|
430
|
+
#endif
|