Package org.jmol.util
Class Modulation
java.lang.Object
org.jmol.util.Modulation
A class to allow for more complex vibrations and associated phenomena, such
as modulated crystals, including Fourier series, Crenel functions, and
sawtooth functions
- Author:
- Bob Hanson hansonr@stolaf.edu 8/8/2013
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate doubleprivate charprivate doubleprivate doubleprivate double(package private) static double[][]private intprivate double[]private double[]private doubleprivate static final doubleprivate final charstatic final charstatic final charstatic final charstatic final charstatic final charstatic final charstatic final charstatic final charstatic final charprivate String -
Constructor Summary
ConstructorsConstructorDescriptionModulation(char axis, char type, double[] params, String utens, double[] qCoefs) Each atomic modulation involves a fractional coordinate wave vector q, a Fourier power n, a modulation axis (x, y, or, z), and specified parameters that depend upon the type of function. -
Method Summary
Modifier and TypeMethodDescription(package private) voidapply(ModulationSet ms, double[][] t) (package private) voidcalcLegendre(int m) getInfo()private booleanrange(double x4) Check that left < x4 < right, but allow for foldingtoString()
-
Field Details
-
TWOPI
private static final double TWOPI- See Also:
-
qCoefs
private double[] qCoefs -
a1
private double a1 -
a2
private double a2 -
center
private double center -
left
private double left -
right
private double right -
order
private int order -
axis
private char axis -
type
private final char type -
params
private double[] params -
utens
-
delta2
private double delta2 -
TYPE_DISP_FOURIER
public static final char TYPE_DISP_FOURIER- See Also:
-
TYPE_SPIN_FOURIER
public static final char TYPE_SPIN_FOURIER- See Also:
-
TYPE_SPIN_SAWTOOTH
public static final char TYPE_SPIN_SAWTOOTH- See Also:
-
TYPE_DISP_SAWTOOTH
public static final char TYPE_DISP_SAWTOOTH- See Also:
-
TYPE_OCC_FOURIER
public static final char TYPE_OCC_FOURIER- See Also:
-
TYPE_OCC_CRENEL
public static final char TYPE_OCC_CRENEL- See Also:
-
TYPE_U_FOURIER
public static final char TYPE_U_FOURIER- See Also:
-
TYPE_DISP_LEGENDRE
public static final char TYPE_DISP_LEGENDRE- See Also:
-
TYPE_U_LEGENDRE
public static final char TYPE_U_LEGENDRE- See Also:
-
legendre
static double[][] legendre
-
-
Constructor Details
-
Modulation
Each atomic modulation involves a fractional coordinate wave vector q, a Fourier power n, a modulation axis (x, y, or, z), and specified parameters that depend upon the type of function. Types supported: Fourier [csin, ccos] Legendre [center, width, coeff, order] Crenel [center, width, amplitude] Sawtooth [center, width, amplitude]- Parameters:
axis-type-params-utens- TODOqCoefs-
-
-
Method Details
-
apply
- Parameters:
ms-t- -- Vector of coordinates for [x4, x5, x6, ...]
-
range
private boolean range(double x4) Check that left < x4 < right, but allow for folding- Parameters:
x4-- Returns:
- true only if x4 is in the (possibly folded) range of left and right
-
getInfo
-
calcLegendre
void calcLegendre(int m) -
toString
-