Skip to content

Conversation

@nherringer
Copy link

Description

I created a module called pines which I would like to add to plumed. The pines method determines a permutationally invariant vector representation of the system which can be used to discover permutationally invariant CVs as shown in my publication here: https://pubs.acs.org/doi/abs/10.1021/acs.jctc.3c00923

Target release

I would like my code to appear in the most recent release (2.10.0 I believe)

Type of contribution
  • changes to code or doc authored by PLUMED developers, or additions of code in the core or within the default modules
  • changes to a module not authored by you
  • new module contribution or edit of a module authored by you
Copyright
  • the module I added or modified contains a COPYRIGHT file with the correct license information. Code should be released under an open source license. I also used the command cd src && ./header.sh mymodulename in order to make sure the headers of the module are correct.
Tests
  • I added a new regtest or modified an existing regtest to validate my changes.
  • I verified that all regtests are passed successfully on GitHub Actions.

@Iximiel
Copy link
Member

Iximiel commented Nov 17, 2025

Hi!
Thanks for the contribution!

Since you are proposing this in master it will be included in the new version that is v2.11

If you do not mind I would suggest a few things:

  • The src/pines directory is lacking the "standard module" Makefile, this should be the problem that it is currently blocking the CI

  • Since the code of PINES is providing a new functionality as single action and not as a library, it is better if you maintain the convention of putting al the code in the .cpp file of the module.

  • In void PINES::resizeAllContainers(int N) with resize(N,value) the manual says "additional copies of value are appended", so .resize(N,0) DOES NOT reset your vector. If you want to reset the vector there use assign. I know you are calling it only in the ctor, but better safe than sorry.

These following are more opinionated:

  • You make a heavy use of std::pair, I would suggest you to make them a named struct or aliasing them by using the using keyword (this second option will only end in an optional change of the functions signatures), this usually removes the necessity of remembering to close n template brackets each time you declare a variable.
  • you are using a few std::vector<std::vector<thing>>: in some cases, when the size of the second dimension is known and does not depend on the input, you can change the variables to std::vector<std::array<thing, fixed-Size>>, and you will save some time: you will get an array that is memory aligned during the execution and you can avoid looping over the first dimension to resize the second dimension (and you can exploit the signature of .assign(newDim,{a,b,c})) during the initialization

nherringer added 2 commits November 18, 2025 17:56
…eplaced instances of std::vector<std::vector<thing>> with std::vector<std::array<thing, fixed-Size>> where appropriate.
@nherringer
Copy link
Author

Thanks for the detailed review!
The inline comment threads disappeared after my force-push, so I’m responding here.
I’ve made the requested changes (added Makefile, moved header content to the .cpp file, updated resize/assign usage, replaced nested vectors with fixed-size arrays), please let me know if you'd like anything further updated.

Copy link
Member

@Iximiel Iximiel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did another quick read of the code, there are some point I do not understand and I pointed at them.

There are some errors that I not underlined in this review, that you might catch when you try to compile with pines locally. Those errors are the same points in which the CI is stopping right now.
Please run also make astyle

src/README Outdated
@@ -1,5 +1,5 @@
This directory contains many subdirectories

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not see the point of adding a space here

!/README
!/COPYRIGHT
!/module.type
!/postprocessing
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are not pushing any postprocessing file

Comment on lines 20 to 25
- python >=3.7,<3.11
- pip
- cython
run:
- plumed
- python
- python >=3.7,<3.11
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why these modifications?

nherringer and others added 11 commits November 21, 2025 17:05
Co-authored-by: Daniele <Iximiel@users.noreply.github.com>
Co-authored-by: Daniele <Iximiel@users.noreply.github.com>
/Library/Developer/CommandLineTools/usr/bin/make -C build/gcc
g++ -s -o bin/astyle obj/astyle_main.o obj/ASBeautifier.o obj/ASFormatter.o obj/ASEnhancer.o obj/ASLocalizer.o obj/ASResource.o

ln -fs build/gcc/bin/astyle .
/Library/Developer/CommandLineTools/usr/bin/make -C src astyle
/Library/Developer/CommandLineTools/usr/bin/make -C ../astyle
/Library/Developer/CommandLineTools/usr/bin/make -C build/gcc
g++ -s -o bin/astyle obj/astyle_main.o obj/ASBeautifier.o obj/ASFormatter.o obj/ASEnhancer.o obj/ASLocalizer.o obj/ASResource.o

ln -fs build/gcc/bin/astyle .
./astyle.sh

astyle AdjacencyMatrixBase.cpp
astyle Bridge.cpp
astyle BridgeMatrix.cpp
astyle ContactMatrix.cpp
astyle ContactMatrixShortcut.cpp
astyle DistanceMatrix.cpp
astyle HbondMatrix.cpp
astyle Neighbors.cpp
astyle TopologyMatrix.cpp
astyle TorsionsMatrix.cpp
astyle AdjacencyMatrixBase.h
astyle ContactMatrix.h
/Users/nherringer/GitHub/plumed2/src
astyle ANN.cpp
/Users/nherringer/GitHub/plumed2/src
astyle ABMD.cpp
astyle Bias.cpp
astyle BiasValue.cpp
astyle ExtendedLagrangian.cpp
astyle External.cpp
astyle LWalls.cpp
astyle MaxEnt.cpp
astyle MetaD.cpp
astyle MovingRestraint.cpp
astyle PBMetaD.cpp
astyle Restraint.cpp
astyle RestraintShortcut.cpp
astyle ReweightBase.cpp
astyle ReweightBias.cpp
astyle ReweightMetad.cpp
astyle ReweightTemperaturePressure.cpp
astyle UWalls.cpp
astyle Walls.cpp
astyle Bias.h
astyle ReweightBase.h
/Users/nherringer/GitHub/plumed2/src
astyle Benchmark.cpp
astyle CLTool.cpp
astyle Completion.cpp
astyle Driver.cpp
astyle DriverDouble.cpp
astyle DriverFloat.cpp
astyle GenExample.cpp
astyle GenJson.cpp
astyle GenTemplate.cpp
astyle Info.cpp
astyle kT.cpp
astyle Manual.cpp
astyle PdbRenumber.cpp
astyle pesmd.cpp
astyle ShowGraph.cpp
astyle SimpleMD.cpp
astyle SumHills.cpp
astyle SwitchingPlotter.cpp
astyle CLTool.h
/Users/nherringer/GitHub/plumed2/src
astyle ClusterDiameter.cpp
astyle ClusterDistribution.cpp
astyle ClusteringBase.cpp
astyle ClusterNatoms.cpp
astyle ClusterProperties.cpp
astyle ClusterWeights.cpp
astyle ClusterWithSurface.cpp
astyle DFSClustering.cpp
astyle OutputCluster.cpp
astyle ClusteringBase.h
/Users/nherringer/GitHub/plumed2/src
astyle Angle.cpp
astyle Cell.cpp
astyle Colvar.cpp
astyle ColvarInput.cpp
astyle ColvarShortcut.cpp
astyle ContactMap.cpp
astyle Coordination.cpp
astyle CoordinationBase.cpp
astyle DHEnergy.cpp
astyle DihedralCorrelation.cpp
astyle Dimer.cpp
astyle Dipole.cpp
astyle Distance.cpp
astyle DRMSD.cpp
astyle EEFSolv.cpp
astyle Energy.cpp
astyle ERMSD.cpp
astyle ExtraCV.cpp
astyle Fake.cpp
astyle GHBFIX.cpp
astyle Gyration.cpp
astyle GyrationShortcut.cpp
astyle MultiColvarTemplate.cpp
astyle MultiRMSD.cpp
astyle PathMSD.cpp
astyle PathMSDBase.cpp
astyle PCARMSD.cpp
astyle Plane.cpp
astyle Position.cpp
astyle ProjectionOnAxis.cpp
astyle PropertyMap.cpp
astyle Puckering.cpp
astyle RMSD.cpp
astyle RMSDShortcut.cpp
astyle RMSDVector.cpp
astyle SelectMassCharge.cpp
astyle Template.cpp
astyle Torsion.cpp
astyle Volume.cpp
astyle Colvar.h
astyle ColvarInput.h
astyle ColvarShortcut.h
astyle CoordinationBase.h
astyle MultiColvarTemplate.h
astyle PathMSDBase.h
astyle RMSDVector.h
/Users/nherringer/GitHub/plumed2/src
astyle Config.cpp
astyle ConfigInstall.cpp
astyle Config.h
astyle Config.inc.in
/Users/nherringer/GitHub/plumed2/src
astyle ContourFindingObject.cpp
astyle DistanceFromContour.cpp
astyle DistanceFromContourBase.cpp
astyle DistanceFromSphericalContour.cpp
astyle DumpContour.cpp
astyle FindContour.cpp
astyle FindContourSurface.cpp
astyle FindSphericalContour.cpp
astyle ContourFindingObject.h
astyle DistanceFromContourBase.h
astyle FindContour.h
/Users/nherringer/GitHub/plumed2/src
astyle Action.cpp
astyle ActionAnyorder.cpp
astyle ActionAtomistic.cpp
astyle ActionForInterface.cpp
astyle ActionPilot.cpp
astyle ActionRegister.cpp
astyle ActionSet.cpp
astyle ActionSetup.cpp
astyle ActionShortcut.cpp
astyle ActionToGetData.cpp
astyle ActionToPutData.cpp
astyle ActionWithArguments.cpp
astyle ActionWithMatrix.cpp
astyle ActionWithValue.cpp
astyle ActionWithVector.cpp
astyle ActionWithVirtualAtom.cpp
astyle CLTool.cpp
astyle CLToolMain.cpp
astyle CLToolRegister.cpp
astyle Colvar.cpp
astyle DataPassingObject.cpp
astyle DataPassingTools.cpp
astyle DomainDecomposition.cpp
astyle ExchangePatterns.cpp
astyle FlexibleBin.cpp
astyle GenericMolInfo.cpp
astyle GREX.cpp
astyle Group.cpp
astyle ModuleMap.cpp
astyle ParallelTaskManager.cpp
astyle PbcAction.cpp
astyle PlumedMain.cpp
astyle PlumedMainInitializer.cpp
astyle RegisterBase.cpp
astyle TargetDist.cpp
astyle Value.cpp
astyle WithCmd.cpp
astyle Action.h
astyle ActionAnyorder.h
astyle ActionAtomistic.h
astyle ActionForInterface.h
astyle ActionPilot.h
astyle ActionRegister.h
astyle ActionSet.h
astyle ActionSetup.h
astyle ActionShortcut.h
astyle ActionToGetData.h
astyle ActionToPutData.h
astyle ActionWithArguments.h
astyle ActionWithMatrix.h
astyle ActionWithValue.h
astyle ActionWithVector.h
astyle ActionWithVirtualAtom.h
astyle CLTool.h
astyle CLToolMain.h
astyle CLToolRegister.h
astyle Colvar.h
astyle DataPassingObject.h
astyle DataPassingTools.h
astyle DomainDecomposition.h
astyle ExchangePatterns.h
astyle FlexibleBin.h
astyle GenericMolInfo.h
astyle GREX.h
astyle Group.h
astyle ModuleMap.h
astyle ParallelTaskManager.h
astyle PbcAction.h
astyle PlumedMain.h
astyle PlumedMainInitializer.h
astyle RegisterBase.h
astyle TargetDist.h
astyle Value.h
astyle WithCmd.h
/Users/nherringer/GitHub/plumed2/src
astyle BopsShortcut.cpp
astyle DopsShortcut.cpp
astyle Quaternion.cpp
astyle QuaternionBondProductMatrix.cpp
astyle QuaternionProductMatrix.cpp
astyle RopsShortcut.cpp
/Users/nherringer/GitHub/plumed2/src
astyle ArrangePoints.cpp
astyle ClassicalMultiDimensionalScaling.cpp
astyle PCA.cpp
astyle ProjectPoints.cpp
astyle SketchMap.cpp
astyle SketchMapProjection.cpp
astyle SMACOF.cpp
astyle SMACOF.h
/Users/nherringer/GitHub/plumed2/src
astyle colvar_UIestimator.cpp
astyle DRR.cpp
astyle drrtool.cpp
astyle DynamicReferenceRestraining.cpp
astyle colvar_UIestimator.h
astyle DRR.h
/Users/nherringer/GitHub/plumed2/src
astyle EDS.cpp
/Users/nherringer/GitHub/plumed2/src
astyle EnvironmentSimilarity.cpp
/Users/nherringer/GitHub/plumed2/src
astyle FISST.cpp
astyle legendre_rule_fast.cpp
astyle legendre_rule_fast.h
/Users/nherringer/GitHub/plumed2/src
astyle FourierTransform.cpp
/Users/nherringer/GitHub/plumed2/src
astyle Bessel.cpp
astyle Between.cpp
astyle Combine.cpp
astyle Custom.cpp
astyle Ensemble.cpp
astyle FuncPathGeneral.cpp
astyle FuncPathMSD.cpp
astyle FuncSumHills.cpp
astyle Function.cpp
astyle FunctionOfMatrix.cpp
astyle FunctionOfScalar.cpp
astyle FunctionOfVector.cpp
astyle FunctionSetup.cpp
astyle FunctionShortcut.cpp
astyle FunctionWithSingleArgument.cpp
astyle Highest.cpp
astyle LessThan.cpp
astyle LocalEnsemble.cpp
astyle Moments.cpp
astyle MoreThan.cpp
astyle Piecewise.cpp
astyle Product.cpp
astyle Sort.cpp
astyle SortWithSingleArgument.cpp
astyle Stats.cpp
astyle Sum.cpp
astyle Custom.h
astyle Function.h
astyle FunctionOfMatrix.h
astyle FunctionOfScalar.h
astyle FunctionOfVector.h
astyle FunctionSetup.h
astyle FunctionShortcut.h
astyle FunctionWithSingleArgument.h
/Users/nherringer/GitHub/plumed2/src
astyle FPS.cpp
astyle Funnel.cpp
/Users/nherringer/GitHub/plumed2/src
astyle Accumulate.cpp
astyle Average.cpp
astyle Collect.cpp
astyle Committor.cpp
astyle Constant.cpp
astyle CreateMask.cpp
astyle Debug.cpp
astyle DumpAtoms.cpp
astyle DumpDerivatives.cpp
astyle DumpForces.cpp
astyle DumpMassCharge.cpp
astyle DumpPDB.cpp
astyle DumpProjections.cpp
astyle DumpVector.cpp
astyle EffectiveEnergyDrift.cpp
astyle EndPlumed.cpp
astyle FitToTemplate.cpp
astyle Flush.cpp
astyle GatherReplicas.cpp
astyle Include.cpp
astyle MassChargeInput.cpp
astyle MolInfo.cpp
astyle Ones.cpp
astyle PDB2Constant.cpp
astyle Plumed.cpp
astyle Print.cpp
astyle PrintNDX.cpp
astyle RandomExchanges.cpp
astyle Read.cpp
astyle ResetCell.cpp
astyle Time.cpp
astyle UpdateIf.cpp
astyle WholeMolecules.cpp
astyle WrapAround.cpp
/Users/nherringer/GitHub/plumed2/src
astyle ActionWithGrid.cpp
astyle ConvertToFES.cpp
astyle DumpGrid.cpp
astyle EvaluateFunctionOnGrid.cpp
astyle EvaluateGridFunction.cpp
astyle FindGridOptimum.cpp
astyle FunctionOfGrid.cpp
astyle GetGridVolumeElement.cpp
astyle Gradient.cpp
astyle GridCoordinatesObject.cpp
astyle GridSearch.cpp
astyle Histogram.cpp
astyle IntegrateGrid.cpp
astyle InterpolateGrid.cpp
astyle Interpolator.cpp
astyle KDE.cpp
astyle KLEntropy.cpp
astyle Marginal.cpp
astyle MultiColvarDensity.cpp
astyle PairEntropy.cpp
astyle RDF.cpp
astyle ReadGridInSetup.cpp
astyle SumOfKernels.cpp
astyle ActionWithGrid.h
astyle EvaluateGridFunction.h
astyle FunctionOfGrid.h
astyle GridCoordinatesObject.h
astyle GridSearch.h
astyle Interpolator.h
astyle KDE.h
astyle RDF.h
astyle SumOfKernels.h
/Users/nherringer/GitHub/plumed2/src
/Users/nherringer/GitHub/plumed2/src
astyle bAIes.cpp
astyle Caliber.cpp
astyle CS2Backbone.cpp
astyle EMMI.cpp
astyle EMMIVox.cpp
astyle FretEfficiency.cpp
astyle Jcoupling.cpp
astyle Metainference.cpp
astyle MetainferenceBase.cpp
astyle NOE.cpp
astyle PRE.cpp
astyle RDC.cpp
astyle Rescale.cpp
astyle SAXS.cpp
astyle Select.cpp
astyle Selector.cpp
astyle Shadow.cpp
astyle MetainferenceBase.h
/Users/nherringer/GitHub/plumed2/src
astyle CollectFrames.cpp
astyle FarthestPointSampling.cpp
astyle LandmarkSelection.cpp
astyle LogSumExp.cpp
/Users/nherringer/GitHub/plumed2/src
/Users/nherringer/GitHub/plumed2/src
astyle FerroNematicOrder.cpp
astyle NematicOrder.cpp
/Users/nherringer/GitHub/plumed2/src
astyle LogMFD.cpp
/Users/nherringer/GitHub/plumed2/src
astyle main.cpp
/Users/nherringer/GitHub/plumed2/src
/Users/nherringer/GitHub/plumed2/src
astyle AdaptivePath.cpp
astyle GeometricPath.cpp
astyle GeometricPathShortcut.cpp
astyle Path.cpp
astyle PathDisplacements.cpp
astyle PathProjectionCalculator.cpp
astyle PathReparameterization.cpp
astyle PathTools.cpp
astyle PCAVars.cpp
astyle Path.h
astyle PathProjectionCalculator.h
/Users/nherringer/GitHub/plumed2/src
astyle CovarianceMatrix.cpp
astyle Determinent.cpp
astyle DiagonalizeMatrix.cpp
astyle InvertMatrix.cpp
astyle MatrixOperationBase.cpp
astyle MatrixTimesMatrix.cpp
astyle MatrixTimesVector.cpp
astyle MatrixTimesVectorBase.cpp
astyle OuterProduct.cpp
astyle TransposeMatrix.cpp
astyle Voronoi.cpp
astyle MatrixOperationBase.h
astyle MatrixTimesMatrix.h
astyle MatrixTimesVectorBase.h
astyle OuterProduct.h
/Users/nherringer/GitHub/plumed2/src
astyle Core.cpp
astyle Loss.cpp
astyle Member.cpp
astyle Memetic.cpp
astyle Optimizer_Bias.cpp
astyle Optimizer.cpp
astyle Random_Acceleration_MD.cpp
astyle Random_MT.cpp
astyle Random_Walk.cpp
astyle Simulated_Annealing.cpp
astyle Steered_MD.cpp
astyle Tools.cpp
astyle Core.h
astyle Loss.h
astyle Member.h
astyle Memetic.h
astyle Optimizer.h
astyle Random_MT.h
astyle Tools.h
/Users/nherringer/GitHub/plumed2/src
astyle FusionPoreExpansionP.cpp
astyle FusionPoreNucleationP.cpp
astyle MemFusionP.cpp
/Users/nherringer/GitHub/plumed2/src
astyle metatomic.cpp
astyle vesin.cpp
astyle vesin.h
/Users/nherringer/GitHub/plumed2/src
astyle AlphaBeta.cpp
astyle Angles.cpp
astyle CoordAngles.cpp
astyle Dihcor.cpp
astyle Distances.cpp
astyle DumpMultiColvar.cpp
astyle InPlaneDistances.cpp
astyle MFilterLess.cpp
astyle MFilterMore.cpp
astyle MultiColvarShortcuts.cpp
astyle Planes.cpp
astyle Torsions.cpp
astyle UWalls.cpp
astyle XAngle.cpp
astyle XYTorsions.cpp
astyle MultiColvarShortcuts.h
/Users/nherringer/GitHub/plumed2/src
astyle ECVcustom.cpp
astyle ECVlinear.cpp
astyle ECVmultiThermal.cpp
astyle ECVmultiThermalBaric.cpp
astyle ECVumbrellasFile.cpp
astyle ECVumbrellasLine.cpp
astyle ExpansionCVs.cpp
astyle OPESexpanded.cpp
astyle OPESmetad.cpp
astyle ExpansionCVs.h
/Users/nherringer/GitHub/plumed2/src
astyle HBPammMatrix.cpp
astyle PAMM.cpp
/Users/nherringer/GitHub/plumed2/src
astyle PINES.cpp
/Users/nherringer/GitHub/plumed2/src
astyle PIV.cpp
/Users/nherringer/GitHub/plumed2/src
astyle PytorchModel.cpp
/Users/nherringer/GitHub/plumed2/src
astyle Difference.cpp
astyle Displacement.cpp
astyle EuclideanDistance.cpp
astyle Kernel.cpp
astyle MahalanobisDistance.cpp
astyle MatrixProductDiagonal.cpp
astyle NormalizedEuclideanDistance.cpp
/Users/nherringer/GitHub/plumed2/src
astyle S2ContactModel.cpp
/Users/nherringer/GitHub/plumed2/src
astyle sasa_HASEL.cpp
astyle sasa_LCPO.cpp
astyle Sasa.cpp
astyle Sasa.h
/Users/nherringer/GitHub/plumed2/src
astyle AlphaRMSD.cpp
astyle AntibetaRMSD.cpp
astyle ParabetaRMSD.cpp
astyle SecondaryStructureBase.cpp
astyle SecondaryStructureDRMSD.cpp
astyle SecondaryStructureRMSD.cpp
astyle SecondaryStructureBase.h
/Users/nherringer/GitHub/plumed2/src
astyle Load.cpp
astyle Restart.cpp
astyle Units.cpp
astyle ActionSetup.h
/Users/nherringer/GitHub/plumed2/src
astyle mahadist.cpp
astyle pos_proj.cpp
/Users/nherringer/GitHub/plumed2/src
astyle small_vector.cpp
astyle small_vector.h
/Users/nherringer/GitHub/plumed2/src
astyle Sprint.cpp
/Users/nherringer/GitHub/plumed2/src
astyle AngularTetra.cpp
astyle AtomicSMAC.cpp
astyle CoordinationNumbers.cpp
astyle CoordShellVectorFunction.cpp
astyle CylindricalHarmonic.cpp
astyle Fccubic.cpp
astyle HexaticParameter.cpp
astyle LocalAverage.cpp
astyle LocalCrystalinity.cpp
astyle LocalSteinhardt.cpp
astyle RadialTetra.cpp
astyle SMAC.cpp
astyle SphericalHarmonic.cpp
astyle Steinhardt.cpp
astyle ThreeBodyGFunctions.cpp
astyle CoordinationNumbers.h
/Users/nherringer/GitHub/plumed2/src
astyle Angle.cpp
astyle AtomDistribution.cpp
astyle AtomNumber.cpp
astyle BiasRepresentation.cpp
astyle BitmaskEnum.cpp
astyle Brent1DRootSearch.cpp
astyle CheckInRange.cpp
astyle Citations.cpp
astyle ColvarOutput.cpp
astyle Communicator.cpp
astyle ConjugateGradient.cpp
astyle DLLoader.cpp
astyle ERMSD.cpp
astyle Exception.cpp
astyle FileBase.cpp
astyle FileTools.cpp
astyle ForwardDecl.cpp
astyle Grid.cpp
astyle h36.cpp
astyle HistogramBead.cpp
astyle IFile.cpp
astyle KernelFunctions.cpp
astyle Keywords.cpp
astyle LatticeReduction.cpp
astyle LeptonCall.cpp
astyle LinkCells.cpp
astyle Log.cpp
astyle LoopUnroller.cpp
astyle Matrix.cpp
astyle MatrixSquareBracketsAccess.cpp
astyle MergeVectorTools.cpp
astyle Minimise1DBrent.cpp
astyle MinimiseBase.cpp
astyle MolDataClass.cpp
astyle NeighborList.cpp
astyle OFile.cpp
astyle OpenACC.cpp
astyle OpenMP.cpp
astyle Pbc.cpp
astyle PDB.cpp
astyle PlumedHandle.cpp
astyle Random.cpp
astyle RMSD.cpp
astyle RootFindingBase.cpp
astyle Stopwatch.cpp
astyle Subprocess.cpp
astyle SwitchingFunction.cpp
astyle Tensor.cpp
astyle TokenizedLine.cpp
astyle Tools.cpp
astyle Torsion.cpp
astyle TrajectoryParser.cpp
astyle Tree.cpp
astyle TypesafePtr.cpp
astyle Units.cpp
astyle Vector.cpp
astyle View.cpp
astyle View2D.cpp
astyle Angle.h
astyle AtomDistribution.h
astyle AtomNumber.h
astyle BiasRepresentation.h
astyle BitmaskEnum.h
astyle Brent1DRootSearch.h
astyle CheckInRange.h
astyle Citations.h
astyle ColvarOutput.h
astyle Communicator.h
astyle ConjugateGradient.h
astyle DLLoader.h
astyle ERMSD.h
astyle Exception.h
astyle File.h
astyle FileBase.h
astyle FileTools.h
astyle ForwardDecl.h
astyle Grid.h
astyle h36.h
astyle HistogramBead.h
astyle IFile.h
astyle KernelFunctions.h
astyle Keywords.h
astyle LatticeReduction.h
astyle LeptonCall.h
astyle LinkCells.h
astyle Log.h
astyle LoopUnroller.h
astyle Matrix.h
astyle MatrixSquareBracketsAccess.h
astyle MergeVectorTools.h
astyle Minimise1DBrent.h
astyle MinimiseBase.h
astyle MolDataClass.h
astyle NeighborList.h
astyle OFile.h
astyle OpenACC.h
astyle OpenMP.h
astyle Pbc.h
astyle PDB.h
astyle PlumedHandle.h
astyle Random.h
astyle RMSD.h
astyle RootFindingBase.h
astyle Stopwatch.h
astyle Subprocess.h
astyle SwitchingFunction.h
astyle Tensor.h
astyle TokenizedLine.h
astyle Tools.h
astyle Torsion.h
astyle TrajectoryParser.h
astyle Tree.h
astyle TypesafePtr.h
astyle Units.h
astyle Vector.h
astyle View.h
astyle View2D.h
/Users/nherringer/GitHub/plumed2/src
astyle Concatenate.cpp
astyle Flatten.cpp
astyle SelectComponents.cpp
astyle SelectWithMask.cpp
astyle VStack.cpp
/Users/nherringer/GitHub/plumed2/src
astyle ActionWithVirtualAtom.cpp
astyle ArgsToVatom.cpp
astyle Center.cpp
astyle CenterShortcut.cpp
astyle FixedAtom.cpp
astyle Ghost.cpp
astyle ActionWithVirtualAtom.h
/Users/nherringer/GitHub/plumed2/src
astyle BasisFunctions.cpp
astyle BF_Chebyshev.cpp
astyle BF_Combined.cpp
astyle BF_Cosine.cpp
astyle BF_CubicBsplines.cpp
astyle BF_Custom.cpp
astyle BF_Fourier.cpp
astyle BF_Gaussians.cpp
astyle BF_Legendre.cpp
astyle BF_Powers.cpp
astyle BF_Sine.cpp
astyle BF_Wavelets.cpp
astyle CoeffsBase.cpp
astyle CoeffsMatrix.cpp
astyle CoeffsVector.cpp
astyle FermiSwitchingFunction.cpp
astyle GridIntegrationWeights.cpp
astyle GridLinearInterpolation.cpp
astyle GridProjWeights.cpp
astyle LinearBasisSetExpansion.cpp
astyle MD_LinearExpansionPES.cpp
astyle Opt_Adam.cpp
astyle Opt_BachAveragedSGD.cpp
astyle Opt_Dummy.cpp
astyle Opt_RobbinsMonroSGD.cpp
astyle Optimizer.cpp
astyle OutputBasisFunctions.cpp
astyle OutputFesBias.cpp
astyle OutputTargetDistribution.cpp
astyle TargetDistModifer.cpp
astyle TargetDistribution.cpp
astyle TD_Chi.cpp
astyle TD_ChiSquared.cpp
astyle TD_Custom.cpp
astyle TD_Exponential.cpp
astyle TD_ExponentiallyModifiedGaussian.cpp
astyle TD_Gaussian.cpp
astyle TD_GeneralizedExtremeValue.cpp
astyle TD_GeneralizedNormal.cpp
astyle TD_Grid.cpp
astyle TD_LinearCombination.cpp
astyle TD_Multicanonical.cpp
astyle TD_MultithermalMultibaric.cpp
astyle TD_ProductCombination.cpp
astyle TD_ProductDistribution.cpp
astyle TD_Uniform.cpp
astyle TD_VonMises.cpp
astyle TD_WellTempered.cpp
astyle VesBias.cpp
astyle VesDeltaF.cpp
astyle VesLinearExpansion.cpp
astyle VesTools.cpp
astyle WaveletCoeffs.cpp
astyle WaveletGrid.cpp
astyle BasisFunctions.h
astyle CoeffsBase.h
astyle CoeffsMatrix.h
astyle CoeffsVector.h
astyle FermiSwitchingFunction.h
astyle GridIntegrationWeights.h
astyle GridLinearInterpolation.h
astyle GridProjWeights.h
astyle LinearBasisSetExpansion.h
astyle Optimizer.h
astyle TargetDistModifer.h
astyle TargetDistribution.h
astyle VesBias.h
astyle VesTools.h
astyle WaveletGrid.h
/Users/nherringer/GitHub/plumed2/src
astyle ActionVolume.cpp
astyle Density.cpp
astyle VolumeAround.cpp
astyle VolumeBetweenContours.cpp
astyle VolumeCavity.cpp
astyle VolumeInCylinder.cpp
astyle VolumeInSphere.cpp
astyle VolumeShortcut.cpp
astyle VolumeTetrapore.cpp
astyle ActionVolume.h
astyle VolumeShortcut.h
/Users/nherringer/GitHub/plumed2/src
astyle Wham.cpp
astyle WhamHistogram.cpp
astyle WhamWeights.cpp
/Users/nherringer/GitHub/plumed2/src
astyle Plumed.c
astyle PlumedStatic.cpp
astyle Plumed.h
/Users/nherringer/GitHub/plumed2/src
@carlocamilloni carlocamilloni marked this pull request as draft November 30, 2025 09:34
@carlocamilloni
Copy link
Member

@nherringer let us know when at least it compiles, at that point we can run workflows again

@nherringer
Copy link
Author

Thanks for the patience, this now compiles cleanly on my end.

I tested with:

./configure --enable-modules=pines --disable-openmp
make -j

on macOS (clang). The OpenMP regions in PINES.cpp are now guarded so the module builds correctly when OpenMP is disabled.

Please feel free to re-enable the workflows and let me know if anything else is needed.

@carlocamilloni carlocamilloni marked this pull request as ready for review December 17, 2025 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants