public class CastepReader extends AtomSetCollectionReader
| Modifier and Type | Field and Description |
|---|---|
private float |
a |
private javajs.util.V3[] |
abc |
private int |
ac |
private float |
alpha |
private javajs.util.P3[] |
atomPts |
private float |
b |
private float |
beta |
private float |
c |
private java.lang.String |
chargeType |
private java.lang.String |
desiredQ |
private javajs.util.V3 |
desiredQpt |
private float |
gamma |
private boolean |
haveCharges |
private boolean |
havePhonons |
private boolean |
isAllQ |
private boolean |
isCell |
private boolean |
isOutput |
private boolean |
isPhonon |
private boolean |
isTS |
private java.lang.String |
lastQPt |
private static float[] |
lengthUnitFactors |
private static java.lang.String[] |
lengthUnitIds |
private javajs.util.M4 |
matSupercell |
private int |
qpt2 |
private static float |
RAD_TO_DEG |
private java.lang.String[] |
tokens |
private java.lang.String |
tsType |
private static double |
TWOPI |
addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, modDim, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr| Constructor and Description |
|---|
CastepReader() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
checkLine() |
protected void |
finalizeSubclassReader()
optional reader-specific method run first.
|
private java.lang.String |
getFractionalCoord(javajs.util.V3 qvec) |
private void |
getTensor(Atom atom,
java.lang.String line0) |
void |
initializeReader() |
private static boolean |
isInt(float f) |
private void |
readAtomData(float factor) |
private void |
readEnergy(int pt,
java.lang.String prefix) |
private boolean |
readFileData() |
private void |
readLatticeAbc() |
private void |
readLatticeCart() |
private float |
readLengthUnit(java.lang.String units) |
private int |
readOutputAtomIndex() |
private void |
readOutputAtoms() |
private void |
readOutputBornChargeTensors() |
private void |
readOutputCharges()
read Mulliken or Hirshfield charges
|
private void |
readOutputUnitCell() |
private void |
readPhononFractionalCoord() |
private void |
readPhononFrequencies() |
private void |
readPhononTrajectories() |
private void |
readPhononUnitCell() |
private void |
readPositionsAbs() |
private void |
readPositionsFrac() |
private void |
setDesiredQpt(java.lang.String s) |
private void |
setLatticeVectors() |
private void |
setPhononVector(float[] data,
Atom atom,
javajs.util.V3 rTrans,
javajs.util.V3 qvec,
javajs.util.V3 v)
transform complex vibration vector to a real vector by applying the
appropriate translation, storing the results in v
|
private int |
tokenizeCastepCell() |
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCRprivate static final float RAD_TO_DEG
private java.lang.String[] tokens
private boolean isPhonon
private boolean isTS
private boolean isOutput
private boolean isCell
private float a
private float b
private float c
private float alpha
private float beta
private float gamma
private javajs.util.V3[] abc
private int ac
private javajs.util.P3[] atomPts
private boolean havePhonons
private java.lang.String lastQPt
private int qpt2
private javajs.util.V3 desiredQpt
private java.lang.String desiredQ
private java.lang.String chargeType
private boolean isAllQ
private boolean haveCharges
private java.lang.String tsType
private static final java.lang.String[] lengthUnitIds
private static final float[] lengthUnitFactors
private javajs.util.M4 matSupercell
private static final double TWOPI
public void initializeReader()
throws java.lang.Exception
initializeReader in class AtomSetCollectionReaderjava.lang.Exceptionprivate void setDesiredQpt(java.lang.String s)
private boolean readFileData()
throws java.lang.Exception
java.lang.Exceptionprotected boolean checkLine()
throws java.lang.Exception
checkLine in class AtomSetCollectionReaderjava.lang.Exceptionprivate void readOutputUnitCell()
throws java.lang.Exception
java.lang.Exceptionprivate void readOutputAtoms()
throws java.lang.Exception
java.lang.Exceptionprivate void readEnergy(int pt,
java.lang.String prefix)
throws java.lang.Exception
java.lang.Exceptionprivate void readPhononTrajectories()
throws java.lang.Exception
java.lang.Exceptionprotected void finalizeSubclassReader()
throws java.lang.Exception
AtomSetCollectionReaderfinalizeSubclassReader in class AtomSetCollectionReaderjava.lang.Exceptionprivate void setLatticeVectors()
private void readLatticeAbc()
throws java.lang.Exception
java.lang.Exceptionprivate void readLatticeCart()
throws java.lang.Exception
java.lang.Exceptionprivate void readPositionsFrac()
throws java.lang.Exception
java.lang.Exceptionprivate void readPositionsAbs()
throws java.lang.Exception
java.lang.Exceptionprivate float readLengthUnit(java.lang.String units)
throws java.lang.Exception
java.lang.Exceptionprivate void readAtomData(float factor)
throws java.lang.Exception
java.lang.Exceptionprivate int tokenizeCastepCell()
throws java.lang.Exception
java.lang.Exceptionprivate void readOutputBornChargeTensors()
throws java.lang.Exception
java.lang.Exceptionprivate int readOutputAtomIndex()
private void getTensor(Atom atom, java.lang.String line0) throws java.lang.Exception
java.lang.Exceptionprivate void readOutputCharges()
throws java.lang.Exception
java.lang.Exceptionprivate void readPhononUnitCell()
throws java.lang.Exception
java.lang.Exceptionprivate void readPhononFractionalCoord()
throws java.lang.Exception
java.lang.Exceptionprivate void readPhononFrequencies()
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.String getFractionalCoord(javajs.util.V3 qvec)
private static boolean isInt(float f)
private void setPhononVector(float[] data,
Atom atom,
javajs.util.V3 rTrans,
javajs.util.V3 qvec,
javajs.util.V3 v)
data - from .phonon line parsed for floatsatom - rTrans - translation vector in unit fractional coordqvec - q point vectorv - return vector