oeprop(1)
oeprop(1) π β the One-Electron Property Program
okay bestie, sit down, hydrate, because oeprop is the One-Electron Property Program and she is booked and busy. β¨
β¨ NAME β¨
oeprop β One-Electron Property Program π
π¦ DESCRIPTION π¦
so here's the vibe: oeprop computes expectation values of one-electron property operators, using a one-particle density matrix that's either computed from an eigenvector hanging out in PSIF_CHKPT, or read in from an external file. either way, she ate. π
Right now she is currently capable of:
- Mulliken population analysis π
- computing electric multipole moments through octopole
- electrostatic properties at atomic centers β that's electrostatic potential, electric field, electric field gradient, electron and spin density, and the dipolar anisotropic contribution to the hyperfine coupling constants πΈ
- electron and spin density
- electron and spin density gradient
- Laplacian of electron and spin densities
- electrostatic potential over an arbitrary two-dimensional (planar) rectangular grid
- molecular orbitals values over an arbitrary three-dimensional rectangular grid
and then the miscellaneous corner of the group chat, which is also iconic:
- computation of the relativistic first-order one-electron corrections to the energy (that's the mass-velocity and Darwin terms, no cap) π₯
- construction of natural molecular orbitals from one-particle density read from an external file (and yes, the NOs can be written to
PSIF_CHKPT) - computation of spatial extents β expectation values of
X^2,Y^2,Z^2, andR^2operators β of total electron density and of individual MOs (ifREAD_OPDM = false) or natural (ifREAD_OPDM = true) orbitals.
β οΈ okay so for those spatial extents: MPMAX must be set to a value greater than 1 for computing these entities. and fr fr, use spatial extents cautiously, because they depend on the reference point. it's giving "results may shift depending on where you're standing." π«Ά
π REFERENCES π
Mulliken population analysis
- Electronic Population Analysis on LCAO-MO Molecular Wave Functions. R. S. Mulliken, J. Chem. Phys. 23, 1833 (1955), ibid. 23, 1841 (1955), ibid. 36, 3428 (1962).
Recurrence relations for one-electron integrals over Cartesian Gaussian functions.
- Efficient recursive computation of molecular integrals over Cartesian Gaussian functions. S. Obara and A. Saika, J. Phys. Chem. 84, 3963 (1986).
Fundamental physical constants and conversion factors.
- CRC Handbook of chemistry and physics. Edited by D. R. Lide. 73rd edition (1992-1993).
π FILES REQUIRED π
like, she needs these to even function, bestie:
input.dat - Input file
PSIF_CHKPT - Checkpoint file
π FILES UPDATED π
the receipts she leaves behind. obsessed:
output.dat
dipmom.dat - Dipole moments
esp.dat - Electrostatic potential on a 2D grid
edens.dat - Electron density on a 2D grid
edgrad.dat - Electron density gradient on a 2D grid
edlapl.dat - Laplacian of the electron density on a 2D grid
sdens.dat - Spin density on a 2D grid
sdgrad.dat - Spin density gradient on a 2D grid
sdlapl.dat - Laplacian of the spin density on a 2D grid
mo.dat - Molecular orbital/Density values on a 3D grid
mo.pov - MegaPov input file for rendering an image of mo.dat
mo.cube - Molecular orbital(s) on a 3D grid in Gaussian94 Cube format
dens.cube - Electron/spin density(s) on a 3D grid in Gaussian94 Cube format
πΊ that's the setup, and there is so much more coming β don't go anywhere, part 2 is right there π
β¨ INPUT FORMAT β¨
okay so real talk bestie: most of these keywords? you will literally never need them for your everyday lil routine tasks π . but here's the full list anyway because we don't gatekeep. the following keywords are valid:
WFN = booleanβ the type of the wavefunction. this one is a total "macro" vibe β it lets the user set most of the necessary keywords in one go π«Ά. here are the values that get recognized:WFN = SCFβ equivalent toREAD_OPDM = false;WFN = DETCIβ equivalent toREAD_OPDM = true,OPDM_FILE = 40,OPDM_BASIS = AO,OPDM_FORMAT = TRIANG;WFN = CCSDβ equivalent toEAD_OPDM = true,OPDM_FILE = 79,OPDM_BASIS = AO,OPDM_FORMAT = TRIANG;WFN = QVCCDβ equivalent toREAD_OPDM = true,OPDM_FILE = 76,OPDM_BASIS = SO,OPDM_FORMAT = TRIANG;
READ_OPDM = booleanβ this flag says whether the one-particle density matrix is gonna be read from disk. default isfalse. no cap β¨OPDM_FILE = integerβ specifies the one-particle density matrix file number. default is40(the master file). for backward compatibility with the earlier PSI property packages (proper,ciprop,ccprop) a special format of the density file is assumed whenOPDM_FILE = 40(computing properties from CI density βcipropcompatibility mode) andOPDM_FILE = 79(computing properties from CC density βccpropcompatibility mode). as of now, in the generic case onepdm must be written at the very beginning of the file. in the future PSI will have a standard onepdm file πOPDM_BASIS = stringβ this option may not exist in the future π. as of February 1st, 1998, a standard for the onepdm file format has not been set. this keyword should be set to either"SO"(read in onepdm matrix in SO basis) or"AO"(in AO basis). default is"SO".OPDM_FORMAT = stringβ this option may not exist in the future either π. this keyword should be set to either"TRIANG"(read in onepdm matrix in lower triangular form) or"SQUARE"(in square form). default is"TRIANG"ASYMM_OPDM = booleanβ this flag specifies whether the one-particle density matrix has to be symmetrized. must be set totrueif a generic non-symmetric onepdm is to be read (for example, from a coupled-cluster program). this keyword is for code development only π§βπ». existing PSI CC codes now in use produce symmetric onepdm, therefore there is no need to use this keyword. default isfalse.ROOT = integerβ this specifies which root to do the excited state analysis for. the appropriate one particle density matrix will be read from disk. currently implemented for DETCI and DETCAS wavefunctions.MPMAX = integerβ this integer, somewhere between1and3, specifies the highest electric multipole moment to be computed.MPMAX = 1β only the electric dipole moment will be computed (default);MPMAX = 2β electric dipole and quadrupole moments will be computed;MPMAX = 3β electric dipole, quadrupole, and octopole moments will be computed.
MP_REF integerβ this parameter specifies the reference point for the electric multipole moments calculation.MP_REF = 0(default) or1β the center of mass;MP_REF = 2β the origin of the space coordinate system;MP_REF = 3β the center of electronic charge;MP_REF = 4β the center of nuclear charge;MP_REF = 5β the center of net charge.
CAUTION β οΈ : according to classical electrodynamics, the electric 2^(n+1)-pole moment is independent of the reference point only if the electric 2^(n)-pole moment is vanishing. it means that the dipole moment will depend on the reference point if the total charge of the system is non-zero. by analogy, the electric quadrupole moment will depend on the reference point if the system possesses a non-zero electric dipole moment, etc. so yeah. read that twice bestie π
MP_REF_XYZ = real_vectorβ this vector specifies the coordinates of the reference point. if this keyword is present in the input, theMP_REFkeyword will be disregarded. sorryMP_REF, you're cancelled πNUC_ESP = booleanβ this flag specifies if electrostatic properties will be computed at the nuclei. the current list includes electrostatic potential, electric field, electric field gradient, electron and spin density, and the anisotropic contribution to the hyperfine coupling constants (the latter two require settingSPIN_PROPtotrue). default istrueπΈGRID = integerβ specifies the type of property to be evaluated over a grid.GRID = 0(default) β compute nothing;GRID = 1β electrostatic potential on a two-dimensional grid;GRID = 2β electron density (spin density ifSPIN_PROPis set totrue) on a two-dimensional grid;GRID = 3β electron density gradient (spin density gradient ifSPIN_PROPis set totrue) on a two-dimensional grid;GRID = 4β Laplacian of the electron density (Laplacian of the spin density ifSPIN_PROPis set totrue) on a two-dimensional grid. according to the convention used in the field, what actually gets plotted are the Laplacians taken with negative sign;GRID = 5β values of molecular orbitals on a three-dimensional grid;GRID = 6β values of the electron density (spin density gradient ifSPIN_PROPis set totrue) on a three-dimensional grid.
GRID_FORMAT = stringβ specifies in which format the grid output will be produced. currently,PLOTMTV(default for 2-d grids),MEGAPOVPLUS(available for 3-d grids), andGAUSSCUBE(default for 3-d grids) are supported. pick your fighter πMO_TO_PLOT = vectorβ specifies indices of the molecular orbitals to be computed on the 3-d grid. indices can be specified as:- unsigned integer β index in Pitzer ordering (ordered according to irreps, not eigenvalues). ranges from
1to the number of MOs; - signed integer β index with respect to the Fermi level.
+1means LUMO,+2means second lowest virtual orbital,-1means HOMO, etc.
- unsigned integer β index in Pitzer ordering (ordered according to irreps, not eigenvalues). ranges from
all indices have to be either unsigned or signed, you can't mix and match, or you will get unpredictable results π. default is to compute HOMO and LUMO.
GRID_ORIGIN = real_vectorβ specifies the origin of the grid. a rectangular grid box which envelops the entire molecule will be computed automatically ifGRID_ORIGINis missing, however, there is no default for 2-d grids.GRID_UNIT_X = real_vectorβ this vector specifies the direction of the first (x) side of the grid. it doesn't have to be of unit length. there is no default for 2-d grids.GRID_UNIT_Y = real_vectorβ the same for the second (y) side. it doesn't have to be of unit length or even orthogonal toGRID_UNIT_X. there is no default for 2-d grids.GRID_XY0 = real_2d_vectorβ specifies the coordinates of the lower left corner of the grid rectangle in the 2D coordinate system defined byGRID_ORIGIN,GRID_UNIT_X, andGRID_UNIT_Y. there is no default.GRID_XY1 = real_2d_vectorβ specifies the coordinates of the upper right corner of the grid rectangle in the 2D coordinate system defined byGRID_ORIGIN,GRID_UNIT_X, andGRID_UNIT_Y. there is no default.GRID_XYZ0 = real_3d_vectorβ specifies the coordinates of the far lower left corner of the grid box in the 3D coordinate system defined byGRID_ORIGIN,GRID_UNIT_X,GRID_UNIT_Y, and the cross-product of the latter two. there is no default.GRID_XYZ1 = real_3d_vectorβ specifies the coordinates of the near upper right corner of the grid box in the 3D coordinate system defined byGRID_ORIGIN,GRID_UNIT_X,GRID_UNIT_Y, and the cross-product of the latter two. there is no default.NIX = integerβ the number of grid points along the x direction. this parameter has to be greater than1. default is20.NIY = integerβ the same asNIXfor the y direction. default is20.NIZ = integerβ the same asNIXfor the z direction. default is20.GRID_ZMIN = doubleβ lower limit on displayed z-values for contour plots of electron density and its Laplacian. default is0.0GRID_ZMAX = doubleβ upper limit on displayed z-values for contour plots of electron density and its Laplacian. default is3.0EDGRAD_LOGSCALE = integerβ controls logarithmic scaling of the produced electron density gradient plot. turns the scaling off if set to zero, otherwise the higher the value, the stronger the gradient field will be scaled. recommended value (default) is5βSPIN_PROP = booleanβ flag for computing spin properties (Mulliken population analysis of alpha and beta densities, spin densities and anisotropic contributions to the hyperfine coupling constants at atomic centers). default isfalse.PRINT = integerβ this is the most important keyword π β it determines the amount of information printed. the following values are currently used:PRINT = 0β quiet mode β print out essential results only β "compact" results of Mulliken population analysis, electric multipole moments, and electrostatic properties;PRINT = 1(default) β all of the above plus the list of tasks to be performed and the list of calculation parameters;PRINT = 2β all of the above plus the Mulliken AO population matrix and electronic and nuclear components of the electric dipole moment;PRINT = 3β all of the above plus the density matrix in AO basis and dipole moment integrals in AO (and SO) basis;PRINT = 4β all of the above plus basis set information, natural orbitals in terms of symmetry orbitals, overlap matrix;PRINT >= 5β all of the above plus coupling coefficient vectors, an occupation vector, and a modified Z-vector in MO basis.
PRINT_NOS = booleanβ ifWRTNOS = TRUEand this option is alsoTRUE, the natural orbitals will be printed to output before they are written to the checkpoint file.WRTNOS = booleanβ ifTRUE, the natural orbitals will be written to the checkpoint file πΎ
β¨ GRID OUTPUT AND PLOTTING β¨
okay bestie this is the part where your numbers stop being numbers and become pictures π plotting time, let's go
πΈ 2D grids, aka the PLOTMTV situation
Currently, oeprop produces output of two-dimensional grids ready for plotting with a program called PLOTMTV version 1.3.2. no cap, that's the whole point of this format π
The program is written by Kenny Toh (ktoh@td2cad.intel.com), software developer for the Technology CAD Department, Intel Corp, Santa Clara. It is a freeware package, and can be downloaded off the Internet. iconic of him honestly π
π¦ 3D grids, aka the MegaPov era
Three-dimensional grids are output in a format suitable for plotting with a program called MegaPov version 0.5. It's a freeware program β a patched version of POV-Ray, if you can believe π β and it is developed by a number of people, and can be downloaded off the Internet (go to http://nathan.kopp.com/patched.htm to find out more info).
So to render an MO or density image, here's the ritual bestie:
- edit (if necessary) the command file
mo.povthat was created byoeprop - execute this:
megapovplus +Imo.pov
and for more options, just run:
megapovplus -h
fr fr, if mo.pov needs tweaking, tweak it β that's literally why you're allowed to edit it π
and that's the whole grid-output arc, bestie π go render something gorgeous, you've got this π
this page is from oeprop(1), dated March 30, 2001 β yeah it's an elder but it still ate β¨ mwah, take care of her π«Ά
π¦ where this page comes from
- debian bookworm: psi3 3.4.0-6+b3
- ubuntu jammy: psi3 3.4.0-6ubuntu1
- ubuntu noble: psi3 3.4.0-6ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms