# hfc_display.m

Ellipsoid plots of hyperfine coupling tensors and their eigensystems. This function takes the information loaded from quantum chemistry packages by the various parser functions (gparse, oparse, etc.) and uses it to create ellipsoid plots of hyperfine coupling tensors. Every ellipsoid is drawn in the following way:

1. A unit sphere in a Cartesian space is scaled by abs(Axx) in the x direction, abs(Ayy) in the y direction and abs(Azz) in the z direction, where Axx, Ayy, Azz are the eigenvalues of the hyperfine coupling tensor in units of mT.
2. A set of axes is drawn inside the sphere with red axis for positive eigenvalues and blue for negative ones.
3. The sphere is translated to the point of corresponding atom and rotated into the molecular frame.

## Syntax

    hfc_display(props,atoms,scaling_factor,conmatrix)


## Arguments

                   props -  output of the quantum chemistry package output parser function

atoms -  a cell array of element symbols, indicating the atoms for which
the hyperfine coupling tensors should be visualized, e.g. {'C','H'}

scaling_factor -  scaling factor, connecting the mT scale to the length units in
Angstrom that are used in the molecule plot, usually of the order of 0.01

conmatrix -  optional binary connectivity matrix, with 1 if a pair of atoms should be
connected by a bond in the resulting plot and zero otherwise. If you are
happy with the default bond drawing threshold of 1.6 Angstrom, specify an
empty matrix here.


## Returns

The function creates a figure.

## Examples

The following figure is produced by /examples/visualisation/hfc_pyrene.m

## Notes

1. Software OpenGL is forced internally because hardware OpenGL works badly with transparency in Matlab.
2. Antisymmetric components of the hyperfine coupling tensors are ignored.
3. Only Gaussian quantum chemistry package is supported at the moment - send an email to Ilya Kuprov if you are using something else.