Trace:

exercises:2015_uzh_molsim:h2o_diff

This shows you the differences between two versions of the page.

exercises:2015_uzh_molsim:h2o_diff [2015/04/23 12:20] |
exercises:2015_uzh_molsim:h2o_diff [2020/08/21 10:15] (current) |
||
---|---|---|---|

Line 1: | Line 1: | ||

+ | ====== Diffusion constant, viscosity and size effects ====== | ||

+ | When simulating liquids or solids under periodic boundary conditions, we are making two fundamental approximations: | ||

+ | - We simulate an infinite system, thus neglecting the fact that any real-world system is finite. This approximation becomes problematic, | ||

+ | - We impose the condition that the properties of the system under study repeat //exactly// from one simulation cell to the next. The quality of this approximation depends on the system under study and the quantity of interest. | ||

+ | |||

+ | Here, we want to calculate the diffusion constant of water at room temperature ($T=300\, | ||

+ | Since we are interested in a property of bulk water, we don't need to worry about the first approximation. But we need to pay attention to the second one. | ||

+ | The theory derived in [[doi> | ||

+ | With this information at hand, we will be able to extrapolate the results for finite cell sizes to the diffusion constant $D=\lim\limits_{L\rightarrow \infty}D_{pbc}(L)$, | ||

+ | |||

+ | Calculating transport properties typically requires lots of sampling. | ||

+ | Start the MD simulation for 32 water molecules and see how far you can get (aim at least for 200 ps). | ||

+ | <note tip> | ||

+ | This simulation will take a considerable amount of time. | ||

+ | Tasks 1 and 2 can already be completed, while it is running. | ||

+ | </ | ||

+ | < | ||

+ | - While the job is running, check the output of CP2K to verify that all is fine. What is the average temperature? | ||

+ | - We want to simulate diffusion at room temperature. Why aren't we using the $NVT$ ensemble? //Hint:// Think about how thermostats work. | ||

+ | - Use the provided script '' | ||

+ | - How are temperature fluctuations expected to depend on system size? Use gnuplot' | ||

+ | </ | ||

+ | |||

+ | The mean squared displacement (msd) is defined as | ||

+ | $$\text{msd}(t) = \langle |r(t+t_0)-r(t_0)|^2 \rangle$$ | ||

+ | where the average $\langle ... \rangle$ runs over all particles in the system. | ||

+ | |||

+ | Our simulations are not large enough to obtain reasonable statistics just from averaging over all water molecules. | ||

+ | We therefore perform an additional average over the time $t_0$: $\text{msd}(t)$ is calculated as an average over all non-overlapping time windows of width $t$ that fit into the total simulation time $T$. | ||

+ | We have provided a Fortran program that uses this algorithm to extract the msd from a trajectory in a '' | ||

+ | <code bash> | ||

+ | gfortran msd.f90 -o msd.x # compile msd.x executable | ||

+ | ./msd.x < msd.in | ||

+ | </ | ||

+ | Per default, '' | ||

+ | |||

+ | Once you have calculated the msd, have a look into section III of the article on how to fit the diffusion constant. | ||

+ | |||

+ | < | ||

+ | |||

+ | - We have precalculated trajectories for 64, 128 and 256 water molecules (ask your teaching assistant). Use '' | ||

+ | - Plot the msd as a function of time on a double logarithmic scale. Can you identify different regimes? Why does the signal become noisy towards long times? (2P) | ||

+ | - Obtain the diffusion constant $D_{pbc}$ by fitting a line through the mean square displacement data in the range $2-10$ ps. | ||

+ | - Compare against the values in Table I of the article. //Note:// We are using a slightly different force field, but the values should be of a similar magnitude. If not, check your units! | ||

+ | </ | ||

+ | |||

+ | When your MD of the 32 water molecules has finished (for example on the next day), you can start fitting the diffusion constant. | ||

+ | < | ||

+ | |||

+ | - Calculate $D_{PBC}(L)$ also for the 32 water molecules. | ||

+ | - Plot $D_{PBC}$ as a function of $1/L$, where $L$ is the length of the edge of the simulation box. | ||

+ | - Perform a linear fit of this curve to obtain the diffusion constant $D=D_{pbc}(L=\infty)$ | ||

+ | - Use equation (12) in the article to calculate the viscosity $\eta$ from the slope of $D_{PBC}(1/ | ||

+ | - Compare the results to the data in the paper. | ||

+ | </ |

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-ShareAlike 4.0 International