mirror of
https://gitlab.com/scemama/eplf
synced 2024-07-08 04:16:01 +02:00
102 lines
3.1 KiB
Org Mode
102 lines
3.1 KiB
Org Mode
|
#+TITLE: EPLF
|
|||
|
#+AUTHOR: Anthony Scemama
|
|||
|
#+EMAIL: scemama@irsamc.ups-tlse.fr
|
|||
|
#+date: 2020-06-02
|
|||
|
|
|||
|
Computes the Electron Pair Localization Function.
|
|||
|
|
|||
|
* Dependencies
|
|||
|
|
|||
|
- Python3
|
|||
|
- resultsFile : https://gitlab.com/scemama/resultsFile
|
|||
|
- IRPF90 : http://irpf90.ups-tlse.fr
|
|||
|
- GFortran or Intel Fortran
|
|||
|
|
|||
|
=resultsFile= and =IRPF90= can both be installed with pip.
|
|||
|
|
|||
|
#+begin_src shell
|
|||
|
python3 -m pip install resultsFile
|
|||
|
python3 -m pip install irpf90
|
|||
|
#+end_src
|
|||
|
|
|||
|
=./configure= should detect suitable defaults for your system. You can
|
|||
|
update the =make.config= file if you want. It is important to give the
|
|||
|
Fortran compiler the option to accept infinitely long lines (with
|
|||
|
gfortran, the option is =-ffree-line-length-none=).
|
|||
|
The =configure= script will also create a file =$HOME/.eplfrc= that you
|
|||
|
will need to source before running the program.
|
|||
|
|
|||
|
* Using EPLF
|
|||
|
|
|||
|
GAMESS or Gaussian can be used to produce the wave function.
|
|||
|
With Gaussian, the following keywords are required:
|
|||
|
#+begin_example
|
|||
|
# GFPRINT pop=Full 6d 10f
|
|||
|
#+end_example
|
|||
|
|
|||
|
Go into the =test= directory and execute the following commands to make
|
|||
|
a test run with an Gaussian output file.
|
|||
|
|
|||
|
1. Run the =eplf_input.py= script to convert the output file into an
|
|||
|
EZFIO directory containing all the data required for the
|
|||
|
computation:
|
|||
|
|
|||
|
#+begin_src shell
|
|||
|
eplf_input.py c2h.out
|
|||
|
#+end_src
|
|||
|
|
|||
|
The =c2h.out.ezfio= directory is produced.
|
|||
|
|
|||
|
2. Edit the parameters by running =eplf_edit.py=
|
|||
|
|
|||
|
#+begin_src shell
|
|||
|
eplf_edit.py c2h.out.ezfio
|
|||
|
#+end_src
|
|||
|
|
|||
|
The editor defined with the =$EDITOR= environment variable will open
|
|||
|
and let you change the parameters. To compute the density and the
|
|||
|
EPLF, just add an =X= character between the brackets next to =eplf=
|
|||
|
and =density=:
|
|||
|
|
|||
|
#+begin_example
|
|||
|
( ) density -> (X) density
|
|||
|
( ) eplf -> (X) eplf
|
|||
|
#+end_example
|
|||
|
|
|||
|
3. Run the program to compute the data and save it in the EZFIO directory
|
|||
|
|
|||
|
#+begin_src shell
|
|||
|
eplf c2h.out.ezfio
|
|||
|
#+end_src
|
|||
|
|
|||
|
If the program is compiled with MPI, run
|
|||
|
|
|||
|
#+begin_src shell
|
|||
|
mpirun eplf c2h.out.ezfio
|
|||
|
#+end_src
|
|||
|
|
|||
|
4. Now you can convert the data into cube files as:
|
|||
|
#+begin_src shell
|
|||
|
to_cube.py c2h.out.ezfio density
|
|||
|
to_cube.py c2h.out.ezfio eplf
|
|||
|
#+end_src
|
|||
|
|
|||
|
The parameters of the grid can be changed by first clearing the
|
|||
|
data, and the updating the grid parameters. This can be done with
|
|||
|
=eplf_edit.py= by un-commenting the lines =clear(all)=
|
|||
|
and =edit(grid_parameters)=.
|
|||
|
|
|||
|
* References
|
|||
|
|
|||
|
Scemama, A., Chaquin, P., Caffarel, M. (2004).
|
|||
|
"Electron pair localization function: A practical tool to visualize electron
|
|||
|
localization in molecules from quantum Monte Carlo data".
|
|||
|
/J. Chem. Phys./ *121* (4), 1725–1735. doi: 10.1063/1.1765098
|
|||
|
|
|||
|
Scemama, A., Caffarel, M., Chaudret, R., & Piquemal, J.-P. (2011),
|
|||
|
"Electron Pair Localization Function (EPLF) for Density Functional
|
|||
|
Theory and ab Initio Wave Function-Based Methods: A New Tool for
|
|||
|
Chemical Interpretation".
|
|||
|
/J. Chem. Theory Comput./ *7* (3), 618–624. doi: 10.1021/ct1005938
|
|||
|
|