Common
Common Models used throughout the QCArchive ecosystem.
BasisSet
- pydantic model qcelemental.models.BasisSet[source]
A quantum chemistry basis description.
Show JSON schema
{ "title": "BasisSet", "description": "A quantum chemistry basis description.", "type": "object", "properties": { "schema_name": { "title": "Schema Name", "description": "The QCSchema specification to which this model conforms. Explicitly fixed as qcschema_basis.", "default": "qcschema_basis", "pattern": "^(qcschema_basis)$", "type": "string" }, "schema_version": { "title": "Schema Version", "description": "The version number of :attr:`~qcelemental.models.BasisSet.schema_name` to which this model conforms.", "default": 1, "type": "integer" }, "name": { "title": "Name", "description": "The standard basis name if available (e.g., 'cc-pVDZ').", "type": "string" }, "description": { "title": "Description", "description": "Brief description of the basis set.", "type": "string" }, "center_data": { "title": "Center Data", "description": "Shared basis data for all atoms/centers in the parent molecule", "type": "object", "additionalProperties": { "$ref": "#/definitions/BasisCenter" } }, "atom_map": { "title": "Atom Map", "description": "Mapping of all atoms/centers in the parent molecule to centers in ``center_data``.", "type": "array", "items": { "type": "string" } }, "nbf": { "title": "Nbf", "description": "The number of basis functions. Use for convenience or as checksum", "type": "integer" } }, "required": [ "name", "center_data", "atom_map" ], "additionalProperties": false, "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "HarmonicType": { "title": "HarmonicType", "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "type": "string" }, "ElectronShell": { "title": "ElectronShell", "description": "Information for a single electronic shell.", "type": "object", "properties": { "angular_momentum": { "title": "Angular Momentum", "description": "Angular momentum for the shell as an array of integers.", "minItems": 1, "type": "array", "items": { "type": "integer", "minimum": 0 }, "uniqueItems": true }, "harmonic_type": { "description": "The angular momentum representation of a shell.", "allOf": [ { "$ref": "#/definitions/HarmonicType" } ] }, "exponents": { "title": "Exponents", "description": "Exponents for the contracted shell.", "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } }, "coefficients": { "title": "Coefficients", "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "minItems": 1, "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1 } } }, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ], "additionalProperties": false }, "ECPType": { "title": "ECPType", "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "type": "string" }, "ECPPotential": { "title": "ECPPotential", "description": "Information for a single ECP potential.", "type": "object", "properties": { "ecp_type": { "description": "The type of the ECP potential.", "allOf": [ { "$ref": "#/definitions/ECPType" } ] }, "angular_momentum": { "title": "Angular Momentum", "description": "Angular momentum for the potential as an array of integers.", "minItems": 1, "type": "array", "items": { "type": "integer", "minimum": 0 }, "uniqueItems": true }, "r_exponents": { "title": "R Exponents", "description": "Exponents of the 'r' term.", "minItems": 1, "type": "array", "items": { "type": "integer" } }, "gaussian_exponents": { "title": "Gaussian Exponents", "description": "Exponents of the 'gaussian' term.", "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } }, "coefficients": { "title": "Coefficients", "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "minItems": 1, "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1 } } }, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ], "additionalProperties": false }, "BasisCenter": { "title": "BasisCenter", "description": "Data for a single atom/center in a basis set.", "type": "object", "properties": { "electron_shells": { "title": "Electron Shells", "description": "Electronic shells for this center.", "minItems": 1, "type": "array", "items": { "$ref": "#/definitions/ElectronShell" }, "uniqueItems": true }, "ecp_electrons": { "title": "Ecp Electrons", "description": "Number of electrons replaced by ECP, MCP, or other field potentials.", "default": 0, "type": "integer" }, "ecp_potentials": { "title": "Ecp Potentials", "description": "ECPs, MCPs, or other field potentials for this center.", "minItems": 1, "type": "array", "items": { "$ref": "#/definitions/ECPPotential" }, "uniqueItems": true } }, "required": [ "electron_shells" ], "additionalProperties": false } } }
- 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:
Optional
[int
] = None The number of basis functions. Use for convenience or as checksum
- Validated by:
_check_nbf
-
field schema_name:
ConstrainedStrValue
= 'qcschema_basis' The QCSchema specification to which this model conforms. Explicitly fixed as qcschema_basis.
- Constraints:
pattern = ^(qcschema_basis)$
-
field schema_version:
int
= 1 The version number of
schema_name
to which this model conforms.
- pydantic model qcelemental.models.basis.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": { "title": "Electron Shells", "description": "Electronic shells for this center.", "minItems": 1, "type": "array", "items": { "$ref": "#/definitions/ElectronShell" }, "uniqueItems": true }, "ecp_electrons": { "title": "Ecp Electrons", "description": "Number of electrons replaced by ECP, MCP, or other field potentials.", "default": 0, "type": "integer" }, "ecp_potentials": { "title": "Ecp Potentials", "description": "ECPs, MCPs, or other field potentials for this center.", "minItems": 1, "type": "array", "items": { "$ref": "#/definitions/ECPPotential" }, "uniqueItems": true } }, "required": [ "electron_shells" ], "additionalProperties": false, "definitions": { "HarmonicType": { "title": "HarmonicType", "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "type": "string" }, "ElectronShell": { "title": "ElectronShell", "description": "Information for a single electronic shell.", "type": "object", "properties": { "angular_momentum": { "title": "Angular Momentum", "description": "Angular momentum for the shell as an array of integers.", "minItems": 1, "type": "array", "items": { "type": "integer", "minimum": 0 }, "uniqueItems": true }, "harmonic_type": { "description": "The angular momentum representation of a shell.", "allOf": [ { "$ref": "#/definitions/HarmonicType" } ] }, "exponents": { "title": "Exponents", "description": "Exponents for the contracted shell.", "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } }, "coefficients": { "title": "Coefficients", "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "minItems": 1, "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1 } } }, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ], "additionalProperties": false }, "ECPType": { "title": "ECPType", "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "type": "string" }, "ECPPotential": { "title": "ECPPotential", "description": "Information for a single ECP potential.", "type": "object", "properties": { "ecp_type": { "description": "The type of the ECP potential.", "allOf": [ { "$ref": "#/definitions/ECPType" } ] }, "angular_momentum": { "title": "Angular Momentum", "description": "Angular momentum for the potential as an array of integers.", "minItems": 1, "type": "array", "items": { "type": "integer", "minimum": 0 }, "uniqueItems": true }, "r_exponents": { "title": "R Exponents", "description": "Exponents of the 'r' term.", "minItems": 1, "type": "array", "items": { "type": "integer" } }, "gaussian_exponents": { "title": "Gaussian Exponents", "description": "Exponents of the 'gaussian' term.", "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } }, "coefficients": { "title": "Coefficients", "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "minItems": 1, "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1 } } }, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ], "additionalProperties": false } } }
- Fields:
ecp_electrons (int)
ecp_potentials (Optional[List[qcelemental.models.basis.ECPPotential]])
electron_shells (List[qcelemental.models.basis.ElectronShell])
-
field ecp_electrons:
int
= 0 Number of electrons replaced by ECP, MCP, or other field potentials.
-
field ecp_potentials:
Optional
[List
[ECPPotential
]] = None ECPs, MCPs, or other field potentials for this center.
- Constraints:
minItems = 1
-
field electron_shells:
List
[ElectronShell
] [Required] Electronic shells for this center.
- Constraints:
minItems = 1
- pydantic model qcelemental.models.basis.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": { "title": "Angular Momentum", "description": "Angular momentum for the shell as an array of integers.", "minItems": 1, "type": "array", "items": { "type": "integer", "minimum": 0 }, "uniqueItems": true }, "harmonic_type": { "description": "The angular momentum representation of a shell.", "allOf": [ { "$ref": "#/definitions/HarmonicType" } ] }, "exponents": { "title": "Exponents", "description": "Exponents for the contracted shell.", "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } }, "coefficients": { "title": "Coefficients", "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "minItems": 1, "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1 } } }, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ], "additionalProperties": false, "definitions": { "HarmonicType": { "title": "HarmonicType", "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "type": "string" } } }
- Fields:
angular_momentum (List[qcelemental.models.basis.NonnegativeInt])
coefficients (List[List[float]])
exponents (List[float])
harmonic_type (qcelemental.models.basis.HarmonicType)
- Validators:
_check_coefficient_length
»coefficients
_check_general_contraction_or_fused
»coefficients
-
field angular_momentum:
List
[NonnegativeInt
] [Required] Angular momentum for the shell as an array of integers.
- Constraints:
minItems = 1
-
field coefficients:
List
[List
[float
]] [Required] General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.
- Constraints:
minItems = 1
- Validated by:
_check_coefficient_length
_check_general_contraction_or_fused
-
field exponents:
List
[float
] [Required] Exponents for the contracted shell.
- Constraints:
minItems = 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:
- pydantic model qcelemental.models.basis.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": { "description": "The type of the ECP potential.", "allOf": [ { "$ref": "#/definitions/ECPType" } ] }, "angular_momentum": { "title": "Angular Momentum", "description": "Angular momentum for the potential as an array of integers.", "minItems": 1, "type": "array", "items": { "type": "integer", "minimum": 0 }, "uniqueItems": true }, "r_exponents": { "title": "R Exponents", "description": "Exponents of the 'r' term.", "minItems": 1, "type": "array", "items": { "type": "integer" } }, "gaussian_exponents": { "title": "Gaussian Exponents", "description": "Exponents of the 'gaussian' term.", "minItems": 1, "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] } }, "coefficients": { "title": "Coefficients", "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "minItems": 1, "type": "array", "items": { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1 } } }, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ], "additionalProperties": false, "definitions": { "ECPType": { "title": "ECPType", "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "type": "string" } } }
- Fields:
angular_momentum (List[qcelemental.models.basis.NonnegativeInt])
coefficients (List[List[float]])
ecp_type (qcelemental.models.basis.ECPType)
gaussian_exponents (List[float])
r_exponents (List[int])
- Validators:
_check_coefficient_length
»coefficients
_check_gaussian_exponents_length
»gaussian_exponents
-
field angular_momentum:
List
[NonnegativeInt
] [Required] Angular momentum for the potential as an array of integers.
- Constraints:
minItems = 1
-
field coefficients:
List
[List
[float
]] [Required] General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.
- Constraints:
minItems = 1
- Validated by:
_check_coefficient_length
-
field ecp_type:
ECPType
[Required] The type of the ECP potential.
ComputeError
- pydantic model qcelemental.models.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": { "title": "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", "type": "string" }, "error_message": { "title": "Error Message", "description": "Text associated with the thrown error. This is often the backtrace, but it can contain additional information as well.", "type": "string" }, "extras": { "title": "Extras", "description": "Additional information to bundle with the error.", "type": "object" } }, "required": [ "error_type", "error_message" ], "additionalProperties": false }
-
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
-
field error_message:
FailedOperation
- pydantic model qcelemental.models.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 and containing the reason and input data which generated the failure.", "type": "object", "properties": { "id": { "title": "Id", "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.", "type": "string" }, "input_data": { "title": "Input Data", "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." }, "success": { "title": "Success", "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", "default": false, "type": "boolean" }, "error": { "title": "Error", "description": "A container which has details of the error that failed this operation. See the :class:`ComputeError` for more details.", "allOf": [ { "$ref": "#/definitions/ComputeError" } ] }, "extras": { "title": "Extras", "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.", "type": "object" } }, "required": [ "error" ], "additionalProperties": false, "definitions": { "ComputeError": { "title": "ComputeError", "description": "Complete description of the error from an unsuccessful program execution.", "type": "object", "properties": { "error_type": { "title": "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", "type": "string" }, "error_message": { "title": "Error Message", "description": "Text associated with the thrown error. This is often the backtrace, but it can contain additional information as well.", "type": "string" }, "extras": { "title": "Extras", "description": "Additional information to bundle with the error.", "type": "object" } }, "required": [ "error_type", "error_message" ], "additionalProperties": false } } }
- Fields:
-
field error:
ComputeError
[Required] A container which has details of the error that failed this operation. See the
ComputeError
for more details.
-
field extras:
Optional
[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
ComputeError
for details.
-
field id:
str
= 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 success:
bool
= 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
Provenance
- pydantic model qcelemental.models.Provenance[source]
Provenance information.
Show JSON schema
{ "title": "Provenance", "description": "Provenance information.", "type": "object", "properties": { "creator": { "title": "Creator", "description": "The name of the program, library, or person who created the object.", "type": "string" }, "version": { "title": "Version", "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/>`_.", "default": "", "type": "string" }, "routine": { "title": "Routine", "description": "The name of the routine or function within the creator, blank otherwise.", "default": "", "type": "string" } }, "required": [ "creator" ], "$schema": "http://json-schema.org/draft-04/schema#" }
- 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.