2517 |
|
Dynamics to move the molecules to the correct constrained positions & |
2518 |
|
Harmonic Forces are used by default |
2519 |
|
\label{table:zconParams} |
2520 |
+ |
\end{longtable} |
2521 |
+ |
|
2522 |
+ |
\section{Langevin Dynamics for Rigid Particles of Arbitrary Shape (LANGEVINDYNAMICS)\label{LDRB}} |
2523 |
+ |
|
2524 |
+ |
{\sc oopse} implements langevin dynamics integrator to perform the |
2525 |
+ |
molecular dynamics simulations at implicit solvents environment to |
2526 |
+ |
speed up the simulation when the properties of solvents are not |
2527 |
+ |
important. Consider the Langevin equations of motion in generalized |
2528 |
+ |
coordinates |
2529 |
+ |
\begin{equation} |
2530 |
+ |
{\bf M} \dot{{\bf V}}(t) = {\bf F}_{s}(t) + |
2531 |
+ |
{\bf F}_{f}(t) + {\bf F}_{r}(t) |
2532 |
+ |
\label{LDGeneralizedForm} |
2533 |
+ |
\end{equation} |
2534 |
+ |
where ${\bf M}$ is a $6 \times 6$ diagonal mass matrix (which |
2535 |
+ |
includes the mass of the rigid body as well as the moments of inertia |
2536 |
+ |
in the body-fixed frame) and ${\bf V}$ is a generalized velocity, |
2537 |
+ |
${\bf V} = |
2538 |
+ |
\left\{{\bf v},{\bf \omega}\right\}$. The right side of |
2539 |
+ |
Eq.~\ref{LDGeneralizedForm} consists of three generalized forces: a |
2540 |
+ |
system force (${\bf F}_{s}$), a frictional or dissipative force (${\bf |
2541 |
+ |
F}_{f}$) and a stochastic force (${\bf F}_{r}$). While the evolution |
2542 |
+ |
of the system in Newtonian mechanics is typically done in the lab |
2543 |
+ |
frame, it is convenient to handle the dynamics of rigid bodies in |
2544 |
+ |
body-fixed frames. Thus the friction and random forces on each |
2545 |
+ |
substructure are calculated in a body-fixed frame and may converted |
2546 |
+ |
back to the lab frame using that substructure's rotation matrix (${\bf |
2547 |
+ |
Q}$): |
2548 |
+ |
\begin{equation} |
2549 |
+ |
{\bf F}_{f,r} = |
2550 |
+ |
\left( \begin{array}{c} |
2551 |
+ |
{\bf f}_{f,r} \\ |
2552 |
+ |
{\bf \tau}_{f,r} |
2553 |
+ |
\end{array} \right) |
2554 |
+ |
= |
2555 |
+ |
\left( \begin{array}{c} |
2556 |
+ |
{\bf Q}^{T} {\bf f}^{~b}_{f,r} \\ |
2557 |
+ |
{\bf Q}^{T} {\bf \tau}^{~b}_{f,r} |
2558 |
+ |
\end{array} \right) |
2559 |
+ |
\end{equation} |
2560 |
+ |
The body-fixed friction force, ${\bf F}_{f}^{~b}$, is proportional to |
2561 |
+ |
the (body-fixed) velocity at the center of resistance |
2562 |
+ |
${\bf v}_{R}^{~b}$ and the angular velocity ${\bf \omega}$ |
2563 |
+ |
\begin{equation} |
2564 |
+ |
{\bf F}_{f}^{~b}(t) = \left( \begin{array}{l} |
2565 |
+ |
{\bf f}_{f}^{~b}(t) \\ |
2566 |
+ |
{\bf \tau}_{f}^{~b}(t) \\ |
2567 |
+ |
\end{array} \right) = - \left( \begin{array}{*{20}c} |
2568 |
+ |
\Xi_{R}^{tt} & \Xi_{R}^{rt} \\ |
2569 |
+ |
\Xi_{R}^{tr} & \Xi_{R}^{rr} \\ |
2570 |
+ |
\end{array} \right)\left( \begin{array}{l} |
2571 |
+ |
{\bf v}_{R}^{~b}(t) \\ |
2572 |
+ |
{\bf \omega}(t) \\ |
2573 |
+ |
\end{array} \right), |
2574 |
+ |
\end{equation} |
2575 |
+ |
while the random force, ${\bf F}_{r}$, is a Gaussian stochastic |
2576 |
+ |
variable with zero mean and variance, |
2577 |
+ |
\begin{equation} |
2578 |
+ |
\left\langle {{\bf F}_{r}(t) ({\bf F}_{r}(t'))^T } \right\rangle = |
2579 |
+ |
\left\langle {{\bf F}_{r}^{~b} (t) ({\bf F}_{r}^{~b} (t'))^T } \right\rangle = |
2580 |
+ |
2 k_B T \Xi_R \delta(t - t'). \label{eq:randomForce} |
2581 |
+ |
\end{equation} |
2582 |
+ |
$\Xi_R$ is the $6\times6$ resistance tensor at the center of |
2583 |
+ |
resistance. Once this tensor is known for a given rigid body (as |
2584 |
+ |
described in the previous section) obtaining a stochastic vector that |
2585 |
+ |
has the properties in Eq. (\ref{eq:randomForce}) can be done |
2586 |
+ |
efficiently by carrying out a one-time Cholesky decomposition to |
2587 |
+ |
obtain the square root matrix of the resistance tensor, |
2588 |
+ |
\begin{equation} |
2589 |
+ |
\Xi_R = {\bf S} {\bf S}^{T}, |
2590 |
+ |
\label{eq:Cholesky} |
2591 |
+ |
\end{equation} |
2592 |
+ |
where ${\bf S}$ is a lower triangular matrix.\cite{Schlick2002} A |
2593 |
+ |
vector with the statistics required for the random force can then be |
2594 |
+ |
obtained by multiplying ${\bf S}$ onto a random 6-vector ${\bf Z}$ which |
2595 |
+ |
has elements chosen from a Gaussian distribution, such that: |
2596 |
+ |
\begin{equation} |
2597 |
+ |
\langle {\bf Z}_i \rangle = 0, \hspace{1in} \langle {\bf Z}_i \cdot |
2598 |
+ |
{\bf Z}_j \rangle = \frac{2 k_B T}{\delta t} \delta_{ij}, |
2599 |
+ |
\end{equation} |
2600 |
+ |
where $\delta t$ is the timestep in use during the simulation. The |
2601 |
+ |
random force, ${\bf F}_{r}^{~b} = {\bf S} {\bf Z}$, can be shown to have the |
2602 |
+ |
correct properties required by Eq. (\ref{eq:randomForce}). |
2603 |
+ |
|
2604 |
+ |
The equation of motion for the translational velocity of the center of |
2605 |
+ |
mass (${\bf v}$) can be written as |
2606 |
+ |
\begin{equation} |
2607 |
+ |
m \dot{{\bf v}} (t) = {\bf f}_{s}(t) + {\bf f}_{f}(t) + |
2608 |
+ |
{\bf f}_{r}(t) |
2609 |
+ |
\end{equation} |
2610 |
+ |
Since the frictional and random forces are applied at the center of |
2611 |
+ |
resistance, which generally does not coincide with the center of mass, |
2612 |
+ |
extra torques are exerted at the center of mass. Thus, the net |
2613 |
+ |
body-fixed torque at the center of mass, $\tau^{~b}(t)$, |
2614 |
+ |
is given by |
2615 |
+ |
\begin{equation} |
2616 |
+ |
\tau^{~b} \leftarrow \tau_{s}^{~b} + \tau_{f}^{~b} + \tau_{r}^{~b} + {\bf r}_{MR} \times \left( {\bf f}_{f}^{~b} + {\bf f}_{r}^{~b} \right) |
2617 |
+ |
\end{equation} |
2618 |
+ |
where ${\bf r}_{MR}$ is the vector from the center of mass to the center of |
2619 |
+ |
resistance. Instead of integrating the angular velocity in lab-fixed |
2620 |
+ |
frame, we consider the equation of motion for the angular momentum |
2621 |
+ |
(${\bf j}$) in the body-fixed frame |
2622 |
+ |
\begin{equation} |
2623 |
+ |
\frac{\partial}{\partial t}{\bf j}(t) = \tau^{~b}(t) |
2624 |
+ |
\end{equation} |
2625 |
+ |
Embedding the friction and random forces into the the total force and |
2626 |
+ |
torque, one can integrate the Langevin equations of motion for a rigid |
2627 |
+ |
body of arbitrary shape in a velocity-Verlet style 2-part algorithm, |
2628 |
+ |
where $h = \delta t$: |
2629 |
+ |
|
2630 |
+ |
{\tt move A:} |
2631 |
+ |
\begin{align*} |
2632 |
+ |
{\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t) |
2633 |
+ |
+ \frac{h}{2} \left( {\bf f}(t) / m \right), \\ |
2634 |
+ |
% |
2635 |
+ |
{\bf r}(t + h) &\leftarrow {\bf r}(t) |
2636 |
+ |
+ h {\bf v}\left(t + h / 2 \right), \\ |
2637 |
+ |
% |
2638 |
+ |
{\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t) |
2639 |
+ |
+ \frac{h}{2} {\bf \tau}^{~b}(t), \\ |
2640 |
+ |
% |
2641 |
+ |
{\bf Q}(t + h) &\leftarrow \mathrm{rotate}\left( h {\bf j} |
2642 |
+ |
(t + h / 2) \cdot \overleftrightarrow{\mathsf{I}}^{-1} \right). |
2643 |
+ |
\end{align*} |
2644 |
+ |
In this context, $\overleftrightarrow{\mathsf{I}}$ is the diagonal |
2645 |
+ |
moment of inertia tensor, and the $\mathrm{rotate}$ function is the |
2646 |
+ |
reversible product of the three body-fixed rotations, |
2647 |
+ |
\begin{equation} |
2648 |
+ |
\mathrm{rotate}({\bf a}) = \mathsf{G}_x(a_x / 2) \cdot |
2649 |
+ |
\mathsf{G}_y(a_y / 2) \cdot \mathsf{G}_z(a_z) \cdot \mathsf{G}_y(a_y |
2650 |
+ |
/ 2) \cdot \mathsf{G}_x(a_x /2), |
2651 |
+ |
\end{equation} |
2652 |
+ |
where each rotational propagator, $\mathsf{G}_\alpha(\theta)$, |
2653 |
+ |
rotates both the rotation matrix ($\mathbf{Q}$) and the body-fixed |
2654 |
+ |
angular momentum (${\bf j}$) by an angle $\theta$ around body-fixed |
2655 |
+ |
axis $\alpha$, |
2656 |
+ |
\begin{equation} |
2657 |
+ |
\mathsf{G}_\alpha( \theta ) = \left\{ |
2658 |
+ |
\begin{array}{lcl} |
2659 |
+ |
\mathbf{Q}(t) & \leftarrow & \mathbf{Q}(0) \cdot \mathsf{R}_\alpha(\theta)^T, \\ |
2660 |
+ |
{\bf j}(t) & \leftarrow & \mathsf{R}_\alpha(\theta) \cdot {\bf |
2661 |
+ |
j}(0). |
2662 |
+ |
\end{array} |
2663 |
+ |
\right. |
2664 |
+ |
\end{equation} |
2665 |
+ |
$\mathsf{R}_\alpha$ is a quadratic approximation to the single-axis |
2666 |
+ |
rotation matrix. For example, in the small-angle limit, the |
2667 |
+ |
rotation matrix around the body-fixed x-axis can be approximated as |
2668 |
+ |
\begin{equation} |
2669 |
+ |
\mathsf{R}_x(\theta) \approx \left( |
2670 |
+ |
\begin{array}{ccc} |
2671 |
+ |
1 & 0 & 0 \\ |
2672 |
+ |
0 & \frac{1-\theta^2 / 4}{1 + \theta^2 / 4} & -\frac{\theta}{1+ |
2673 |
+ |
\theta^2 / 4} \\ |
2674 |
+ |
0 & \frac{\theta}{1+ \theta^2 / 4} & \frac{1-\theta^2 / 4}{1 + |
2675 |
+ |
\theta^2 / 4} |
2676 |
+ |
\end{array} |
2677 |
+ |
\right). |
2678 |
+ |
\end{equation} |
2679 |
+ |
All other rotations follow in a straightforward manner. After the |
2680 |
+ |
first part of the propagation, the forces and body-fixed torques are |
2681 |
+ |
calculated at the new positions and orientations. The system forces |
2682 |
+ |
and torques are derivatives of the total potential energy function |
2683 |
+ |
($U$) with respect to the rigid body positions (${\bf r}$) and the |
2684 |
+ |
columns of the transposed rotation matrix ${\bf Q}^T = \left({\bf |
2685 |
+ |
u}_x, {\bf u}_y, {\bf u}_z \right)$: |
2686 |
+ |
|
2687 |
+ |
{\tt Forces:} |
2688 |
+ |
\begin{align*} |
2689 |
+ |
{\bf f}_{s}(t + h) & \leftarrow |
2690 |
+ |
- \left(\frac{\partial U}{\partial {\bf r}}\right)_{{\bf r}(t + h)} \\ |
2691 |
+ |
% |
2692 |
+ |
{\bf \tau}_{s}(t + h) &\leftarrow {\bf u}(t + h) |
2693 |
+ |
\times \frac{\partial U}{\partial {\bf u}} \\ |
2694 |
+ |
% |
2695 |
+ |
{\bf v}^{b}_{R}(t+h) & \leftarrow \mathbf{Q}(t+h) \cdot \left({\bf v}(t+h) + {\bf \omega}(t+h) \times {\bf r}_{MR} \right) \\ |
2696 |
+ |
% |
2697 |
+ |
{\bf f}_{R,f}^{b}(t+h) & \leftarrow - \Xi_{R}^{tt} \cdot |
2698 |
+ |
{\bf v}^{b}_{R}(t+h) - \Xi_{R}^{rt} \cdot {\bf \omega}(t+h) \\ |
2699 |
+ |
% |
2700 |
+ |
{\bf \tau}_{R,f}^{b}(t+h) & \leftarrow - \Xi_{R}^{tr} \cdot |
2701 |
+ |
{\bf v}^{b}_{R}(t+h) - \Xi_{R}^{rr} \cdot {\bf \omega}(t+h) \\ |
2702 |
+ |
% |
2703 |
+ |
Z & \leftarrow {\tt GaussianNormal}(2 k_B T / h, 6) \\ |
2704 |
+ |
{\bf F}_{R,r}^{b}(t+h) & \leftarrow {\bf S} \cdot Z \\ |
2705 |
+ |
% |
2706 |
+ |
{\bf f}(t+h) & \leftarrow {\bf f}_{s}(t+h) + \mathbf{Q}^{T}(t+h) |
2707 |
+ |
\cdot \left({\bf f}_{R,f}^{~b} + {\bf f}_{R,r}^{~b} \right) \\ |
2708 |
+ |
% |
2709 |
+ |
\tau(t+h) & \leftarrow \tau_{s}(t+h) + \mathbf{Q}^{T}(t+h) \cdot \left(\tau_{R,f}^{~b} + \tau_{R,r}^{~b} \right) + {\bf r}_{MR} \times \left({\bf f}_{f}(t+h) + {\bf f}_{r}(t+h) \right) \\ |
2710 |
+ |
\tau^{~b}(t+h) & \leftarrow \mathbf{Q}(t+h) \cdot \tau(t+h) \\ |
2711 |
+ |
\end{align*} |
2712 |
+ |
Frictional (and random) forces and torques must be computed at the |
2713 |
+ |
center of resistance, so there are additional steps required to find |
2714 |
+ |
the body-fixed velocity (${\bf v}_{R}^{~b}$) at this location. Mapping |
2715 |
+ |
the frictional and random forces at the center of resistance back to |
2716 |
+ |
the center of mass also introduces an additional term in the torque |
2717 |
+ |
one obtains at the center of mass. |
2718 |
+ |
|
2719 |
+ |
Once the forces and torques have been obtained at the new time step, |
2720 |
+ |
the velocities can be advanced to the same time value. |
2721 |
+ |
|
2722 |
+ |
{\tt move B:} |
2723 |
+ |
\begin{align*} |
2724 |
+ |
{\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t + h / 2 |
2725 |
+ |
\right) |
2726 |
+ |
+ \frac{h}{2} \left( {\bf f}(t + h) / m \right), \\ |
2727 |
+ |
% |
2728 |
+ |
{\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t + h / 2 |
2729 |
+ |
\right) |
2730 |
+ |
+ \frac{h}{2} {\bf \tau}^{~b}(t + h) . |
2731 |
+ |
\end{align*} |
2732 |
+ |
|
2733 |
+ |
The viscosity of the implicit of solvents must be specified using {\tt |
2734 |
+ |
viscosity} keywords in the meta-data file to use langevin dynamics |
2735 |
+ |
integrator. For simple shaped particles (spheres and ellipsoids), no |
2736 |
+ |
further parameters are necessary. However, there are no analytical |
2737 |
+ |
solutions for composite shaped particles, the approximate methods have |
2738 |
+ |
to be applied to get the resistance tensor. The file which contains |
2739 |
+ |
the information about hydro properties is indicated by {\tt |
2740 |
+ |
HydroPropFile} keyword in meta-data file. The {\tt HydroPropFile} is |
2741 |
+ |
precalculated by {\tt Hydro}. |
2742 |
+ |
|
2743 |
+ |
\begin{longtable}[c]{ABCD} |
2744 |
+ |
\caption{Meta-data Keywords: Langevin Dynamics Parameters} |
2745 |
+ |
\\ |
2746 |
+ |
{\bf keyword} & {\bf units} & {\bf use} & {\bf remarks} \\ \hline |
2747 |
+ |
\endhead |
2748 |
+ |
\hline |
2749 |
+ |
\endfoot |
2750 |
+ |
{\tt viscosity} & centipoise & Sets the value of viscosity of implicit |
2751 |
+ |
solvents & \\ {\tt HydroPropFile} & string & specifies the resistance |
2752 |
+ |
tensor file & usually a {\tt .diff} file which is precalculated by |
2753 |
+ |
{\sc Hydro}. Not necessory for simple shaped particles (spheres and |
2754 |
+ |
ellipsoids) \\ |
2755 |
+ |
{\tt beadSize} & $\mbox{\AA}$ & Sets the diameters of |
2756 |
+ |
beads when {\sc Rough Shell Model} is used to generate the resistance |
2757 |
+ |
tensor file. \\ |
2758 |
+ |
\label{table:ldParameters} |
2759 |
|
\end{longtable} |
2760 |
|
|
2761 |
|
\chapter{\label{oopseSec:thermInt}Thermodynamic Integration} |
3452 |
|
& {\tt -{}-nx=INT} & number of unit cells in x\\ |
3453 |
|
& {\tt -{}-ny=INT} & number of unit cells in y\\ |
3454 |
|
& {\tt -{}-nz=INT} & number of unit cells in z |
3455 |
+ |
\end{longtable} |
3456 |
+ |
|
3457 |
+ |
\section{\label{oopseSec:Hydro}Hydro} |
3458 |
+ |
{\tt Hydro} generates {\tt .diff} file which is required when a Langevin |
3459 |
+ |
Dynamics simulation using approximate models (supports Bead Model and |
3460 |
+ |
Rough Shell Model) is performed. To generate the {\tt }.diff file, the |
3461 |
+ |
meta-data file is needed as the input file. The viscosity of the fluid |
3462 |
+ |
flow (solvent) and the temperature of the system have to be defined in |
3463 |
+ |
meta-data file. If the approximate model is {\tt Rough Shell Model}, |
3464 |
+ |
the {\tt beadSize} which is the diameter of every beads must be |
3465 |
+ |
specified in meta-data file. |
3466 |
+ |
|
3467 |
+ |
The options available for Hydro are as follows: |
3468 |
+ |
\begin{longtable}[c]{|EFG|} |
3469 |
+ |
\caption{Hydro Command-line Options} |
3470 |
+ |
\\ \hline |
3471 |
+ |
{\bf option} & {\bf verbose option} & {\bf behavior} \\ \hline |
3472 |
+ |
\endhead |
3473 |
+ |
\hline |
3474 |
+ |
\endfoot |
3475 |
+ |
-h& {\tt -{}-help} & Print help and exit\\ |
3476 |
+ |
-V& {\tt -{}-version} & Print version and exit\\ |
3477 |
+ |
-i& {\tt -{}-input=filename} & input MetaData (md) file\\ |
3478 |
+ |
-o& {\tt -{}-output=STRING} & Output file name\\ |
3479 |
+ |
& {\tt -{}-model=STRING} & hydrodynamics model (supports |
3480 |
+ |
RoughShell and BeadModel)\\ |
3481 |
+ |
-b& {\tt -{}-beads} & generate the beads only, |
3482 |
+ |
hydrodynamics will be performed (default=off)\\ |
3483 |
|
\end{longtable} |
3484 |
|
|
3485 |
+ |
|
3486 |
|
\chapter{\label{oopseSec:parallelization} Parallel Simulation Implementation} |
3487 |
|
|
3488 |
|
Although processor power is continually improving, it is still |