1
0
mirror of https://github.com/TREX-CoE/irpjast.git synced 2024-12-25 13:53:59 +01:00
irpjast/README.org

56 lines
1.2 KiB
Org Mode

* IRPJAST
CHAMP's Jastrow factor computation using the IRPF90 method
Original equation:
$$
\sum_{i=2}^{Ne} \sum_{j=1}^i \sum_{pkl} \sum_a^{Nn} c_{apkl}\, r_{ij}^k\, ( R_{ia}^l + R_{ja}^l) ( R_{ia} R_{ja})^m
$$
Expanding, one obtains:
$$
\sum_{i=2}^{Ne} \sum_{j=1}^i \sum_{pkl} \sum_a^{Nn} c_{apkl} R_{ia}^{p-k-l}\, r_{ij}^k\, R_{ja}^{p-k+l} + c_{apkl} R_{ia}^{p-k+l}\, r_{ij}^k\, R_{ja}^{p-k-l}
$$
The equation is symmetric if we exchange $i$ and $j$, so we can rewrite
$$
\sum_{i=1}^{Ne} \sum_{j=1}^{Ne} \sum_{pkl} \sum_a^{Nn} c_{apkl} R_{ia}^{p-k-l}\, r_{ij}^k\, R_{ja}^{p-k+l}
$$
If we reshape $R_{ja}^p$ as a matrix $R_{j,al}$ of size
$N_e \times N_n(N_c+1)$,
for every $k$, we can pre-compute the matrix product
$$
C_{i,al}^{k} = \sum_j r_{ij}^k\, R_{i,al}
$$
which can be computed efficiently with BLAS.
We can express the total Jastrow as:
$$
\sum_{i=1}^{Ne} \sum_{pkl} \sum_a^{Nn}
c_{apkl} R_{ia}^{p-k-l}\, C_{i,a(p-k+l)}^k
$$
* Running
#+begin_src bash :var Ratio=5 Natoms=500
python ./generateData.py -a $Natoms -r $Ratio
#+end_src
Cela genere les trois fichiers:
geometry.txt
elec_coords.txt
jast_coeffs.txt
#+begin_src bash :var Natoms=500
./codelet_factor_een_blas $Natoms
#+end_src