ZhouHUB / pyIID

Monte Carlo Based Diffraction Simulation
Other
1 stars 0 forks source link

Implement INVERT potential #53

Open CJ-Wright opened 8 years ago

CJ-Wright commented 8 years ago

The INVERT potential first published by Cliffe et. al. allows for the combination of PDF with some post-analysis spectroscopy results. In the first paper the technique is used to combine PDF and NMR data, allowing for the solution of systems including C60, S12, and a-Si. Essentially the paper introduces a perturbation to the classical chi squared PES, adding the variance of the atomwise PDFs. To implement this in our code we will need a few things:

  1. We need to produce atomwise PDFs, which means we need atomwise F(Q), which we have trivially in the nxn kernels, and with a little bit of work from the k space kernels. We just need to FFT all the resulting F(Q) data
  2. We need the gradient of this new potential, since the gradient is a linear operator we can just represent the new gradient as a sum of the old chi squared gradient and the gradient of the variance in the PDF
    1. I am not looking forward to the gradient of the variance mathematics but it should be doable
    2. I think we can implement a tag based system for using multiple atom types

Thoughts? @sghose

CJ-Wright commented 8 years ago

The additional energy due to the invert variance term seems to be:

\begin{eqarray}
chi^{2}_{var} = \sum_{r}[\frac{\sum_{j}A_{j}^{2}(r, q)}{N} - \frac{(\sum_{j}A_{j}(r, q))^{2}}{N^{2}}] \\
\frac{d\chi^{2}_{var}}{dq_{i,w}}=
\frac{2}{N}\sum_{r}[\sum_{j}A_{j}(r,q)\frac{dA_{j}(r, q)}{dq_{i, w}} - \frac{A(r, q)}{N}\sum_{j}\frac{dA_{j}(r, q)}{dq_{i, w}}]
\end{eqarray}

alt text Where A is the calculated results and N is the number of atoms.