Common
Common Models used throughout the QCArchive ecosystem.
BasisSet
- pydantic model qcelemental.models.v2.BasisSet[source]
A quantum chemistry basis description.
Show JSON schema
{ "title": "BasisSet", "description": "A quantum chemistry basis description.", "type": "object", "properties": { "schema_name": { "const": "qcschema_basis_set", "default": "qcschema_basis_set", "description": "The QCSchema specification to which this model conforms.", "title": "Schema Name", "type": "string" }, "schema_version": { "const": 2, "default": 2, "description": "The version number of :attr:`~qcelemental.models.BasisSet.schema_name` to which this model conforms.", "title": "Schema Version", "type": "integer" }, "name": { "description": "The standard basis name if available (e.g., 'cc-pVDZ').", "title": "Name", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Brief description of the basis set.", "title": "Description" }, "center_data": { "additionalProperties": { "$ref": "#/$defs/BasisCenter" }, "description": "Shared basis data for all atoms/centers in the parent molecule", "title": "Center Data", "type": "object" }, "atom_map": { "description": "Mapping of all atoms/centers in the parent molecule to centers in ``center_data``.", "items": { "type": "string" }, "title": "Atom Map", "type": "array" }, "nbf": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The number of basis functions. Use for convenience or as checksum", "title": "Nbf" } }, "$defs": { "BasisCenter": { "additionalProperties": false, "description": "Data for a single atom/center in a basis set.", "properties": { "electron_shells": { "description": "Electronic shells for this center.", "items": { "$ref": "#/$defs/ElectronShell" }, "minItems": 1, "title": "Electron Shells", "type": "array", "uniqueItems": true }, "ecp_electrons": { "default": 0, "description": "Number of electrons replaced by ECP, MCP, or other field potentials.", "title": "Ecp Electrons", "type": "integer" }, "ecp_potentials": { "anyOf": [ { "items": { "$ref": "#/$defs/ECPPotential" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "ECPs, MCPs, or other field potentials for this center.", "title": "Ecp Potentials", "uniqueItems": true } }, "required": [ "electron_shells" ], "title": "BasisCenter", "type": "object" }, "ECPPotential": { "additionalProperties": false, "description": "Information for a single ECP potential.", "properties": { "ecp_type": { "$ref": "#/$defs/ECPType" }, "angular_momentum": { "description": "Angular momentum for the potential as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "r_exponents": { "description": "Exponents of the 'r' term.", "items": { "type": "integer" }, "minItems": 1, "title": "R Exponents", "type": "array" }, "gaussian_exponents": { "description": "Exponents of the 'gaussian' term.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Gaussian Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ], "title": "ECPPotential", "type": "object" }, "ECPType": { "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "title": "ECPType", "type": "string" }, "ElectronShell": { "additionalProperties": false, "description": "Information for a single electronic shell.", "properties": { "angular_momentum": { "description": "Angular momentum for the shell as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "harmonic_type": { "$ref": "#/$defs/HarmonicType" }, "exponents": { "description": "Exponents for the contracted shell.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ], "title": "ElectronShell", "type": "object" }, "HarmonicType": { "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "title": "HarmonicType", "type": "string" } }, "$schema": "http://json-schema.org/draft-04/schema#", "additionalProperties": false, "required": [ "name", "center_data", "atom_map" ] }
- Fields:
- Validators:
- field atom_map: List[str] [Required]
Mapping of all atoms/centers in the parent molecule to centers in
center_data.- Validated by:
_check_atom_map
- field center_data: Dict[str, BasisCenter] [Required]
Shared basis data for all atoms/centers in the parent molecule
- field name: str [Required]
The standard basis name if available (e.g., ‘cc-pVDZ’).
- field nbf: int | None = None
The number of basis functions. Use for convenience or as checksum
- Validated by:
_check_nbf
- field schema_name: Literal['qcschema_basis_set'] = 'qcschema_basis_set'
The QCSchema specification to which this model conforms.
- field schema_version: Literal[2] = 2
The version number of
schema_nameto which this model conforms.
- convert_v(target_version, /)[source]
Convert to instance of particular QCSchema version.
- Parameters:
target_version (int)
- Return type:
qcelemental.models.v1.BasisSet | qcelemental.models.v2.BasisSet
- qcelemental.models.v2.BasisSet.convert_v(self, target_version, /)
Convert to instance of particular QCSchema version.
- Parameters:
target_version (int)
- Return type:
qcelemental.models.v1.BasisSet | qcelemental.models.v2.BasisSet
- pydantic model qcelemental.models.v2.BasisCenter[source]
Data for a single atom/center in a basis set.
Show JSON schema
{ "title": "BasisCenter", "description": "Data for a single atom/center in a basis set.", "type": "object", "properties": { "electron_shells": { "description": "Electronic shells for this center.", "items": { "$ref": "#/$defs/ElectronShell" }, "minItems": 1, "title": "Electron Shells", "type": "array", "uniqueItems": true }, "ecp_electrons": { "default": 0, "description": "Number of electrons replaced by ECP, MCP, or other field potentials.", "title": "Ecp Electrons", "type": "integer" }, "ecp_potentials": { "anyOf": [ { "items": { "$ref": "#/$defs/ECPPotential" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "ECPs, MCPs, or other field potentials for this center.", "title": "Ecp Potentials", "uniqueItems": true } }, "$defs": { "ECPPotential": { "additionalProperties": false, "description": "Information for a single ECP potential.", "properties": { "ecp_type": { "$ref": "#/$defs/ECPType" }, "angular_momentum": { "description": "Angular momentum for the potential as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "r_exponents": { "description": "Exponents of the 'r' term.", "items": { "type": "integer" }, "minItems": 1, "title": "R Exponents", "type": "array" }, "gaussian_exponents": { "description": "Exponents of the 'gaussian' term.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Gaussian Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ], "title": "ECPPotential", "type": "object" }, "ECPType": { "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "title": "ECPType", "type": "string" }, "ElectronShell": { "additionalProperties": false, "description": "Information for a single electronic shell.", "properties": { "angular_momentum": { "description": "Angular momentum for the shell as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "harmonic_type": { "$ref": "#/$defs/HarmonicType" }, "exponents": { "description": "Exponents for the contracted shell.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ], "title": "ElectronShell", "type": "object" }, "HarmonicType": { "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "title": "HarmonicType", "type": "string" } }, "additionalProperties": false, "required": [ "electron_shells" ] }
- Fields:
- field ecp_electrons: int = 0
Number of electrons replaced by ECP, MCP, or other field potentials.
- field ecp_potentials: List[ECPPotential] | None = None
ECPs, MCPs, or other field potentials for this center.
- Constraints:
min_length = 1
- field electron_shells: List[ElectronShell] [Required]
Electronic shells for this center.
- Constraints:
min_length = 1
- pydantic model qcelemental.models.v2.ElectronShell[source]
Information for a single electronic shell.
Show JSON schema
{ "title": "ElectronShell", "description": "Information for a single electronic shell.", "type": "object", "properties": { "angular_momentum": { "description": "Angular momentum for the shell as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "harmonic_type": { "$ref": "#/$defs/HarmonicType" }, "exponents": { "description": "Exponents for the contracted shell.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "$defs": { "HarmonicType": { "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "title": "HarmonicType", "type": "string" } }, "additionalProperties": false, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ] }
- Fields:
- Validators:
_check_coefficient_length»coefficients_check_general_contraction_or_fused»coefficients
- field angular_momentum: List[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]] [Required]
Angular momentum for the shell as an array of integers.
- Constraints:
min_length = 1
- field coefficients: List[List[float]] [Required]
General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.
- Constraints:
min_length = 1
- Validated by:
_check_coefficient_length_check_general_contraction_or_fused
- field exponents: List[float] [Required]
Exponents for the contracted shell.
- Constraints:
min_length = 1
- field harmonic_type: HarmonicType [Required]
The angular momentum representation of a shell.
- is_contracted()[source]
Checks if the shell represents a contracted Gaussian or not.
- Returns:
True if the shell is contracted.
- Return type:
- qcelemental.models.v2.ElectronShell.nfunctions(self)
Computes the number of basis functions on this shell.
- Returns:
The number of basis functions on this shell.
- Return type:
- qcelemental.models.v2.ElectronShell.is_contracted(self)
Checks if the shell represents a contracted Gaussian or not.
- Returns:
True if the shell is contracted.
- Return type:
- pydantic model qcelemental.models.v2.ECPPotential[source]
Information for a single ECP potential.
Show JSON schema
{ "title": "ECPPotential", "description": "Information for a single ECP potential.", "type": "object", "properties": { "ecp_type": { "$ref": "#/$defs/ECPType" }, "angular_momentum": { "description": "Angular momentum for the potential as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "r_exponents": { "description": "Exponents of the 'r' term.", "items": { "type": "integer" }, "minItems": 1, "title": "R Exponents", "type": "array" }, "gaussian_exponents": { "description": "Exponents of the 'gaussian' term.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Gaussian Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "$defs": { "ECPType": { "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "title": "ECPType", "type": "string" } }, "additionalProperties": false, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ] }
- Fields:
- Validators:
_check_coefficient_length»coefficients_check_gaussian_exponents_length»gaussian_exponents
- field angular_momentum: List[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])]] [Required]
Angular momentum for the potential as an array of integers.
- Constraints:
min_length = 1
- field coefficients: List[List[float]] [Required]
General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.
- Constraints:
min_length = 1
- Validated by:
_check_coefficient_length
- field ecp_type: ECPType [Required]
The type of the ECP potential.
ComputeError
- pydantic model qcelemental.models.v2.ComputeError[source]
Complete description of the error from an unsuccessful program execution.
Show JSON schema
{ "title": "ComputeError", "description": "Complete description of the error from an unsuccessful program execution.", "type": "object", "properties": { "error_type": { "description": "The type of error which was thrown. Restrict this field to short classifiers e.g. 'input_error'. Suggested classifiers: https://github.com/MolSSI/QCEngine/blob/master/qcengine/exceptions.py", "title": "Error Type", "type": "string" }, "error_message": { "description": "Text associated with the thrown error. This is often the backtrace, but it can contain additional information as well.", "title": "Error Message", "type": "string" }, "extras": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "description": "Additional information to bundle with the error.", "title": "Extras" } }, "additionalProperties": false, "required": [ "error_type", "error_message" ] }
- field error_message: str [Required]
Text associated with the thrown error. This is often the backtrace, but it can contain additional information as well.
- field error_type: str [Required]
The type of error which was thrown. Restrict this field to short classifiers e.g. ‘input_error’. Suggested classifiers: https://github.com/MolSSI/QCEngine/blob/master/qcengine/exceptions.py
FailedOperation
- pydantic model qcelemental.models.v2.FailedOperation[source]
Record indicating that a given operation (program, procedure, etc.) has failed and containing the reason and input data which generated the failure.
Show JSON schema
{ "title": "FailedOperation", "description": "Record indicating that a given operation (program, procedure, etc.) has failed\nand containing the reason and input data which generated the failure.", "type": "object", "properties": { "schema_name": { "const": "qcschema_failed_operation", "default": "qcschema_failed_operation", "description": "The QCSchema specification this model conforms to. Explicitly fixed as qcschema_failed_operation.", "title": "Schema Name", "type": "string" }, "schema_version": { "const": 2, "default": 2, "description": "The version number of :attr:`~qcelemental.models.FailedOperation.schema_name` to which this model conforms.", "title": "Schema Version", "type": "integer" }, "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "A unique identifier which links this FailedOperation, often of the same Id of the operation should it have been successful. This will often be set programmatically by a database such as Fractal.", "title": "Id" }, "input_data": { "default": null, "description": "The input data which was passed in that generated this failure. This should be the complete input which when attempted to be run, caused the operation to fail.", "title": "Input Data" }, "success": { "const": false, "default": false, "description": "A boolean indicator that the operation failed consistent with the model of successful operations. Should always be False. Allows programmatic assessment of all operations regardless of if they failed or succeeded", "title": "Success", "type": "boolean" }, "error": { "$ref": "#/$defs/ComputeError", "description": "A container which has details of the error that failed this operation. See the :class:`ComputeError` for more details." }, "extras": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": {}, "description": "Additional information to bundle with the failed operation. Details which pertain specifically to a thrown error should be contained in the `error` field. See :class:`ComputeError` for details.", "title": "Extras" } }, "$defs": { "ComputeError": { "additionalProperties": false, "description": "Complete description of the error from an unsuccessful program execution.", "properties": { "error_type": { "description": "The type of error which was thrown. Restrict this field to short classifiers e.g. 'input_error'. Suggested classifiers: https://github.com/MolSSI/QCEngine/blob/master/qcengine/exceptions.py", "title": "Error Type", "type": "string" }, "error_message": { "description": "Text associated with the thrown error. This is often the backtrace, but it can contain additional information as well.", "title": "Error Message", "type": "string" }, "extras": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "description": "Additional information to bundle with the error.", "title": "Extras" } }, "required": [ "error_type", "error_message" ], "title": "ComputeError", "type": "object" } }, "additionalProperties": false, "required": [ "error" ] }
- Fields:
- field error: ComputeError [Required]
A container which has details of the error that failed this operation. See the
ComputeErrorfor more details.
- field extras: Dict[str, Any] | None = {}
Additional information to bundle with the failed operation. Details which pertain specifically to a thrown error should be contained in the error field. See
ComputeErrorfor details.
- field id: str | None = None
A unique identifier which links this FailedOperation, often of the same Id of the operation should it have been successful. This will often be set programmatically by a database such as Fractal.
- field input_data: Any = None
The input data which was passed in that generated this failure. This should be the complete input which when attempted to be run, caused the operation to fail.
- field schema_name: Literal['qcschema_failed_operation'] = 'qcschema_failed_operation'
The QCSchema specification this model conforms to. Explicitly fixed as qcschema_failed_operation.
- field schema_version: Literal[2] = 2
The version number of
schema_nameto which this model conforms.
- field success: Literal[False] = False
A boolean indicator that the operation failed consistent with the model of successful operations. Should always be False. Allows programmatic assessment of all operations regardless of if they failed or succeeded
- convert_v(target_version, /)[source]
Convert to instance of particular QCSchema version.
- Parameters:
target_version (int)
- Return type:
qcelemental.models.v1.FailedOperation | qcelemental.models.v2.FailedOperation
- qcelemental.models.v2.FailedOperation.convert_v(self, target_version, /)
Convert to instance of particular QCSchema version.
- Parameters:
target_version (int)
- Return type:
qcelemental.models.v1.FailedOperation | qcelemental.models.v2.FailedOperation
Provenance
- pydantic model qcelemental.models.v2.Provenance[source]
Provenance information.
Show JSON schema
{ "title": "Provenance", "description": "Provenance information.", "type": "object", "properties": { "creator": { "description": "The name of the program, library, or person who created the object.", "title": "Creator", "type": "string" }, "version": { "default": "", "description": "The version of the creator, blank otherwise. This should be sortable by the very broad `PEP 440 <https://www.python.org/dev/peps/pep-0440/>`_.", "title": "Version", "type": "string" }, "routine": { "default": "", "description": "The name of the routine or function within the creator, blank otherwise.", "title": "Routine", "type": "string" } }, "$schema": "http://json-schema.org/draft-04/schema#", "additionalProperties": true, "required": [ "creator" ] }
- Fields:
- field creator: str [Required]
The name of the program, library, or person who created the object.
- field routine: str = ''
The name of the routine or function within the creator, blank otherwise.
DriverEnum
AlignmentMill
- pydantic model qcelemental.models.v2.AlignmentMill[source]
Facilitates the application of the simple transformation operations defined by
shift,rotation,atommaparrays andmirrorboolean as recipe to the data structures describing Cartesian molecular coordinates. Attaches functions to transform the geometry, element list, gradient, etc. to the AlignmentRecipe. When mirror attribute (defaults to False) active, then molecular system can be substantively changed by procedure.Show JSON schema
{ "title": "AlignmentMill", "description": "Facilitates the application of the simple transformation operations\ndefined by ``shift``, ``rotation``, ``atommap`` arrays and ``mirror``\nboolean as recipe to the data structures\ndescribing Cartesian molecular coordinates. Attaches functions to\ntransform the geometry, element list, gradient, etc. to the\nAlignmentRecipe. When `mirror` attribute (defaults to False) active,\nthen molecular system can be substantively changed by procedure.", "type": "object", "properties": { "shift": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Translation array (3,) for coordinates.", "title": "Shift" }, "rotation": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Rotation array (3, 3) for coordinates.", "title": "Rotation" }, "atommap": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Atom exchange map (nat,) for coordinates.", "title": "Atommap" }, "mirror": { "default": false, "description": "Do mirror invert coordinates?", "title": "Mirror", "type": "boolean" } }, "additionalProperties": false }
- Fields:
- Validators:
- field atommap: Annotated[ndarray[tuple[int, ...], dtype[int]], ValidatableArrayAnnotation] | None = None
Atom exchange map (nat,) for coordinates.
- field mirror: bool = False
Do mirror invert coordinates?
- field rotation: Annotated[ndarray[tuple[int, ...], dtype[float]], ValidatableArrayAnnotation] | None = None
Rotation array (3, 3) for coordinates.
- Validated by:
_must_be_33
- field shift: Annotated[ndarray[tuple[int, ...], dtype[float]], ValidatableArrayAnnotation] | None = None
Translation array (3,) for coordinates.
- Validated by:
_must_be_3
- align_atoms(ats)[source]
suitable for masses, symbols, Zs, etc.
- align_coordinates(geom, *, reverse=False)[source]
suitable for geometry or displaced geometry
- align_gradient(grad)[source]
suitable for vector system attached to atoms
- align_hessian(hess)[source]
- align_mini_system(geom, uniq, *, reverse=False)[source]
For AlignmentRecipe ar, apply its translation, rotation, and atom map.
- Parameters:
reverse (bool)
- align_system(geom, mass, elem, elez, uniq, *, reverse=False)[source]
For AlignmentRecipe ar, apply its translation, rotation, and atom map.
- Parameters:
reverse (bool)
- align_vector(vec)[source]
suitable for vector attached to molecule
- align_vector_gradient(mu_derivatives)[source]
Align the nuclear gradients of vector components (e.g. dipole derivatives).