Resonance Theory Notes
Note for using WFRT/NRT methods. Analyze contribution of resonance structures. Understand different seperations of fragmental contribution to the structure.
WFRT method
Quantitive resonance analysis can be carry out in two ways:
- Valance Bond calculation based
- Wavefunction based (DFT calculation)
EzReson Installation
git clone https://github.com/yangwangmadrid/EzReson
- check dependence:
- python >= 3.6
- numpy >= 1.18.0
- scipy >= 1.5.1
- edit your_dir/EzReson/ezreson: change the value of EZREON_DIR to the real folder path
chmod a+x ezreson
- edit ~/.bashrc: add
export PATH=${PATH}:your_dir/EzReson
- source .bashrc and use
general command
python ezreson.py xxx.in > xxx.out |
Use EzReson
1. Gaussian NBO calculation
- optimize the geometry
- single point calculation with NAO (add pop=nboread and nbo section) and formchk now we have:
%chk= $your_filename.chk
%mem=8GB
%nprocshared=4
# $method/$basisset pop=nboread
...
(after coordinate)
$NBO
NOBOND
AONAO=W
archive file= $your_filename
$END
xxx.33
xxx.fchk
xxx.out
2. Select target LMOs and atoms
Use NRT with Gaussian and NBO7
NRT example: https://nbo6.chem.wisc.edu/tut_nrt.htm
NBO6 reference: http://bbs.keinsci.com/forum.php?mod=attachment&aid=NTQyfGFlZTY5MjZlfDE2MTc3OTI4NzF8MTM1NjR8MTAy
NRT example (chinese): http://bbs.keinsci.com/thread-106-1-1.html
E. D. Glendening, J. K. Badenhoop, and F. Weinhold, J. Comp. Chem. 19, 628-646 (1998).
Install NBO >= 7.0
Only NBO >= 7.0 contains the NRT function that works without the limitation of memory, so that standarded size of system
- Buy NBO7 from https://nbo6.chem.wisc.edu/new7_css.htm
- run NBO7 with their latest script
/xxxdir/gennbo FILENAME N_CORE N_MEM
Run Gaussian
with optimized structure
... |
This job result a Name.47 file as defined in archive file
‘
Since Gaussian use NBO3 in default so it cannot do the NRT in a embedded manner.
Run NBO7
Edit .47 file
AddNRT
between$NBO
and$END
in the 2nd line.
Add$NRTSTR
sectionName.47 $NBO NRT $END
$NRTSTR
STR
<1st resonance structure>
END
STR
<2nd resonance structure>
END
...
STR
<last resonance structure>
END
$ENDNote that NBO have a 132-character limitation. Line feed is needed if the STR is too long.
Run NBO
/xxxdir/gennbo FILENAME N_CORE N_MEM
In FILENAME.nbo result will be shown as:
STR ! Wgt = xx.xx%
<1st resonance structure>
END
Grammer of NRTSTR
LONE <atom_id> <number of lone pair> ... END |
S: single bond D: double bond