CompChem Library
From Henkelman Group
This is for the design of a common library for our group computational chemistry purposes.
Be sure to use the discussion page for any changes you make.
[edit] Numerical
- Vector
- Members
- elements: an array of the Vector elements
- dimension: the dimension of the Vector (same as the number of elements)
- Methods
- magnitude: returns the length of the Vector
- unit: returns a unit Vector in the direction of the Vector
- plus: returns a new Vector which is the sum of the Vector and another Vector
- minus: returns a new Vector which is the Vector minus another Vector
- dot: returns the dot product of the Vector and another Vector
- random: returns a new Vector of random direction and unit length
- Members
- Point
- Members
- coordinates: an array of the coordinates of the point
- dimension: the dimension of the Point (same as the number of coordinates)
- Methods
- random: returns a random Point
- vectorTo: returns a Vector to another Point
- distanceTo: returns the distance to another Point
- plus: returns a new Point with a Vector added to it
- minus returns a new Point with a Vector subtracted from it
- Members
- Path
- Members
- images: an array of Points that defines the Path
- Methods
- length: returns the length of the Path
- EnergyPath
- Members
- potential: a Potential associated with the Path
- forceCalls: records the number of force calls made
- Methods
- imageForce: returns the force Vector due to the Potential on an image in the Path
- totalForce: returns the magnitude of the total force being exerted on all the images of the Path
- resetForceCalls: resets the number of recorded force calls to zero (redundant if we go with an public member framework)
- MinimumEnergyPath
- ElasticBand
- Members
- k: the spring force constant
- Methods
- springForce: returns the spring force Vector on a single image
- step: calculates and implements the next step
- NEB
- Methods
- tangentForce: returns the spring force tangent to the Path
- step: calculates and implements the next step (override)
- NEBSwitching
- Methods
- switchingForce: returns the spring force Vector perpendicular to the Path, taking the switching function into account
- Methods
- Methods
- Members
- String
- Methods
- redistribute: redistributes the images along the Path
- Methods
- GrowingString
- note: Not a type of "String", so it is not a subclass.
- ElasticBand
- Members
- Members
- Function
- Methods
- value: returns the value at a Point
- derivative: returns the derivative at a Point (1D functions only)
- partialDerivative: returns the partial derivative at a point, given one independent variable.
- gradient: returns a Vector which is the gradient at a point.
- Potential
- Methods
- force: returns a Vector representing the force at a Point
- Morse
- LEPS
- Methods
- Methods
[edit] I/O
- Visualizer
- I propose we do this entirely in 3D, with any required 2D graphics done on a plane in 3D space. (Rye Terrell 08:04, 2 May 2007 (CDT))
- Camera
- Defines a camera in 3D space.
- TextIO
- Opens a window with a text field for textual output and a field for textual input.