[gmx-users] pull code with defined negative relative displacements

Berk Hess gmx3 at hotmail.com
Wed Nov 18 18:19:58 CET 2009


Hi,

With only 1 pull dimension active (through pull_dims) all three geometries are equivalent.
In 2 or 3D there are all different.

With pull_geometry=direction the pull force is the force working along the direction vector.
So in general you can't incorporate the direction (only sign in your case) into the force,
unless you would print the whole vector.

Berk

> Date: Wed, 18 Nov 2009 12:12:49 -0500
> From: chris.neale at utoronto.ca
> To: gmx-users at gromacs.org
> Subject: [gmx-users] pull code with defined negative relative displacements
> 
> 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 at 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-request at gromacs.org.
> Can't post? Read http://www.gromacs.org/mailing_lists/users.php
 		 	   		  
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20091118/c63cde51/attachment.html>


More information about the gromacs.org_gmx-users mailing list