java.io.Serializable
, javajs.api.JSONEncodable
, JmolModulationSet
public class ModulationSet extends Vibration implements JmolModulationSet
Modifier and Type | Field | Description |
---|---|---|
(package private) float[] |
axesLengths |
unit cell axes -- used in Modulation for calculating magnetic modulations
|
private boolean |
enabled |
indicates state of modulated or unmodulated
|
private double |
fileOcc |
|
private javajs.util.M3 |
gammaE |
|
private javajs.util.Matrix |
gammaIinv |
|
java.util.Map<java.lang.String,java.lang.Float> |
htUij |
current value of anisotropic parameter modulation
|
(package private) java.lang.String |
id |
an identifier for this modulation
|
private int |
iop |
the symmetry operation used to generate this atom
|
private boolean |
isCommensurate |
commensurate modulations cannot be "undone"
and they cannot be turned off
|
private boolean |
isQ |
|
private boolean |
isSubsystem |
subsystems can deliver their own unique unit cell;
they are commensurate
|
private ModulationSet |
modCalc |
modCalc is used for calculations independent of
what the current setting is
|
private javajs.util.Lst<Modulation> |
mods |
the list of all modulations associated with this atom
|
javajs.util.V3 |
mxyz |
the modulated magnetic spin
|
private int |
nOps |
the number of operators in this space group -- needed for occupancy calculation
|
(package private) boolean |
occAbsolute |
for Crenels (simple occupational modulation or Legendre displacement modulation,
the value determined here is absolute (0 or 1), not an adjustment;
set in calculate() by one of the modulations
|
private double[] |
occParams |
|
private double |
occSiteMultiplicity |
|
private float |
occValue |
final occupancy value -- absolute; in range [0,1]
|
(package private) javajs.util.P3 |
ptTemp |
|
private javajs.util.P3 |
qtOffset |
|
private javajs.util.P3 |
r0 |
the unmodulated original position of this atom;
note that x,y,z extended from Vibration(V3) is the current displacement modulation itself
|
private javajs.util.Matrix |
rI |
|
private javajs.util.Matrix |
rsvs |
the matrix representation for this atom's symmetry operation
|
private float |
scale |
an adjustable scaling factor, as for vibrations
|
private javajs.util.Matrix |
sigma |
|
private float |
spinOp |
the spin operation for this atom: +1/0/-1
|
private java.lang.String |
strop |
a string description of the atom's symmetry operator
|
private SymmetryInterface |
symmetry |
the space group appropriate to this atom
|
private javajs.util.Matrix |
tau |
|
private javajs.util.Matrix |
tFactorInv |
|
private javajs.util.V3 |
v0 |
|
Vibration |
vib |
vib is a spin vector when the model has modulation; otherwise an
unmodulated vibration.
|
float |
vOcc |
the current value of the occupancy modulation
|
Constructor | Description |
---|---|
ModulationSet() |
Modifier and Type | Method | Description |
---|---|---|
void |
addTo(javajs.util.T3 a,
float scale) |
|
void |
addUTens(java.lang.String utens,
float v) |
|
ModulationSet |
calculate(javajs.util.T3 tuv,
boolean isQ) |
Calculate r_I internal d-space coordinate of an atom.
|
void |
getInfo(java.util.Map<java.lang.String,java.lang.Object> info) |
|
private ModulationSet |
getModCalc() |
|
javajs.util.T3 |
getModPoint(boolean asEnabled) |
|
java.lang.Object |
getModulation(char type,
javajs.util.T3 tuv) |
|
private float |
getOccupancy() |
|
int |
getOccupancy100(boolean isTemp) |
|
float |
getScale() |
|
java.lang.String |
getState() |
|
SymmetryInterface |
getSubSystemUnitCell() |
|
javajs.util.V3 |
getV3() |
|
Vibration |
getVibration(boolean forceNew) |
|
boolean |
isEnabled() |
|
boolean |
isNonzero() |
|
void |
scaleVibration(float m) |
|
javajs.util.T3 |
setCalcPoint(javajs.util.T3 pt,
javajs.util.T3 t456,
float vibScale,
float scale) |
get updated value for offset vector and for occupancy
|
ModulationSet |
setMod(java.lang.String id,
javajs.util.P3 r00,
javajs.util.P3 r0,
int d,
javajs.util.Lst<Modulation> mods,
javajs.util.M3 gammaE,
javajs.util.Matrix[] factors,
SymmetryInterface symmetry,
int nOps,
int iop,
Vibration v,
boolean isCommensurate) |
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 |
setMoment() |
|
float |
setOccupancy(double[] pt,
double foccupancy,
double siteMult) |
get the occupancy, first from the reader, then from renderer
|
private void |
setVib(boolean isReset,
float scale) |
|
void |
setXYZ(javajs.util.T3 v) |
finalize, getClass, notify, notifyAll, wait, wait, wait
add, add2, add3, ave, cross, distance, distanceSquared, dot, equals, hashCode, length, lengthSquared, normalize, scale, scaleAdd2, scaleT, set, setA, setT, sub, sub2, toJSON, toString
addTracePt, clone, setType, startTrace
java.lang.String id
private javajs.util.P3 r0
private SymmetryInterface symmetry
float[] axesLengths
private int nOps
private int iop
private java.lang.String strop
private float spinOp
private javajs.util.Matrix rsvs
public Vibration vib
private javajs.util.Lst<Modulation> mods
private boolean isSubsystem
private boolean isCommensurate
private double fileOcc
private double[] occParams
private double occSiteMultiplicity
boolean occAbsolute
private ModulationSet modCalc
public javajs.util.V3 mxyz
public java.util.Map<java.lang.String,java.lang.Float> htUij
public float vOcc
private float occValue
private javajs.util.P3 qtOffset
private boolean isQ
private boolean enabled
private float scale
private javajs.util.M3 gammaE
private javajs.util.Matrix gammaIinv
private javajs.util.Matrix sigma
private javajs.util.Matrix tau
private javajs.util.Matrix rI
private javajs.util.Matrix tFactorInv
javajs.util.P3 ptTemp
private javajs.util.V3 v0
public SymmetryInterface getSubSystemUnitCell()
getSubSystemUnitCell
in interface JmolModulationSet
public boolean isEnabled()
isEnabled
in interface JmolModulationSet
public float getScale()
getScale
in interface JmolModulationSet
public ModulationSet setMod(java.lang.String id, javajs.util.P3 r00, javajs.util.P3 r0, int d, javajs.util.Lst<Modulation> mods, javajs.util.M3 gammaE, javajs.util.Matrix[] factors, SymmetryInterface symmetry, int nOps, int iop, Vibration v, boolean isCommensurate)
id
- r00
- originating atom position prior to application of symmetryr0
- unmodulated (average) position after application of symmetryd
- mods
- gammaE
- factors
- including sigma and tFactorsymmetry
- iop
- nOps
- v
- TODOisCommensurate
- TODOpublic ModulationSet calculate(javajs.util.T3 tuv, boolean isQ)
tuv
- isQ
- public void addUTens(java.lang.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
private void setVib(boolean isReset, float scale)
public java.lang.String getState()
getState
in interface JmolModulationSet
public javajs.util.T3 getModPoint(boolean asEnabled)
getModPoint
in interface JmolModulationSet
public java.lang.Object getModulation(char type, javajs.util.T3 tuv)
getModulation
in interface JmolModulationSet
public javajs.util.T3 setCalcPoint(javajs.util.T3 pt, javajs.util.T3 t456, float vibScale, float scale)
setCalcPoint
in class Vibration
private ModulationSet getModCalc()
public void getInfo(java.util.Map<java.lang.String,java.lang.Object> info)
public Vibration getVibration(boolean forceNew)
getVibration
in interface JmolModulationSet
public javajs.util.V3 getV3()
getV3
in interface JmolModulationSet
public void scaleVibration(float m)
scaleVibration
in interface JmolModulationSet
public void setMoment()
setMoment
in interface JmolModulationSet
public float setOccupancy(double[] pt, double foccupancy, double siteMult)
pt
- foccupancy
- siteMult
- or 0 is this is not relevantpublic int getOccupancy100(boolean isTemp)
getOccupancy100
in class Vibration
isTemp
- used only in ModulationSetprivate float getOccupancy()