ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopsePaper/analysis.tex
Revision: 710
Committed: Fri Aug 22 19:37:54 2003 UTC (21 years, 8 months ago) by mmeineke
Content type: application/x-tex
File size: 6498 byte(s)
Log Message:
played a little with the headers in DUFF

File Contents

# Content
1 \section{\label{sec:analysis}Analysis Code}
2
3 \subsection{\label{subSec:staticProbs}Static Property Analysis}
4 The static properties of the trajectories are analyzed with the
5 program \texttt{staticProps}. The code is capable of calculating the following
6 pair correlations between species A and B:
7 \begin{itemize}
8 \item $g_{\text{AB}}(r)$: Eq.~\ref{eq:gofr}
9 \item $g_{\text{AB}}(r, \cos \theta)$: Eq.~\ref{eq:gofrCosTheta}
10 \item $g_{\text{AB}}(r, \cos \omega)$: Eq.~\ref{eq:gofrCosOmega}
11 \item $g_{\text{AB}}(x, y, z)$: Eq.~\ref{eq:gofrXYZ}
12 \item $\langle \cos \omega \rangle_{\text{AB}}(r)$:
13 Eq.~\ref{eq:cosOmegaOfR}
14 \end{itemize}
15
16 The first pair correlation, $g_{\text{AB}}(r)$, is defined as follows:
17 \begin{equation}
18 g_{\text{AB}}(r) = \frac{V}{N_{\text{A}}N_{\text{B}}}\langle %%
19 \sum_{i \in \text{A}} \sum_{j \in \text{B}} %%
20 \delta( r - |\mathbf{r}_{ij}|) \rangle \label{eq:gofr}
21 \end{equation}
22 Where $\mathbf{r}_{ij}$ is the vector
23 \begin{equation*}
24 \mathbf{r}_{ij} = \mathbf{r}_j - \mathbf{r}_i \notag
25 \end{equation*}
26 and $\frac{V}{N_{\text{A}}N_{\text{B}}}$ normalizes the average over
27 the expected pair density at a given $r$.
28
29 The next two pair correlations, $g_{\text{AB}}(r, \cos \theta)$ and
30 $g_{\text{AB}}(r, \cos \omega)$, are similar in that they are both two
31 dimensional histograms. Both use $r$ for the primary axis then a
32 $\cos$ for the secondary axis ($\cos \theta$ for
33 Eq.~\ref{eq:gofrCosTheta} and $\cos \omega$ for
34 Eq.~\ref{eq:gofrCosOmega}). This allows for the investigator to
35 correlate alignment on directional entities. $g_{\text{AB}}(r, \cos
36 \theta)$ is defined as follows:
37 \begin{multline}
38 g_{\text{AB}}(r, \cos \theta) = \\
39 \frac{V}{N_{\text{A}}N_{\text{B}}}\langle
40 \sum_{i \in \text{A}} \sum_{j \in \text{B}}
41 \delta( \cos \theta - \cos \theta_{ij})
42 \delta( r - |\mathbf{r}_{ij}|) \rangle \label{eq:gofrCosTheta}
43 \end{multline}
44 Where
45 \begin{equation*}
46 \cos \theta_{ij} = \mathbf{\hat{i}} \cdot \mathbf{\hat{r}}_{ij}
47 \end{equation*}
48 Here $\mathbf{\hat{i}}$ is the unit directional vector of species $i$
49 and $\mathbf{\hat{r}}_{ij}$ is the unit vector associated with vector
50 $\mathbf{r}_{ij}$.
51
52 The second two dimensional histogram is of the form:
53 \begin{multline}
54 g_{\text{AB}}(r, \cos \omega) = \\
55 \frac{V}{N_{\text{A}}N_{\text{B}}}\langle
56 \sum_{i \in \text{A}} \sum_{j \in \text{B}}
57 \delta( \cos \omega - \cos \omega_{ij})
58 \delta( r - |\mathbf{r}_{ij}|) \rangle \label{eq:gofrCosOmega}
59 \end{multline}
60 Here
61 \begin{equation*}
62 \cos \omega_{ij} = \mathbf{\hat{i}} \cdot \mathbf{\hat{j}}
63 \end{equation*}
64 Again, $\mathbf{\hat{i}}$ and $\mathbf{\hat{j}}$ are the unit
65 directional vectors of species $i$ and $j$.
66
67 The static analysis code is also cable of calculating a three
68 dimensional pair correlation of the form:
69 \begin{multline}\label{eq:gofrXYZ}
70 g_{\text{AB}}(x, y, z) = \\
71 \frac{V}{N_{\text{A}}N_{\text{B}}}\langle
72 \sum_{i \in \text{A}} \sum_{j \in \text{B}}
73 \delta( x - x_{ij})
74 \delta( y - y_{ij})
75 \delta( z - z_{ij}) \rangle
76 \end{multline}
77 Where $x_{ij}$, $y_{ij}$, and $z_{ij}$ are the $x$, $y$, and $z$
78 components respectively of vector $\mathbf{r}_{ij}$.
79
80 The final pair correlation is similar to
81 Eq.~\ref{eq:gofrCosOmega}. $\langle \cos \omega
82 \rangle_{\text{AB}}(r)$ is calculated in the following way:
83 \begin{equation}\label{eq:cosOmegaOfR}
84 \langle \cos \omega \rangle_{\text{AB}}(r) =
85 \langle \sum_{i \in \text{A}} \sum_{j \in \text{B}}
86 (\cos \omega_{ij}) \delta( r - |\mathbf{r}_{ij}|) \rangle
87 \end{equation}
88 Here $\cos \omega_{ij}$ is defined in the same way as in
89 Eq.~\ref{eq:gofrCosOmega}. This equation is a single dimensional pair
90 correlation that gives the average correlation of two directional
91 entities as a function of their distance from each other.
92
93 All static properties are calculated on a frame by frame basis. The
94 trajectory is read a single frame at a time, and the appropriate
95 calculations are done on each frame. Once one frame is finished, the
96 next frame is read in, and a running average of the property being
97 calculated is accumulated in each frame. The program allows for the
98 user to specify more than one property be calculated in single run,
99 preventing the need to read a file multiple times.
100
101 \subsection{\label{dynamicProps}Dynamic Property Analysis}
102
103 The dynamic properties of a trajectory are calculated with the program
104 \texttt{dynamicProps}. The program will calculate the following properties:
105 \begin{gather}
106 \langle | \mathbf{r}(t) - \mathbf{r}(0) |^2 \rangle \label{eq:rms}\\
107 \langle \mathbf{v}(t) \cdot \mathbf{v}(0) \rangle \label{eq:velCorr} \\
108 \langle \mathbf{j}(t) \cdot \mathbf{j}(0) \rangle \label{eq:angularVelCorr}
109 \end{gather}
110
111 Eq.~\ref{eq:rms} is the root mean square displacement
112 function. Eq.~\ref{eq:velCorr} and Eq.~\ref{eq:angularVelCorr} are the
113 velocity and angular velocity correlation functions respectively. The
114 latter is only applicable to directional species in the simulation.
115
116 The \texttt{dynamicProps} program handles he file in a manner different from
117 \texttt{staticProps}. As the properties calculated by this program are time
118 dependent, multiple frames must be read in simultaneously by the
119 program. For small trajectories this is no problem, and the entire
120 trajectory is read into memory. However, for long trajectories of
121 large systems, the files can be quite large. In order to accommodate
122 large files, \texttt{dynamicProps} adopts a scheme whereby two blocks of memory
123 are allocated to read in several frames each.
124
125 In this two block scheme, the correlation functions are first
126 calculated within each memory block, then the cross correlations
127 between the frames contained within the two blocks are
128 calculated. Once completed, the memory blocks are incremented, and the
129 process is repeated. A diagram illustrating the process is shown in
130 Fig.~\ref{fig:dynamicPropsMemory}. As was the case with \texttt{staticProps},
131 multiple properties may be calculated in a single run to avoid
132 multiple reads on the same file.
133
134 \begin{figure}
135 \includegraphics[angle=-90,width=80mm]{dynamicPropsMem.eps}
136 \caption{This diagram illustrates the dynamic memory allocation used by \texttt{dynamicProps}, which follows the scheme: $\sum^{N_{\text{memory blocks}}}_{i=1}[ \operatorname{self}(i) + \sum^{N_{\text{memory blocks}}}_{j>i} \operatorname{cross}(i,j)]$. The shaded region represents the self correlation of the memory block, and the open blocks are read one at a time and the cross correlations between blocks are calculated.}
137 \label{fig:dynamicPropsMemory}
138 \end{figure}