# CP2K Open Source Molecular Dynamics

### Site Tools

exercises:2015_uzh_molsim:h2o_diff

# Differences

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, when the real-world system to be studied consists only of a few simulation cells. + - 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\,\text{K}$). + 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>10.1021/jp0477147]] allows us to estimate the finite size effects in the diffusion constant $D_{pbc}(L)$, calculated under periodic boundary conditions with cell size $L$. + 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)$, effectively getting rid of the second approximation. + + 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). + + This simulation will take a considerable amount of time. + Tasks 1 and 2 can already be completed, while it is running. + + **TASK 1** + - 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 ''./get_t_sigma file.ener'' to calculate the standard deviation of the temperature for your simulation as well as for the provided simulations of larger cells containing 64, 128 and 256 water molecules. + - How are temperature fluctuations expected to depend on system size? Use gnuplot's fitting functionality to check whether they follow the corresponding law. //Hint:// See e.g. [[http://books.google.ch/books?id=5qTzldS9ROIC|"Understanding Molecular Simulations"]] by Frenkel and Smit, sections 4.1 and 6.2. (2P) + + + 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 ''.xyz'' file. + + gfortran msd.f90 -o msd.x  # compile msd.x executable + ./msd.x < msd.in           # check input file 'msd.in' before you run! + + Per default, ''msd.x'' writes the msd in units of $\unicode{x212B}^2$ as a function of time in fs. + + Once you have calculated the msd, have a look into section III of the article on how to fit the diffusion constant. + + **TASK 2** + + - We have precalculated trajectories for 64, 128 and 256 water molecules (ask your teaching assistant). Use ''msd.x'' to calculate the msd, modifying ''msd.in'' as needed. //Note:// ''msd.x'' may run up to 30 minutes for the largest cell. + - 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. + **TASK 3** + + - 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/L)$. + - Compare the results to the data in the paper. +