Chemistry - Alternative Program for Orbital Population Analysis
Solution 1:
ORCA can perform population analysis for each individual molecular orbital. This is an excerpt from the output file:
-----------------------------------
MULLIKEN ORBITAL POPULATIONS PER MO
-----------------------------------
THRESHOLD FOR PRINTING IS 0.1%
SPIN UP
0 1 2 3 4 5
-177.49372 -100.54186 -100.54186 -100.54184 -100.54179 -100.54174
1.00000 1.00000 1.00000 1.00000 1.00000 1.00000
-------- -------- -------- -------- -------- --------
0Ti 1s 99.6 0.0 0.0 0.0 0.0 0.0
0Ti 2s 0.4 -0.0 -0.0 -0.0 -0.0 -0.0
1Cl 1s -0.0 4.5 3.8 0.0 48.9 0.4
1Cl 2s 0.0 0.0 0.0 0.0 0.3 0.0
2Cl 1s -0.0 4.9 4.1 0.0 50.5 0.4
2Cl 2s 0.0 0.0 0.0 0.0 0.3 0.0
3Cl 1s -0.0 69.2 3.8 0.0 0.0 23.3
3Cl 2s 0.0 0.5 0.0 0.0 0.0 0.2
4Cl 1s -0.0 1.4 71.5 0.0 0.0 23.4
4Cl 2s 0.0 0.0 0.5 0.0 0.0 0.2
5Cl 1s -0.0 8.9 7.5 50.7 0.0 26.2
5Cl 2s 0.0 0.1 0.1 0.3 0.0 0.2
6Cl 1s -0.0 10.4 8.7 48.6 0.0 25.6
6Cl 2s 0.0 0.1 0.1 0.3 0.0 0.2
The program supports all options that you listed, and this input file header should get you started:
! B3LYP def2-SVP ECP{def2-SVP} COSMO(water) LargePrint
*xyz charge multiplicity
coordinates go here
*
You can find more detailed information in the manual.
Solution 2:
NBO's natural population analysis (NPA) may in fact be a better option since it lacks many deficiencies Mulliken population analysis has (e.g. non-orthogonality of the basis set, sensitivity to the basis set choice).
You may run a NPA analysis in the standalone executable GENNBO after obtaining a suitable input for it:
$ gennbo < water.gen > water.nboout
A proper input may be generated by NWChem by the use of the nbofile
keyword:
property
nbofile
end
NWChem has all the features you've cited.