Page 30 out of 81 total pages , Page 3 out of 15 pages in this chapter


3.9 Basic Functions

3.9.1 delzz

Usage:


#include <IntQuad.h>
double IntQuad::delzz () const
double IntQuad::delz () const
double IntQuad::delzz (double dz) const
double IntQuad::delz (double dz) const

Description:

The function delzz is used to either obtain or set the interaction quadrupolar coupling constant. With no arguments the function returns the coupling in Hz. If an argument, dz, is specified then the coupling constant for the interaction is set. It is assumed that the input value of dz is in units of Hz. The function is overloaded with the name delz for convenience. Note that setting of delzz will alter the (equivalent) value of the quadrupolar coupling QCC (or NQCC) as well as the quadrupolar frequency.

Return Value:

Either void or a floating point number, double precision.

Example(s):


#include <IntQuad.h>
IntQuad Q(); // Empty quadrupolar interaction.
Q.delzz(100000.0); // Set QCC to 100 KHz.
cout << Q.delz (); // Write coupling constant to std output.

See Also: QCC, NQCC, wQ

3.9.2 QCC, NQCC

Usage:


#include <IntQuad.h>
double IntQuad::QCC () const
double IntQuad::NQCC () const
double IntQuad::QCC (double dz) const
double IntQuad::NQCC (double dz) const

Description:

The function QCC is used to either obtain or set the interaction quadrupolar coupling constant. With no arguments the function returns the coupling in Hz. If an argument, dz, is specified then the coupling constant for the interaction is set. It is assumed that the input value of dz is in units of Hz. The function is overloaded with the name NQCC for convenience. Note that setting of QCC will alter the (equivalent) value of the quadrupolar spatial tensor delzz value as well as the quadrupolar frequency. This function has identical functionality as delzz and delz.

Return Value:

Either void or a floating point number, double precision.

Examples:


#include <IntQuad.h>
IntQuad Q(); // Empty quadrupolar interaction.
Q.NQCC(100000.0); // Set QCC to 100 KHz.
cout << Q.QCC (); // Write coupling constant to std output.

See Also: delz, delzz, wQ

3.9.3 eta

Usage:


#include <IntQuad.h>
double IntQuad::eta () const
double IntQuad::eta (double Qeta) const

Description:

The function eta is used to either obtain or set the quadrupolar interaction asymmetry. With no arguments the function returns the asymmetry (unitless). If an argument, Qeta, is specified then the asymmetry for the interaction is set.The input value is restricted to the range [0,1] and is related to the quadrupolar spatial tensor Cartesian components according to

Note that setting eta will alter the 5 internal irreducible spherical spatial tensor components of the interaction.

Return Value:

Either void or a floating point number, double precision.

Examples:


#include <IntQuad.h>
IntQuad Q(); // Empty quadrupolar interaction.
Q.eta(0.75); // Set eta to 0.75.
double Qeta = Q.eta(); // Set Qeta to current eta value

See Also: delz, delzz, wQ

3.9.4 wQ

Usage:


#include <IntQuad.h>
double IntQuad::wQ () const
double IntQuad::wQ (double W) const

Description:

The function wQ is used to either obtain or set the interaction quadrupolar frequency. With no arguments the function returns the frequency in Hz. If an argument, W, is specified then the frequency for the interaction is set. It is assumed that the input value of W is in units of Hz. In GAMMA the quadrupolar frequency1 is defined to be.

Return Value:

Either void or a floating point number, double precision.

Examples:


#include <IntQuad.h>
IntQuad Q(); // Empty quadrupolar interaction.
Q.wQ(1.4e5); // Set quad. frequency to 140 KHz.
cout << Q.wQ(); // Write frequency to std output.

See Also: delz, delzz, QCC, NQCC, xi

3.9.5 wQ0, wQoriented

Usage:


double IntQuad::wQoriented() const
double IntQuad::wQ0() const
double IntQuad::wQoriented(double theta, double phi) const
double IntQuad::wQ0(double theta, double phi) const
matrix IntQuad::wQoriented(int Ntheta, int Nphi) const
matrix IntQuad::wQ0(int Ntheta, int Nphi) const

Description:

The function wQ0 (or its equivalent wQoriented) is used to obtain or generate the 1st order quadrupolar frequency for a chosen orientation in Hz. If the arguments, theta and phi, are specified then the frequency will be returned at that orientation from the PAS rather that the internal orientation. It is assumed that the input angle values are in units of degrees. In GAMMA the oriented quadrupolar frequency2 is defined to be

Alternatively, one may obtain an array of the mathematical precursors needed to generate the 1st order frequency over evenly spaced angle increments on the unit sphere. In this case the function is called with the integers Ntheta and Nphi, the number of increments down and over respectively. The matrix returned will have 4 rows whose elements are given by

and the 1st order shifts reconstructed from

Remember, these frequencies are the splittings between transitions to first order (high field approximation) for particular orientations. They are valid only when the Zeeman interaction is much stronger than the quadrupolar interaction. One should use the second order frequency corrections when the Larmor frequency is only somewhat stronger than the quadrupolar frequency. One should use the full treatment when the quadrupolar interaction dominates.

Return Value:

Either void or a floating point number, double precision.

Examples:


IntQuad Q(); // Empty quadrupolar interaction.
Q.wQ(1.4e5); // Set quad. frequency to 140 KHz.
cout << Q.wQ(); // Write frequency to std output.

See Also: delz, delzz, QCC, NQCC, xi

3.9.6 wQcentral

Usage:


double IntQuad::wQcentral(double Om) const
double IntQuad::wQcentral(double Om, double theta, double phi) const
matrix IntQuad::wQcentral(int Ntheta, int Nphi) const

Description:

The function wQcentral is used to obtain the interaction quadrupolar frequency. The argument Om is used to indicate the Larmor frequency in Hz of the spin associated with the interaction. With no other arguments the shift will be that of the central transition at the interaction's internal orientation. With the additional arguments theta and phi the frequency will be the central transition second order shift at that orientation from the PAS rather that the internal orientation. It is assumed that the input angle values are in units of degrees. In GAMMA the 2nd order shifts to the central transition are given by

where

Alternatively, one may obtain an array of the mathematical precursors needed to generate the 2nd order shifts over evenly spaced angle increments on the unit sphere. In this case the function is called with the integers Ntheta and Nphi, the number of increments down and over respectively. The matrix returned will have 5 rows whose elements are given by

and the shifts reconstructed from the previous equations. Note that since second order effects are field dependent, the larger the field the smaller the returned shift(s). Also, the method of obtains such shifts in this function assumes that the quadrupolar interaction is a perturbation to the Zeeman Hamiltonian. The will not be applicible when the quadrupolar splitting is on the same scale as or larger than the Larmor frequency. Finally, if I is not half integer all values returned will be zero.

Return Value:

Either void or a floating point number, double precision.

Examples:


IntQuad Q(); // Empty quadrupolar interaction.
Q.wQ(1.4e5); // Set quad. frequency to 140 KHz.
cout << Q.wQ(); // Write frequency to std output.

See Also: delz, delzz, QCC, NQCC, xi

3.9.7 wQ1

Usage:


double IntQuad::wQ1(double Om, double m) const
double IntQuad::wQ1(double Om, double m, double theta, double phi) const
matrix IntQuad::wQ1(int Ntheta, int Nphi) const

Description:

The function wQ1 is used to obtain the second order frequency shift of a quadrupolar transition. The argument Om is used to indicate the Larmor frequency in Hz of the spin associated with the interaction. The value of m is the spin anglular momentum z quantum number and should span [I, I-1,I-2,.....-I+1]. The returned shift will be for the transtion between levels m and m-1. With no addtional arguments the shift will be for the specified transition at the interaction's internal orientation. With the additional arguments theta and phi the frequency will be the indicated transitions second order shift at that orientation from the PAS rather that the internal orientation. It is assumed that the input angle values are in units of degrees. In GAMMA the 2nd order shifts for the m,m-1 transition are given by

Alternatively, one may obtain an array of the mathematical precursors needed to generate the 2nd order shifts over evenly spaced angle increments on the unit sphere. In this case the function is called with the integers Ntheta and Nphi, the number of increments down and over respectively. The matrix returned will have 6 rows whose elements are given by

Reconstruction of full values is based on

Required components can be reconstructed acconding to the discrete equations below.

and the frequencies subsequently generated using

Note that since second order effects are field dependent, the larger the field the smaller the returned shift(s). Also, the method of obtains such shifts in this function assumes that the quadrupolar interaction is a perturbation to the Zeeman Hamiltonian. The will not be applicible when the quadrupolar splitting is on the same scale as or larger than the Larmor frequency. Finally, if I is not half integer all values returned will be zero.

Return Value:

Either void or a floating point number, double precision.

Examples:


IntQuad Q(); // Empty quadrupolar interaction.
Q.wQ(1.4e5); // Set quad. frequency to 140 KHz.
cout << Q.wQ(); // Write frequency to std output.

See Also: delz, delzz, QCC, NQCC, xi

3.9.8 xi

Usage:


double IntQuad::xi() const

Description:

The function xi is used to either obtain the GAMMA defined quadrupolar interaction constant. The constant is used to scale the interaction such that both its spatial and spin tensors are "independent" of the interaction type.

This will be used in the formulation of quadrupolar Hamiltonians according to.

Return Value:

A floating point number, double precision.

Examples:


IntQuad Q(1.5, 3.e5, 0.2, 45.0, 45.0); // Make a quadrupolar interaction.
double Xi = Q.xi(); // Get quad. interaction constant.


Page 30 out of 81 total pages , Page 3 out of 15 pages in this chapter


1
There are variations in the literature as to what the quadrupolar frequency is. The definition in GAMMA is set such that the quadrupolar interaction will split the observed NMR transitions by when the Zeeman interaction is strong (i.e. high field, first-order quadrupolar interaction). This definition is analogous to that of a scalar coupling.
2
There are variations in the literature as to what the quadrupolar frequency is. The definition in GAMMA is set such that the quadrupolar interaction will split the observed NMR transitions by when the Zeeman interaction is strong (i.e. high field, first-order quadrupolar interaction). This definition is analogous to that of a scalar coupling.
GAMMA Support Provided by the National High Magnetic Field Laboratory
© 1996 Scott A. Smith, The NHMFL, and The Florida State University.
All Rights Reserved.
No GAMMA WWW pages or GAMMA specific images therein may be reproduced or used in any manner outside of personal Web Browsers without permission from the copyright holders.
Send problems & suggestions to gamma@magnet.fsu.edu
Additonal GAMMA information can be found at http://gamma.magnet.fsu.edu