Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
How is IMSD for diffusion coefficient implemented?
#23584 03/02/10 08:36 PM
Joined: Feb 2006
Posts: 33
K
Keith Offline OP
Forum Member
OP Offline
Forum Member
K
Joined: Feb 2006
Posts: 33
I was hoping someone might have a simple explanation for how the estimation of a translational diffusion coefficient is accomplished using IMSD. In particular, when calculating D for water, some waters may leave or enter the specified radial zone during the progression of frames of the trajectory being analyzed, so I wanted to know how the dynamic nature of the water population in the specified radial zone is handled in the calculation of the translational diffusion coefficient.

What happens when a water leaves or enters the specified range for calculating D?

Here's the input I'm using to do this:

coor anal select type oh2 end site select segid vxam end multi firstu 51 nunit 1 begin 100 skip 50 imsd 37 rspin 8.0 rspout 10.0 ncors 15 xbox 49.7 ybox 51.64 zbox 52.5

Thanks!

Re: How is IMSD for diffusion coefficient implemented?
Keith #23585 03/02/10 09:07 PM
Joined: Sep 2003
Posts: 4,797
Likes: 2
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 4,797
Likes: 2
Diffusion in a restricted volume is less straightforward (less well defined) than in bulk. When analyzing diffusion in a shell with COOR ANAL as in your example water molecules contribute to the total MSD(t) only when they are in the shell, ie if water molecule A enters the shell at time t1 and leaves again at time t2 its contribution to the total MSD(t) will be proportional to the square root of <(r(t+T)-r(T))**2> where < ... > indicates averaging over variable T, which in this case starts at t1 and ends at (t2-t). At each step of the analysis all waters in the system are checked to see if they enter/exit zone of interest.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Re: How is IMSD for diffusion coefficient implemented?
lennart #23588 03/02/10 10:29 PM
Joined: Feb 2006
Posts: 33
K
Keith Offline OP
Forum Member
OP Offline
Forum Member
K
Joined: Feb 2006
Posts: 33
Excellent, thanks Prof. Nilsson!

An additional question:

I was also wondering about the variable NCORs. Clearly, from CORMAN.DOC, "NCORs = number of steps to compute vac or msd," but that's not quite enough information for me. In obtaining D from the slope of a least squares fit of points representing the time evolution of the selected molecule (water) positions, what role is the value of NCORs playing? Is it the number of points of that plot that precede the linear portion of the fitted line, or something like that?

Thanks!

Re: How is IMSD for diffusion coefficient implemented?
Keith #23589 03/02/10 10:35 PM
Joined: Sep 2003
Posts: 4,797
Likes: 2
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 4,797
Likes: 2
Try the command and see what the resulting data file looks like; I am sure you will be able to figure things out. From one of the examples in corman.doc:
ncors 20 - ! compute MSD to NCORS*SKIP
NCORS is the TOTAL number of points in MSD(t) vs t, out to NCORS*SKIP, and the separation of the points is SKIP*dt.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Re: How is IMSD for diffusion coefficient implemented?
lennart #23590 03/02/10 10:55 PM
Joined: Feb 2006
Posts: 33
K
Keith Offline OP
Forum Member
OP Offline
Forum Member
K
Joined: Feb 2006
Posts: 33
Here's what I did:

set 1 6.0
set 2 6.5

open unit 37 writ form name msd.test.@1-@2.dat
coor anal select type oh2 end site select segid vxam end multi firstu 51 nunit 1 begin 50 skip 1 imsd 37 rspin @1 rspout @2 ncors 15 xbox 49.700000 ybox 51.648240 zbox 52.500000
close unit 37

And here's what I got:

0.00000E+00 0.00000E+00
0.10000E+00 0.20190E+00
0.20000E+00 0.46315E+00
0.30000E+00 0.71621E+00
0.40000E+00 0.95839E+00
0.50000E+00 0.11913E+01
0.60000E+00 0.14156E+01
0.70000E+00 0.16484E+01
0.80000E+00 0.18786E+01
0.90000E+00 0.20616E+01
0.10000E+01 0.21883E+01
0.11000E+01 0.23693E+01
0.12000E+01 0.24601E+01
0.13000E+01 0.25306E+01
0.14000E+01 0.21968E+01

ESTIMATE of diffusion coefficient from 12 last points of MSD(t):
D= 0.26742 [A**2/ps] (or 0.26742E-04 [cm**2/s])
SD= 0.28533E-01 R=0.9475 Y-intercept= 0.43744

There do not appear to be any problems.

Re: How is IMSD for diffusion coefficient implemented?
Keith #25655 10/20/10 03:43 PM
Joined: Feb 2006
Posts: 33
K
Keith Offline OP
Forum Member
OP Offline
Forum Member
K
Joined: Feb 2006
Posts: 33
For the diffusion calculation within a specified volume or range of radii, is there a way to obtain the number of atoms or molecules used for the calculation? I've looked through the built-in variables and couldn't find what I need.

Thanks a lot!

Last edited by Keith; 10/20/10 03:57 PM.
Re: How is IMSD for diffusion coefficient implemented?
Keith #25656 10/20/10 06:36 PM
Joined: Sep 2003
Posts: 4,797
Likes: 2
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 4,797
Likes: 2
The number of points printed out just before the snippet you posted is the sum of the number of atoms used in all the starting time frames used. Any given combination of atom and starting time frame may be used just for some subset of time points in MSD(t).
It should be relatively straightforward to count the number of atoms used in subroutine corfuncb in source/correl/solana.src

Last edited by lennart; 10/20/10 06:53 PM.

Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Re: How is IMSD for diffusion coefficient implemented?
lennart #25659 10/21/10 12:54 PM
Joined: Feb 2006
Posts: 33
K
Keith Offline OP
Forum Member
OP Offline
Forum Member
K
Joined: Feb 2006
Posts: 33
I see. Thanks Prof. Nilsson!

Re: How is IMSD for diffusion coefficient implemented?
Keith #26227 01/15/11 01:34 AM
Joined: Feb 2008
Posts: 41
F
Forum Member
Offline
Forum Member
F
Joined: Feb 2008
Posts: 41
If I choose a group of atoms to do the IMSD analysis, will that gives the diffusion of the center of mass of the group of atoms?

Re: How is IMSD for diffusion coefficient implemented?
farid #26228 01/15/11 10:09 AM
Joined: Sep 2003
Posts: 4,797
Likes: 2
Forum Member
Online Content
Forum Member
Joined: Sep 2003
Posts: 4,797
Likes: 2
No, MSD(t) is computed for each selected atom individually, and finally an average of all the individual MSDs is calculated.


Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden
Page 1 of 2 1 2

Moderated by  lennart, rmv 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 5.6.33-0+deb8u1 Page Time: 0.011s Queries: 34 (0.005s) Memory: 0.9868 MB (Peak: 1.1178 MB) Data Comp: Off Server Time: 2020-10-31 10:42:32 UTC
Valid HTML 5 and Valid CSS