diff --git a/CHANGES/v2.4.md b/CHANGES/v2.4.md index 258642af3cd538921625372f4fac9364c6be56c0..ef91fd3532d032d23921dd7a05fded55af276476 100644 --- a/CHANGES/v2.4.md +++ b/CHANGES/v2.4.md @@ -235,4 +235,5 @@ For users: For users: - Fixed a bug in \ref COORDINATIONNUMBER where derivatives were wrong when using R_POWER > 2, thanks to @MoleOrbitalHybridAnalyst for spotting and fixing - Fixed a bug in library search, possibly affecting linked blas/lapack on OSX (see \issue{476}). + - Fixed a bug in \ref METAD with `TARGET` and `GRID_SPARSE` (see \issue{467}). diff --git a/regtest/basic/rt65/TARGET2.reference b/regtest/basic/rt65/TARGET2.reference new file mode 100644 index 0000000000000000000000000000000000000000..b4092d05739e6af016771dadb42c0b7351ef6500 --- /dev/null +++ b/regtest/basic/rt65/TARGET2.reference @@ -0,0 +1,14 @@ +#! FIELDS time e1 sigma_e1 height biasf +#! SET multivariate false +#! SET kerneltype gaussian +#! SET min_e1 -pi +#! SET max_e1 pi + 0.002 -1.903205551688819 0.15 9.109750009330055e-06 -1 + 0.004 -2.96314509497333 0.15 1.185709146847737e-05 -1 + 0.006 -2.563611512401551 0.15 3.459682279642131e-06 -1 + 0.008 -3.120966152841994 0.15 2.627063088737373e-05 -1 + 0.01 -2.640309461910613 0.15 3.857669512410835e-06 -1 + 0.012 -2.981598623047649 0.15 1.18570902777194e-05 -1 + 0.014 -1.30629526983071 0.15 2.684491613922633e-05 -1 + 0.016 -2.503951571795555 0.15 3.399120208955464e-06 -1 + 0.018 -3.014247277468189 0.15 1.387646340580046e-05 -1 diff --git a/regtest/basic/rt65/plumed.dat b/regtest/basic/rt65/plumed.dat index 600987c8b3f94ca7a8cb1b60fb3da8d59158df2b..0d4a46fb804667739a60d25e7ae004018f468d89 100644 --- a/regtest/basic/rt65/plumed.dat +++ b/regtest/basic/rt65/plumed.dat @@ -4,4 +4,6 @@ e1: TORSION ATOMS=@epsilon-1 t: METAD ARG=e1 SIGMA=0.15 PACE=1 TAU=200 DAMPFACTOR=100 TARGET=tgt_e1 GRID_MIN=-pi GRID_MAX=pi GRID_BIN=200 FILE=TARGET TEMP=300 +t2: METAD ARG=e1 SIGMA=0.15 PACE=1 TAU=200 DAMPFACTOR=100 TARGET=tgt_e2 GRID_MIN=-pi GRID_MAX=pi GRID_BIN=200 FILE=TARGET2 TEMP=300 GRID_SPARSE + DUMPATOMS ATOMS=@nucleic FILE=nucleic.xyz diff --git a/regtest/basic/rt65/tgt_e2 b/regtest/basic/rt65/tgt_e2 new file mode 100644 index 0000000000000000000000000000000000000000..49b5f58a4bbe55af7e4f08d83e64d10697aa4a38 --- /dev/null +++ b/regtest/basic/rt65/tgt_e2 @@ -0,0 +1,205 @@ +#! FIELDS e1 t2.target der_e1 +#! SET min_e1 -pi +#! SET max_e1 pi +#! SET nbins_e1 200 +#! SET periodic_e1 true + -3.14159 5.10076 -12.70892 + -3.11018 4.70239 -12.67962 + -3.07876 4.30407 -12.68027 + -3.04734 3.90566 -12.65820 + -3.01593 3.50873 -12.56070 + -2.98451 3.11645 -12.34584 + -2.95310 2.73302 -11.98905 + -2.92168 2.36315 -11.48303 + -2.89026 2.01152 -10.83462 + -2.85885 1.68239 -10.06301 + -2.82743 1.37924 -9.19536 + -2.79602 1.10463 -8.25853 + -2.76460 0.86035 -7.27827 + -2.73319 0.64733 -6.27846 + -2.70177 0.46586 -5.27871 + -2.67035 0.31565 -4.29520 + -2.63894 0.19598 -3.33913 + -2.60752 0.10585 -2.41815 + -2.57611 0.04405 -1.53788 + -2.54469 0.00922 -0.70101 + -2.51327 0.00000 0.09104 + -2.48186 0.01494 0.83725 + -2.45044 0.05261 1.53656 + -2.41903 0.11149 2.18707 + -2.38761 0.19002 2.78648 + -2.35619 0.28657 3.33221 + -2.32478 0.39939 3.82147 + -2.29336 0.52667 4.25183 + -2.26195 0.66654 4.62342 + -2.23053 0.81717 4.93553 + -2.19911 0.97665 5.18839 + -2.16770 1.14317 5.38294 + -2.13628 1.31487 5.51695 + -2.10487 1.48981 5.58462 + -2.07345 1.66576 5.57692 + -2.04203 1.84022 5.48097 + -2.01062 2.01014 5.28380 + -1.97920 2.17221 4.97850 + -1.94779 2.32295 4.56436 + -1.91637 2.45899 4.05604 + -1.88496 2.57780 3.48558 + -1.85354 2.67800 2.90046 + -1.82212 2.76004 2.35978 + -1.79071 2.82627 1.92248 + -1.75929 2.88083 1.64450 + -1.72788 2.92960 1.56915 + -1.69646 2.97943 1.71195 + -1.66504 3.03716 2.07025 + -1.63363 3.10950 2.62387 + -1.60221 3.20203 3.33816 + -1.57080 3.31925 4.17143 + -1.53938 3.46413 5.07054 + -1.50796 3.63784 5.97985 + -1.47655 3.83984 6.84656 + -1.44513 4.06801 7.62050 + -1.41372 4.31866 8.25743 + -1.38230 4.58685 8.73061 + -1.35088 4.86722 9.03758 + -1.31947 5.15470 9.20074 + -1.28805 5.44532 9.27486 + -1.25664 5.73745 9.33973 + -1.22522 6.03215 9.47554 + -1.19381 6.33282 9.75711 + -1.16239 6.64521 10.22904 + -1.13097 6.97553 10.90943 + -1.09956 7.33067 11.77148 + -1.06814 7.71514 12.75565 + -1.03673 8.13212 13.79332 + -1.00531 8.58181 14.77995 + -0.97389 9.06078 15.61190 + -0.94248 9.56273 16.16983 + -0.91106 10.07676 16.32518 + -0.87965 10.58848 16.02464 + -0.84823 11.08362 15.28715 + -0.81681 11.54900 14.17647 + -0.78540 11.97436 12.86211 + -0.75398 12.35715 11.57633 + -0.72257 12.70172 10.55300 + -0.69115 13.02022 9.88103 + -0.65973 13.32257 9.50496 + -0.62832 13.61742 9.40240 + -0.59690 13.91333 9.43842 + -0.56549 14.21046 9.44831 + -0.53407 14.50698 9.34280 + -0.50265 14.79749 9.04752 + -0.47124 15.07546 8.52664 + -0.43982 15.33323 7.74502 + -0.40841 15.56209 6.80145 + -0.37699 15.76058 5.80952 + -0.34558 15.92712 4.90263 + -0.31416 16.06862 4.15626 + -0.28274 16.18826 3.55378 + -0.25133 16.29191 2.98214 + -0.21991 16.37564 2.29118 + -0.18850 16.43587 1.31572 + -0.15708 16.45830 -0.09998 + -0.12566 16.42959 -1.82144 + -0.09425 16.34386 -3.60730 + -0.06283 16.20294 -5.18707 + -0.03142 16.01795 -6.30761 + 0.00000 15.80662 -6.83201 + 0.03142 15.58868 -6.76985 + 0.06283 15.38125 -6.23660 + 0.09425 15.19682 -5.36388 + 0.12566 15.04423 -4.28282 + 0.15708 14.92772 -3.11155 + 0.18850 14.84872 -1.93712 + 0.21991 14.80601 -0.84119 + 0.25133 14.79587 0.12393 + 0.28274 14.81380 0.87287 + 0.31416 14.85071 1.34688 + 0.34558 14.89842 1.51588 + 0.37699 14.94596 1.30661 + 0.40841 14.98052 0.68187 + 0.43982 14.98880 -0.32791 + 0.47124 14.95992 -1.69025 + 0.50265 14.88260 -3.29052 + 0.53407 14.75317 -4.96947 + 0.56549 14.57036 -6.58050 + 0.59690 14.33970 -7.94522 + 0.62832 14.07115 -8.95276 + 0.65973 13.77719 -9.54424 + 0.69115 13.47147 -9.71559 + 0.72257 13.16674 -9.52214 + 0.75398 12.87318 -9.04455 + 0.78540 12.59845 -8.35746 + 0.81681 12.34806 -7.53288 + 0.84823 12.12515 -6.63737 + 0.87965 11.93102 -5.70555 + 0.91106 11.76666 -4.77067 + 0.94248 11.63127 -3.85511 + 0.97389 11.52443 -2.96150 + 1.00531 11.44519 -2.10886 + 1.03673 11.39193 -1.30973 + 1.06814 11.36290 -0.57795 + 1.09956 11.35562 0.06564 + 1.13097 11.36702 0.60908 + 1.16239 11.39388 1.04956 + 1.19381 11.43297 1.39725 + 1.22522 11.48168 1.67383 + 1.25664 11.53814 1.91235 + 1.28805 11.60183 2.15400 + 1.31947 11.67348 2.43040 + 1.35088 11.75454 2.78076 + 1.38230 11.84820 3.21639 + 1.41372 11.95663 3.73112 + 1.44513 12.08264 4.31252 + 1.47655 12.22760 4.93997 + 1.50796 12.39302 5.59522 + 1.53938 12.57915 6.22538 + 1.57080 12.78417 6.81465 + 1.60221 13.00733 7.31439 + 1.63363 13.24375 7.69216 + 1.66504 13.49064 7.92523 + 1.69646 13.74171 7.96631 + 1.72788 13.99118 7.82705 + 1.75929 14.23350 7.52661 + 1.79071 14.46409 7.07963 + 1.82212 14.67832 6.56183 + 1.85354 14.87639 6.02293 + 1.88496 15.05676 5.48870 + 1.91637 15.22125 4.97648 + 1.94779 15.36943 4.47050 + 1.97920 15.50214 3.93312 + 2.01062 15.61656 3.25777 + 2.04203 15.70683 2.41601 + 2.07345 15.76836 1.35324 + 2.10487 15.79186 0.07937 + 2.13628 15.77335 -1.32078 + 2.16770 15.70887 -2.78132 + 2.19911 15.59859 -4.15591 + 2.23053 15.44775 -5.35838 + 2.26195 15.26192 -6.29576 + 2.29336 15.05217 -6.91512 + 2.32478 14.82742 -7.29068 + 2.35619 14.59409 -7.47898 + 2.38761 14.35751 -7.52943 + 2.41903 14.12100 -7.53571 + 2.45044 13.88403 -7.59844 + 2.48186 13.64358 -7.73822 + 2.51327 13.39782 -7.97864 + 2.54469 13.14226 -8.41694 + 2.57611 12.86897 -9.08704 + 2.60752 12.57131 -9.95794 + 2.63894 12.24329 -11.01270 + 2.67035 11.87936 -12.16703 + 2.70177 11.47881 -13.30580 + 2.73319 11.04332 -14.32339 + 2.76460 10.57884 -15.12139 + 2.79602 10.09323 -15.64548 + 2.82743 9.59582 -15.88386 + 2.85885 9.09522 -15.86574 + 2.89026 8.59895 -15.63372 + 2.92168 8.11292 -15.24911 + 2.95310 7.64082 -14.77260 + 2.98451 7.18473 -14.26221 + 3.01593 6.74469 -13.77231 + 3.04734 6.31939 -13.34976 + 3.07876 5.90590 -13.02634 + 3.11018 5.50091 -12.81419 diff --git a/src/tools/Grid.cpp b/src/tools/Grid.cpp index 83ebe69b78328d53e62240f5c8b80fd0cba192a2..8d786dfa0f2821ad671b0a7d8e0047f50b6bec3d 100644 --- a/src/tools/Grid.cpp +++ b/src/tools/Grid.cpp @@ -857,6 +857,24 @@ void SparseGrid::writeToFile(OFile& ofile) { } } +double SparseGrid::getMinValue() const { + double minval; + minval=0.0; + for(auto const & i : map_) { + if(i.second<minval) minval=i.second; + } + return minval; +} + +double SparseGrid::getMaxValue() const { + double maxval; + maxval=0.0; + for(auto const & i : map_) { + if(i.second>maxval) maxval=i.second; + } + return maxval; +} + void Grid::projectOnLowDimension(double &val, std::vector<int> &vHigh, WeightBase * ptr2obj ) { unsigned i=0; diff --git a/src/tools/Grid.h b/src/tools/Grid.h index 7eb7ba66883f935aad1f9e82d318954a915665a2..6e808816ec068abdf973b149806319190fc9364b 100644 --- a/src/tools/Grid.h +++ b/src/tools/Grid.h @@ -279,6 +279,10 @@ public: void writeToFile(OFile&); virtual ~SparseGrid() {} + + virtual double getMaxValue() const; + virtual double getMinValue() const; + }; }