next up previous contents
Next: Plotting grid data Up: Evaluation of one-electron properties Previous: Evaluation of properties on   Contents

Grid specification mini-tutorial

Let's look at how to set up input for spin density evaluation on a two-dimensional grid. The relevant input section of PSI3 might look like this:

  jobtype = oeprop

  grid = 2
  spin_prop = true
  grid_origin = (0.0 -5.0 -5.0)
  grid_unit_x = (0.0 1.0 0.0)
  grid_unit_y = (0.0 0.0 1.0)
  grid_xy0 = (0.0 0.0)
  grid_xy1 = (10.0 10.0)
  nix = 30
  niy = 30
grid specifies the type of a property and the type of a grid oeprop needs to compute. Since spin_prop is set and grid=2, the spin density will be evaluated on a grid.

Grid specification is a little bit tricky but very flexible. grid_origin specifies the origin of the rectangular coordinate system associated with the grid in the reference frame. grid_unit_x specifies a reference frame vector which designates the direction of the x-axis of the grid coordinate system. grid_unit_y is analogously a reference frame vector which, along with the grid_unit_x, completely specifies the grid coordinate system. grid_unit_x and grid_unit_y do not have to be normalized, neither they need to be orthogonal to either other - orthogonalization is done automatically to ensure that unit vectors of the grid coordinate system are normalized in the reference frame too. grid_xy0 is a vector in the grid coordinate system that specifies a vertex of the grid rectangle with the most negative coordinates. Similarly, grid_xy1 specifies a vertex of the the grid rectangle diagonally opposite to grid_xy0. Finally, nix and niy specify the number of intervals into which the $x$ and $y$ sides of the grid rectangle are subdivided. To summarize, the above input specifies a rectangular (in fact, square) 30 by 30 grid of dimensions 10.0 by 10.0 lying in the $yz$ plane and centered at origin of molecular frame.

Running PSI3 on such input will create a file called sdens.dat (for file names refer to man page on oeprop), which can be fed directly to PlotMTV to plot the 2-D data.

Specification of a three-dimensional grid for plotting MOs (grid = 5) or densities (grid = 6) is just slightly more complicated. For example, let's look at producing data for plotting a HOMO and a LUMO. The indices of the MOs which needs to be plotted will be specified by keyword mo_to_plot. The reference frame is specified by keywords grid_origin, grid_unit_x and grid_origin_y (the third axis of the grid coordinate system is specified by by the vector product of grid_unit_x and grid_unit_y). Since in this case we are dealing with the three-dimensional grid coordinate system, one needs to specify two diagonally opposite vertices of the grid box via grid_xyz0 and grid_xyz1. The number of intervals along $z$ is specified via niz. The relevant section of input file may look like this:

  jobtype = oeprop

  grid = 5
  mo_to_plot = (-1 +1)
  grid_origin = (-5.0 -5.0 -5.0)
  grid_unit_x = (1.0 0.0 0.0)
  grid_unit_y = (0.0 1.0 0.0)
  grid_xyz0 = (0.0 0.0 0.0)
  grid_xyz1 = (10.0 10.0 10.0)
  nix = 30
  niy = 30
  niz = 30

Running PSI3 on input like this will produce a Gaussian Cube file called mo.cube, which can be used to render images of HOMO and LUMO using an external visualization software.


next up previous contents
Next: Plotting grid data Up: Evaluation of one-electron properties Previous: Evaluation of properties on   Contents
T. Daniel Crawford 2009-02-16