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 
 Add- NRTbetween- $NBOand- $ENDin the 2nd line.
 Add- $NRTSTRsection- Name.47 - $NBO NRT $END 
 $NRTSTR
 STR
 <1st resonance structure>
 END
 STR
 <2nd resonance structure>
 END
 ...
 STR
 <last resonance structure>
 END
 $END- Note 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