org.jmol.minimize
Class Util

java.lang.Object
  extended by org.jmol.minimize.Util

public class Util
extends Object


Field Summary
static double DEG_TO_RAD
           
(package private) static double max_squarable_double
           
(package private) static double min_squarable_double
           
static double RAD_TO_DEG
           
 
Constructor Summary
Util()
           
 
Method Summary
static boolean canBeNormalized(Vector3d a)
           
static boolean canBeSquared(double x)
           
static double distance2(double[] a, double[] b)
           
static double distance2(Vector3d a, Vector3d b)
           
static double getAngleRadiansABC(double[] a, double[] b, double[] c)
           
static double getTorsionAngleRadians(double[] a, double[] b, double[] c, double[] d, Vector3d r1, Vector3d r2, Vector3d r3)
           
static boolean isApprox(Vector3d a, Vector3d b, double precision)
           
static boolean isFinite(double a)
           
static boolean isNear(double a, double b)
           
static boolean isNear(double a, double b, double epsilon)
           
static boolean isNearZero(double a)
           
static boolean isNearZero(double a, double epsilon)
           
static boolean isNegligible(double a, double b)
           
static boolean isNegligible(double a, double b, double precision)
           
static double pointPlaneAngleRadians(Vector3d a, Vector3d b, Vector3d c, Vector3d d, Vector3d v1, Vector3d v2, Vector3d norm)
           
static void putCoord(Vector3d v, double[] c)
           
private static void randomizeUnitVector(Vector3d v)
           
static double restorativeForceAndAngleRadians(Vector3d i, Vector3d j, Vector3d k)
           
static double restorativeForceAndDistance(Vector3d a, Vector3d b, Vector3d vab)
           
static double restorativeForceAndOutOfPlaneAngleRadians(Vector3d i, Vector3d j, Vector3d k, Vector3d l, Vector3d an, Vector3d bn, Vector3d cn)
           
static double restorativeForceAndTorsionAngleRadians(Vector3d i, Vector3d j, Vector3d k, Vector3d l)
           
static void sub(double[] a, double[] b, Vector3d result)
           
private static double vectorAngleRadians(Vector3d v1, Vector3d v2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RAD_TO_DEG

public static final double RAD_TO_DEG
See Also:
Constant Field Values

DEG_TO_RAD

public static final double DEG_TO_RAD
See Also:
Constant Field Values

max_squarable_double

static final double max_squarable_double
See Also:
Constant Field Values

min_squarable_double

static final double min_squarable_double
See Also:
Constant Field Values
Constructor Detail

Util

public Util()
Method Detail

sub

public static void sub(double[] a,
                       double[] b,
                       Vector3d result)

putCoord

public static void putCoord(Vector3d v,
                            double[] c)

distance2

public static double distance2(double[] a,
                               double[] b)

distance2

public static double distance2(Vector3d a,
                               Vector3d b)

getAngleRadiansABC

public static double getAngleRadiansABC(double[] a,
                                        double[] b,
                                        double[] c)

isApprox

public static boolean isApprox(Vector3d a,
                               Vector3d b,
                               double precision)

canBeSquared

public static boolean canBeSquared(double x)

isNegligible

public static boolean isNegligible(double a,
                                   double b)

isFinite

public static boolean isFinite(double a)

isNegligible

public static boolean isNegligible(double a,
                                   double b,
                                   double precision)

isNear

public static boolean isNear(double a,
                             double b)

isNear

public static boolean isNear(double a,
                             double b,
                             double epsilon)

isNearZero

public static boolean isNearZero(double a)

isNearZero

public static boolean isNearZero(double a,
                                 double epsilon)

canBeNormalized

public static boolean canBeNormalized(Vector3d a)

pointPlaneAngleRadians

public static double pointPlaneAngleRadians(Vector3d a,
                                            Vector3d b,
                                            Vector3d c,
                                            Vector3d d,
                                            Vector3d v1,
                                            Vector3d v2,
                                            Vector3d norm)

vectorAngleRadians

private static double vectorAngleRadians(Vector3d v1,
                                         Vector3d v2)

getTorsionAngleRadians

public static double getTorsionAngleRadians(double[] a,
                                            double[] b,
                                            double[] c,
                                            double[] d,
                                            Vector3d r1,
                                            Vector3d r2,
                                            Vector3d r3)

restorativeForceAndDistance

public static double restorativeForceAndDistance(Vector3d a,
                                                 Vector3d b,
                                                 Vector3d vab)

randomizeUnitVector

private static void randomizeUnitVector(Vector3d v)

restorativeForceAndAngleRadians

public static double restorativeForceAndAngleRadians(Vector3d i,
                                                     Vector3d j,
                                                     Vector3d k)

restorativeForceAndOutOfPlaneAngleRadians

public static double restorativeForceAndOutOfPlaneAngleRadians(Vector3d i,
                                                               Vector3d j,
                                                               Vector3d k,
                                                               Vector3d l,
                                                               Vector3d an,
                                                               Vector3d bn,
                                                               Vector3d cn)

restorativeForceAndTorsionAngleRadians

public static double restorativeForceAndTorsionAngleRadians(Vector3d i,
                                                            Vector3d j,
                                                            Vector3d k,
                                                            Vector3d l)