opan.error¶
Defines custom errors for Open Anharmonic
Error classes are subclassed from Exception via an
abstract superclass, OpanError, which defines
several common features:
- Storage of a ‘typecode’ and a ‘source’ string along with the error message to allow passing of more fine-grained information to the exception stack
- Implementation of the
EnumIterMetametaclass onOpanError, enabling typecode validity checking within- Re-implementation of
__str__()to enhance the usefulness of stack messages when one of these errors is raised
OpanError Subclasses
AnharmError– Raised as a result ofOpanVPT2actions
GradError– Raised during parsing of or calculations using gradient data
HessError– Raised during parsing of or calculations using Hessian data
InertiaError– Raised byopan.utils.inertiasubmodule functions
OutputError– Raised during parsing of or calculations using output data
RepoError– Raised by HDF5 repository interactions
SymmError– Raised byopan.utils.symmsubmodule functions
VectorError– Raised byopan.utils.vectorsubmodule functions
XYZError– Raised during parsing of or calculations using XYZ data
API
-
exception
opan.error.AnharmError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to
OpanVPT2actions.See the
OpanErrordocumentation for more information on attributes, methods, etc.Todo
Add object references once the DOM is more established?
Typecodes
-
REPO= 'REPO'¶ OpanAnharmRepo conflict – no repo bound when assignment attempted, or attempt made to bind new repo when one already bound
-
-
exception
opan.error.GradError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to parsing of or calculation from gradient data.
Not all typecodes may be relevant for all software packages.
See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
-
BADATOM= 'BADATOM'¶ Missing or invalid atom symbols; SHOULD only be used by
SuperOpanGrad
-
BADGEOM= 'BADGEOM'¶ Missing or invalid geometry data; SHOULD only be used by
SuperOpanGrad
-
BADGRAD= 'BADGRAD'¶ Missing or invalid gradient data; SHOULD only be used by
SuperOpanGrad
-
ENERGY= 'ENERGY'¶ Energy value not found
-
GEOMBLOCK= 'GEOMBLOCK'¶ Malformed or missing geometry block
-
GRADBLOCK= 'GRADBLOCK'¶ Malformed or missing gradient block
-
NUMATS= 'NUMATS'¶ Invalid number-of-atoms specification, or specification not found
-
OVERWRITE= 'OVERWRITE'¶ Object already initialized (overwrite not supported)
-
-
exception
opan.error.HessError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to parsing of or calculation from Hessian data.
Not all typecodes may be relevant for all software packages.
See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
-
AT_BLOCK= 'AT_BLOCK'¶ Malformed or missing atom/geometry specification block
-
BADATOM= 'BADATOM'¶ Missing or invalid atom symbols; SHOULD only be used by
SuperOpanHess
-
BADGEOM= 'BADGEOM'¶ Missing or invalid geometry data; SHOULD only be used by
SuperOpanHess
-
BADHESS= 'BADHESS'¶ Missing or invalid Hessian data; SHOULD only be used by
SuperOpanHess
-
DIPDER_BLOCK= 'DIPDER_BLOCK'¶ Malformed dipole derivatives block
-
EIGVAL_BLOCK= 'EIGVAL_BLOCK'¶ Malformed mass-weighted-Hessian eigenvalues block
-
EIGVEC_BLOCK= 'EIGVEC_BLOCK'¶ Malformed mass-weighted-Hessian eigenvectors block
-
ENERGY= 'ENERGY'¶ Malformed or missing energy value
-
FREQ_BLOCK= 'FREQ_BLOCK'¶ Malformed or missing frequencies block
-
HESS_BLOCK= 'HESS_BLOCK'¶ Malformed or missing Hessian block
-
IR_BLOCK= 'IR_BLOCK'¶ Malformed IR spectrum block
-
JOB_BLOCK= 'JOB_BLOCK'¶ Malformed job list block
-
MODES_BLOCK= 'MODES_BLOCK'¶ Malformed or missing normal modes block
-
OVERWRITE= 'OVERWRITE'¶ Object already initialized (overwrite not supported)
-
POLDER_BLOCK= 'POLDER_BLOCK'¶ Malformed polarizability derivatives block
-
RAMAN_BLOCK= 'RAMAN_BLOCK'¶ Malformed Raman spectrum block
-
TEMP= 'TEMP'¶ Malformed or missing temperature value
-
-
exception
opan.error.InertiaError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to
opan.utils.inertiasubmodule functions.See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
-
BAD_GEOM= 'BAD_GEOM'¶ A geometry being parsed was unsuitable for a particular type of calculation/manipulation
-
NEG_MOMENT= 'NEG_MOMENT'¶ A negative principal inertial moment was computed
-
TOP_TYPE= 'TOP_TYPE'¶ No valid molecular top type was identified
-
-
exception
opan.error.OpanError(tc, msg, src)¶ Bases:
ExceptionBase class for custom errors defined for Open Anharmonic
OpanErroris an abstract superclass of any custom errors defined under the Open Anharmonic umbrella. It defines all common methods shared among the various subtype error classes, such that the only contents that must be declared by a subclass arestrclass variables with contents identical to their names. These are recognized by the__iter__()defined inopan.const.EnumIterMetaas being the set of valid typecodes.Parameters: - tc –
str– String representation of typecode to be associated with theOpanErrorsubclass instance. Must be a validly constructed typecode defined for the relevant subclass. - msg –
str– Explanation of the nature of the error being reported - src –
str– Further detail of the code/file source of the error behavior, if relevant
Raises: NotImplementedError– Upon attempt to instantiate abstractOpanErrorbase classKeyError– Upon instantiation with an invalid typecode
- tc –
-
exception
opan.error.OutputError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to parsing of or calculation from output data.
See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
(none yet)
-
exception
opan.error.RepoError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to HDF5 repository interactions.
See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
-
STATUS= 'STATUS'¶ HDF5 repo in improper status for requested operation
-
-
exception
opan.error.SymmError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to
opan.utils.symmsubmodule functions.See the
OpanErrordocumentation for more information on attributes, methods, etc.Todo
Add note about this being subject to future development?
Typecodes
-
NOTFOUND= 'NOTFOUND'¶ Symmetry element expected but not found
-
-
exception
opan.error.VectorError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to
opan.utils.vectorsubmodule functions.See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
-
NONPRL= 'NONPRL'¶ Insufficient non-parallel character in some manner of calculation
-
ORTHONORM= 'ORTHONORM'¶ Vectors which should have been orthonormal were determined not to be
-
-
exception
opan.error.XYZError(tc, msg, src)¶ Bases:
opan.error.OpanErrorError relating to parsing of or calculation using XYZ data.
See the
OpanErrordocumentation for more information on attributes, methods, etc.Typecodes
-
DIHED= 'DIHED'¶ Dihedral angle calculation requested for a set of atoms containing an insufficiently nonlinear trio of atoms
-
NONPRL= 'NONPRL'¶ Insufficient non-parallel character in some manner of calculation
-
OVERWRITE= 'OVERWRITE'¶ Object already initialized (overwrite not supported)
-