User Tools

Site Tools



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

Link to this comparison view

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).
 +<note tip>
 +This simulation will take a considerable amount of time. 
 +Tasks 1 and 2 can already be completed, while it is running.
 +<note>**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. [[|"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. 
 +<code bash>
 +gfortran msd.f90 -o msd.x  # compile msd.x executable
 +./msd.x <           # check input file '' 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.
 +<note>**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 '''' 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.
 +<note>**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.