1
0
mirror of https://github.com/TREX-CoE/irpjast.git synced 2024-12-22 20:36:08 +01:00
Go to file
2021-04-28 03:10:42 +02:00
irpf90@132a4a1661 Added irpf90 2021-03-10 13:49:19 +01:00
.gitignore Almost functional version. Need correct Cord 2020-11-25 16:59:53 +01:00
.gitmodules Fixed submodule 2021-03-10 13:54:02 +01:00
codelet_factor_een_blas2.irp.f Added new codelet 2021-03-18 10:27:40 +01:00
codelet_factor_een_blas.irp.f Updated codelet for 3s 2021-03-10 21:45:52 +01:00
deriv_num.irp.f Fixed printing 2021-01-04 16:45:32 +01:00
el_nuc_el_blas.irp.f GEMM GPU OK 2021-04-28 03:10:42 +02:00
el_nuc_el.irp.f Fixed bug (nelec_8) 2021-03-18 10:48:23 +01:00
elec_coord.txt Updated codelet for 3s 2021-03-10 21:45:52 +01:00
electrons.irp.f Changes after Zoom with William 2021-03-10 21:26:25 +01:00
generateData.py Added nelec as command line argument 2021-03-10 14:52:04 +01:00
geometry.txt Updated codelet for 3s 2021-03-10 21:45:52 +01:00
jast_coeffs.txt Updated codelet for 3s 2021-03-10 21:45:52 +01:00
jastlib.py Added files for generating data. 2021-03-10 14:04:07 +01:00
jastrow_provider.irp.f Fixed printing 2021-01-04 16:45:32 +01:00
jastrow.irp.f Fixed bug (nelec_8) 2021-03-18 10:48:23 +01:00
Makefile Transition to GPU 2021-04-28 00:46:07 +02:00
nuclei.irp.f Changes after Zoom with William 2021-03-10 21:26:25 +01:00
orders.irp.f Reduced loops 2021-01-25 00:16:09 +01:00
qmckl_blas_f.f90 GEMM GPU OK 2021-04-28 03:10:42 +02:00
qmckl_dgemm.c GEMM GPU OK 2021-04-28 03:10:42 +02:00
README.org Added nelec as command line argument 2021-03-10 14:52:04 +01:00
rescale.irp.f Changes after Zoom with William 2021-03-10 21:26:25 +01:00

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

python ./generateData.py -a $Natoms -r $Ratio

Cela genere les trois fichiers: geometry.txt elec_coords.txt jast_coeffs.txt

./codelet_factor_een_blas $Natoms