org.jmol.adapter.readers.quantum
public class NWChemReader extends MOReader
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. no support yet for orbitals
Modifier and Type | Field and Description |
---|---|
private List<String> |
atomTypes |
private boolean |
converged |
private static String |
DC_LIST |
private static String |
DS_LIST |
private String |
energyKey
The type of energy last calculated.
|
private String |
energyValue
The last calculated energy value.
|
private int |
equivalentAtomSets
The number of equivalent atom sets.
|
private static String |
FC_LIST |
private static String |
FS_LIST |
private boolean |
haveAt |
private boolean |
haveEnergy |
private boolean |
inInput |
(package private) int |
moCount |
private Map<Integer,Map<String,Object>> |
moInfo |
(package private) int |
nBasisFunctions |
private boolean |
purging |
private boolean |
readROHFonly |
private int |
taskNumber
The number of the task begin interpreted.
|
energyUnits, gaussianCount, gaussians, haveNboCharges, haveNboOrbitals, HEADER_GAMESS_OCCUPANCIES, HEADER_GAMESS_ORIGINAL, HEADER_GAMESS_UK_MO, HEADER_NONE, moTypes, orbitalsRead, shellCount
alphaBeta, CANONICAL_DC_LIST, CANONICAL_DS_LIST, CANONICAL_FC_LIST, CANONICAL_FS_LIST, dfCoefMaps, ignoreMOs, moData, nOrbitals, orbitals, shells
addVibrations, ANGSTROMS_PER_BOHR, applySymmetryToBonds, atomSetCollection, bsFilter, bsModels, calculationType, continuing, desiredModelNumber, desiredVibrationNumber, doApplySymmetry, doc, doCheckUnitCell, doPackUnitCell, doProcessLines, filter, filterHetero, getHeader, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isSequential, isTrajectory, latticeCells, line, matUnitCellOrientation, modelNumber, next, notionalUnitCell, os, prevline, ptLine, reader, readerName, readMolecularOrbitals, spaceGroup, stateScriptVersionInt, supercell, symmetry, templateAtomCount, useAltNames, vibrationNumber, viewer
Constructor and Description |
---|
NWChemReader() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkLine() |
private String |
fixTag(String tag)
Returns a modified identifier for a tag, so that the element can be
determined from it in the
Atom . |
private void |
init() |
protected void |
initializeReader() |
private void |
readAtoms()
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.
|
String |
readLine() |
private boolean |
readMolecularOrbitalAnalysis(boolean doClear) |
private boolean |
readMolecularOrbitalVectors() |
(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(String key,
String value,
int nAtomSets) |
private void |
setEnergy(String key,
String value) |
addMOData, checkNboLine, getMOHeader, getNboTypes, readMolecularOrbitals, setMOData, setMOType
canonicalizeQuantumSubshellTag, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, isQuantumBasisSupported, setMO
addJmolScript, addPrimitiveLatticeVector, addSites, addSiteScript, appendLoadNote, applySymmetryAndSetTrajectory, checkFilter, checkLastModel, checkLineForScript, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, fillDataBlock, fillDataBlock, fillFloatArray, fillFrequencyData, filterAtom, finalizeReader, getElementSymbol, getFortranFormatLengths, getStrings, getSymmetry, getTokens, getTokens, getTokens, getTokensFloat, initializeSymmetry, isLastModel, newAtomSet, parseFloat, parseFloat, parseFloat, parseInt, parseInt, parseInt, parseInt, parseStringInfestedFloatArray, parseToken, parseToken, parseToken, parseTokenNext, parseTrimmed, parseTrimmed, processBinaryDocument, processXml, read3Vectors, readData, readLines, set2D, setAtomCoord, setAtomCoord, setFilter, setFractionalCoordinates, setIsPDB, setMOData, setPdb, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem
private int taskNumber
Used for the construction of the 'path' for the atom set.
private int equivalentAtomSets
Needed to associate identical properties to multiple atomsets
private String energyKey
private String energyValue
private boolean converged
private boolean haveEnergy
private boolean haveAt
private boolean inInput
private boolean readROHFonly
int nBasisFunctions
private static String DS_LIST
private static String FS_LIST
private static String DC_LIST
private static String FC_LIST
int moCount
private boolean purging
protected void initializeReader()
initializeReader
in class MOReader
protected boolean checkLine() throws Exception
checkLine
in class AtomSetCollectionReader
Exception
private void init()
private void setEnergies(String key, String value, int nAtomSets)
key
- value
- nAtomSets
- NOT USEDprivate void readSymmetry() throws Exception
Exception
- If an error occurs.private void readTotal()
Determine whether it reports the energy, if so set the property and name(s)
private void readAtoms() throws Exception
Exception
- If an error occurs.private void readGradients() throws Exception
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).
Exception
- If an error occurs.private void readFrequencies() throws Exception
Attaches the vibration vectors of the projected frequencies to duplicates of the atom information in the frequency section.
Exception
- If an error occurs.void readPartialCharges() throws Exception
Exception
- When an I/O error or discardlines error occursprivate String fixTag(String tag)
Atom
.
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.
tag
- the tag to be modifiedprivate boolean readMolecularOrbitalAnalysis(boolean doClear) throws Exception
Exception
private boolean readMolecularOrbitalVectors() throws Exception
Exception
public String readLine() throws Exception
readLine
in class AtomSetCollectionReader
Exception