Skip to content

Given the 2-RDM matrix in primitives and the gaussian primitives basis, RHO2_OPS can compute Intracule, Extracule, and Total Position Spread.

Notifications You must be signed in to change notification settings

marm314/rho2_ops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

45ad35f · Oct 25, 2023
Mar 30, 2023
Apr 5, 2022
Jan 24, 2021
Jun 29, 2021
Jun 18, 2023
Mar 18, 2022
Mar 18, 2022
Jun 18, 2023
Jun 18, 2023
Apr 17, 2022
Apr 16, 2022
Oct 14, 2022
Sep 18, 2020
Sep 18, 2020
Oct 17, 2020
May 11, 2023
Apr 16, 2022
Apr 17, 2022
Sep 18, 2020
Sep 18, 2020
Jun 18, 2023
Oct 25, 2023
Oct 25, 2022
Sep 18, 2020
Sep 18, 2020
Apr 4, 2022
Sep 18, 2020
Sep 18, 2020
Apr 6, 2022
Mar 29, 2022
Sep 18, 2020
Sep 18, 2020

Repository files navigation

RHO2_OPS
--------

Contact me if you have any doubts: [email protected]

A Makefile is provided to compile the code. It can be easily adapted for your preferred compiler (OpenMP is required for its compilation while MPI is optional). 

The source files will build three programs:

a) psi4_interface which is an interface to read psi4 output containing the TPDM (2-RDM) generated by DETCI to produce a .dm2 file that can be passed to chimpanC. 
Currently, it will not work for open-shell calculations including the frozen core option.

b) chimpanC which is an interface to transform 2-RDM matrices from the molecular orbital basis to the primitive basis. 
This code is compatible with the psi4_interface (ready for PSI4 except open-shell systems with frozen-core), DMN code of Dr. Matito, and with DoNOF code of Dr. Piris. 
chimpanC requires a Gaussian fchk file to produce the 2-RDM in the primitive basis. Although, 2-RDM and the .basis files can be generated using a user's coded interface 
(see the psi4_interface for example). Contact me if you have any doubts about formats. 

c) RHO2_OPS which requires the .basis (with the information about the primitives basis set) and the 2-RDM (in primitives as well). 
This code computes: intracules, extracules, and total position spread. The first two quantities are computed using the algorithm of Cioslowksi and Liu.

The input file:
---------------

$NAME_BASIS
name_file.basis    -> Name of the file with the basis
$NAME_DM2
name_file.dm2      -> Name of the file with the DM2 (in primitives)
$THRESHOLD
1e-10              -> Threshold for storing the DM2 terms   
$TAU
1e-10              -> Tau from Cioslowski article (for the screening threshold)   
$RADIAL            (Use for SCAN the intracule: Incompatible with $LEGENDRE but compatible with $ANGULAR)
0.0e0              -> Initial Point for 'u'
0.05               -> step size
10                 -> Last Point
$LEGENDRE          (Use a Legendre Quadrature for |r_12| coordinate: Incompatible with $RADIAL but compatible with $ANGULAR)
10                 -> Order for the Legendre Quadrature (some integer)
1e99               -> Superior limit of the integral (e.g. for integral _0 ^12  write 12) Note: Use 1e99 for Infinity 
$ANGULAR           (Spherical average via Sphere-Lebedev Rule)
6                  -> Angular grid for the spherical average (set 0 for none spherical average). 
$ANGULAR2          (Spherical average via Legendre theta & phi)
40                 -> Theta
50                 -> Phi
$PARALLEL          (OpenMP parallelization of the intracules and extracules evaluation)
4                  -> Number of THREADS to use. 
$INTRACULE         -> To compute the intracule (is incompatible with $MOMENTS but compatible with $EXTRACULE)
$EXTRACULE         -> To compute the intracule (is incompatible with $MOMENTS but compatible with $INTRACULE)
$MOMENTS           -> To compute second moments (x1x2, x1y2, etc.) Is incompatible with $INTRACULE and $EXTRACULE
$RANGESEP          -> To select a lambda_rs value for the intracule integration: Int I(u) erf[lambda_rs*u] u^n du (Optional: Default lambda_rs=1e99)
0.5                -> lambda_rs
$SCREENING         -> To select a lambda_scr value for the intracule integration: Int I(u) exp[-lambda_scr*u] u^n du (Optional: Default lambda_scr=0.0e0)
0.5                -> lambda_scr
$RWEIGHTS          -> To print the radial weights. Recall that Integral = radial_val times weight
$SYMRED            -> Only the elements 2D_ij,kl are given but the 2D_ji,lk must be produced by the code (do not use with $MOMENTS)
$CNORM1            -> The elements 2D_ij,kl also contain the normalization of the gaussian functions (like in WFN files)

About

Given the 2-RDM matrix in primitives and the gaussian primitives basis, RHO2_OPS can compute Intracule, Extracule, and Total Position Spread.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages