public class Tensor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static float |
ADP_FACTOR |
java.lang.String |
altType |
double[][] |
asymMatrix |
int |
atomIndex1 |
int |
atomIndex2 |
private static float |
BORN_EFFECTIVE_CHARGE_FACTOR |
int |
eigenSignMask |
float[] |
eigenValues |
V3[] |
eigenVectors |
private static float |
ELECTRIC_FIELD_GRADIENT_FACTOR |
boolean |
forThermalEllipsoid |
private static java.lang.String |
infoList |
private static float |
INTERACTION_FACTOR |
boolean |
isIsotropic |
int |
iType |
private static java.lang.String |
KNOWN_TYPES |
private static float |
MAGNETIC_SUSCEPTIBILITY_FACTOR |
int |
modelIndex |
private boolean |
sortIso |
double[][] |
symMatrix |
private static EigenSort |
tSort |
java.lang.String |
type |
static int |
TYPE_ADP |
static int |
TYPE_CHARGE |
static int |
TYPE_EFG |
static int |
TYPE_ISC |
static int |
TYPE_ISO |
static int |
TYPE_MS |
static int |
TYPE_OTHER |
static int |
TYPE_TLS_R |
static int |
TYPE_TLS_U |
private float |
typeFactor |
Modifier | Constructor and Description |
---|---|
private |
Tensor()
private constructor so that all instantiation must go through one
of the static getTensor...
|
Modifier and Type | Method and Description |
---|---|
static Tensor |
copyTensor(Tensor t0) |
float |
getAnisotropy() |
float |
getAsymmetry() |
private static java.util.Comparator<? super java.lang.Object[]> |
getEigenSort() |
float |
getFactoredValue(int i)
Returns a factored eigenvalue; thermal ellipsoids use sqrt(abs(eigenvalue)) for
ellipsoid axes; others use just use abs(eigenvalue); all cases get factored by
typeFactor
|
java.lang.Object |
getInfo(java.lang.String infoType)
returns an object of the specified type, including "eigenvalues",
"eigenvectors", "asymmetric", "symmetric", "trace", "indices", and "type"
|
float |
getIso() |
static Tensor |
getTensorFromAsymmetricTensor(double[][] asymmetricTensor,
java.lang.String type)
Standard constructor for QM tensors
|
static Tensor |
getTensorFromAxes(V3[] axes)
Standard constructor for ellipsoids based on axes
|
static Tensor |
getTensorFromEigenVectors(V3[] eigenVectors,
float[] eigenValues,
java.lang.String type)
Standard constructor for charge and iso
|
static Tensor |
getTensorFromThermalEquation(double[] coefs)
standard constructor for thermal ellipsoids convention beta
(see http://www.iucr.org/iucr-top/comm/cnom/adp/finrepone/finrepone.html)
|
private static int |
getType(java.lang.String type) |
boolean |
isEquiv(Tensor t) |
boolean |
isSelected(BS bsSelected,
int iAtom) |
private static Tensor |
newTensorType(V3[] vectors,
float[] values,
java.lang.String type)
common processing of eigenvectors.
|
private void |
processType()
Sets typeFactor, altType, isIsotropic, forThermalEllipsoid;
type "iso" changed to "" here.
|
void |
setAtomIndexes(int index1,
int index2) |
Tensor |
setType(java.lang.String type)
Note that type may be null here to skip type initialization
and allow later setting of type; this should be used with care.
|
private void |
sortAndNormalize()
The expression:
|sigma_3 - sigma_iso| >= |sigma_1 - sigma_iso| >= |sigma_2 - sigma_iso|
simply sorts the values from largest to smallest or smallest to largest,
depending upon the direction of the asymmetry, always setting the last
value to be the farthest from the mean.
|
java.lang.String |
toString() |
private static final float ADP_FACTOR
private static final float MAGNETIC_SUSCEPTIBILITY_FACTOR
private static final float ELECTRIC_FIELD_GRADIENT_FACTOR
private static final float BORN_EFFECTIVE_CHARGE_FACTOR
private static final float INTERACTION_FACTOR
private static EigenSort tSort
public java.lang.String type
public int iType
private static final java.lang.String KNOWN_TYPES
public static final int TYPE_OTHER
public static final int TYPE_ISO
public static final int TYPE_ADP
public static final int TYPE_TLS_U
public static final int TYPE_TLS_R
public static final int TYPE_MS
public static final int TYPE_EFG
public static final int TYPE_ISC
public static final int TYPE_CHARGE
public double[][] asymMatrix
public double[][] symMatrix
public V3[] eigenVectors
public float[] eigenValues
public java.lang.String altType
public boolean isIsotropic
public boolean forThermalEllipsoid
public int eigenSignMask
private float typeFactor
private boolean sortIso
public int modelIndex
public int atomIndex1
public int atomIndex2
private static final java.lang.String infoList
private Tensor()
private static int getType(java.lang.String type)
public java.lang.Object getInfo(java.lang.String infoType)
infoType
- public float getIso()
public float getAnisotropy()
public float getAsymmetry()
public static Tensor getTensorFromAsymmetricTensor(double[][] asymmetricTensor, java.lang.String type)
asymmetricTensor
- type
- public static Tensor getTensorFromEigenVectors(V3[] eigenVectors, float[] eigenValues, java.lang.String type)
eigenVectors
- eigenValues
- type
- public static Tensor getTensorFromAxes(V3[] axes)
axes
- public static Tensor getTensorFromThermalEquation(double[] coefs)
coefs
- public Tensor setType(java.lang.String type)
type
- public float getFactoredValue(int i)
i
- public void setAtomIndexes(int index1, int index2)
public boolean isSelected(BS bsSelected, int iAtom)
private static Tensor newTensorType(V3[] vectors, float[] values, java.lang.String type)
vectors
- values
- type
- private void processType()
private void sortAndNormalize()
public boolean isEquiv(Tensor t)
private static java.util.Comparator<? super java.lang.Object[]> getEigenSort()
public java.lang.String toString()
toString
in class java.lang.Object