edu.davidson.chm.waveFunction
Class WaveFunction

java.lang.Object
  extended by edu.davidson.chm.waveFunction.WaveFunction
Direct Known Subclasses:
Gaussian, HybridWaveFunction, HydrogenicWaveFunction, Orbital_2px, Orbital_2py, Orbital_3dx2_y2, Orbital_3dxy, Orbital_3dxz, Orbital_3dyz, Orbital_3px, Orbital_3py, Orbital_4dx2_y2, Orbital_4dxy, Orbital_4dxz, Orbital_4dyz, Orbital_4f5xz2_xr2, Orbital_4f5yz2_yr2, Orbital_4f5z3_3zr2, Orbital_4fx3_3xy2, Orbital_4fxyz, Orbital_4fy3_3yx2, Orbital_4fzx2_zy2, Orbital_4px, Orbital_4py, Orbital_d2sp3, Orbital_dsp2, Orbital_dsp3ax, Orbital_dsp3eq, Orbital_sp, Orbital_sp2, Orbital_sp3

public abstract class WaveFunction
extends java.lang.Object

Define the abstract description of a Wave Function.

The class requires two methods be defined:

getValue(r,theta,phi) returns the value of the wave function at position r, theta, phi (spherical coordinates). The wave function is returned in the form of a two-element double array (the real and complex components of the wave function).

getValueXYZ(x,y,z) returns the value of the wave function at position x, y, z (cartesian coordinates). The wave function is returned in the form of a two-element double array (the real and complex components of the wave function).

getMaxR(f) returns the maximum distance from the origin necessary in order to contain a fraction f of the wave function. The significance of f is ambiguous. This method is provided for applications where limits in a plot or display must be determined without direct input from the user.

Copyright (c) David N. Blauch 2000,2009

Version:
2.0
Author:
David N. Blauch

Constructor Summary
WaveFunction()
           
 
Method Summary
 int getID()
          Returns the id of the wave function
abstract  double getMaxR(double _fraction)
          Returns the maximum displacement from the nucleus at which the wave function has a value characterized by _fraction.
abstract  double[] getValue(double _r, double _theta, double _phi)
          Returns the value of the wave function for a set of spherical coordinates _r (normalized distance from the nucleus), _theta (angle from the z axis), and _phi (angle from the x axis in the xy plane).
abstract  double[] getValueXYZ(double _x, double _y, double _z)
          Returns the value of the wave function for a set of cartesian coordinates.
 void setID(int _id)
          Sets the id of the wave function
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WaveFunction

public WaveFunction()
Method Detail

getMaxR

public abstract double getMaxR(double _fraction)
Returns the maximum displacement from the nucleus at which the wave function has a value characterized by _fraction. This method is used in ElectronDensity.class to determine the appropriate limits for the plot. The parameter _fraction might, for example, refer to a certain fraction of the maximum value of the wave function.


getValue

public abstract double[] getValue(double _r,
                                  double _theta,
                                  double _phi)
Returns the value of the wave function for a set of spherical coordinates _r (normalized distance from the nucleus), _theta (angle from the z axis), and _phi (angle from the x axis in the xy plane). The value _r must include the normalization by Z/a, where Z is the nuclear charge and a is the Bohr radius. The function returns a two-dimensional array containing the real (element 0) and imaginary (element 1) components of the wave function.


getValueXYZ

public abstract double[] getValueXYZ(double _x,
                                     double _y,
                                     double _z)
Returns the value of the wave function for a set of cartesian coordinates.

See Also:
getValue(double, double, double)

getID

public int getID()
Returns the id of the wave function


setID

public void setID(int _id)
Sets the id of the wave function