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

https://mp.weixin.qq.com/s?__biz=MzU5NjMxNjkzMw==&mid=2247486121&idx=1&sn=c9a6cd8a7d245974cd4cc367822e05f3&chksm=fe65ccc3c91245d5ddde48eb7ac5775ce7b11c7b5c89b123ae5edc0717f6d4c16d780a1a7865&scene=21#wechat_redirect

Quantitive resonance analysis can be carry out in two ways:

  • Valance Bond calculation based
  • Wavefunction based (DFT calculation)

EzReson Installation

  1. git clone https://github.com/yangwangmadrid/EzReson
  2. check dependence:
    • python >= 3.6
    • numpy >= 1.18.0
    • scipy >= 1.5.1
  3. edit your_dir/EzReson/ezreson: change the value of EZREON_DIR to the real folder path
  4. chmod a+x ezreson
  5. edit ~/.bashrc: add export PATH=${PATH}:your_dir/EzReson
  6. source .bashrc and use

general command

python ezreson.py xxx.in > xxx.out

Use EzReson

使用EzReson做化学共振分析
https://mp.weixin.qq.com/s?__biz=MzU5NjMxNjkzMw==&mid=2247486139&idx=1&sn=b9f1550c4854b3632563a5aabc08600f&chksm=fe65ccd1c91245c735b535503f3a2aa288720ad2ae6cd222453a051c82b455539d6d06c8fdbc&scene=178&cur_album_id=1709622916134338560#rd

1. Gaussian NBO calculation

  • optimize the geometry
  • single point calculation with NAO (add pop=nboread and nbo section) and formchk
    %chk= $your_filename.chk
    %mem=8GB
    %nprocshared=4
    # $method/$basisset pop=nboread
    ...
    (after coordinate)

    $NBO
    NOBOND
    AONAO=W
    archive file= $your_filename
    $END
    now we have:
    xxx.33
    xxx.fchk
    xxx.out

2. Select target LMOs and atoms

EzReson do not support open shell system now

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

Run Gaussian

with optimized structure

Name.gjf
...
# method/BSS pop=nboread

...
<coord section>

$NBO
archive file=Name
$END

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 NRT between $NBO and $END in the 2nd line.
    Add $NRTSTR section

    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
BOND S <atom_id> <atom_id> D <atom_id> <atom_id> ... END

S: single bond D: double bond