edu.davidson.chm.waveFunction
Class HybridWaveFunction

java.lang.Object
  extended by edu.davidson.chm.waveFunction.WaveFunction
      extended by edu.davidson.chm.waveFunction.HybridWaveFunction

public class HybridWaveFunction
extends WaveFunction

Title: HybridWaveFunction

Description: This object describes a hybrid wave function. It contains one or more WaveFunction objects and a weighting coefficient for each WaveFunction object. The hybrid wave function is automatically normalized provided the component WaveFunctions are orthogonal and normalized.

Copyright (c) David N. Blauch 2000,2009

Company: Davidson College

Version:
2.0
Author:
David N. Blauch

Constructor Summary
HybridWaveFunction()
           
HybridWaveFunction(WaveFunction _waveFunction, double _coefReal, double _coefImag)
          Constructs a new HybridWaveFunction object using the user-supplied HydrogenicWaveFunction and coefficient.
 
Method Summary
 void addNML(int _n, int _l, int _m, double _coefReal, double _coefImag)
          Adds a hydrogenic wave function to the hybrid wave function
 void addWaveFunction(WaveFunction _waveFunction, double _coefReal, double _coefImag)
          Adds a wave function to the hybrid wave function.
 void clear()
          Clears the wave functions making up the hybrid wave function.
 double getMaxR(double _fraction)
          Returns an estimate of the maximum displacement at the point where psi*psi is the indicated fraction of the maximum value of psi*psi.
 double[] getValue(double _r, double _theta, double _phi)
          Returns the value of the hybrid wave function at r, theta, phi
 double[] getValueXYZ(double _x, double _y, double _z)
          Returns the value of the wave function at the cartesian coordiantes
 
Methods inherited from class edu.davidson.chm.waveFunction.WaveFunction
getID, setID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HybridWaveFunction

public HybridWaveFunction()

HybridWaveFunction

public HybridWaveFunction(WaveFunction _waveFunction,
                          double _coefReal,
                          double _coefImag)
Constructs a new HybridWaveFunction object using the user-supplied HydrogenicWaveFunction and coefficient. The coefficient may be complex; thus the real and imaginary components must be specified.

Parameters:
_coefReal - real component of the coefficient
_coefImag - imaginary component of the coefficient
Method Detail

addNML

public void addNML(int _n,
                   int _l,
                   int _m,
                   double _coefReal,
                   double _coefImag)
Adds a hydrogenic wave function to the hybrid wave function

Parameters:
_n - principal quantum number
_l - angular momentum quantum number
_m - magnetic quantum number
_coefReal - real component of the coefficient
_coefImag - imaginary component of the coefficient

addWaveFunction

public void addWaveFunction(WaveFunction _waveFunction,
                            double _coefReal,
                            double _coefImag)
Adds a wave function to the hybrid wave function. In normalizing the hybrid wave function, it is assumed that all component wave functions are orthogonal. If the orthogonality relationship is not obeyed, the resulting hybrid orbital will not be properly normalized.

Parameters:
_coefReal - real component of the coefficient
_coefImag - imaginary component of the coefficient

clear

public void clear()
Clears the wave functions making up the hybrid wave function.


getValue

public double[] getValue(double _r,
                         double _theta,
                         double _phi)
Returns the value of the hybrid wave function at r, theta, phi

Specified by:
getValue in class WaveFunction
Parameters:
_r - distance from the nucleus normalized by Z/a
_theta - angle from the z axis
_phi - angle from the x axis in the x-y plane
Returns:
[real,imaginary] components of the wave function

getValueXYZ

public double[] getValueXYZ(double _x,
                            double _y,
                            double _z)
Returns the value of the wave function at the cartesian coordiantes

Specified by:
getValueXYZ in class WaveFunction
See Also:
getValue(double, double, double)

getMaxR

public double getMaxR(double _fraction)
Returns an estimate of the maximum displacement at the point where psi*psi is the indicated fraction of the maximum value of psi*psi.

Specified by:
getMaxR in class WaveFunction
Parameters:
_fraction - cut-off fraction