Hi Berk,

I have done the tests and you are entirely correct. I have one further question: If I simply want to pull to a relative displacement of -1.0 nm, is there any reason to prefer one of these methods, or are they just overlapping implementations of different methods that also have unique abilities given other settings?

To summarize my tests, pull_geometry=direction can indeed pull to negative displacements and there is no bimodal behaviour. My misunderstanding derived from the fact that

pull_geometry            = direction
pull_init1               = 1.0
pull_vec1                = 0 0 1

gave the forces as I expected them, while

pull_vec1                = 0 0 -1

reports the negative of the force that I expected. Since the force as output is probably applied after multiplication by pull_vec1, it might be more intuitive to simply output the force after it is multiplied by pull_vec1 such that what is output is the actual applied force. But then again there are probably some good reasons why it is output the way that it is.

I have included probability distribution plots for the sampling along z for the 
tests below at:
http://i205.photobucket.com/albums/bb192/chrisneale_2007/X10.png  (1.0 nm 
displacement test)
http://i205.photobucket.com/albums/bb192/chrisneale_2007/X005.png  (0.05 nm 
displacement test)
http://i205.photobucket.com/albums/bb192/chrisneale_2007/X35.png  (3.5 nm 
displacement test)

Thank you for all of your assistance,
Chris.

#####################
Summary for attempts to pull to -1.0:

### Pulls to -1

pull_geometry            = position
pull_init1               = 0 0 -1
pull_vec1                = 0 0 0

pull_geometry            = direction
pull_init1               = -1.0
pull_vec1                = 0 0 1

pull_geometry            = direction
pull_init1               = 1.0
pull_vec1                = 0 0 -1

### Pulls to +1

pull_geometry            = direction
pull_init1               = 1.0
pull_vec1                = 0 0 1

#####################
Detailed results:

pull_geometry            = position
pull_init1               = 0 0 -1
pull_vec1                = 0 0 0

$ tail coord.xvg
98.2000 5.03064 -0.96114
98.4000 5.02906 -0.968864
98.6000 5.02755 -1.0196
98.8000 5.02577 -0.971355
99.0000 5.02408 -0.948518
99.2000 5.02289 -0.973627
99.4000 5.0227  -0.977471
99.6000 5.02293 -0.965711
99.8000 5.0242  -1.01475
100.0000        5.0251  -1.03216

$ tail force.xvg
98.2000 -19.4299
98.4000 -15.568
98.6000 9.8014
98.8000 -14.3227
99.0000 -25.741
99.2000 -13.1865
99.4000 -11.2644
99.6000 -17.1443
99.8000 7.37747
100.0000        16.0813

########################################

pull_geometry            = direction
pull_init1               = 1.0
pull_vec1                = 0 0 1

$ tail coord.xvg
98.2000 5.06691 1.09005
98.4000 5.06773 1.04829
98.6000 5.06842 1.02481
98.8000 5.06934 1.02874
99.0000 5.07061 0.995157
99.2000 5.07164 0.990872
99.4000 5.07205 1.00651
99.6000 5.07256 1.02346
99.8000 5.07107 0.986439
100.0000        5.06931 1.03009

$ tail force.xvg
98.2000 -45.0273
98.4000 -24.1432
98.6000 -12.4043
98.8000 -14.3716
99.0000 2.42147
99.2000 4.56404
99.4000 -3.25742
99.6000 -11.7324
99.8000 6.78027
100.0000        -15.0443

### where it does start at -1.0

$ grep -v '[#|@]' coord.xvg |head
0.0000  5.05992 -1.09968
0.2000  5.05948 -0.473992
0.4000  5.05982 0.43101
0.6000  5.06017 0.77986
0.8000  5.0609  0.78875
1.0000  5.06113 0.75552
1.2000  5.06151 0.750633
1.4000  5.06086 0.79958
1.6000  5.05976 0.821069
1.8000  5.05811 0.950296

###############################

pull_geometry            = direction
pull_init1               = -1.0
pull_vec1                = 0 0 1

$ tail -n 30 coord.xvg|head -n 10
94.2000 5.04636 -1.00959
94.4000 5.04605 -1.09414
94.6000 5.04503 -1.09134
94.8000 5.0431  -1.10409
95.0000 5.04174 -1.05292
95.2000 5.04012 -1.03421
95.4000 5.03944 -1.05723
95.6000 5.03981 -1.00803
95.8000 5.04072 -1.01506
96.0000 5.04055 -0.980655

$ tail -n 30 force.xvg|head -n 10
94.2000 4.79288
94.4000 47.0722
94.6000 45.6695
94.8000 52.0426
95.0000 26.4623
95.2000 17.107
95.4000 28.6127
95.6000 4.0165
95.8000 7.52866
96.0000 -9.67265

###############################

pull_geometry            = direction
pull_init1               = 1.0
pull_vec1                = 0 0 -1

$ tail coord.xvg
98.2000 5.01781 -1.04195
98.4000 5.01766 -0.988034
98.6000 5.01789 -0.963644
98.8000 5.0185  -0.980899
99.0000 5.01958 -0.917222
99.2000 5.021   -1.00548
99.4000 5.02016 -0.970434
99.6000 5.01848 -1.01137
99.8000 5.01723 -0.950541
100.0000        5.01743 -1.01916

$ tail force.xvg
98.2000 -20.9744
98.4000 5.98316
98.6000 18.1779
98.8000 9.55039
99.0000 41.3892
99.2000 -2.73847
99.4000 14.7832
99.6000 -5.68352
99.8000 24.7297
100.0000        -9.58189

#####################
#####################
#####################
#####################

Summary for attempts to pull to -0.1:

### Pulls to -0.1

pull_geometry            = position
pull_init1               = 0 0 -0.1
pull_vec1                = 0 0 0

pull_geometry            = direction
pull_init1               = -0.1
pull_vec1                = 0 0 1


pull_geometry            = direction
pull_init1               = 0.1
pull_vec1                = 0 0 -1

### Pulls to +0.1

pull_geometry            = direction
pull_init1               = 0.1
pull_vec1                = 0 0 1

#####################
Detailed results:

pull_geometry            = position
pull_init1               = 0 0 -0.1
pull_vec1                = 0 0 0

$ tail coord.xvg
98.2000 5.05551 -0.0467954
98.4000 5.05655 -0.0756043
98.6000 5.05742 -0.132113
98.8000 5.05886 -0.182411
99.0000 5.05929 -0.148237
99.2000 5.05957 -0.0355667
99.4000 5.06157 0.00486353
99.6000 5.06353 0.0215776
99.8000 5.06373 -0.0272107
100.0000        5.06301 -0.157927

$ tail force.xvg
98.2000 -26.6023
98.4000 -12.1979
98.6000 16.0563
98.8000 41.2056
99.0000 24.1184
99.2000 -32.2166
99.4000 -52.4318
99.6000 -60.7888
99.8000 -36.3946
100.0000        28.9634

########################################

pull_geometry            = direction
pull_init1               = 0.1
pull_vec1                = 0 0 1

$ tail coord.xvg
98.2000 5.03896 -0.0415608
98.4000 5.03914 -0.0285805
98.6000 5.03966 0.0746529
98.8000 5.03966 0.22066
99.0000 5.04063 0.254914
99.2000 5.04097 0.0771699
99.4000 5.03999 -0.0702654
99.6000 5.04055 -0.0993152
99.8000 5.04165 0.0109239
100.0000        5.04156 0.158978

$ tail force.xvg
98.2000 70.7804
98.4000 64.2902
98.6000 12.6735
98.8000 -60.3298
99.0000 -77.457
99.2000 11.415
99.4000 85.1327
99.6000 99.6576
99.8000 44.5381
100.0000        -29.4892

########################################

pull_geometry            = direction
pull_init1               = -0.1
pull_vec1                = 0 0 1

$ tail coord.xvg
98.2000 5.02845 -0.0551189
98.4000 5.02783 -0.0799781
98.6000 5.0266  -0.145213
98.8000 5.02534 -0.112499
99.0000 5.02392 -0.06543
99.2000 5.02339 -0.0648827
99.4000 5.02286 -0.130913
99.6000 5.02251 -0.196036
99.8000 5.02211 -0.190228
100.0000        5.02168 -0.216231

$ tail force.xvg
98.2000 -22.4406
98.4000 -10.0109
98.6000 22.6063
98.8000 6.24961
99.0000 -17.285
99.2000 -17.5586
99.4000 15.4567
99.6000 48.0178
99.8000 45.1138
100.0000        58.1155

###############################

pull_geometry            = direction
pull_init1               = 0.1
pull_vec1                = 0 0 -1

$ tail coord.xvg
98.2000 5.05883 -0.110131
98.4000 5.05931 -0.156342
98.6000 5.0597  -0.143227
98.8000 5.05965 -0.13037
99.0000 5.05919 -0.0630012
99.2000 5.06013 -0.0468867
99.4000 5.06169 -0.1017
99.6000 5.06282 -0.205357
99.8000 5.06437 -0.194031
100.0000        5.06543 -0.139003

$ tail force.xvg
98.2000 -5.0653
98.4000 -28.1712
98.6000 -21.6133
98.8000 -15.1848
99.0000 18.4994
99.2000 26.5566
99.4000 -0.850237
99.6000 -52.6784
99.8000 -47.0155
100.0000        -19.5014





--
gmx-users mailing list    gmx-users@gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org.
Can't post? Read http://www.gromacs.org/mailing_lists/users.php

Reply via email to