public class ModulationSet extends Vibration implements JmolModulationSet
Modifier and Type | Field and Description |
---|---|
private boolean |
enabled |
private javajs.util.M3 |
gammaE |
private javajs.util.Matrix |
gammaIinv |
Map<String,Float> |
htUij |
(package private) String |
id |
private int |
iop |
private boolean |
isQ |
private boolean |
isSubsystem |
private int |
modDim |
private javajs.util.List<Modulation> |
mods |
private ModulationSet |
modTemp |
(package private) javajs.util.P3 |
ptTemp |
private javajs.util.P3 |
qtOffset |
private javajs.util.P3 |
r0 |
private float |
scale |
private javajs.util.Matrix |
sI |
private javajs.util.Matrix |
sigma |
private String |
strop |
private SymmetryInterface |
symmetry |
private javajs.util.Matrix |
t |
private javajs.util.Matrix |
tFactor |
float |
vOcc |
float |
vOcc0 |
private javajs.util.Matrix |
xmod |
Constructor and Description |
---|
ModulationSet() |
Modifier and Type | Method and Description |
---|---|
void |
addTo(javajs.util.T3 a,
float scale) |
void |
addUTens(String utens,
float v) |
ModulationSet |
calculate(javajs.util.T3 fracT,
boolean isQ)
In general, we have, for Fourier:
u_axis(x) = sum[A1 cos(theta) + B1 sin(theta)]
where axis is x, y, or z, and theta = 2n pi x
More generally, we have for a given rotation that is characterized by
X {x4 x5 x6 ...}
Gamma_E (R3 rotation)
Gamma_I (X rotation)
S_I (X translation)
We allow here only up to x6, simply because we are using standard R3
rotation objects Matrix3f, P3, V3.
|
void |
getInfo(Map<String,Object> info) |
private void |
getModTemp() |
Object |
getModulation(String type,
javajs.util.T3 t456) |
float |
getScale() |
String |
getState() |
SymmetryInterface |
getUnitCell() |
boolean |
isEnabled() |
ModulationSet |
set(String id,
javajs.util.P3 r,
int modDim,
javajs.util.List<Modulation> mods,
javajs.util.M3 gammaE,
javajs.util.Matrix[] factors,
int iop,
SymmetryInterface symmetry)
A collection of modulations for a specific atom.
|
void |
setModTQ(javajs.util.T3 a,
boolean isOn,
javajs.util.T3 qtOffset,
boolean isQ,
float scale)
Set modulation "t" value, which sets which unit cell in sequence we are
looking at; d=1 only.
|
void |
setTempPoint(javajs.util.T3 a,
javajs.util.T3 t456,
float vibScale,
float scale) |
public float vOcc
public float vOcc0
String id
private javajs.util.List<Modulation> mods
private int modDim
private int iop
private javajs.util.P3 r0
private SymmetryInterface symmetry
private javajs.util.M3 gammaE
private javajs.util.Matrix gammaIinv
private javajs.util.Matrix sigma
private javajs.util.Matrix sI
private javajs.util.Matrix xmod
private boolean enabled
private float scale
private javajs.util.P3 qtOffset
private boolean isQ
private javajs.util.Matrix t
private ModulationSet modTemp
private String strop
private boolean isSubsystem
private javajs.util.Matrix tFactor
javajs.util.P3 ptTemp
public float getScale()
getScale
in interface JmolModulationSet
public boolean isEnabled()
isEnabled
in interface JmolModulationSet
public ModulationSet set(String id, javajs.util.P3 r, int modDim, javajs.util.List<Modulation> mods, javajs.util.M3 gammaE, javajs.util.Matrix[] factors, int iop, SymmetryInterface symmetry)
id
- r
- modDim
- mods
- gammaE
- factors
- including sigma and tFactoriop
- symmetry
- public SymmetryInterface getUnitCell()
getUnitCell
in class Vibration
public ModulationSet calculate(javajs.util.T3 fracT, boolean isQ)
fracT
- isQ
- public void addUTens(String utens, float v)
public void setModTQ(javajs.util.T3 a, boolean isOn, javajs.util.T3 qtOffset, boolean isQ, float scale)
setModTQ
in interface JmolModulationSet
isOn
- qtOffset
- isQ
- scale
- public void addTo(javajs.util.T3 a, float scale)
addTo
in interface JmolModulationSet
public String getState()
getState
in interface JmolModulationSet
public Object getModulation(String type, javajs.util.T3 t456)
getModulation
in interface JmolModulationSet
public void setTempPoint(javajs.util.T3 a, javajs.util.T3 t456, float vibScale, float scale)
setTempPoint
in class Vibration
private void getModTemp()