Skip to content

Commit

Permalink
FunctionOfMatrix and QuaternionBondProductMatrix are now parallelized…
Browse files Browse the repository at this point in the history
… over matrix elements rather than over the rows of the matrix

These clases now inherit from ActionWithVector rather than ActionWithMatrix

Changes to regtests revert changes that were made in an earlier commit when I started  reworking the
derivatives.  In other words, the forces in these actions are back to the values that we had when
we were using the chains derivatives.  I had introduced an error in an earlier commit
  • Loading branch information
Gareth Aneurin Tribello authored and Gareth Aneurin Tribello committed Sep 15, 2024
1 parent f8e4519 commit 5bc572d
Show file tree
Hide file tree
Showing 44 changed files with 851 additions and 492 deletions.
2 changes: 1 addition & 1 deletion regtest/clusters/rt-dfg2/plumed.dat
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cf: LESS_THAN ARG=c1 SWITCH={CUBIC D_0=13 D_MAX=13.5}
cf2: CUSTOM ARG=cf FUNC=x*x PERIODIC=NO

cmat2: CONTACT_MATRIX GROUP=1-1996 SWITCH={CUBIC D_0=0.34 D_MAX=0.38}
dmat: OUTER_PRODUCT ARG=cf,cf
dmat: OUTER_PRODUCT ARG=cf,cf MASK=cmat2
mat: CUSTOM ARG=cmat2,dmat FUNC=x*y PERIODIC=NO
dfs: DFSCLUSTERING ARG=mat

Expand Down
2 changes: 1 addition & 1 deletion regtest/contour/rt-dfg-wcsurf/plumed.dat
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ c1: COORDINATIONNUMBER SPECIES=1-512 SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0}
cf: MORE_THAN ARG=c1 SWITCH={RATIONAL D_0=2.0 R_0=0.1}
# Build a dot product matrix
c1_mat2: CONTACT_MATRIX GROUP=1-512 SWITCH={EXP D_0=4.0 R_0=0.5 D_MAX=6.0}
dp_mat: OUTER_PRODUCT ARG=cf,cf
dp_mat: OUTER_PRODUCT ARG=cf,cf MASK=c1_mat2
# Build the final matrix
mat: CUSTOM ARG=c1_mat2,dp_mat FUNC=x*y PERIODIC=NO
# Find largest cluster
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include ../../scripts/test.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#! FIELDS time sdot.w.1 sdot.w.2 sdot.w.3 sdot.i.1 sdot.i.2 sdot.i.3 sdot.j.1 sdot.j.2 sdot.j.3 sdot.k.1 sdot.k.2 sdot.k.3 sw si sj sk
0.000000 0.0000 0.0000 0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.025000 0.0000 0.0000 0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.050000 -0.0000 0.0000 0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.075000 -0.0000 0.0000 0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.100000 0.0000 -0.0000 0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.125000 0.0000 0.0000 -0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.150000 -0.0000 0.0000 -0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 -0.0000 2.1009 1.3289 -0.6203
0.175000 -0.0000 0.0000 0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 0.0000 2.1009 1.3289 -0.6203
0.200000 -0.0000 -0.0000 -0.0000 1.3017 -0.7406 1.5398 -0.0286 1.7870 -0.4294 0.2724 -0.1193 -0.7734 -0.0000 2.1009 1.3289 -0.6203
3 changes: 3 additions & 0 deletions regtest/crystdistrib/rt-quaternion-bond-product-only/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
type=driver
plumed_modules="adjmat crystdistrib"
arg="--plumed plumed.dat --ixyz small.xyz --timestep=0.001 --trajectory-stride=25 --dump-forces forces --dump-forces-fmt=%8.4f" # --debug-forces=forces.num"
261 changes: 261 additions & 0 deletions regtest/crystdistrib/rt-quaternion-bond-product-only/forces.reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,261 @@
27
-1.9496 2.3316 -0.3820
X 0.5366 -0.0525 -0.5279
X -0.3843 0.1926 -0.1942
X 0.0096 -0.0198 0.0487
X 0.6874 -0.7149 0.6953
X -0.6632 0.5038 -0.6923
X -0.1546 0.1376 0.1885
X 0.1306 0.2850 0.2301
X -0.1570 -0.3128 0.1777
X -0.0050 -0.0189 0.0741
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
-2.5933 2.9753 -0.3820
X -0.4033 0.3579 -0.5279
X 0.1977 -0.3817 -0.1942
X 0.0039 0.0216 0.0487
X -0.1359 0.9824 0.6953
X 0.2405 -0.7974 -0.6923
X 0.0442 -0.2022 0.1885
X -0.2732 -0.1538 0.2301
X 0.3109 0.1608 0.1777
X 0.0152 0.0124 0.0741
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
0.6108 -0.2288 -0.3820
X -0.1159 0.5266 -0.5279
X -0.0644 -0.4250 -0.1942
X 0.0159 0.0152 0.0487
X 0.4675 0.8746 0.6953
X -0.2742 -0.7864 -0.6923
X -0.0831 -0.1895 0.1885
X -0.3115 0.0361 0.2301
X 0.3460 -0.0527 0.1777
X 0.0196 0.0011 0.0741
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
-0.0956 -1.4652 1.5609
X 0.3815 0.6145 0.2150
X 0.0480 -0.0518 -0.4664
X -0.0237 -0.0301 0.0372
X -0.0972 -0.2861 1.1729
X 0.2335 0.1915 -1.0401
X -0.2185 -0.1334 -0.1133
X -0.3713 0.1102 0.0353
X 0.0896 -0.3618 0.1232
X -0.0419 -0.0530 0.0361
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
-0.3820 2.3316 -1.9496
X -0.5279 -0.0525 -0.5366
X -0.1942 0.1926 0.3843
X 0.0487 -0.0198 -0.0096
X 0.6953 -0.7149 -0.6874
X -0.6923 0.5038 0.6632
X 0.1885 0.1376 0.1546
X 0.2301 0.2850 -0.1306
X 0.1777 -0.3128 0.1570
X 0.0741 -0.0189 0.0050
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
-2.8828 -0.2115 3.0943
X 0.2937 -0.6949 -0.0134
X -0.3087 0.0401 -0.3544
X 0.0139 0.0332 0.0394
X 0.4982 0.1329 1.0960
X -0.5634 -0.1964 -0.9039
X -0.0239 0.2646 -0.0883
X 0.2956 0.2227 -0.1194
X -0.2144 0.1362 0.2993
X 0.0088 0.0616 0.0447
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
-0.1396 -1.5128 1.6524
X 0.5875 0.0895 -0.4650
X 0.1159 0.1709 0.4241
X -0.0455 -0.0202 -0.0194
X -0.6650 -0.2677 -0.9763
X 0.5705 0.3926 0.8327
X -0.1405 -0.1274 0.2059
X -0.0055 -0.3839 0.0619
X -0.3468 0.1749 -0.0568
X -0.0707 -0.0288 -0.0070
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
-0.8683 2.3316 -1.4633
X -0.7443 0.0525 0.1125
X 0.0752 -0.1926 -0.4240
X 0.0332 0.0198 0.0368
X 0.1439 0.7149 0.9671
X -0.1559 -0.5038 -0.9460
X 0.2436 -0.1376 -0.0105
X 0.1057 -0.2850 0.2426
X 0.2364 0.3128 -0.0190
X 0.0623 0.0189 0.0404
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
27
0.2169 -0.5340 0.3171
X -0.3338 0.6767 -0.0080
X 0.4670 0.0619 -0.0242
X -0.0302 -0.0437 0.0058
X -1.0713 -0.4666 0.3190
X 0.9745 0.4543 -0.1301
X 0.1283 -0.2185 -0.1191
X -0.0848 -0.1440 -0.3512
X -0.0251 -0.2477 0.3035
X -0.0246 -0.0724 0.0044
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
X 0.0000 0.0000 0.0000
17 changes: 17 additions & 0 deletions regtest/crystdistrib/rt-quaternion-bond-product-only/plumed.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
quat: QUATERNION ATOMS1=1,2,3 ATOMS2=4,5,6 ATOMS3=7,8,9
c1: DISTANCE_MATRIX GROUP=1,4,7 CUTOFF=100.0 COMPONENTS
qp: QUATERNION_BOND_PRODUCT_MATRIX ARG=quat.*,c1.*

ones: ONES SIZE=3

sdot: MATRIX_VECTOR_PRODUCT ARG=qp.*,ones
sw: SUM ARG=sdot.w PERIODIC=NO
si: SUM ARG=sdot.i PERIODIC=NO
sj: SUM ARG=sdot.j PERIODIC=NO
sk: SUM ARG=sdot.k PERIODIC=NO

BIASVALUE ARG=sw
BIASVALUE ARG=si
BIASVALUE ARG=sj
BIASVALUE ARG=sk
PRINT ARG=sdot.*,sw,si,sj,sk FILE=colvar FMT=%8.4f
Loading

0 comments on commit 5bc572d

Please sign in to comment.