Computational implementation of integral equations: Difference between revisions
Carl McBride (talk | contribs) No edit summary |
Carl McBride (talk | contribs) No edit summary |
||
| Line 19: | Line 19: | ||
Picard iteration generates a solution of an initial value problem for an ordinary differential equation (ODE) using fixed-point iteration. | Picard iteration generates a solution of an initial value problem for an ordinary differential equation (ODE) using fixed-point iteration. | ||
Here are the four steps used to solve integral equations: | Here are the four steps used to solve integral equations: | ||
===1. Closure relation | ===1. Closure relation <math>\gamma_{mns}^{\mu \nu} (r) \rightarrow c_{mns}^{\mu \nu} (r)</math>=== | ||
<math>\gamma_{mns}^{\mu \nu} (r) \rightarrow c_{mns}^{\mu \nu} (r)</math> | |||
(Note: for linear fluids <math>\mu = \nu =0</math>) | (Note: for linear fluids <math>\mu = \nu =0</math>) | ||
| Line 42: | Line 41: | ||
:<math>\left. y\right.= \cos \phi_{12}</math> | :<math>\left. y\right.= \cos \phi_{12}</math> | ||
Thus <math>\gamma(12)=\gamma (r,x_1x_2,y,z_1z_2)</math>. | Thus | ||
:<math>\gamma(12)=\gamma (r,x_1x_2,y,z_1z_2)</math>. | |||
====Evaluate==== | ====Evaluate==== | ||
| Line 60: | Line 60: | ||
where | where | ||
<math>\hat{d}_{s \mu}^m (x) = (2m+1)^{1/2} d_{s \mu}^m(\theta)</math> | :<math>\hat{d}_{s \mu}^m (x) = (2m+1)^{1/2} d_{s \mu}^m(\theta)</math> | ||
where <math>d_{s \mu}^m(\theta)</math> is the angular, <math>\theta</math>, part of the | where <math>d_{s \mu}^m(\theta)</math> is the angular, <math>\theta</math>, part of the | ||
| Line 66: | Line 66: | ||
and | and | ||
<math>e_s(y)=\exp(is\phi)</math> | :<math>e_s(y)=\exp(is\phi)</math> | ||
<math>e_{\mu}(z)= \exp(i\mu \chi)</math> | :<math>e_{\mu}(z)= \exp(i\mu \chi)</math> | ||
For the limits in the summations | For the limits in the summations | ||
<math>L_1= \max (s,\nu_1)</math> | :<math>L_1= \max (s,\nu_1)</math> | ||
<math>L_2= \max (s,\nu_2)</math> | :<math>L_2= \max (s,\nu_2)</math> | ||
The above equation constitutes a separable five-dimensional transform. To rapidly evaluate | The above equation constitutes a separable five-dimensional transform. To rapidly evaluate | ||
this expression it is broken down into five one-dimensional transforms: | this expression it is broken down into five one-dimensional transforms: | ||
<math>\gamma_{l_2m}^{n_1n_2}(r,x_{1_i})=\sum_{l_1=L_1}^M \gamma_{l_1 l_2 m}^{n_1 n_2}(r) \hat{d}_{m n_1}^{l_1} (x_{1_i})</math> | :<math>\gamma_{l_2m}^{n_1n_2}(r,x_{1_i})=\sum_{l_1=L_1}^M \gamma_{l_1 l_2 m}^{n_1 n_2}(r) \hat{d}_{m n_1}^{l_1} (x_{1_i})</math> | ||
<math>\gamma_{m}^{n_1n_2}(r,x_{1_i},x_{2_i})=\sum_{l_2=L_2}^M \gamma_{l_2 m}^{n_1 n_2}(r,x_{1_i}) \hat{d}_{\overline{m} n_2}^{l_2} (x_{2_i})</math> | :<math>\gamma_{m}^{n_1n_2}(r,x_{1_i},x_{2_i})=\sum_{l_2=L_2}^M \gamma_{l_2 m}^{n_1 n_2}(r,x_{1_i}) \hat{d}_{\overline{m} n_2}^{l_2} (x_{2_i})</math> | ||
<math>\gamma^{n_1n_2}(r,x_{1_i},x_{2_i},j)=\sum_{m=-M}^M \gamma_{m}^{n_1 n_2}(r,x_{1_i},x_{2_i}) e_m(j)</math> | :<math>\gamma^{n_1n_2}(r,x_{1_i},x_{2_i},j)=\sum_{m=-M}^M \gamma_{m}^{n_1 n_2}(r,x_{1_i},x_{2_i}) e_m(j)</math> | ||
<math>\gamma^{n_2}(r,x_{1_i},x_{2_i},z_{1_k})=\sum_{n_1=-M}^M \gamma^{n_1 n_2}(r,x_{1_i},x_{2_i},j) e_{n_1}(z_{1_k})</math> | :<math>\gamma^{n_2}(r,x_{1_i},x_{2_i},z_{1_k})=\sum_{n_1=-M}^M \gamma^{n_1 n_2}(r,x_{1_i},x_{2_i},j) e_{n_1}(z_{1_k})</math> | ||
<math>\gamma(r,x_{1_i},x_{2_i},z_{1_k},z_{2_k})=\sum_{n_2=-M}^M \gamma^{n_2}(r,x_{1_i},x_{2_i},j,z_{1_k}) e_{n_2}(z_{2_k})</math> | :<math>\gamma(r,x_{1_i},x_{2_i},z_{1_k},z_{2_k})=\sum_{n_2=-M}^M \gamma^{n_2}(r,x_{1_i},x_{2_i},j,z_{1_k}) e_{n_2}(z_{2_k})</math> | ||
Operations involving the <math>e_m(y)</math> and <math>e_n(z)</math> basis functions are performed in | Operations involving the <math>e_m(y)</math> and <math>e_n(z)</math> basis functions are performed in | ||
| Line 96: | Line 96: | ||
====Integrate over angles <math>c_2(12)</math>==== | ====Integrate over angles <math>c_2(12)</math>==== | ||
Use Gauss-Legendre quadrature for | Use [[Gauss-Legendre quadrature]] for <math>x_1</math> and <math>x_2</math> | ||
Use Gauss-Chebyshev quadrature for | Use [[Gauss-Chebyshev quadrature]] for <math>y</math>, <math>z_1</math> and <math>z_2</math> | ||
thus | thus | ||
c_{mns}^{\mu \nu} (r) = w^3 | :<math>c_{mns}^{\mu \nu} (r) = w^3 | ||
\sum_{x_{1_i},x_{2_i},j,z_{1_k},z_{2_k}=1}^{NG} | \sum_{x_{1_i},x_{2_i},j,z_{1_k},z_{2_k}=1}^{NG} | ||
w_{i_1}w_{i_2}c_2(r,x_{1_i},x_{2_i},j,z_{1_k},z_{2_k}) | w_{i_1}w_{i_2}c_2(r,x_{1_i},x_{2_i},j,z_{1_k},z_{2_k}) | ||
\hat{d}_{s \mu}^m (x_{1_i}) \hat{d}_{\overline{s} \nu}^n (x_{2_i}) | \hat{d}_{s \mu}^m (x_{1_i}) \hat{d}_{\overline{s} \nu}^n (x_{2_i}) | ||
e_{\overline{s}}(j) e_{\overline{\mu}} (z_{1_k}) e_{\overline{\nu}} (z_{2_k}) | e_{\overline{s}}(j) e_{\overline{\mu}} (z_{1_k}) e_{\overline{\nu}} (z_{2_k})</math> | ||
where the Gauss-Legendre quadrature weights are given by | |||
:<math>w_i= \frac{1}{(1-x_i^2)}[P_{NG}^{'} (x_i)]^2</math> | |||
while the Gauss-Chebyshev quadrature has the constant weight | |||
:<math>w=\frac{1}{NG}</math> | |||
===Perform FFT from Real to Fourier space=== $ c_{mns}^{\mu \nu} (r) \rightarrow \tilde{c}_{mns}^{\mu \nu} (k)$ \\ | |||
~\\ | |||
This is non-trivial and is undertaken in three steps:\\ | |||
i) Conversion from axial reference frame to spatial reference frame, {\it i.e.} | |||
\begin{equation} | |||
c_{mns}^{\mu \nu} (r) \rightarrow c_{\mu \nu}^{mnl} (r) | |||
\end{equation} | |||
this is done using the Blum transformation \cite{JCP_1972_56_00303,JCP_1972_57_01862,JCP_1973_58_03295}: | |||
\begin{equation} | |||
g_{\mu \nu}^{mnl}(r) = \sum_{s=-\min (m,n)}^{\min (m,n)} \left( | |||
\begin{array}{ccc} | |||
m&n&l\\ | |||
s&\overline{s}&0 | |||
\end{array} | |||
\right)g_{mns}^{\mu \nu} (r) | |||
\end{equation} | |||
{\bf ii}) {\bf Fourier-Bessel Transforms}: $ c_{\mu \nu}^{mnl} (r) \rightarrow \tilde{c}_{\mu \nu}^{mnl} (k) | |||
$\\ | |||
\begin{equation} | |||
\tilde{c}_{\mu \nu}^{mnl} (k; l_1 l_2 l n_1 n_2) = 4\pi i^l \int_0^{\infty} c_{\mu \nu}^{mnl} (r; l_1 l_2 l n_1 n_2) J_l (kr) ~r^2 {\rm d}r | |||
\end{equation} | |||
(see Blum and Torruella Eq. 5.6 \cite{JCP_1972_56_00303} or Lado Eq. 39 \cite{MP_1982_47_0283}), | |||
where $J_l(x)$ is a Bessel function of order $l$.\\ | |||
`step-down' operations can be performed by way of sin and cos operations | |||
of Fourier transforms, see Eqs. 49a, 49b, 50 of Lado \cite{MP_1982_47_0283}.\\ | |||
The Fourier-Bessel transform is also known as a {\bf Hankel transform}. | |||
It is equivalent to a two-dimensional Fourier transform with a radially symmetric integral kernel. | |||
\begin{equation} | |||
g(q)=2\pi \int_0^\infty f(r) J_0(2 \pi qr)r ~{\rm d}r | |||
\end{equation} | |||
\begin{equation} | |||
f(r)=2\pi \int_0^\infty g(q) J_0(2 \pi qr)q ~{\rm d}q | |||
\end{equation} | \end{equation} | ||
%The step-down operator | |||
iii) Conversion from the spatial reference frame back to the axial reference frame, {\it i.e.} | |||
\begin{equation} | \begin{equation} | ||
\tilde{c}_{\mu \nu}^{mnl} (k) \rightarrow \tilde{c}_{mns}^{\mu \nu} (k) | |||
\end{equation} | \end{equation} | ||
this is done using the Blum transformation | |||
\begin{equation} | \begin{equation} | ||
g_{mns}^{\mu \nu} (r) | |||
= \sum_{l=|m-n|}^{m+n} \left( | |||
\begin{array}{ccc} | |||
m&n&l\\ | |||
s&\overline{s}&0 | |||
\end{array} | |||
\right) | |||
g_{\mu \nu}^{mnl}(r) | |||
\end{equation} | \end{equation} | ||
==Ng acceleration== | ==Ng acceleration== | ||
Revision as of 11:10, 30 May 2007
Integral equations are solved numerically. One has the Ornstein-Zernike relation, and a closure relation, (which incorporates the bridge function ). The numerical solution is iterative;
- trial solution for
- calculate
- use the Ornstein-Zernike relation to generate a new etc.
Note that the value of is local, i.e. the value of at a given point is given by the value of at this point. However, the Ornstein-Zernike relation is non-local. The way to convert the Ornstein-Zernike relation into a local equation is to perform a (fast) Fourier transform (FFT). Note: convergence is poor for liquid densities. (See Ref.s 1 to 6).
Picard iteration
Picard iteration generates a solution of an initial value problem for an ordinary differential equation (ODE) using fixed-point iteration. Here are the four steps used to solve integral equations:
1. Closure relation
(Note: for linear fluids )
Perform the summation
where is the separation between molecular centers and the sets of Euler angles needed to specify the orientations of the two molecules, with
with .
Define the variables
Thus
- .
Evaluate
Evaluations of are performed at the discrete points where the are the roots of the Legendre polynomial where are the roots of the Chebyshev polynomial and where are the roots of the Chebyshev polynomial thus
where
where is the angular, , part of the rotation matrix , and
For the limits in the summations
The above equation constitutes a separable five-dimensional transform. To rapidly evaluate this expression it is broken down into five one-dimensional transforms:
Operations involving the and basis functions are performed in complex arithmetic. The sum of these operations is asymptotically smaller than the previous expression and thus constitutes a ``fast separable transform". and are parameters; is the number of nodes in the Gauss integration, and the the max index in the truncated rotational invariants expansion.
Integrate over angles
Use Gauss-Legendre quadrature for and Use Gauss-Chebyshev quadrature for , and thus
where the Gauss-Legendre quadrature weights are given by
while the Gauss-Chebyshev quadrature has the constant weight
===Perform FFT from Real to Fourier space=== $ c_{mns}^{\mu \nu} (r) \rightarrow \tilde{c}_{mns}^{\mu \nu} (k)$ \\ ~\\ This is non-trivial and is undertaken in three steps:\\ i) Conversion from axial reference frame to spatial reference frame, {\it i.e.} \begin{equation} c_{mns}^{\mu \nu} (r) \rightarrow c_{\mu \nu}^{mnl} (r) \end{equation} this is done using the Blum transformation \cite{JCP_1972_56_00303,JCP_1972_57_01862,JCP_1973_58_03295}: \begin{equation} g_{\mu \nu}^{mnl}(r) = \sum_{s=-\min (m,n)}^{\min (m,n)} \left( \begin{array}{ccc} m&n&l\\ s&\overline{s}&0 \end{array} \right)g_{mns}^{\mu \nu} (r) \end{equation} {\bf ii}) {\bf Fourier-Bessel Transforms}: $ c_{\mu \nu}^{mnl} (r) \rightarrow \tilde{c}_{\mu \nu}^{mnl} (k) $\\ \begin{equation}
\tilde{c}_{\mu \nu}^{mnl} (k; l_1 l_2 l n_1 n_2) = 4\pi i^l \int_0^{\infty} c_{\mu \nu}^{mnl} (r; l_1 l_2 l n_1 n_2) J_l (kr) ~r^2 {\rm d}r
\end{equation} (see Blum and Torruella Eq. 5.6 \cite{JCP_1972_56_00303} or Lado Eq. 39 \cite{MP_1982_47_0283}), where $J_l(x)$ is a Bessel function of order $l$.\\ `step-down' operations can be performed by way of sin and cos operations of Fourier transforms, see Eqs. 49a, 49b, 50 of Lado \cite{MP_1982_47_0283}.\\ The Fourier-Bessel transform is also known as a {\bf Hankel transform}. It is equivalent to a two-dimensional Fourier transform with a radially symmetric integral kernel. \begin{equation} g(q)=2\pi \int_0^\infty f(r) J_0(2 \pi qr)r ~{\rm d}r \end{equation} \begin{equation} f(r)=2\pi \int_0^\infty g(q) J_0(2 \pi qr)q ~{\rm d}q \end{equation} %The step-down operator iii) Conversion from the spatial reference frame back to the axial reference frame, {\it i.e.} \begin{equation} \tilde{c}_{\mu \nu}^{mnl} (k) \rightarrow \tilde{c}_{mns}^{\mu \nu} (k) \end{equation} this is done using the Blum transformation \begin{equation} g_{mns}^{\mu \nu} (r) = \sum_{l=|m-n|}^{m+n} \left( \begin{array}{ccc} m&n&l\\ s&\overline{s}&0 \end{array} \right) g_{\mu \nu}^{mnl}(r) \end{equation}
Ng acceleration
References
- M. J. Gillan "A new method of solving the liquid structure integral equations" Molecular Physics 38 pp. 1781-1794 (1979)
- Stanislav Labík, Anatol Malijevský and Petr Voncaronka "A rapidly convergent method of solving the OZ equation", Molecular Physics 56 pp. 709-715 (1985)
- F. Lado "Integral equations for fluids of linear molecules I. General formulation", Molecular Physics 47 pp. 283-298 (1982)
- F. Lado "Integral equations for fluids of linear molecules II. Hard dumbell solutions", Molecular Physics 47 pp. 299-311 (1982)
- F. Lado "Integral equations for fluids of linear molecules III. Orientational ordering", Molecular Physics 47 pp. 313-317 (1982)
- Enrique Lomba "An efficient procedure for solving the reference hypernetted chain equation (RHNC) for simple fluids" Molecular Physics 68 pp. 87-95 (1989)