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 double
private double
private char
private double
private double
private double
(package private) static double[][]
private int
private double[]
private double[]
private double
private static final double
private final char
static final char
static final char
static final char
static final char
static final char
static final char
static final char
static final char
static final char
private 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) void
apply
(ModulationSet ms, double[][] t) (package private) void
calcLegendre
(int m) getInfo()
private boolean
range
(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
-