Skip to content

Commit

Permalink
Merge branch 'v2.10'
Browse files Browse the repository at this point in the history
  • Loading branch information
carlocamilloni committed Oct 9, 2024
2 parents 0f8e18f + db0236f commit ba5e90d
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 12 deletions.
21 changes: 10 additions & 11 deletions developer-doc/AddingRegressionTests.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,17 @@ extra_files="../../trajectories/diala_traj_nm.xyz ../trajectories/path_msd/all.
- The first line in this file - the one containing the string mpiprocs=2 - tells PLUMED that when this regtest should be run using MPI on two nodes.
If mpiprocs is not specified then PLUMED will, by default, run the test one node.

- The second line tells PLUMED that the test is to be performed using the command line tool <a href="../../user-doc/html/driver.html">driver</a>.
There are four options that you can use here:
type=driver tells PLUMED to run the test by reading in a trajectory and analysing it using <a href="../../user-doc/html/driver.html">driver</a>,
type=simplemd tells PLUMED that the test will involve
running some Lennard Jones MD using <a href="../../user-doc/html/simplemd.html">simplemd</a>,
type=sum_hills tells PLUMED that the test will involve summing gaussians using the
<a href="../../user-doc/html/sum_hills.html">sum_hills</a> untility
and type=make tells PLUMED that a main function (called main.cpp) is included in the regtest directory and that the test should compile this function, link in
the PLUMED library and run the resulting executible. The vast majority of features are best tested using type=driver here although the type=make function
can be useful for testing tools that are used in many places in the code (see the code in regtest/basic/rt-make-4 for an example of how use type=make to test
PLUMED's internal matrix class). If you need to test PLUMED in a way that is not included in these various types please contact the PLUMED developers before
- The second line tells PLUMED that the test is to be performed using the command line tool <a href="../../user-doc/html/driver.html">driver</a>.
The vast majority of features are best tested using type=driver here although the type=make function can be useful for testing tools that are used in many places in the code (see the code in regtest/basic/rt-make-4 for an example of how use type=make to test PLUMED's internal matrix class). If you need to test PLUMED in a way that is not included in these various types please contact the PLUMED developers before
making any changes.
There are four options that you can use here:
- type=driver tells PLUMED to run the test by reading in a trajectory and analysing it using <a href="../../user-doc/html/driver.html">driver</a>,
- type=simplemd tells PLUMED that the test will involve
running some Lennard Jones MD using <a href="../../user-doc/html/simplemd.html">simplemd</a>,
- type=sum_hills tells PLUMED that the test will involve summing gaussians using the
<a href="../../user-doc/html/sum_hills.html">sum_hills</a> utility
- type=make tells PLUMED that a main function (called main.cpp) is included in the regtest directory and that the test should compile this function, link in
the PLUMED library and run the resulting executible.

- The third line - the one containing the string plumed_modules=adjmat - tells PLUMED that this regtest needs the optional module adjmat to be installed in
order for it to be run. Before trying to run this test PLUMED will thus check whether or not the module is installed. If it is not installed then it will
Expand Down
2 changes: 2 additions & 0 deletions regtest/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
!/unittest
!/wham
!/metatensor
!/sizeshape

# These files we just want to ignore completely
tmp
report.txt
1 change: 1 addition & 0 deletions src/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
!/membranefusion
!/wham
!/metatensor
!/sizeshape

# And just ignore these files
*.xxd
Expand Down
8 changes: 7 additions & 1 deletion src/bias/LWalls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,16 @@ The restraining potential starts acting on the system when the value of the CV i
minus an offset \f$o_i\f$ (OFFSET).
The expression for the bias due to the wall is given by:
for UPPER_WALLS:
\f$
\sum_i {k_i}((x_i-a_i+o_i)/s_i)^e_i
\f$
for LOWER_WALLS:
\f$
\sum_i {k_i}|(x_i-a_i-o_i)/s_i|^e_i
\f$
\f$k_i\f$ (KAPPA) is an energy constant in internal unit of the code, \f$s_i\f$ (EPS) a rescaling factor and
\f$e_i\f$ (EXP) the exponent determining the power law. By default: EXP = 2, EPS = 1.0, OFFSET = 0.
Expand Down Expand Up @@ -143,7 +149,7 @@ void LWalls::calculate() {
if( lscale < 0.) {
const double k=kappa[i];
const double exponent=exp[i];
double power = std::pow( lscale, exponent );
double power = std::pow( -lscale, exponent );
f = -( k / epsilon ) * exponent * power / lscale;
ene += k * power;
totf2 += f * f;
Expand Down
6 changes: 6 additions & 0 deletions src/bias/UWalls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,16 @@ The restraining potential starts acting on the system when the value of the CV i
minus an offset \f$o_i\f$ (OFFSET).
The expression for the bias due to the wall is given by:
for UPPER_WALLS:
\f$
\sum_i {k_i}((x_i-a_i+o_i)/s_i)^e_i
\f$
for LOWER_WALLS:
\f$
\sum_i {k_i}|(x_i-a_i-o_i)/s_i|^e_i
\f$
\f$k_i\f$ (KAPPA) is an energy constant in internal unit of the code, \f$s_i\f$ (EPS) a rescaling factor and
\f$e_i\f$ (EXP) the exponent determining the power law. By default: EXP = 2, EPS = 1.0, OFFSET = 0.
Expand Down

1 comment on commit ba5e90d

@PlumedBot
Copy link
Contributor

Choose a reason for hiding this comment

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

Found broken examples in automatic/ANGLES.tmp
Found broken examples in automatic/ANN.tmp
Found broken examples in automatic/CAVITY.tmp
Found broken examples in automatic/CLASSICAL_MDS.tmp
Found broken examples in automatic/CLUSTER_DIAMETER.tmp
Found broken examples in automatic/CLUSTER_DISTRIBUTION.tmp
Found broken examples in automatic/CLUSTER_PROPERTIES.tmp
Found broken examples in automatic/CONSTANT.tmp
Found broken examples in automatic/CONTACT_MATRIX.tmp
Found broken examples in automatic/CONTACT_MATRIX_PROPER.tmp
Found broken examples in automatic/CONVERT_TO_FES.tmp
Found broken examples in automatic/COORDINATIONNUMBER.tmp
Found broken examples in automatic/DFSCLUSTERING.tmp
Found broken examples in automatic/DISTANCE_FROM_CONTOUR.tmp
Found broken examples in automatic/DUMPCUBE.tmp
Found broken examples in automatic/DUMPGRID.tmp
Found broken examples in automatic/EDS.tmp
Found broken examples in automatic/EMMI.tmp
Found broken examples in automatic/ENVIRONMENTSIMILARITY.tmp
Found broken examples in automatic/FIND_CONTOUR.tmp
Found broken examples in automatic/FIND_CONTOUR_SURFACE.tmp
Found broken examples in automatic/FIND_SPHERICAL_CONTOUR.tmp
Found broken examples in automatic/FOURIER_TRANSFORM.tmp
Found broken examples in automatic/FUNCPATHGENERAL.tmp
Found broken examples in automatic/FUNCPATHMSD.tmp
Found broken examples in automatic/FUNNEL.tmp
Found broken examples in automatic/FUNNEL_PS.tmp
Found broken examples in automatic/GHBFIX.tmp
Found broken examples in automatic/GPROPERTYMAP.tmp
Found broken examples in automatic/HBOND_MATRIX.tmp
Found broken examples in automatic/HISTOGRAM.tmp
Found broken examples in automatic/INCLUDE.tmp
Found broken examples in automatic/INCYLINDER.tmp
Found broken examples in automatic/INENVELOPE.tmp
Found broken examples in automatic/INTERPOLATE_GRID.tmp
Found broken examples in automatic/LOCAL_AVERAGE.tmp
Found broken examples in automatic/MAZE_OPTIMIZER_BIAS.tmp
Found broken examples in automatic/MAZE_RANDOM_ACCELERATION_MD.tmp
Found broken examples in automatic/MAZE_SIMULATED_ANNEALING.tmp
Found broken examples in automatic/MAZE_STEERED_MD.tmp
Found broken examples in automatic/METATENSOR.tmp
Found broken examples in automatic/MULTICOLVARDENS.tmp
Found broken examples in automatic/OUTPUT_CLUSTER.tmp
Found broken examples in automatic/PAMM.tmp
Found broken examples in automatic/PCA.tmp
Found broken examples in automatic/PCAVARS.tmp
Found broken examples in automatic/PIV.tmp
Found broken examples in automatic/PLUMED.tmp
Found broken examples in automatic/PYCVINTERFACE.tmp
Found broken examples in automatic/PYTHONFUNCTION.tmp
Found broken examples in automatic/Q3.tmp
Found broken examples in automatic/Q4.tmp
Found broken examples in automatic/Q6.tmp
Found broken examples in automatic/QUATERNION.tmp
Found broken examples in automatic/REWEIGHT_BIAS.tmp
Found broken examples in automatic/REWEIGHT_METAD.tmp
Found broken examples in automatic/SIZESHAPE_POSITION_LINEAR_PROJ.tmp
Found broken examples in automatic/SIZESHAPE_POSITION_MAHA_DIST.tmp
Found broken examples in automatic/SPRINT.tmp
Found broken examples in automatic/TETRAHEDRALPORE.tmp
Found broken examples in automatic/TORSIONS.tmp
Found broken examples in automatic/WHAM_HISTOGRAM.tmp
Found broken examples in automatic/WHAM_WEIGHTS.tmp
Found broken examples in AnalysisPP.md
Found broken examples in CollectiveVariablesPP.md
Found broken examples in MiscelaneousPP.md

Please sign in to comment.