Skip to content

Commit

Permalink
Implemented a version of ActionVolume that works when the chains are …
Browse files Browse the repository at this point in the history
…not used
  • Loading branch information
Gareth Aneurin Tribello authored and Gareth Aneurin Tribello committed Aug 25, 2024
1 parent 4607ff5 commit c65a33d
Show file tree
Hide file tree
Showing 29 changed files with 8,732 additions and 15 deletions.
5 changes: 0 additions & 5 deletions regtest/symfunc/rt-q6-lowmem/config

This file was deleted.

File renamed without changes.
File renamed without changes.
13 changes: 13 additions & 0 deletions regtest/symfunc/rt-q6-nochain/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
type=driver
plumed_modules=symfunc
# this is to test a different name
arg="--plumed plumed.dat --ixyz 64.xyz --dump-forces forces --dump-forces-fmt=%8.4f"
extra_files="../../trajectories/64.xyz"

function plumed_regtest_before() {
export PLUMED_FORBID_CHAINS=yes
}

function plumed_regtest_after() {
export PLUMED_FORBID_CHAINS=no
}
66 changes: 66 additions & 0 deletions regtest/symfunc/rt-q6-nochain/forces.reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
64
-0.0519 0.1128 0.0399
X -0.0017 -0.0017 -0.0049
X 0.0079 -0.0010 0.0191
X -0.0042 -0.0027 0.0191
X 0.0045 -0.0010 -0.0068
X 0.0001 -0.0001 -0.0001
X 0.0004 0.0072 0.0002
X 0.0069 0.0003 0.0000
X 0.0015 0.0003 0.0023
X -0.0072 0.0040 0.0057
X -0.0023 0.0078 -0.0012
X 0.0029 -0.0131 -0.0032
X -0.0033 0.0012 -0.0079
X -0.0002 0.0002 0.0054
X -0.0017 -0.0049 -0.0065
X 0.0022 -0.0053 -0.0015
X -0.0113 -0.0021 -0.0040
X 0.0040 0.0010 0.0038
X 0.0027 -0.0047 0.0066
X -0.0000 -0.0066 -0.0076
X 0.0008 0.0033 0.0064
X 0.0007 0.0101 0.0022
X 0.0087 -0.0100 -0.0074
X 0.0004 -0.0031 0.0076
X -0.0045 0.0045 0.0019
X -0.0048 -0.0098 -0.0093
X 0.0042 0.0076 0.0009
X -0.0060 0.0106 0.0006
X 0.0031 0.0031 -0.0004
X -0.0034 -0.0012 0.0012
X 0.0002 0.0075 -0.0214
X -0.0007 -0.0037 -0.0057
X -0.0081 -0.0026 0.0120
X -0.0061 -0.0051 0.0013
X -0.0005 -0.0022 0.0038
X 0.0045 0.0058 0.0015
X -0.0149 0.0006 -0.0064
X -0.0011 -0.0127 0.0015
X -0.0012 -0.0023 0.0029
X -0.0085 0.0047 0.0120
X -0.0090 -0.0005 -0.0119
X 0.0053 0.0054 -0.0036
X -0.0026 0.0051 0.0119
X 0.0028 0.0041 -0.0008
X -0.0006 0.0136 0.0040
X 0.0037 -0.0007 0.0078
X -0.0070 0.0022 -0.0096
X -0.0094 0.0005 0.0005
X 0.0022 -0.0025 -0.0113
X -0.0033 -0.0013 -0.0012
X 0.0076 -0.0015 0.0030
X 0.0055 -0.0080 -0.0098
X 0.0048 -0.0001 0.0062
X -0.0065 0.0024 0.0151
X 0.0066 0.0061 0.0043
X 0.0081 0.0085 -0.0119
X -0.0063 0.0047 -0.0134
X -0.0060 -0.0087 -0.0066
X 0.0009 -0.0114 -0.0004
X 0.0004 0.0097 -0.0144
X 0.0117 -0.0026 -0.0020
X 0.0007 -0.0015 0.0189
X 0.0024 0.0105 -0.0025
X 0.0088 0.0002 -0.0007
X 0.0152 -0.0183 0.0046
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ PRINT ARG=q6.* FILE=colv
LOCAL_Q6 SPECIES=q6 SWITCH={RATIONAL D_0=3.0 R_0=1.5} MEAN LABEL=w6
PRINT ARG=w6.* FILE=colv3

BIASVALUE ARG=w6_mean
1 change: 1 addition & 0 deletions regtest/volumes/rt24/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include ../../scripts/test.make
21 changes: 21 additions & 0 deletions regtest/volumes/rt24/colvar.reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#! FIELDS time a1_lessthan a1_mean a2_lessthan a2_mean a3_lessthan a3_mean
0.000000 24.6887 0.4844 29.5285 0.4089 26.2692 0.4855
0.050000 21.4196 0.4812 24.2911 0.5046 20.4149 0.5235
0.100000 24.0789 0.4990 19.5334 0.5008 17.5531 0.5338
0.150000 24.7316 0.5294 20.8201 0.4740 18.3199 0.4995
0.200000 20.5181 0.5141 20.7127 0.4958 24.2243 0.4777
0.250000 14.5411 0.5384 24.0174 0.5035 23.1592 0.4681
0.300000 20.7004 0.5109 18.6197 0.5132 21.1682 0.5299
0.350000 13.9216 0.5851 22.7805 0.5168 17.5875 0.4531
0.400000 23.2710 0.4804 18.4123 0.5179 21.2690 0.4777
0.450000 14.0948 0.6024 25.6635 0.4871 19.0694 0.5803
0.500000 18.3672 0.4938 21.0006 0.4583 21.0522 0.4942
0.550000 16.7623 0.5342 23.0384 0.4970 17.5377 0.4665
0.600000 15.8175 0.5281 16.6518 0.4914 16.6425 0.5568
0.650000 20.4228 0.5089 17.4494 0.5079 24.4803 0.4642
0.700000 24.7885 0.4666 15.1186 0.4913 24.6510 0.4331
0.750000 30.4366 0.4697 25.4195 0.4175 27.7407 0.4897
0.800000 25.1756 0.4427 23.2958 0.4730 27.8497 0.5077
0.850000 22.8584 0.4854 19.4940 0.4654 18.5076 0.5486
0.900000 14.8451 0.6134 20.0643 0.5444 18.1854 0.5895
0.950000 20.2570 0.4676 23.0313 0.4860 23.2711 0.4263
12 changes: 12 additions & 0 deletions regtest/volumes/rt24/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
plumed_modules=volumes
type=driver
# this is to test a different name
arg="--plumed plumed.dat --trajectory-stride 10 --timestep 0.005 --ixyz trajectory.xyz --dump-forces forces --dump-forces-fmt=%8.4f"

function plumed_regtest_before() {
export PLUMED_FORBID_CHAINS=yes
}

function plumed_regtest_after() {
export PLUMED_FORBID_CHAINS=no
}
47 changes: 47 additions & 0 deletions regtest/volumes/rt24/gentraj.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <vector>

double randomn() { return rand()/static_cast<double>(RAND_MAX); }

int main() {

std::vector<double> tot(8,0), dtot(8,0); bool dens=false;
unsigned nmols=200, dir; std::vector<double> com(3), dist(3), a1(3), a2(3), len(nmols);
for(unsigned i=0;i<20;++i){
if(dens) std::cout<<1+nmols<<std::endl;
else std::cout<<1+2*nmols<<std::endl;
std::cout<<10.0<<" "<<10.0<<" "<<10.0<<std::endl;
std::cout<<"Ar "<<5.0<<" "<<5.0<<" "<<5.0<<std::endl;
for(unsigned j=0;j<nmols;++j){
com[0]=10.0*randomn(); com[1]=10.0*randomn(); com[2]=10.0*randomn();
for(unsigned k=0;k<3;++k) dist[k]=fabs(com[k]-5.0);
len[j]=randomn(); dir=floor( 3*randomn() );
std::cout<<"LENGTH "<<len[j]<<std::endl;
if( dist[0]<1.0 ){ tot[1]+=1.0; dtot[1]+=len[j]; }
if( dist[1]<1.0 ){ tot[2]+=1.0; dtot[2]+=len[j]; }
if( dist[2]<1.0 ){ tot[3]+=1.0; dtot[3]+=len[j]; }
if( dist[0]<1.0 && dist[1]<1.0 ){ tot[4]+=1.0; dtot[4]+=len[j]; }
if( dist[0]<1.0 && dist[2]<1.0 ){ tot[5]+=1.0; dtot[5]+=len[j]; }
if( dist[1]<1.0 && dist[2]<1.0 ){ tot[6]+=1.0; dtot[6]+=len[j]; }
if( dist[0]<1.0 && dist[1]<1.0 && dist[2]<1.0 ){ tot[7]+=1.0; dtot[7]+=len[j]; }
a1[0]=com[0]; a1[1]=com[1]; a1[2]=com[2];
a2[0]=com[0]; a2[1]=com[1]; a2[2]=com[2];
a1[dir]-=0.5*len[j]; a2[dir]+=0.5*len[j];
// if(dens){
// std::cout<<"Ar "<<com[0]<<" "<<com[1]<<" "<<com[2]<<std::endl;
// } else {
// std::cout<<"Ar "<<a1[0]<<" "<<a1[1]<<" "<<a1[2]<<std::endl;
// std::cout<<"Ar "<<a2[0]<<" "<<a2[1]<<" "<<a2[2]<<std::endl;
// }
}
for(unsigned j=1;j<8;++j){
if(dens) std::cerr<<"CV "<<j<<" "<<tot[j]<<std::endl;
else std::cerr<<"CV "<<j<<" "<<tot[j]<<" "<<dtot[j]<<" "<<dtot[j] / tot[j]<<std::endl;
tot[j]=dtot[j]=0.0;
}
}

return 1;
}
Loading

0 comments on commit c65a33d

Please sign in to comment.