This is an old revision of the document!


USERMESO is a GPU-accelerated package for mesoscopic modelling using LAMMPS \cite{plimpton1995lammps}. Currently supported methods include Dissipative Particle Dynamics (DPD) and Smoothed Particle Hydrodynamics (SPH). The software is written in a combination of C++ and CUDA C++ language. It achieves tremendous speedup over the CPU code, while at the same time provide good scaling performance.

As a LAMMPS package, its usage pattern follows that of the trunk code. It is shipped with a complete collection of atom styles, fix styles, pair styles, bonded interaction styles and a new integrator style.

\section{Dissipative Particle Dynamics}

Dissipative Particle Dynamics (DPD) method is a stochastic particle simulation method particularly useful for the model of soft matter systems such as polymer melt and solution. Detailed description of the implementation of the DPD functionality within \USERMESO can be found in Ref.~\cite{tang2013gpudpd}.

\subsection{The DPD formulation} \label{sec:dpd_formulation}

In DPD, the force $\textbf{f}$ acting on each particle consists of three pairwise additive parts: a conservative one, a dissipative one and a random one, \textit{i.e.} \begin{align} \textbf{f}_i = \sum_{i\neq j} \textbf{F}_{ij} = \sum_{i\neq j} ( \textbf{F}_{ij}^C + \textbf{F}_{ij}^D + \textbf{F}_{ij}^R ) \end{align} given by \begin{align} \textbf{F}_{ij}^C &= a_{ij} w_C(\textbf{r}_{ij}) \textbf{e}_{ij} \\ \textbf{F}_{ij}^D &= -\gamma_{ij} w_D(\textbf{r}_{ij}) (\textbf{e}_{ij} \cdot \textbf{v}_{ij}) \textbf{e}_{ij} \\ \textbf{F}_{ij}^R &= \sigma_{ij} w_R(\textbf{r}_{ij}) \xi_{ij} {\delta t}^{-\frac{1}{2}} \textbf{e}_{ij} \end{align} if $ |\textbf{r}_{ij}| \leq r_c $, where $r_c$ is the cutoff distance, and \begin{align} \textbf{F}_{ij}^C = \textbf{F}_{ij}^D &= \textbf{F}_{ij}^R = 0,\;\;\; |\textbf{r}_{ij}| > r_c. \end{align} Between the two weight functions $w_D$ (dissipative) and $w_R$ (random), one of them can be chosen arbitrarily, while the other is then fixed as dictated by the fluctuation-dissipation theorem \cite{espanol1995dpd}. \begin{align} w_D(\textbf{r}_{ij}) = w_R^2(\textbf{r}_{ij}) \end{align} In \USERMESO, $w_R$ (random) is assumed to be a power of $w_C$ (conservative): \begin{align} w_R(\textbf{r}_{ij}) = w_C^s(\textbf{r}_{ij}) = (1-\frac{|\textbf{r}_{ij}|}{r_c})^s \end{align} The choice of exponent $s$ is somewhat arbitrary and can be conveniently tuned for reproducing dynamical properties such as viscosity and diffusivity. The coefficients $\sigma_{ij}$ and $\gamma_{ij}$ are also related to each other by \begin{align} \sigma_{ij}^2 = 2 \gamma_{ij} k_B T \end{align} as also dictated by the fluctuation-dissipation theorem.

\subsection{Quick Start Guide}

\begin{enumerate}

\item Download the source code from  or \texttt{http://www.cfm.brown.edu/repo/release/USER-MESO/}

\end{enumerate}

\subsection{Step-by-step setup}

\subsection{Atom Styles}

\subsubsection{\STYLE{dpd/atomic/meso}}

The \STYLE{dpd/atomic/meso} style is derived from the \STYLE{atomic} style and shares the same data file format.

Usage:

\begin{lstlisting} atom_style dpd/atomic/meso

OR

suffix meso atom_style dpd/atomic \end{lstlisting}

Each atom carries the following attributes:

\begin{tabular}[center]{ccc} name & type & remark
\midrule x & double[3] & coordinate
v & double[3] & velocity
f & double[3] & force
tag & int &
type & int &
image & int &
mask & int &
\end{tabular}

\subsubsection{\STYLE{dpd/bond/meso}}

The \STYLE{dpd/bond/meso} style is derived from the \STYLE{bond} style and shares the same data file format. Each atom carries the following attributes:

\begin{tabular}[center]{ccc} name & type & remark
\midrule x & double[3] & coordinate
v & double[3] & velocity
f & double[3] & force
tag & int &
type & int &
image & int &
mask & int &
molecule & int & host molecule id
\end{tabular}

% as well as the per-atom topology information:
% \begin{tabular}[center]{ccc} % name & type & remark
% \midrule % nspecial & int[3] & number of special neighbors
% special & int[?] & special neighbors
% num\_bond & int & number of bonds
% bond\_type & int[?] & type of each bond
% bond\_atom & int[?] & tag of the bonding atom % \end{tabular}

\subsubsection{\STYLE{dpd/angle/meso}}

The \STYLE{dpd/angle/meso} style is derived from the \STYLE{angle} style and shares the same data file format. Each atom carries the following attributes:

\begin{tabular}[center]{ccc} name & type & remark
\midrule x & double[3] & coordinate
v & double[3] & velocity
f & double[3] & force
tag & int &
type & int &
image & int &
mask & int &
molecule & int & host molecule id
\end{tabular}

\subsubsection{\STYLE{edpd/atomic/meso}}

The \STYLE{edpd/atomic/meso} style is an extension of the \STYLE{dpd/atomic/meso} style. One more column for the particle initial temperature is required for the ATOMS section of the input data file. Each atom carries the following attributes:

\begin{tabular}[center]{ccc} name & type & remark
\midrule x & double[3] & coordinate
v & double[3] & velocity
f & double[3] & force
T & double & temperature
Q & double & heat
tag & int &
type & int &
image & int &
mask & int &
\end{tabular}

\subsection{Bond Styles}

\subsubsection*{\STYLE{fene/meso}}

\subsubsection*{\STYLE{harmonic/meso}}

\subsection{Angle Styles}

\subsubsection*{\STYLE{harmonic/meso}}

\subsection{Fix Style}

\subsubsection*{\STYLE{nve/meso}}

\subsubsection*{\STYLE{opt/meso}}

\subsubsection*{\STYLE{plane/meso}}

\subsubsection*{\STYLE{pois/meso}}

\subsubsection*{\STYLE{vprof/meso}}

\subsubsection*{\STYLE{wall/meso}}


Navigation
QR Code
QR Code USER-MESO (generated for current page)