exercises:2015_uzh_molsim:h2o_diff
Differences
This shows you the differences between two versions of the page.
— | exercises:2015_uzh_molsim:h2o_diff [2020/08/21 10:15] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
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. | ||
+ | </ |