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] (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> | ||

+ | <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. [[http://books.google.ch/books?id=5qTzldS9ROIC|"Understanding Molecular Simulations"]] by Frenkel and Smit, sections 4.1 and 6.2. (2P) | ||

+ | </note> | ||

+ | |||

+ | 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 < msd.in # check input file 'msd.in' before you run! | ||

+ | </code> | ||

+ | 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 ''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! | ||

+ | </note> | ||

+ | |||

+ | 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. | ||

+ | </note> |

exercises/2015_uzh_molsim/h2o_diff.txt ยท Last modified: 2015/04/23 12:20 (external edit)

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