Orbital and density analysis

See Visualization page for information on ways to plot the different families of orbitals and electron/spin densities discussed here.


Mulliken/Löwdin/Hirshfeld charge and spin population analysis
Mulliken, Löwdin and Mayer population analysis is automatically printed in a single-point energy calculation and the beginning and end of a geometry optimization.

ORCA reduces printing in geometry optimization steps by default (prints full output in the first and last steps only). If more information is needed in each optimization step (for example to monitor the electronic structure through the population analysis during the optimization) use this: 

%geom ReducePrint false end

Density-based Hirshfeld population analysis is requested by the following output block option:
%output
Print[ P_Hirshfeld] 1
end

ESP charges
Coming...
- CHELPG



Other population analysis via other programs
The Multiwfn program, a wavefunction analysis program, can be used to perform all sorts of wavefunction/density analysis. Program can do topological analysis of the electron density, AIM, ELF, Laplacian and population analysis like: Hirshfeld, VDD, Mulliken, Löwdin, Modified MPA (including three methods: SCPA, Stout & Politzer, Bickelhaupt), Becke, ADCH (Atomic dipole moment corrected Hirshfeld), CHELPG, Merz-Kollmann and AIM.
Requires creation of a Molden file:  orca_2mkl file -molden

The Horton program can perform all sorts of real-space atoms-in-molecule analysis, ESP fitting and more.
Requires creation of MKL file:  orca_2mkl file

Calculating localized orbitals
The canonical orbitals from an SCF calculation are often difficult to interpret as they tend to be rather delocalized. Unitary transformations among the occupied orbitals can easily be performed without changing the total wavefunction, thus resulting in a different sets of orbitals that may be easier to interpret and are just as valid as the canonical ones. One can e.g. easily request a localized orbital analysis to be performed automatically after convergence of an SCF calculation. The disadvantage of localized orbitals is that they do not have well-defined orbital energies.
Standard options: Pipek-Mezey, Foster-Boys
Also: Intrinsic atomic orbitals and intrinsic bond orbitals (IAOIBO) by Gerald Knizia.

See much more information about orca_loc in Chapter 9.32.5 in the ORCA 4.0 Manual.
!
%loc
LocMet PM  # Requests the Pipek-Mezey (PM) localization method. Alternatively the Foster-Boys (FB), IAOIBO and IAOBOYS can be chosen.
end


One can also perform the localization step afterwards using the orca_loc program that further allows one to only localize a certain range of orbitals.
orca_loc loc-input.inp  

where loc-input.inp contains:
input-orbitals.gbw   # The gbw file containing the orbitals to be read in.
output-orbitals.gbw # The name of the file to be created containing the localized orbitals
0                          # The operator (0 for alpha, 1 for beta orbitals) 
123                      # first orbital
140                      # last orbital
10000                  # Max number of iterations
1.0e-09                # Convergence tolerance
0.0                        # relative convergence tolerance of the localization functional value
0.95                    # Threshold for strongly localized MOs (e.g. 0.95)
0.85                    # Threshold for bonds (e.g. 0.85) 
1                        # Method for localization (1=PM, 2=FB, 3=IAO-IBO, 4=IAO-BOYS, 5=NEW-BOYS)
1                        # Use Cholesky Decomposition (0=false, 1=true, default is true,optional)
0                        # Randomize seed for localization (optional)


To get a Löwdin orbital analysis of the localized orbitals you can read them in without iterations (Noiter) using a separate inputfile and print using Normalprint. Remember to specify the same basis set as in the previous calculation to prevent basis set projection:
!Normalprint noiter MOREAD def2-SVP
%moinp "jobname.loc"


Analyzing corresponding orbitals
Corresponding orbitals are automatically printed after a Broken-Symmetry-Flipspin calculation but can also be requested by:
! UCO


To get a Löwdin orbital analysis of the corresponding orbitals (stored in jobname.uco) you can read them in without iterations (Noiter) using a separate inputfile and print using Normalprint. Remember to specify the same basis set as in the previous calculation to prevent basis set projection:
!Normalprint noiter MOREAD def2-SVP
%moinp "jobname.uco"



Using UNOs and QROs
Both unrestricted natural orbitals (UNOs) and quasi-restricted orbitals (QROs) are calculated after SCF convergence if the UNO keyword is chosen:
! UNO


To get a Löwdin orbital analysis of the UNOs (stored in jobname.uno) or QROs (stored in jobname.qro) you can read them in without iterations (Noiter) in using a separate inputfile and print using Normalprint. Remember to specify the same basis set as in the previous calculation to prevent basis set projection:
!Normalprint noiter MOREAD def2-SVP
%moinp "jobname.qro"  # Choose jobname.uno if you want the UNOs instead.


Natural Transition Orbitals (NTOs)
Natural transition orbitals can be useful to understand the change in electronic structure between excited states.
See the TDDFT page.

Natural Bond Orbitals (NBO) and Natural Population analysis (NPA)
NBO/NPA analysis in ORCA requires the NBO6 code that must be purchased from the NBO developers. For NBO analysis to work in ORCA, at runtime the NBOEXE variable must be set to the full path of the NBO executable.  NBOEXE=/path/to/nbo.exe

Note: The JANPA project allows the use of NBOs and NPA via a freeware program package. See also Use of JANPA with ORCA.

If commercial NBO has been set up correctly, one can request NBO analysis like this:

! NBO


To get a Löwdin orbital analysis of the natural bond orbitals (NBOs) you can read them in (stored in jobname.nbo) without iterations (Noiter) using a separate inputfile and print using Normalprint. Remember to specify the same basis set as in the previous calculation to prevent basis set projection:
!Normalprint noiter MOREAD def2-SVP
%moinp "jobname.nbo"



Atoms-In-Molecules (AIM) analysis

It is possible to do AIM analysis on ORCA-calculated electron densities. Currently, only for closed-shell wavefunctions.
The orca_2aim program reads an ORCA gbw file and converts it into a WFN file that can then be read by other programs for a topological analysis of the electron density (such as AIMAll). 

orca_2aim jobname      # without .gbw extension


It is also possible to have ORCA create the WFN file automatically in an ORCA inputfile. Simply add the AIM keyword to the Simpleinput line in this case.
! AIM

If only AIM (Bader) charges are wanted, one could first create a .cube file of the electron density using orca_plot, See Visualization and printing, and then use the Bader analysis program by Henkelman and Jónsson. Note that a fine grid-density may be required for accurate charges.


Electrostatic potential
The orca_vpot program calculates the electrostatic potential for a set of points provided by the user.
Example:
ORCA filename.inp
! BP86 def2-SVP def2/J keepdens

*xyz 0 1
H 0 0 0
F 0 0 1
*
orca_vpot usage:
orca_vpot filename.gbw filename.scfp filename.vpot.xyz filename.vpot.out

Here filename.gbw is the GBW file from the previous energy calculation (that has to include the Keepdens keyword), filename.scfp contains the electron density matrix (exists because of Keepdens keyword), filename.vpot.xyz contains the set of user-defined points where the potential should be calculated and filename.vpot.out contains the electrostatic potential (4th column contains the value)

filename.vpot.xyz should look like below where the first line contains the number of points, followed by XYZ coordinates for the desired points.
6
5.0 0.0 0.0
-5.0 0.0 0.0
0.0 5.0 0.0
0.0 -5.0 0.0
0.0 0.0 5.0
0.0 0.0 -5.0

To visualize the electostatic potential by creating a Cube file that can be opened by various programs there is a convenient Python program written by Marius Retegan. See here

Subpages (1): FOD analysis
Comments