mirror of
https://gitlab.com/scemama/eplf
synced 2024-09-06 11:44:46 +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
|
||
|