Class NWChemReader
- java.lang.Object
-
- org.jmol.adapter.smarter.AtomSetCollectionReader
-
- org.jmol.adapter.readers.quantum.BasisFunctionReader
-
- org.jmol.adapter.readers.quantum.MOReader
-
- org.jmol.adapter.readers.quantum.NWChemReader
-
- All Implemented Interfaces:
javajs.api.GenericLineReader
public class NWChemReader extends MOReader
A reader for NWChem 4.6 NWChem is a quantum chemistry program developed at Pacific Northwest National Laboratory. See http://www.nwchem-sw.org/index.php/NWChem_Documentation for orbital plotting, one needs to use the following switches: print "final vectors" "final vectors analysis"AtomSets will be generated for output coordinates in angstroms, energy gradients with vector information of the gradients, and frequencies with an AtomSet for every separate frequency containing vector information of the vibrational mode.
Note that the different modules give quite different formatted output so it is not certain that all modules will be properly interpreted. Most testing has been done with the SCF and DFT tasks.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
BasisFunctionReader.MOEnergySorter
-
-
Field Summary
Fields Modifier and Type Field Description private javajs.util.Lst<java.lang.String>
atomTypes
private boolean
converged
private static java.lang.String
DC_LIST
private static java.lang.String
DS_LIST
private java.lang.String
energyKey
The type of energy last calculated.private java.lang.String
energyValue
The last calculated energy value.private int
equivalentAtomSets
The number of equivalent atom sets.private static java.lang.String
FC_LIST
private static java.lang.String
FS_LIST
private boolean
haveAt
private boolean
haveEnergy
private java.util.Map<java.lang.String,javajs.util.Lst<java.lang.String>>
htMOs
private boolean
inInput
(package private) int
moCount
(package private) int
nBasisFunctions
private boolean
purging
private int
taskNumber
The number of the task begin interpreted.-
Fields inherited from class org.jmol.adapter.readers.quantum.MOReader
allowNoOrbitals, energyUnits, forceMOPAC, gaussianCount, gaussians, haveNboCharges, haveNboOrbitals, HEADER_GAMESS_OCCUPANCIES, HEADER_GAMESS_ORIGINAL, HEADER_GAMESS_UK_MO, HEADER_NONE, lastMoData, moTypes, orbitalsRead, shellCount
-
Fields inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
alphaBeta, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitalMaps, orbitals, shells, slaterArray, slaters
-
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allow_a_len_1, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, baseBondIndex, binaryDoc, bsFilter, bsModels, calculationType, CELL_TYPE_CONVENTIONAL, CELL_TYPE_PRIMITIVE, centroidPacked, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCentroidUnitCell, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterCased, 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, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noPack, out, packingError, paramsCentroid, paramsLattice, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, slabXY, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, ucItems, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
-
Constructor Summary
Constructors Constructor Description NWChemReader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
checkLine()
private void
checkMOs()
protected void
finalizeSubclassReader()
optional reader-specific method run first.private java.lang.String
fixTag(java.lang.String tag)
Returns a modified identifier for a tag, so that the element can be determined from it in theAtom
.private void
init()
protected void
initializeReader()
java.lang.String
rd()
private void
readAtoms(java.lang.String thisLine)
Reads the output coordinates section into a new AtomSet.private void
readAtSign()
private boolean
readBasis()
private void
readFrequencies()
Reads the AtomSet and projected frequencies in the frequency section.private void
readGradients()
Reads the energy gradients section into a new AtomSet.private boolean
readMOs()
(package private) void
readPartialCharges()
Reads partial charges and assigns them only to the last atom set.private void
readSymmetry()
Read the symmetry information and set the property.private void
readTotal()
Interpret a line starting with a line with "Total" in it.private void
setEnergies(java.lang.String key, java.lang.String value, int nAtomSets)
private void
setEnergy(java.lang.String key, java.lang.String value)
private void
setNames(java.lang.String atomSetName, javajs.util.BS namedSets, int n)
private void
setProps(java.lang.String key, java.lang.String value, int n)
-
Methods inherited from class org.jmol.adapter.readers.quantum.MOReader
addCoef, addMOData, addSlaterBasis, checkNboLine, getMOHeader, getNboTypes, readMolecularOrbitals, setMOData
-
Methods inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader
canonicalizeQuantumSubshellTag, clearOrbitals, discardPreviousAtoms, enableShell, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMO
-
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkAndRemoveFilterKey, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFilterWithCase, 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, 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, setupASCR
-
-
-
-
Field Detail
-
taskNumber
private int taskNumber
The number of the task begin interpreted.Used for the construction of the 'path' for the atom set.
-
equivalentAtomSets
private int equivalentAtomSets
The number of equivalent atom sets.Needed to associate identical properties to multiple atomsets
-
energyKey
private java.lang.String energyKey
The type of energy last calculated.
-
energyValue
private java.lang.String energyValue
The last calculated energy value.
-
converged
private boolean converged
-
haveEnergy
private boolean haveEnergy
-
haveAt
private boolean haveAt
-
inInput
private boolean inInput
-
atomTypes
private javajs.util.Lst<java.lang.String> atomTypes
-
htMOs
private java.util.Map<java.lang.String,javajs.util.Lst<java.lang.String>> htMOs
-
nBasisFunctions
int nBasisFunctions
-
DS_LIST
private static java.lang.String DS_LIST
-
FS_LIST
private static java.lang.String FS_LIST
-
DC_LIST
private static java.lang.String DC_LIST
-
FC_LIST
private static java.lang.String FC_LIST
-
moCount
int moCount
-
purging
private boolean purging
-
-
Method Detail
-
initializeReader
protected void initializeReader()
- Overrides:
initializeReader
in classMOReader
-
checkLine
protected boolean checkLine() throws java.lang.Exception
- Overrides:
checkLine
in classAtomSetCollectionReader
- Returns:
- true if need to read new line
- Throws:
java.lang.Exception
-
finalizeSubclassReader
protected void finalizeSubclassReader() throws java.lang.Exception
Description copied from class:AtomSetCollectionReader
optional reader-specific method run first.- Overrides:
finalizeSubclassReader
in classAtomSetCollectionReader
- Throws:
java.lang.Exception
-
init
private void init()
-
setEnergies
private void setEnergies(java.lang.String key, java.lang.String value, int nAtomSets)
- Parameters:
key
-value
-nAtomSets
- NOT USED
-
setEnergy
private void setEnergy(java.lang.String key, java.lang.String value)
-
readSymmetry
private void readSymmetry() throws java.lang.Exception
Read the symmetry information and set the property.- Throws:
java.lang.Exception
- If an error occurs.
-
readTotal
private void readTotal()
Interpret a line starting with a line with "Total" in it.Determine whether it reports the energy, if so set the property and name(s)
-
readAtSign
private void readAtSign() throws java.lang.Exception
- Throws:
java.lang.Exception
-
setProps
private void setProps(java.lang.String key, java.lang.String value, int n)
-
setNames
private void setNames(java.lang.String atomSetName, javajs.util.BS namedSets, int n)
-
readAtoms
private void readAtoms(java.lang.String thisLine) throws java.lang.Exception
Reads the output coordinates section into a new AtomSet.- Parameters:
thisLine
-- Throws:
java.lang.Exception
- If an error occurs.
-
readGradients
private void readGradients() throws java.lang.Exception
Reads the energy gradients section into a new AtomSet.One could consider not adding a new AtomSet for this, but just adding the gradient vectors to the last AtomSet read (if that was indeed the same nuclear arrangement).
- Throws:
java.lang.Exception
- If an error occurs.
-
readFrequencies
private void readFrequencies() throws java.lang.Exception
Reads the AtomSet and projected frequencies in the frequency section.Attaches the vibration vectors of the projected frequencies to duplicates of the atom information in the frequency section.
- Throws:
java.lang.Exception
- If an error occurs.
-
readPartialCharges
void readPartialCharges() throws java.lang.Exception
Reads partial charges and assigns them only to the last atom set.- Throws:
java.lang.Exception
- When an I/O error or discardlines error occurs
-
fixTag
private java.lang.String fixTag(java.lang.String tag)
Returns a modified identifier for a tag, so that the element can be determined from it in theAtom
.The result is that a tag that started with Bq (case insensitive) will be renamed to have the Bq removed and '-Bq' appended to it.
A tag consisting only of Bq (case insensitive) will return X. This can happen in a frequency analysis.- Parameters:
tag
- the tag to be modified- Returns:
- a possibly modified tag
-
readBasis
private boolean readBasis() throws java.lang.Exception
- Throws:
java.lang.Exception
-
readMOs
private boolean readMOs() throws java.lang.Exception
- Throws:
java.lang.Exception
-
checkMOs
private void checkMOs() throws java.lang.Exception
- Throws:
java.lang.Exception
-
rd
public java.lang.String rd() throws java.lang.Exception
- Overrides:
rd
in classAtomSetCollectionReader
- Throws:
java.lang.Exception
-
-