diff --git a/qcschema/AtomicInput.json b/qcschema/AtomicInput.json new file mode 100644 index 0000000..a8d8c06 --- /dev/null +++ b/qcschema/AtomicInput.json @@ -0,0 +1,437 @@ +{ + "title": "AtomicInput", + "description": "The MolSSI Quantum Chemistry Schema\n\nParameters\n----------\nid : str, Optional\n An optional ID of the ResultInput object.\nschema_name : ConstrainedStrValue, Default: qcschema_input\nschema_version : int, Default: 1\nmolecule : :class:`Molecule`\n The molecule to use in the computation.\ndriver : {energy,gradient,hessian,properties}\n Allowed quantum chemistry driver values.\n \nmodel : :class:`Model`\n\n The quantum chemistry model specification for a given operation to compute against\n \nkeywords : Dict[str, Any], Default: {}\n The program specific keywords to be used.\nprotocols : :class:`AtomicResultProtocols`, Optional\n\n Protocols regarding the manipulation of a Result output data.\n \nextras : Dict[str, Any], Default: {}\n Extra fields that are not part of the schema.\nprovenance : :class:`Provenance`, Optional\n\n Provenance information.\n ", + "type": "object", + "properties": { + "id": { + "title": "Id", + "description": "An optional ID of the ResultInput object.", + "type": "string" + }, + "schema_name": { + "title": "Schema Name", + "default": "qcschema_input", + "type": "string", + "pattern": "qcschema_input" + }, + "schema_version": { + "title": "Schema Version", + "default": 1, + "type": "integer" + }, + "molecule": { + "title": "Molecule", + "description": "The molecule to use in the computation.", + "allOf": [ + { + "$ref": "#/definitions/Molecule" + } + ] + }, + "driver": { + "title": "Driver", + "description": "Allowed quantum chemistry driver values.\n ", + "enum": [ + "energy", + "gradient", + "hessian", + "properties" + ], + "type": "string" + }, + "model": { + "title": "Model", + "description": "\n The quantum chemistry model specification for a given operation to compute against\n ", + "allOf": [ + { + "$ref": "#/definitions/Model" + } + ] + }, + "keywords": { + "title": "Keywords", + "description": "The program specific keywords to be used.", + "default": {}, + "type": "object" + }, + "protocols": { + "title": "Protocols", + "description": "\n Protocols regarding the manipulation of a Result output data.\n ", + "default": {}, + "allOf": [ + { + "$ref": "#/definitions/AtomicResultProtocols" + } + ] + }, + "extras": { + "title": "Extras", + "description": "Extra fields that are not part of the schema.", + "default": {}, + "type": "object" + }, + "provenance": { + "title": "Provenance", + "description": "\n Provenance information.\n ", + "default": { + "creator": "QCElemental", + "version": "v0.13.1+27.g8d1e857.dirty", + "routine": "qcelemental.models.results" + }, + "allOf": [ + { + "$ref": "#/definitions/Provenance" + } + ] + } + }, + "required": [ + "molecule", + "driver", + "model" + ], + "additionalProperties": false, + "definitions": { + "Identifiers": { + "title": "Identifiers", + "description": "Canonical chemical identifiers\n\nParameters\n----------\nmolecule_hash : str, Optional\nmolecular_formula : str, Optional\nsmiles : str, Optional\ninchi : str, Optional\ninchikey : str, Optional\ncanonical_explicit_hydrogen_smiles : str, Optional\ncanonical_isomeric_explicit_hydrogen_mapped_smiles : str, Optional\ncanonical_isomeric_explicit_hydrogen_smiles : str, Optional\ncanonical_isomeric_smiles : str, Optional\ncanonical_smiles : str, Optional\npubchem_cid : str, Optional\n PubChem Compound ID\npubchem_sid : str, Optional\n PubChem Substance ID\npubchem_conformerid : str, Optional\n PubChem Conformer ID", + "type": "object", + "properties": { + "molecule_hash": { + "title": "Molecule Hash", + "type": "string" + }, + "molecular_formula": { + "title": "Molecular Formula", + "type": "string" + }, + "smiles": { + "title": "Smiles", + "type": "string" + }, + "inchi": { + "title": "Inchi", + "type": "string" + }, + "inchikey": { + "title": "Inchikey", + "type": "string" + }, + "canonical_explicit_hydrogen_smiles": { + "title": "Canonical Explicit Hydrogen Smiles", + "type": "string" + }, + "canonical_isomeric_explicit_hydrogen_mapped_smiles": { + "title": "Canonical Isomeric Explicit Hydrogen Mapped Smiles", + "type": "string" + }, + "canonical_isomeric_explicit_hydrogen_smiles": { + "title": "Canonical Isomeric Explicit Hydrogen Smiles", + "type": "string" + }, + "canonical_isomeric_smiles": { + "title": "Canonical Isomeric Smiles", + "type": "string" + }, + "canonical_smiles": { + "title": "Canonical Smiles", + "type": "string" + }, + "pubchem_cid": { + "title": "Pubchem Cid", + "description": "PubChem Compound ID", + "type": "string" + }, + "pubchem_sid": { + "title": "Pubchem Sid", + "description": "PubChem Substance ID", + "type": "string" + }, + "pubchem_conformerid": { + "title": "Pubchem Conformerid", + "description": "PubChem Conformer ID", + "type": "string" + } + }, + "additionalProperties": false + }, + "Provenance": { + "title": "Provenance", + "description": "Provenance information.\n\n\nParameters\n----------\ncreator : str\n The creator of the object.\nversion : str, Optional\n The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).\nroutine : str, Optional\n The routine of the creator.", + "type": "object", + "properties": { + "creator": { + "title": "Creator", + "description": "The creator of the object.", + "type": "string" + }, + "version": { + "title": "Version", + "description": "The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).", + "type": "string" + }, + "routine": { + "title": "Routine", + "description": "The routine of the creator.", + "type": "string" + } + }, + "required": [ + "creator" + ] + }, + "Molecule": { + "title": "Molecule", + "description": "A QCSchema representation of a Molecule. This model contains\ndata for symbols, geometry, connectivity, charges, fragmentation, etc while also supporting a wide array of I/O and manipulation capabilities.\n\nMolecule objects geometry, masses, and charges are truncated to 8, 6, and 4 decimal places respectively to assist with duplicate detection.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_molecule\n The QCSchema specification this model conforms to. Explicitly fixed as qcschema_molecule.\nschema_version : int, Default: 2\n The version number of ``schema_name`` that this Molecule model conforms to.\nvalidated : bool, Default: False\n A boolean indicator (for speed purposes) that the input Molecule data has been previously checked for schema (data layout and type) and physics (e.g., non-overlapping atoms, feasible multiplicity) compliance. This should be False in most cases. A ``True`` setting should only ever be set by the constructor for this class itself or other trusted sources such as a Fractal Server or previously serialized Molecules.\nsymbols : Array\n An ordered (nat,) array-like object of atomic elemental symbols of shape (nat,). The index of this attribute sets atomic order for all other per-atom setting like ``real`` and the first dimension of ``geometry``. Ghost/Virtual atoms must have an entry in this array-like and are indicated by the matching the 0-indexed indices in ``real`` field.\ngeometry : Array\n An ordered (nat,3) array-like for XYZ atomic coordinates [a0]. Atom ordering is fixed; that is, a consumer who shuffles atoms must not reattach the input (pre-shuffling) molecule schema instance to any output (post-shuffling) per-atom results (e.g., gradient). Index of the first dimension matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\n Can also accept array-likes which can be mapped to (nat,3) such as a 1-D list of length 3*nat, or the serialized version of the array in (3*nat,) shape; all forms will be reshaped to (nat,3) for this attribute.\nname : str, Optional\n A common or human-readable name to assign to this molecule. Can be arbitrary.\nidentifiers : :class:`Identifiers`, Optional\n An optional dictionary of additional identifiers by which this Molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:``Identifiers`` model for more details.\ncomment : str, Optional\n Additional comments for this Molecule. Intended for pure human/user consumption and clarity.\nmolecular_charge : float, Default: 0.0\n The net electrostatic charge of this Molecule.\nmolecular_multiplicity : int, Default: 1\n The total multiplicity of this Molecule.\nmasses_ : Array, Optional\n An ordered 1-D array-like object of atomic masses [u] of shape (nat,). Index order matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. If this is not provided, the mass of each atom is inferred from their most common isotope. If this is provided, it must be the same length as ``symbols`` but can accept ``None`` entries for standard masses to infer from the same index in the ``symbols`` field.\nreal_ : Array, Optional\n An ordered 1-D array-like object of shape (nat,) indicating if each atom is real (``True``) or ghost/virtual (``False``). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and the first dimension of ``geometry``. If this is not provided, all atoms are assumed to be real (``True``).If this is provided, the reality or ghostality of every atom must be specified.\natom_labels_ : Array, Optional\n Additional per-atom labels as a 1-D array-like of of strings of shape (nat,). Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the ``comments`` field for general human-consumable text to affix to the Molecule.\natomic_numbers_ : Array, Optional\n An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the ``symbols`` list if not explicitly set.\nmass_numbers_ : Array, Optional\n An optional ordered 1-D array-like object of atomic *mass* numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the most common isotopes of the ``symbols`` list if not explicitly set.\nconnectivity_ : List[Tuple[int, int, float]], Optional\n The connectivity information between each atom in the ``symbols`` array. Each entry in this list is a Tuple of ``(atom_index_A, atom_index_B, bond_order)`` where the ``atom_index`` matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nfragments_ : List[Array], Optional\n An indication of which sets of atoms are fragments within the Molecule. This is a list of shape (nfr) of 1-D array-like objects of arbitrary length. Each entry in the list indicates a new fragment. The index of the list matches the 0-indexed indices of ``fragment_charges`` and ``fragment_multiplicities``. The 1-D array-like objects are sets of atom indices indicating the atoms which compose the fragment. The atom indices match the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nfragment_charges_ : List[float], Optional\n The total charge of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).\nfragment_multiplicities_ : List[int], Optional\n The multiplicity of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).\nfix_com : bool, Default: False\n An indicator which prevents pre-processing the Molecule object to translate the Center-of-Mass to (0,0,0) in euclidean coordinate space. Will result in a different ``geometry`` than the one provided if False.\nfix_orientation : bool, Default: False\n An indicator which prevents pre-processes the Molecule object to orient via the inertia tensor.Will result in a different ``geometry`` than the one provided if False.\nfix_symmetry : str, Optional\n Maximal point group symmetry which ``geometry`` should be treated. Lowercase.\nprovenance : :class:`Provenance`, Default: {'creator': 'QCElemental', 'version': 'v0.13.1+27.g8d1e857.dirty', 'routine': 'qcelemental.models.molecule'}\n The provenance information about how this Molecule (and its attributes) were generated, provided, and manipulated.\nid : Any, Optional\n A unique identifier for this Molecule object. This field exists primarily for Databases (e.g. Fractal's Server) to track and lookup this specific object and should virtually never need to be manually set.\nextras : Dict[str, Any], Optional\n Extra information to associate with this Molecule.", + "type": "object", + "properties": { + "schema_name": { + "title": "Schema Name", + "description": "The QCSchema specification this model conforms to. Explicitly fixed as qcschema_molecule.", + "default": "qcschema_molecule", + "type": "string", + "pattern": "qcschema_molecule" + }, + "schema_version": { + "title": "Schema Version", + "description": "The version number of ``schema_name`` that this Molecule model conforms to.", + "default": 2, + "type": "integer" + }, + "validated": { + "title": "Validated", + "description": "A boolean indicator (for speed purposes) that the input Molecule data has been previously checked for schema (data layout and type) and physics (e.g., non-overlapping atoms, feasible multiplicity) compliance. This should be False in most cases. A ``True`` setting should only ever be set by the constructor for this class itself or other trusted sources such as a Fractal Server or previously serialized Molecules.", + "default": false, + "type": "boolean" + }, + "symbols": { + "title": "Symbols", + "description": "An ordered (nat,) array-like object of atomic elemental symbols of shape (nat,). The index of this attribute sets atomic order for all other per-atom setting like ``real`` and the first dimension of ``geometry``. Ghost/Virtual atoms must have an entry in this array-like and are indicated by the matching the 0-indexed indices in ``real`` field.", + "type": "array", + "items": { + "type": "string" + } + }, + "geometry": { + "title": "Geometry", + "description": "An ordered (nat,3) array-like for XYZ atomic coordinates [a0]. Atom ordering is fixed; that is, a consumer who shuffles atoms must not reattach the input (pre-shuffling) molecule schema instance to any output (post-shuffling) per-atom results (e.g., gradient). Index of the first dimension matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nCan also accept array-likes which can be mapped to (nat,3) such as a 1-D list of length 3*nat, or the serialized version of the array in (3*nat,) shape; all forms will be reshaped to (nat,3) for this attribute.", + "type": "array", + "items": { + "type": "number" + } + }, + "name": { + "title": "Name", + "description": "A common or human-readable name to assign to this molecule. Can be arbitrary.", + "type": "string" + }, + "identifiers": { + "title": "Identifiers", + "description": "An optional dictionary of additional identifiers by which this Molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:``Identifiers`` model for more details.", + "allOf": [ + { + "$ref": "#/definitions/Identifiers" + } + ] + }, + "comment": { + "title": "Comment", + "description": "Additional comments for this Molecule. Intended for pure human/user consumption and clarity.", + "type": "string" + }, + "molecular_charge": { + "title": "Molecular Charge", + "description": "The net electrostatic charge of this Molecule.", + "default": 0.0, + "type": "number" + }, + "molecular_multiplicity": { + "title": "Molecular Multiplicity", + "description": "The total multiplicity of this Molecule.", + "default": 1, + "type": "integer" + }, + "masses": { + "title": "Masses", + "description": "An ordered 1-D array-like object of atomic masses [u] of shape (nat,). Index order matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. If this is not provided, the mass of each atom is inferred from their most common isotope. If this is provided, it must be the same length as ``symbols`` but can accept ``None`` entries for standard masses to infer from the same index in the ``symbols`` field.", + "type": "array", + "items": { + "type": "number" + } + }, + "real": { + "title": "Real", + "description": "An ordered 1-D array-like object of shape (nat,) indicating if each atom is real (``True``) or ghost/virtual (``False``). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and the first dimension of ``geometry``. If this is not provided, all atoms are assumed to be real (``True``).If this is provided, the reality or ghostality of every atom must be specified.", + "type": "array", + "items": { + "type": "boolean" + } + }, + "atom_labels": { + "title": "Atom Labels", + "description": "Additional per-atom labels as a 1-D array-like of of strings of shape (nat,). Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the ``comments`` field for general human-consumable text to affix to the Molecule.", + "type": "array", + "items": { + "type": "string" + } + }, + "atomic_numbers": { + "title": "Atomic Numbers", + "description": "An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the ``symbols`` list if not explicitly set.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "mass_numbers": { + "title": "Mass Numbers", + "description": "An optional ordered 1-D array-like object of atomic *mass* numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the most common isotopes of the ``symbols`` list if not explicitly set.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "connectivity": { + "title": "Connectivity", + "description": "The connectivity information between each atom in the ``symbols`` array. Each entry in this list is a Tuple of ``(atom_index_A, atom_index_B, bond_order)`` where the ``atom_index`` matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.", + "type": "array", + "items": { + "type": "array", + "items": [ + { + "type": "integer" + }, + { + "type": "integer" + }, + { + "type": "number" + } + ] + } + }, + "fragments": { + "title": "Fragments", + "description": "An indication of which sets of atoms are fragments within the Molecule. This is a list of shape (nfr) of 1-D array-like objects of arbitrary length. Each entry in the list indicates a new fragment. The index of the list matches the 0-indexed indices of ``fragment_charges`` and ``fragment_multiplicities``. The 1-D array-like objects are sets of atom indices indicating the atoms which compose the fragment. The atom indices match the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + } + }, + "fragment_charges": { + "title": "Fragment Charges", + "description": "The total charge of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).", + "type": "array", + "items": { + "type": "number" + } + }, + "fragment_multiplicities": { + "title": "Fragment Multiplicities", + "description": "The multiplicity of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).", + "type": "array", + "items": { + "type": "integer" + } + }, + "fix_com": { + "title": "Fix Com", + "description": "An indicator which prevents pre-processing the Molecule object to translate the Center-of-Mass to (0,0,0) in euclidean coordinate space. Will result in a different ``geometry`` than the one provided if False.", + "default": false, + "type": "boolean" + }, + "fix_orientation": { + "title": "Fix Orientation", + "description": "An indicator which prevents pre-processes the Molecule object to orient via the inertia tensor.Will result in a different ``geometry`` than the one provided if False.", + "default": false, + "type": "boolean" + }, + "fix_symmetry": { + "title": "Fix Symmetry", + "description": "Maximal point group symmetry which ``geometry`` should be treated. Lowercase.", + "type": "string" + }, + "provenance": { + "title": "Provenance", + "description": "The provenance information about how this Molecule (and its attributes) were generated, provided, and manipulated.", + "default": { + "creator": "QCElemental", + "version": "v0.13.1+27.g8d1e857.dirty", + "routine": "qcelemental.models.molecule" + }, + "allOf": [ + { + "$ref": "#/definitions/Provenance" + } + ] + }, + "id": { + "title": "Id", + "description": "A unique identifier for this Molecule object. This field exists primarily for Databases (e.g. Fractal's Server) to track and lookup this specific object and should virtually never need to be manually set." + }, + "extras": { + "title": "Extras", + "description": "Extra information to associate with this Molecule.", + "type": "object" + } + }, + "required": [ + "symbols", + "geometry" + ], + "additionalProperties": false + }, + "Model": { + "title": "Model", + "description": "The quantum chemistry model specification for a given operation to compute against\n\n\nParameters\n----------\nmethod : str\n The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...).\nbasis : str, Optional\n The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, ...). Can be ``None`` for methods without basis sets.", + "type": "object", + "properties": { + "method": { + "title": "Method", + "description": "The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...).", + "type": "string" + }, + "basis": { + "title": "Basis", + "description": "The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, ...). Can be ``None`` for methods without basis sets.", + "type": "string" + } + }, + "required": [ + "method" + ] + }, + "AtomicResultProtocols": { + "title": "AtomicResultProtocols", + "description": "Protocols regarding the manipulation of a Result output data.\n\n\nParameters\n----------\nwavefunction : {all,orbitals_and_eigenvalues,return_results,none}, Default: none\n\n Wavefunction to keep from a Result computation.\n \nstdout : bool, Default: True\n Primary output file to keep from a Result computation", + "type": "object", + "properties": { + "wavefunction": { + "title": "Wavefunction", + "description": "\n Wavefunction to keep from a Result computation.\n ", + "default": "none", + "enum": [ + "all", + "orbitals_and_eigenvalues", + "return_results", + "none" + ], + "type": "string" + }, + "stdout": { + "title": "Stdout", + "description": "Primary output file to keep from a Result computation", + "default": true, + "type": "boolean" + } + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/qcschema/AtomicResult.json b/qcschema/AtomicResult.json new file mode 100644 index 0000000..a2c67d9 --- /dev/null +++ b/qcschema/AtomicResult.json @@ -0,0 +1,1098 @@ +{ + "title": "AtomicResult", + "description": "Parameters\n----------\nid : str, Optional\n An optional ID of the ResultInput object.\nschema_name : ConstrainedStrValue, Default: qcschema_output\nschema_version : int, Default: 1\nmolecule : :class:`Molecule`\n The molecule to use in the computation.\ndriver : {energy,gradient,hessian,properties}\n Allowed quantum chemistry driver values.\n \nmodel : :class:`Model`\n\n The quantum chemistry model specification for a given operation to compute against\n \nkeywords : Dict[str, Any], Default: {}\n The program specific keywords to be used.\nprotocols : :class:`AtomicResultProtocols`, Optional\n\n Protocols regarding the manipulation of a Result output data.\n \nextras : Dict[str, Any], Default: {}\n Extra fields that are not part of the schema.\nprovenance : :class:`Provenance`\n\n Provenance information.\n \nproperties : :class:`AtomicResultProperties`\n\n Named properties of quantum chemistry computations following the MolSSI QCSchema.\n \nwavefunction : :class:`WavefunctionProperties`, Optional\n None\nreturn_result : Union[float, Array, Dict[str, Any]]\n The value requested by the 'driver' attribute.\nstdout : str, Optional\n The standard output of the program.\nstderr : str, Optional\n The standard error of the program.\nsuccess : bool\n The success of a given programs execution. If False, other fields may be blank.\nerror : :class:`ComputeError`, Optional\n A complete description of the error.", + "type": "object", + "properties": { + "id": { + "title": "Id", + "description": "An optional ID of the ResultInput object.", + "type": "string" + }, + "schema_name": { + "title": "Schema Name", + "default": "qcschema_output", + "type": "string", + "pattern": "qcschema_output" + }, + "schema_version": { + "title": "Schema Version", + "default": 1, + "type": "integer" + }, + "molecule": { + "title": "Molecule", + "description": "The molecule to use in the computation.", + "allOf": [ + { + "$ref": "#/definitions/Molecule" + } + ] + }, + "driver": { + "title": "Driver", + "description": "Allowed quantum chemistry driver values.\n ", + "enum": [ + "energy", + "gradient", + "hessian", + "properties" + ], + "type": "string" + }, + "model": { + "title": "Model", + "description": "\n The quantum chemistry model specification for a given operation to compute against\n ", + "allOf": [ + { + "$ref": "#/definitions/Model" + } + ] + }, + "keywords": { + "title": "Keywords", + "description": "The program specific keywords to be used.", + "default": {}, + "type": "object" + }, + "protocols": { + "title": "Protocols", + "description": "\n Protocols regarding the manipulation of a Result output data.\n ", + "default": {}, + "allOf": [ + { + "$ref": "#/definitions/AtomicResultProtocols" + } + ] + }, + "extras": { + "title": "Extras", + "description": "Extra fields that are not part of the schema.", + "default": {}, + "type": "object" + }, + "provenance": { + "title": "Provenance", + "description": "\n Provenance information.\n ", + "allOf": [ + { + "$ref": "#/definitions/Provenance" + } + ] + }, + "properties": { + "title": "Properties", + "description": "\n Named properties of quantum chemistry computations following the MolSSI QCSchema.\n ", + "allOf": [ + { + "$ref": "#/definitions/AtomicResultProperties" + } + ] + }, + "wavefunction": { + "title": "Wavefunction", + "description": "None", + "allOf": [ + { + "$ref": "#/definitions/WavefunctionProperties" + } + ] + }, + "return_result": { + "title": "Return Result", + "description": "The value requested by the 'driver' attribute.", + "anyOf": [ + { + "type": "number" + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "object" + } + ] + }, + "stdout": { + "title": "Stdout", + "description": "The standard output of the program.", + "type": "string" + }, + "stderr": { + "title": "Stderr", + "description": "The standard error of the program.", + "type": "string" + }, + "success": { + "title": "Success", + "description": "The success of a given programs execution. If False, other fields may be blank.", + "type": "boolean" + }, + "error": { + "title": "Error", + "description": "A complete description of the error.", + "allOf": [ + { + "$ref": "#/definitions/ComputeError" + } + ] + } + }, + "required": [ + "molecule", + "driver", + "model", + "provenance", + "properties", + "return_result", + "success" + ], + "additionalProperties": false, + "definitions": { + "Identifiers": { + "title": "Identifiers", + "description": "Canonical chemical identifiers\n\nParameters\n----------\nmolecule_hash : str, Optional\nmolecular_formula : str, Optional\nsmiles : str, Optional\ninchi : str, Optional\ninchikey : str, Optional\ncanonical_explicit_hydrogen_smiles : str, Optional\ncanonical_isomeric_explicit_hydrogen_mapped_smiles : str, Optional\ncanonical_isomeric_explicit_hydrogen_smiles : str, Optional\ncanonical_isomeric_smiles : str, Optional\ncanonical_smiles : str, Optional\npubchem_cid : str, Optional\n PubChem Compound ID\npubchem_sid : str, Optional\n PubChem Substance ID\npubchem_conformerid : str, Optional\n PubChem Conformer ID", + "type": "object", + "properties": { + "molecule_hash": { + "title": "Molecule Hash", + "type": "string" + }, + "molecular_formula": { + "title": "Molecular Formula", + "type": "string" + }, + "smiles": { + "title": "Smiles", + "type": "string" + }, + "inchi": { + "title": "Inchi", + "type": "string" + }, + "inchikey": { + "title": "Inchikey", + "type": "string" + }, + "canonical_explicit_hydrogen_smiles": { + "title": "Canonical Explicit Hydrogen Smiles", + "type": "string" + }, + "canonical_isomeric_explicit_hydrogen_mapped_smiles": { + "title": "Canonical Isomeric Explicit Hydrogen Mapped Smiles", + "type": "string" + }, + "canonical_isomeric_explicit_hydrogen_smiles": { + "title": "Canonical Isomeric Explicit Hydrogen Smiles", + "type": "string" + }, + "canonical_isomeric_smiles": { + "title": "Canonical Isomeric Smiles", + "type": "string" + }, + "canonical_smiles": { + "title": "Canonical Smiles", + "type": "string" + }, + "pubchem_cid": { + "title": "Pubchem Cid", + "description": "PubChem Compound ID", + "type": "string" + }, + "pubchem_sid": { + "title": "Pubchem Sid", + "description": "PubChem Substance ID", + "type": "string" + }, + "pubchem_conformerid": { + "title": "Pubchem Conformerid", + "description": "PubChem Conformer ID", + "type": "string" + } + }, + "additionalProperties": false + }, + "Provenance": { + "title": "Provenance", + "description": "Provenance information.\n\n\nParameters\n----------\ncreator : str\n The creator of the object.\nversion : str, Optional\n The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).\nroutine : str, Optional\n The routine of the creator.", + "type": "object", + "properties": { + "creator": { + "title": "Creator", + "description": "The creator of the object.", + "type": "string" + }, + "version": { + "title": "Version", + "description": "The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).", + "type": "string" + }, + "routine": { + "title": "Routine", + "description": "The routine of the creator.", + "type": "string" + } + }, + "required": [ + "creator" + ] + }, + "Molecule": { + "title": "Molecule", + "description": "A QCSchema representation of a Molecule. This model contains\ndata for symbols, geometry, connectivity, charges, fragmentation, etc while also supporting a wide array of I/O and manipulation capabilities.\n\nMolecule objects geometry, masses, and charges are truncated to 8, 6, and 4 decimal places respectively to assist with duplicate detection.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_molecule\n The QCSchema specification this model conforms to. Explicitly fixed as qcschema_molecule.\nschema_version : int, Default: 2\n The version number of ``schema_name`` that this Molecule model conforms to.\nvalidated : bool, Default: False\n A boolean indicator (for speed purposes) that the input Molecule data has been previously checked for schema (data layout and type) and physics (e.g., non-overlapping atoms, feasible multiplicity) compliance. This should be False in most cases. A ``True`` setting should only ever be set by the constructor for this class itself or other trusted sources such as a Fractal Server or previously serialized Molecules.\nsymbols : Array\n An ordered (nat,) array-like object of atomic elemental symbols of shape (nat,). The index of this attribute sets atomic order for all other per-atom setting like ``real`` and the first dimension of ``geometry``. Ghost/Virtual atoms must have an entry in this array-like and are indicated by the matching the 0-indexed indices in ``real`` field.\ngeometry : Array\n An ordered (nat,3) array-like for XYZ atomic coordinates [a0]. Atom ordering is fixed; that is, a consumer who shuffles atoms must not reattach the input (pre-shuffling) molecule schema instance to any output (post-shuffling) per-atom results (e.g., gradient). Index of the first dimension matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\n Can also accept array-likes which can be mapped to (nat,3) such as a 1-D list of length 3*nat, or the serialized version of the array in (3*nat,) shape; all forms will be reshaped to (nat,3) for this attribute.\nname : str, Optional\n A common or human-readable name to assign to this molecule. Can be arbitrary.\nidentifiers : :class:`Identifiers`, Optional\n An optional dictionary of additional identifiers by which this Molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:``Identifiers`` model for more details.\ncomment : str, Optional\n Additional comments for this Molecule. Intended for pure human/user consumption and clarity.\nmolecular_charge : float, Default: 0.0\n The net electrostatic charge of this Molecule.\nmolecular_multiplicity : int, Default: 1\n The total multiplicity of this Molecule.\nmasses_ : Array, Optional\n An ordered 1-D array-like object of atomic masses [u] of shape (nat,). Index order matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. If this is not provided, the mass of each atom is inferred from their most common isotope. If this is provided, it must be the same length as ``symbols`` but can accept ``None`` entries for standard masses to infer from the same index in the ``symbols`` field.\nreal_ : Array, Optional\n An ordered 1-D array-like object of shape (nat,) indicating if each atom is real (``True``) or ghost/virtual (``False``). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and the first dimension of ``geometry``. If this is not provided, all atoms are assumed to be real (``True``).If this is provided, the reality or ghostality of every atom must be specified.\natom_labels_ : Array, Optional\n Additional per-atom labels as a 1-D array-like of of strings of shape (nat,). Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the ``comments`` field for general human-consumable text to affix to the Molecule.\natomic_numbers_ : Array, Optional\n An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the ``symbols`` list if not explicitly set.\nmass_numbers_ : Array, Optional\n An optional ordered 1-D array-like object of atomic *mass* numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the most common isotopes of the ``symbols`` list if not explicitly set.\nconnectivity_ : List[Tuple[int, int, float]], Optional\n The connectivity information between each atom in the ``symbols`` array. Each entry in this list is a Tuple of ``(atom_index_A, atom_index_B, bond_order)`` where the ``atom_index`` matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nfragments_ : List[Array], Optional\n An indication of which sets of atoms are fragments within the Molecule. This is a list of shape (nfr) of 1-D array-like objects of arbitrary length. Each entry in the list indicates a new fragment. The index of the list matches the 0-indexed indices of ``fragment_charges`` and ``fragment_multiplicities``. The 1-D array-like objects are sets of atom indices indicating the atoms which compose the fragment. The atom indices match the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nfragment_charges_ : List[float], Optional\n The total charge of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).\nfragment_multiplicities_ : List[int], Optional\n The multiplicity of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).\nfix_com : bool, Default: False\n An indicator which prevents pre-processing the Molecule object to translate the Center-of-Mass to (0,0,0) in euclidean coordinate space. Will result in a different ``geometry`` than the one provided if False.\nfix_orientation : bool, Default: False\n An indicator which prevents pre-processes the Molecule object to orient via the inertia tensor.Will result in a different ``geometry`` than the one provided if False.\nfix_symmetry : str, Optional\n Maximal point group symmetry which ``geometry`` should be treated. Lowercase.\nprovenance : :class:`Provenance`, Default: {'creator': 'QCElemental', 'version': 'v0.13.1+27.g8d1e857.dirty', 'routine': 'qcelemental.models.molecule'}\n The provenance information about how this Molecule (and its attributes) were generated, provided, and manipulated.\nid : Any, Optional\n A unique identifier for this Molecule object. This field exists primarily for Databases (e.g. Fractal's Server) to track and lookup this specific object and should virtually never need to be manually set.\nextras : Dict[str, Any], Optional\n Extra information to associate with this Molecule.", + "type": "object", + "properties": { + "schema_name": { + "title": "Schema Name", + "description": "The QCSchema specification this model conforms to. Explicitly fixed as qcschema_molecule.", + "default": "qcschema_molecule", + "type": "string", + "pattern": "qcschema_molecule" + }, + "schema_version": { + "title": "Schema Version", + "description": "The version number of ``schema_name`` that this Molecule model conforms to.", + "default": 2, + "type": "integer" + }, + "validated": { + "title": "Validated", + "description": "A boolean indicator (for speed purposes) that the input Molecule data has been previously checked for schema (data layout and type) and physics (e.g., non-overlapping atoms, feasible multiplicity) compliance. This should be False in most cases. A ``True`` setting should only ever be set by the constructor for this class itself or other trusted sources such as a Fractal Server or previously serialized Molecules.", + "default": false, + "type": "boolean" + }, + "symbols": { + "title": "Symbols", + "description": "An ordered (nat,) array-like object of atomic elemental symbols of shape (nat,). The index of this attribute sets atomic order for all other per-atom setting like ``real`` and the first dimension of ``geometry``. Ghost/Virtual atoms must have an entry in this array-like and are indicated by the matching the 0-indexed indices in ``real`` field.", + "type": "array", + "items": { + "type": "string" + } + }, + "geometry": { + "title": "Geometry", + "description": "An ordered (nat,3) array-like for XYZ atomic coordinates [a0]. Atom ordering is fixed; that is, a consumer who shuffles atoms must not reattach the input (pre-shuffling) molecule schema instance to any output (post-shuffling) per-atom results (e.g., gradient). Index of the first dimension matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nCan also accept array-likes which can be mapped to (nat,3) such as a 1-D list of length 3*nat, or the serialized version of the array in (3*nat,) shape; all forms will be reshaped to (nat,3) for this attribute.", + "type": "array", + "items": { + "type": "number" + } + }, + "name": { + "title": "Name", + "description": "A common or human-readable name to assign to this molecule. Can be arbitrary.", + "type": "string" + }, + "identifiers": { + "title": "Identifiers", + "description": "An optional dictionary of additional identifiers by which this Molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:``Identifiers`` model for more details.", + "allOf": [ + { + "$ref": "#/definitions/Identifiers" + } + ] + }, + "comment": { + "title": "Comment", + "description": "Additional comments for this Molecule. Intended for pure human/user consumption and clarity.", + "type": "string" + }, + "molecular_charge": { + "title": "Molecular Charge", + "description": "The net electrostatic charge of this Molecule.", + "default": 0.0, + "type": "number" + }, + "molecular_multiplicity": { + "title": "Molecular Multiplicity", + "description": "The total multiplicity of this Molecule.", + "default": 1, + "type": "integer" + }, + "masses": { + "title": "Masses", + "description": "An ordered 1-D array-like object of atomic masses [u] of shape (nat,). Index order matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. If this is not provided, the mass of each atom is inferred from their most common isotope. If this is provided, it must be the same length as ``symbols`` but can accept ``None`` entries for standard masses to infer from the same index in the ``symbols`` field.", + "type": "array", + "items": { + "type": "number" + } + }, + "real": { + "title": "Real", + "description": "An ordered 1-D array-like object of shape (nat,) indicating if each atom is real (``True``) or ghost/virtual (``False``). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and the first dimension of ``geometry``. If this is not provided, all atoms are assumed to be real (``True``).If this is provided, the reality or ghostality of every atom must be specified.", + "type": "array", + "items": { + "type": "boolean" + } + }, + "atom_labels": { + "title": "Atom Labels", + "description": "Additional per-atom labels as a 1-D array-like of of strings of shape (nat,). Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the ``comments`` field for general human-consumable text to affix to the Molecule.", + "type": "array", + "items": { + "type": "string" + } + }, + "atomic_numbers": { + "title": "Atomic Numbers", + "description": "An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the ``symbols`` list if not explicitly set.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "mass_numbers": { + "title": "Mass Numbers", + "description": "An optional ordered 1-D array-like object of atomic *mass* numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the most common isotopes of the ``symbols`` list if not explicitly set.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "connectivity": { + "title": "Connectivity", + "description": "The connectivity information between each atom in the ``symbols`` array. Each entry in this list is a Tuple of ``(atom_index_A, atom_index_B, bond_order)`` where the ``atom_index`` matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.", + "type": "array", + "items": { + "type": "array", + "items": [ + { + "type": "integer" + }, + { + "type": "integer" + }, + { + "type": "number" + } + ] + } + }, + "fragments": { + "title": "Fragments", + "description": "An indication of which sets of atoms are fragments within the Molecule. This is a list of shape (nfr) of 1-D array-like objects of arbitrary length. Each entry in the list indicates a new fragment. The index of the list matches the 0-indexed indices of ``fragment_charges`` and ``fragment_multiplicities``. The 1-D array-like objects are sets of atom indices indicating the atoms which compose the fragment. The atom indices match the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + } + }, + "fragment_charges": { + "title": "Fragment Charges", + "description": "The total charge of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).", + "type": "array", + "items": { + "type": "number" + } + }, + "fragment_multiplicities": { + "title": "Fragment Multiplicities", + "description": "The multiplicity of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).", + "type": "array", + "items": { + "type": "integer" + } + }, + "fix_com": { + "title": "Fix Com", + "description": "An indicator which prevents pre-processing the Molecule object to translate the Center-of-Mass to (0,0,0) in euclidean coordinate space. Will result in a different ``geometry`` than the one provided if False.", + "default": false, + "type": "boolean" + }, + "fix_orientation": { + "title": "Fix Orientation", + "description": "An indicator which prevents pre-processes the Molecule object to orient via the inertia tensor.Will result in a different ``geometry`` than the one provided if False.", + "default": false, + "type": "boolean" + }, + "fix_symmetry": { + "title": "Fix Symmetry", + "description": "Maximal point group symmetry which ``geometry`` should be treated. Lowercase.", + "type": "string" + }, + "provenance": { + "title": "Provenance", + "description": "The provenance information about how this Molecule (and its attributes) were generated, provided, and manipulated.", + "default": { + "creator": "QCElemental", + "version": "v0.13.1+27.g8d1e857.dirty", + "routine": "qcelemental.models.molecule" + }, + "allOf": [ + { + "$ref": "#/definitions/Provenance" + } + ] + }, + "id": { + "title": "Id", + "description": "A unique identifier for this Molecule object. This field exists primarily for Databases (e.g. Fractal's Server) to track and lookup this specific object and should virtually never need to be manually set." + }, + "extras": { + "title": "Extras", + "description": "Extra information to associate with this Molecule.", + "type": "object" + } + }, + "required": [ + "symbols", + "geometry" + ], + "additionalProperties": false + }, + "Model": { + "title": "Model", + "description": "The quantum chemistry model specification for a given operation to compute against\n\n\nParameters\n----------\nmethod : str\n The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...).\nbasis : str, Optional\n The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, ...). Can be ``None`` for methods without basis sets.", + "type": "object", + "properties": { + "method": { + "title": "Method", + "description": "The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...).", + "type": "string" + }, + "basis": { + "title": "Basis", + "description": "The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, ...). Can be ``None`` for methods without basis sets.", + "type": "string" + } + }, + "required": [ + "method" + ] + }, + "AtomicResultProtocols": { + "title": "AtomicResultProtocols", + "description": "Protocols regarding the manipulation of a Result output data.\n\n\nParameters\n----------\nwavefunction : {all,orbitals_and_eigenvalues,return_results,none}, Default: none\n\n Wavefunction to keep from a Result computation.\n \nstdout : bool, Default: True\n Primary output file to keep from a Result computation", + "type": "object", + "properties": { + "wavefunction": { + "title": "Wavefunction", + "description": "\n Wavefunction to keep from a Result computation.\n ", + "default": "none", + "enum": [ + "all", + "orbitals_and_eigenvalues", + "return_results", + "none" + ], + "type": "string" + }, + "stdout": { + "title": "Stdout", + "description": "Primary output file to keep from a Result computation", + "default": true, + "type": "boolean" + } + }, + "additionalProperties": false + }, + "AtomicResultProperties": { + "title": "AtomicResultProperties", + "description": "Named properties of quantum chemistry computations following the MolSSI QCSchema.\n\n\nParameters\n----------\ncalcinfo_nbasis : int, Optional\n The number of basis functions for the computation.\ncalcinfo_nmo : int, Optional\n The number of molecular orbitals for the computation.\ncalcinfo_nalpha : int, Optional\n The number of alpha electrons in the computation.\ncalcinfo_nbeta : int, Optional\n The number of beta electrons in the computation.\ncalcinfo_natom : int, Optional\n The number of atoms in the computation.\nnuclear_repulsion_energy : float, Optional\n The nuclear repulsion energy energy.\nreturn_energy : float, Optional\n The energy of the requested method, identical to `return_value` for energy computations.\nscf_one_electron_energy : float, Optional\n The one-electron (core Hamiltonian) energy contribution to the total SCF energy.\nscf_two_electron_energy : float, Optional\n The two-electron energy contribution to the total SCF energy.\nscf_vv10_energy : float, Optional\n The VV10 functional energy contribution to the total SCF energy.\nscf_xc_energy : float, Optional\n The functional (XC) energy contribution to the total SCF energy.\nscf_dispersion_correction_energy : float, Optional\n The dispersion correction appended to an underlying functional when a DFT-D method is requested.\nscf_dipole_moment : List[float], Optional\n The X, Y, and Z dipole components.\nscf_total_energy : float, Optional\n The total electronic energy of the SCF stage of the calculation.\nscf_iterations : int, Optional\n The number of SCF iterations taken before convergence.\nmp2_same_spin_correlation_energy : float, Optional\n The portion of MP2 doubles correlation energy from same-spin (i.e. triplet) correlations.\nmp2_opposite_spin_correlation_energy : float, Optional\n The portion of MP2 doubles correlation energy from opposite-spin (i.e. singlet) correlations.\nmp2_singles_energy : float, Optional\n The singles portion of the MP2 correlation energy. Zero except in ROHF.\nmp2_doubles_energy : float, Optional\n The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations.\nmp2_total_correlation_energy : float, Optional\n The MP2 correlation energy.\nmp2_correlation_energy : float, Optional\n The MP2 correlation energy.\nmp2_total_energy : float, Optional\n The total MP2 energy (MP2 correlation energy + HF energy).\nmp2_dipole_moment : List[float], Optional\n The MP2 X, Y, and Z dipole components.\nccsd_same_spin_correlation_energy : float, Optional\n The portion of CCSD doubles correlation energy from same-spin (i.e. triplet) correlations.\nccsd_opposite_spin_correlation_energy : float, Optional\n The portion of CCSD doubles correlation energy from opposite-spin (i.e. singlet) correlations\nccsd_singles_energy : float, Optional\n The singles portion of the CCSD correlation energy. Zero except in ROHF.\nccsd_doubles_energy : float, Optional\n The doubles portion of the CCSD correlation energy including same-spin and opposite-spin correlations.\nccsd_correlation_energy : float, Optional\n The CCSD correlation energy.\nccsd_total_energy : float, Optional\n The total CCSD energy (CCSD correlation energy + HF energy).\nccsd_dipole_moment : List[float], Optional\n The CCSD X, Y, and Z dipole components.\nccsd_iterations : int, Optional\n The number of CCSD iterations taken before convergence.\nccsd_prt_pr_correlation_energy : float, Optional\n The CCSD(T) correlation energy.\nccsd_prt_pr_total_energy : float, Optional\n The total CCSD(T) energy (CCSD(T) correlation energy + HF energy).\nccsd_prt_pr_dipole_moment : List[float], Optional\n The CCSD(T) X, Y, and Z dipole components.", + "type": "object", + "properties": { + "calcinfo_nbasis": { + "title": "Calcinfo Nbasis", + "description": "The number of basis functions for the computation.", + "type": "integer" + }, + "calcinfo_nmo": { + "title": "Calcinfo Nmo", + "description": "The number of molecular orbitals for the computation.", + "type": "integer" + }, + "calcinfo_nalpha": { + "title": "Calcinfo Nalpha", + "description": "The number of alpha electrons in the computation.", + "type": "integer" + }, + "calcinfo_nbeta": { + "title": "Calcinfo Nbeta", + "description": "The number of beta electrons in the computation.", + "type": "integer" + }, + "calcinfo_natom": { + "title": "Calcinfo Natom", + "description": "The number of atoms in the computation.", + "type": "integer" + }, + "nuclear_repulsion_energy": { + "title": "Nuclear Repulsion Energy", + "description": "The nuclear repulsion energy energy.", + "type": "number" + }, + "return_energy": { + "title": "Return Energy", + "description": "The energy of the requested method, identical to `return_value` for energy computations.", + "type": "number" + }, + "scf_one_electron_energy": { + "title": "Scf One Electron Energy", + "description": "The one-electron (core Hamiltonian) energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_two_electron_energy": { + "title": "Scf Two Electron Energy", + "description": "The two-electron energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_vv10_energy": { + "title": "Scf Vv10 Energy", + "description": "The VV10 functional energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_xc_energy": { + "title": "Scf Xc Energy", + "description": "The functional (XC) energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_dispersion_correction_energy": { + "title": "Scf Dispersion Correction Energy", + "description": "The dispersion correction appended to an underlying functional when a DFT-D method is requested.", + "type": "number" + }, + "scf_dipole_moment": { + "title": "Scf Dipole Moment", + "description": "The X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_total_energy": { + "title": "Scf Total Energy", + "description": "The total electronic energy of the SCF stage of the calculation.", + "type": "number" + }, + "scf_iterations": { + "title": "Scf Iterations", + "description": "The number of SCF iterations taken before convergence.", + "type": "integer" + }, + "mp2_same_spin_correlation_energy": { + "title": "Mp2 Same Spin Correlation Energy", + "description": "The portion of MP2 doubles correlation energy from same-spin (i.e. triplet) correlations.", + "type": "number" + }, + "mp2_opposite_spin_correlation_energy": { + "title": "Mp2 Opposite Spin Correlation Energy", + "description": "The portion of MP2 doubles correlation energy from opposite-spin (i.e. singlet) correlations.", + "type": "number" + }, + "mp2_singles_energy": { + "title": "Mp2 Singles Energy", + "description": "The singles portion of the MP2 correlation energy. Zero except in ROHF.", + "type": "number" + }, + "mp2_doubles_energy": { + "title": "Mp2 Doubles Energy", + "description": "The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations.", + "type": "number" + }, + "mp2_total_correlation_energy": { + "title": "Mp2 Total Correlation Energy", + "description": "The MP2 correlation energy.", + "type": "number" + }, + "mp2_correlation_energy": { + "title": "Mp2 Correlation Energy", + "description": "The MP2 correlation energy.", + "type": "number" + }, + "mp2_total_energy": { + "title": "Mp2 Total Energy", + "description": "The total MP2 energy (MP2 correlation energy + HF energy).", + "type": "number" + }, + "mp2_dipole_moment": { + "title": "Mp2 Dipole Moment", + "description": "The MP2 X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + }, + "ccsd_same_spin_correlation_energy": { + "title": "Ccsd Same Spin Correlation Energy", + "description": "The portion of CCSD doubles correlation energy from same-spin (i.e. triplet) correlations.", + "type": "number" + }, + "ccsd_opposite_spin_correlation_energy": { + "title": "Ccsd Opposite Spin Correlation Energy", + "description": "The portion of CCSD doubles correlation energy from opposite-spin (i.e. singlet) correlations", + "type": "number" + }, + "ccsd_singles_energy": { + "title": "Ccsd Singles Energy", + "description": "The singles portion of the CCSD correlation energy. Zero except in ROHF.", + "type": "number" + }, + "ccsd_doubles_energy": { + "title": "Ccsd Doubles Energy", + "description": "The doubles portion of the CCSD correlation energy including same-spin and opposite-spin correlations.", + "type": "number" + }, + "ccsd_correlation_energy": { + "title": "Ccsd Correlation Energy", + "description": "The CCSD correlation energy.", + "type": "number" + }, + "ccsd_total_energy": { + "title": "Ccsd Total Energy", + "description": "The total CCSD energy (CCSD correlation energy + HF energy).", + "type": "number" + }, + "ccsd_dipole_moment": { + "title": "Ccsd Dipole Moment", + "description": "The CCSD X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + }, + "ccsd_iterations": { + "title": "Ccsd Iterations", + "description": "The number of CCSD iterations taken before convergence.", + "type": "integer" + }, + "ccsd_prt_pr_correlation_energy": { + "title": "Ccsd Prt Pr Correlation Energy", + "description": "The CCSD(T) correlation energy.", + "type": "number" + }, + "ccsd_prt_pr_total_energy": { + "title": "Ccsd Prt Pr Total Energy", + "description": "The total CCSD(T) energy (CCSD(T) correlation energy + HF energy).", + "type": "number" + }, + "ccsd_prt_pr_dipole_moment": { + "title": "Ccsd Prt Pr Dipole Moment", + "description": "The CCSD(T) X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + } + }, + "additionalProperties": false + }, + "ElectronShell": { + "title": "ElectronShell", + "description": "Information for a single electronic shell\n\n\nParameters\n----------\nangular_momentum : List[int]\n Angular momentum for this shell.\nharmonic_type : {spherical,cartesian}\n\n The angular momentum representation of a shell.\n \nexponents : List[float]\n Exponents for this contracted shell.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for this shell.", + "type": "array", + "items": { + "type": "integer" + } + }, + "harmonic_type": { + "title": "Harmonic Type", + "description": "\n The angular momentum representation of a shell.\n ", + "enum": [ + "spherical", + "cartesian" + ], + "type": "string" + }, + "exponents": { + "title": "Exponents", + "description": "Exponents for this contracted shell.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "angular_momentum", + "harmonic_type", + "exponents", + "coefficients" + ], + "additionalProperties": false + }, + "ECPPotential": { + "title": "ECPPotential", + "description": "Information for a single ECP potential.\n\n\nParameters\n----------\necp_type : {scalar,spinorbit}\n\n The type of the ECP potential.\n \nangular_momentum : List[int]\n Angular momentum for the ECPs.\nr_exponents : List[int]\n Exponents of the 'r' term.\ngaussian_exponents : List[float]\n Exponents of the 'gaussian' term.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "ecp_type": { + "title": "Ecp Type", + "description": "\n The type of the ECP potential.\n ", + "enum": [ + "scalar", + "spinorbit" + ], + "type": "string" + }, + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for the ECPs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "r_exponents": { + "title": "R Exponents", + "description": "Exponents of the 'r' term.", + "type": "array", + "items": { + "type": "integer" + } + }, + "gaussian_exponents": { + "title": "Gaussian Exponents", + "description": "Exponents of the 'gaussian' term.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "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.\n\n\nParameters\n----------\nelectron_shells : :class:`ElectronShell`\n Electronic shells for this center.\necp_electrons : int, Default: 0\n Number of electrons replace by ECP potentials.\necp_potentials : :class:`ECPPotential`, Optional\n ECPs for this center.", + "type": "object", + "properties": { + "electron_shells": { + "title": "Electron Shells", + "description": "Electronic shells for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ElectronShell" + } + }, + "ecp_electrons": { + "title": "Ecp Electrons", + "description": "Number of electrons replace by ECP potentials.", + "default": 0, + "type": "integer" + }, + "ecp_potentials": { + "title": "Ecp Potentials", + "description": "ECPs for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ECPPotential" + } + } + }, + "required": [ + "electron_shells" + ], + "additionalProperties": false + }, + "BasisSet": { + "title": "BasisSet", + "description": "A quantum chemistry basis description.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_basis\nschema_version : int, Default: 1\nname : str\n A standard basis name if available (e.g., 'cc-pVDZ').\ndescription : str, Optional\n A brief description of the basis set.\ncenter_data : :class:`BasisCenter`\n A mapping of all types of centers available.\natom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\nnbf : int, Optional\n The number of basis functions.", + "type": "object", + "properties": { + "schema_name": { + "title": "Schema Name", + "default": "qcschema_basis", + "type": "string", + "pattern": "qcschema_basis" + }, + "schema_version": { + "title": "Schema Version", + "default": 1, + "type": "integer" + }, + "name": { + "title": "Name", + "description": "A standard basis name if available (e.g., 'cc-pVDZ').", + "type": "string" + }, + "description": { + "title": "Description", + "description": "A brief description of the basis set.", + "type": "string" + }, + "center_data": { + "title": "Center Data", + "description": "A mapping of all types of centers available.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/BasisCenter" + } + }, + "atom_map": { + "title": "Atom Map", + "description": "Mapping of all centers in the parent molecule to centers in `center_data`.", + "type": "array", + "items": { + "type": "string" + } + }, + "nbf": { + "title": "Nbf", + "description": "The number of basis functions.", + "type": "integer" + } + }, + "required": [ + "name", + "center_data", + "atom_map" + ], + "additionalProperties": false + }, + "WavefunctionProperties": { + "title": "WavefunctionProperties", + "description": "Parameters\n----------\nbasis : :class:`BasisSet`\n\n A quantum chemistry basis description.\n\n\n Parameters\n ----------\n schema_name : ConstrainedStrValue, Default: qcschema_basis\n schema_version : int, Default: 1\n name : str\n A standard basis name if available (e.g., 'cc-pVDZ').\n description : str, Optional\n A brief description of the basis set.\n center_data : :class:`BasisCenter`\n A mapping of all types of centers available.\n atom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\n nbf : int, Optional\n The number of basis functions.\n\nrestricted : bool\n If the computation was restricted or not (alpha == beta). If True, all beta quantities are skipped.\nh_core_a : Array, Optional\n Alpha-spin core (one-electron) Hamiltonian.\nh_core_b : Array, Optional\n Beta-spin core (one-electron) Hamiltonian.\nh_effective_a : Array, Optional\n Alpha-spin effective core (one-electron) Hamiltonian.\nh_effective_b : Array, Optional\n Beta-spin effective core (one-electron) Hamiltonian \nscf_orbitals_a : Array, Optional\n SCF alpha-spin orbitals.\nscf_orbitals_b : Array, Optional\n SCF beta-spin orbitals.\nscf_density_a : Array, Optional\n SCF alpha-spin density matrix.\nscf_density_b : Array, Optional\n SCF beta-spin density matrix.\nscf_fock_a : Array, Optional\n SCF alpha-spin Fock matrix.\nscf_fock_b : Array, Optional\n SCF beta-spin Fock matrix.\nscf_eigenvalues_a : Array, Optional\n SCF alpha-spin eigenvalues.\nscf_eigenvalues_b : Array, Optional\n SCF beta-spin eigenvalues.\nscf_occupations_a : Array, Optional\n SCF alpha-spin occupations.\nscf_occupations_b : Array, Optional\n SCF beta-spin occupations.\norbitals_a : str, Optional\n Index to the alpha-spin orbitals of the primary return.\norbitals_b : str, Optional\n Index to the beta-spin orbitals of the primary return.\ndensity_a : str, Optional\n Index to the alpha-spin density of the primary return.\ndensity_b : str, Optional\n Index to the beta-spin density of the primary return.\nfock_a : str, Optional\n Index to the alpha-spin Fock matrix of the primary return.\nfock_b : str, Optional\n Index to the beta-spin Fock matrix of the primary return.\neigenvalues_a : str, Optional\n Index to the alpha-spin eigenvalues of the primary return.\neigenvalues_b : str, Optional\n Index to the beta-spin eigenvalues of the primary return.\noccupations_a : str, Optional\n Index to the alpha-spin orbital eigenvalues of the primary return.\noccupations_b : str, Optional\n Index to the beta-spin orbital eigenvalues of the primary return.", + "type": "object", + "properties": { + "basis": { + "title": "Basis", + "description": "\nA quantum chemistry basis description.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_basis\nschema_version : int, Default: 1\nname : str\n A standard basis name if available (e.g., 'cc-pVDZ').\ndescription : str, Optional\n A brief description of the basis set.\ncenter_data : :class:`BasisCenter`\n A mapping of all types of centers available.\natom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\nnbf : int, Optional\n The number of basis functions.\n", + "allOf": [ + { + "$ref": "#/definitions/BasisSet" + } + ] + }, + "restricted": { + "title": "Restricted", + "description": "If the computation was restricted or not (alpha == beta). If True, all beta quantities are skipped.", + "type": "boolean" + }, + "h_core_a": { + "title": "H Core A", + "description": "Alpha-spin core (one-electron) Hamiltonian.", + "type": "array", + "items": { + "type": "number" + } + }, + "h_core_b": { + "title": "H Core B", + "description": "Beta-spin core (one-electron) Hamiltonian.", + "type": "array", + "items": { + "type": "number" + } + }, + "h_effective_a": { + "title": "H Effective A", + "description": "Alpha-spin effective core (one-electron) Hamiltonian.", + "type": "array", + "items": { + "type": "number" + } + }, + "h_effective_b": { + "title": "H Effective B", + "description": "Beta-spin effective core (one-electron) Hamiltonian ", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_orbitals_a": { + "title": "Scf Orbitals A", + "description": "SCF alpha-spin orbitals.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_orbitals_b": { + "title": "Scf Orbitals B", + "description": "SCF beta-spin orbitals.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_density_a": { + "title": "Scf Density A", + "description": "SCF alpha-spin density matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_density_b": { + "title": "Scf Density B", + "description": "SCF beta-spin density matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_fock_a": { + "title": "Scf Fock A", + "description": "SCF alpha-spin Fock matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_fock_b": { + "title": "Scf Fock B", + "description": "SCF beta-spin Fock matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_eigenvalues_a": { + "title": "Scf Eigenvalues A", + "description": "SCF alpha-spin eigenvalues.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_eigenvalues_b": { + "title": "Scf Eigenvalues B", + "description": "SCF beta-spin eigenvalues.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_occupations_a": { + "title": "Scf Occupations A", + "description": "SCF alpha-spin occupations.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_occupations_b": { + "title": "Scf Occupations B", + "description": "SCF beta-spin occupations.", + "type": "array", + "items": { + "type": "number" + } + }, + "orbitals_a": { + "title": "Orbitals A", + "description": "Index to the alpha-spin orbitals of the primary return.", + "type": "string" + }, + "orbitals_b": { + "title": "Orbitals B", + "description": "Index to the beta-spin orbitals of the primary return.", + "type": "string" + }, + "density_a": { + "title": "Density A", + "description": "Index to the alpha-spin density of the primary return.", + "type": "string" + }, + "density_b": { + "title": "Density B", + "description": "Index to the beta-spin density of the primary return.", + "type": "string" + }, + "fock_a": { + "title": "Fock A", + "description": "Index to the alpha-spin Fock matrix of the primary return.", + "type": "string" + }, + "fock_b": { + "title": "Fock B", + "description": "Index to the beta-spin Fock matrix of the primary return.", + "type": "string" + }, + "eigenvalues_a": { + "title": "Eigenvalues A", + "description": "Index to the alpha-spin eigenvalues of the primary return.", + "type": "string" + }, + "eigenvalues_b": { + "title": "Eigenvalues B", + "description": "Index to the beta-spin eigenvalues of the primary return.", + "type": "string" + }, + "occupations_a": { + "title": "Occupations A", + "description": "Index to the alpha-spin orbital eigenvalues of the primary return.", + "type": "string" + }, + "occupations_b": { + "title": "Occupations B", + "description": "Index to the beta-spin orbital eigenvalues of the primary return.", + "type": "string" + } + }, + "required": [ + "basis", + "restricted" + ], + "additionalProperties": false + }, + "ComputeError": { + "title": "ComputeError", + "description": "A complete description of the error.\n\nParameters\n----------\nerror_type : str\n The type of error which was thrown. Restrict this field short classifiers e.g. 'input_error'.\nerror_message : str\n Text associated with the thrown error, often the backtrace, but can contain additional information as well.\nextras : Dict[str, Any], Optional\n Additional data to ship with the ComputeError object.", + "type": "object", + "properties": { + "error_type": { + "title": "Error Type", + "description": "The type of error which was thrown. Restrict this field short classifiers e.g. 'input_error'.", + "type": "string" + }, + "error_message": { + "title": "Error Message", + "description": "Text associated with the thrown error, often the backtrace, but can contain additional information as well.", + "type": "string" + }, + "extras": { + "title": "Extras", + "description": "Additional data to ship with the ComputeError object.", + "type": "object" + } + }, + "required": [ + "error_type", + "error_message" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/qcschema/AtomicResultProperties.json b/qcschema/AtomicResultProperties.json new file mode 100644 index 0000000..8ac2071 --- /dev/null +++ b/qcschema/AtomicResultProperties.json @@ -0,0 +1,190 @@ +{ + "title": "AtomicResultProperties", + "description": "Named properties of quantum chemistry computations following the MolSSI QCSchema.\n\n\nParameters\n----------\ncalcinfo_nbasis : int, Optional\n The number of basis functions for the computation.\ncalcinfo_nmo : int, Optional\n The number of molecular orbitals for the computation.\ncalcinfo_nalpha : int, Optional\n The number of alpha electrons in the computation.\ncalcinfo_nbeta : int, Optional\n The number of beta electrons in the computation.\ncalcinfo_natom : int, Optional\n The number of atoms in the computation.\nnuclear_repulsion_energy : float, Optional\n The nuclear repulsion energy energy.\nreturn_energy : float, Optional\n The energy of the requested method, identical to `return_value` for energy computations.\nscf_one_electron_energy : float, Optional\n The one-electron (core Hamiltonian) energy contribution to the total SCF energy.\nscf_two_electron_energy : float, Optional\n The two-electron energy contribution to the total SCF energy.\nscf_vv10_energy : float, Optional\n The VV10 functional energy contribution to the total SCF energy.\nscf_xc_energy : float, Optional\n The functional (XC) energy contribution to the total SCF energy.\nscf_dispersion_correction_energy : float, Optional\n The dispersion correction appended to an underlying functional when a DFT-D method is requested.\nscf_dipole_moment : List[float], Optional\n The X, Y, and Z dipole components.\nscf_total_energy : float, Optional\n The total electronic energy of the SCF stage of the calculation.\nscf_iterations : int, Optional\n The number of SCF iterations taken before convergence.\nmp2_same_spin_correlation_energy : float, Optional\n The portion of MP2 doubles correlation energy from same-spin (i.e. triplet) correlations.\nmp2_opposite_spin_correlation_energy : float, Optional\n The portion of MP2 doubles correlation energy from opposite-spin (i.e. singlet) correlations.\nmp2_singles_energy : float, Optional\n The singles portion of the MP2 correlation energy. Zero except in ROHF.\nmp2_doubles_energy : float, Optional\n The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations.\nmp2_total_correlation_energy : float, Optional\n The MP2 correlation energy.\nmp2_correlation_energy : float, Optional\n The MP2 correlation energy.\nmp2_total_energy : float, Optional\n The total MP2 energy (MP2 correlation energy + HF energy).\nmp2_dipole_moment : List[float], Optional\n The MP2 X, Y, and Z dipole components.\nccsd_same_spin_correlation_energy : float, Optional\n The portion of CCSD doubles correlation energy from same-spin (i.e. triplet) correlations.\nccsd_opposite_spin_correlation_energy : float, Optional\n The portion of CCSD doubles correlation energy from opposite-spin (i.e. singlet) correlations\nccsd_singles_energy : float, Optional\n The singles portion of the CCSD correlation energy. Zero except in ROHF.\nccsd_doubles_energy : float, Optional\n The doubles portion of the CCSD correlation energy including same-spin and opposite-spin correlations.\nccsd_correlation_energy : float, Optional\n The CCSD correlation energy.\nccsd_total_energy : float, Optional\n The total CCSD energy (CCSD correlation energy + HF energy).\nccsd_dipole_moment : List[float], Optional\n The CCSD X, Y, and Z dipole components.\nccsd_iterations : int, Optional\n The number of CCSD iterations taken before convergence.\nccsd_prt_pr_correlation_energy : float, Optional\n The CCSD(T) correlation energy.\nccsd_prt_pr_total_energy : float, Optional\n The total CCSD(T) energy (CCSD(T) correlation energy + HF energy).\nccsd_prt_pr_dipole_moment : List[float], Optional\n The CCSD(T) X, Y, and Z dipole components.", + "type": "object", + "properties": { + "calcinfo_nbasis": { + "title": "Calcinfo Nbasis", + "description": "The number of basis functions for the computation.", + "type": "integer" + }, + "calcinfo_nmo": { + "title": "Calcinfo Nmo", + "description": "The number of molecular orbitals for the computation.", + "type": "integer" + }, + "calcinfo_nalpha": { + "title": "Calcinfo Nalpha", + "description": "The number of alpha electrons in the computation.", + "type": "integer" + }, + "calcinfo_nbeta": { + "title": "Calcinfo Nbeta", + "description": "The number of beta electrons in the computation.", + "type": "integer" + }, + "calcinfo_natom": { + "title": "Calcinfo Natom", + "description": "The number of atoms in the computation.", + "type": "integer" + }, + "nuclear_repulsion_energy": { + "title": "Nuclear Repulsion Energy", + "description": "The nuclear repulsion energy energy.", + "type": "number" + }, + "return_energy": { + "title": "Return Energy", + "description": "The energy of the requested method, identical to `return_value` for energy computations.", + "type": "number" + }, + "scf_one_electron_energy": { + "title": "Scf One Electron Energy", + "description": "The one-electron (core Hamiltonian) energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_two_electron_energy": { + "title": "Scf Two Electron Energy", + "description": "The two-electron energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_vv10_energy": { + "title": "Scf Vv10 Energy", + "description": "The VV10 functional energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_xc_energy": { + "title": "Scf Xc Energy", + "description": "The functional (XC) energy contribution to the total SCF energy.", + "type": "number" + }, + "scf_dispersion_correction_energy": { + "title": "Scf Dispersion Correction Energy", + "description": "The dispersion correction appended to an underlying functional when a DFT-D method is requested.", + "type": "number" + }, + "scf_dipole_moment": { + "title": "Scf Dipole Moment", + "description": "The X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_total_energy": { + "title": "Scf Total Energy", + "description": "The total electronic energy of the SCF stage of the calculation.", + "type": "number" + }, + "scf_iterations": { + "title": "Scf Iterations", + "description": "The number of SCF iterations taken before convergence.", + "type": "integer" + }, + "mp2_same_spin_correlation_energy": { + "title": "Mp2 Same Spin Correlation Energy", + "description": "The portion of MP2 doubles correlation energy from same-spin (i.e. triplet) correlations.", + "type": "number" + }, + "mp2_opposite_spin_correlation_energy": { + "title": "Mp2 Opposite Spin Correlation Energy", + "description": "The portion of MP2 doubles correlation energy from opposite-spin (i.e. singlet) correlations.", + "type": "number" + }, + "mp2_singles_energy": { + "title": "Mp2 Singles Energy", + "description": "The singles portion of the MP2 correlation energy. Zero except in ROHF.", + "type": "number" + }, + "mp2_doubles_energy": { + "title": "Mp2 Doubles Energy", + "description": "The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations.", + "type": "number" + }, + "mp2_total_correlation_energy": { + "title": "Mp2 Total Correlation Energy", + "description": "The MP2 correlation energy.", + "type": "number" + }, + "mp2_correlation_energy": { + "title": "Mp2 Correlation Energy", + "description": "The MP2 correlation energy.", + "type": "number" + }, + "mp2_total_energy": { + "title": "Mp2 Total Energy", + "description": "The total MP2 energy (MP2 correlation energy + HF energy).", + "type": "number" + }, + "mp2_dipole_moment": { + "title": "Mp2 Dipole Moment", + "description": "The MP2 X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + }, + "ccsd_same_spin_correlation_energy": { + "title": "Ccsd Same Spin Correlation Energy", + "description": "The portion of CCSD doubles correlation energy from same-spin (i.e. triplet) correlations.", + "type": "number" + }, + "ccsd_opposite_spin_correlation_energy": { + "title": "Ccsd Opposite Spin Correlation Energy", + "description": "The portion of CCSD doubles correlation energy from opposite-spin (i.e. singlet) correlations", + "type": "number" + }, + "ccsd_singles_energy": { + "title": "Ccsd Singles Energy", + "description": "The singles portion of the CCSD correlation energy. Zero except in ROHF.", + "type": "number" + }, + "ccsd_doubles_energy": { + "title": "Ccsd Doubles Energy", + "description": "The doubles portion of the CCSD correlation energy including same-spin and opposite-spin correlations.", + "type": "number" + }, + "ccsd_correlation_energy": { + "title": "Ccsd Correlation Energy", + "description": "The CCSD correlation energy.", + "type": "number" + }, + "ccsd_total_energy": { + "title": "Ccsd Total Energy", + "description": "The total CCSD energy (CCSD correlation energy + HF energy).", + "type": "number" + }, + "ccsd_dipole_moment": { + "title": "Ccsd Dipole Moment", + "description": "The CCSD X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + }, + "ccsd_iterations": { + "title": "Ccsd Iterations", + "description": "The number of CCSD iterations taken before convergence.", + "type": "integer" + }, + "ccsd_prt_pr_correlation_energy": { + "title": "Ccsd Prt Pr Correlation Energy", + "description": "The CCSD(T) correlation energy.", + "type": "number" + }, + "ccsd_prt_pr_total_energy": { + "title": "Ccsd Prt Pr Total Energy", + "description": "The total CCSD(T) energy (CCSD(T) correlation energy + HF energy).", + "type": "number" + }, + "ccsd_prt_pr_dipole_moment": { + "title": "Ccsd Prt Pr Dipole Moment", + "description": "The CCSD(T) X, Y, and Z dipole components.", + "type": "array", + "items": { + "type": "number" + } + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/qcschema/BasisCenter.json b/qcschema/BasisCenter.json new file mode 100644 index 0000000..f1e2cff --- /dev/null +++ b/qcschema/BasisCenter.json @@ -0,0 +1,144 @@ +{ + "title": "BasisCenter", + "description": "Data for a single atom/center in a basis set.\n\n\nParameters\n----------\nelectron_shells : :class:`ElectronShell`\n Electronic shells for this center.\necp_electrons : int, Default: 0\n Number of electrons replace by ECP potentials.\necp_potentials : :class:`ECPPotential`, Optional\n ECPs for this center.", + "type": "object", + "properties": { + "electron_shells": { + "title": "Electron Shells", + "description": "Electronic shells for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ElectronShell" + } + }, + "ecp_electrons": { + "title": "Ecp Electrons", + "description": "Number of electrons replace by ECP potentials.", + "default": 0, + "type": "integer" + }, + "ecp_potentials": { + "title": "Ecp Potentials", + "description": "ECPs for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ECPPotential" + } + } + }, + "required": [ + "electron_shells" + ], + "additionalProperties": false, + "definitions": { + "ElectronShell": { + "title": "ElectronShell", + "description": "Information for a single electronic shell\n\n\nParameters\n----------\nangular_momentum : List[int]\n Angular momentum for this shell.\nharmonic_type : {spherical,cartesian}\n\n The angular momentum representation of a shell.\n \nexponents : List[float]\n Exponents for this contracted shell.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for this shell.", + "type": "array", + "items": { + "type": "integer" + } + }, + "harmonic_type": { + "title": "Harmonic Type", + "description": "\n The angular momentum representation of a shell.\n ", + "enum": [ + "spherical", + "cartesian" + ], + "type": "string" + }, + "exponents": { + "title": "Exponents", + "description": "Exponents for this contracted shell.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "angular_momentum", + "harmonic_type", + "exponents", + "coefficients" + ], + "additionalProperties": false + }, + "ECPPotential": { + "title": "ECPPotential", + "description": "Information for a single ECP potential.\n\n\nParameters\n----------\necp_type : {scalar,spinorbit}\n\n The type of the ECP potential.\n \nangular_momentum : List[int]\n Angular momentum for the ECPs.\nr_exponents : List[int]\n Exponents of the 'r' term.\ngaussian_exponents : List[float]\n Exponents of the 'gaussian' term.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "ecp_type": { + "title": "Ecp Type", + "description": "\n The type of the ECP potential.\n ", + "enum": [ + "scalar", + "spinorbit" + ], + "type": "string" + }, + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for the ECPs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "r_exponents": { + "title": "R Exponents", + "description": "Exponents of the 'r' term.", + "type": "array", + "items": { + "type": "integer" + } + }, + "gaussian_exponents": { + "title": "Gaussian Exponents", + "description": "Exponents of the 'gaussian' term.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "ecp_type", + "angular_momentum", + "r_exponents", + "gaussian_exponents", + "coefficients" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/qcschema/BasisSet.json b/qcschema/BasisSet.json new file mode 100644 index 0000000..ba38171 --- /dev/null +++ b/qcschema/BasisSet.json @@ -0,0 +1,199 @@ +{ + "title": "BasisSet", + "description": "A quantum chemistry basis description.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_basis\nschema_version : int, Default: 1\nname : str\n A standard basis name if available (e.g., 'cc-pVDZ').\ndescription : str, Optional\n A brief description of the basis set.\ncenter_data : :class:`BasisCenter`\n A mapping of all types of centers available.\natom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\nnbf : int, Optional\n The number of basis functions.", + "type": "object", + "properties": { + "schema_name": { + "title": "Schema Name", + "default": "qcschema_basis", + "type": "string", + "pattern": "qcschema_basis" + }, + "schema_version": { + "title": "Schema Version", + "default": 1, + "type": "integer" + }, + "name": { + "title": "Name", + "description": "A standard basis name if available (e.g., 'cc-pVDZ').", + "type": "string" + }, + "description": { + "title": "Description", + "description": "A brief description of the basis set.", + "type": "string" + }, + "center_data": { + "title": "Center Data", + "description": "A mapping of all types of centers available.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/BasisCenter" + } + }, + "atom_map": { + "title": "Atom Map", + "description": "Mapping of all centers in the parent molecule to centers in `center_data`.", + "type": "array", + "items": { + "type": "string" + } + }, + "nbf": { + "title": "Nbf", + "description": "The number of basis functions.", + "type": "integer" + } + }, + "required": [ + "name", + "center_data", + "atom_map" + ], + "additionalProperties": false, + "definitions": { + "ElectronShell": { + "title": "ElectronShell", + "description": "Information for a single electronic shell\n\n\nParameters\n----------\nangular_momentum : List[int]\n Angular momentum for this shell.\nharmonic_type : {spherical,cartesian}\n\n The angular momentum representation of a shell.\n \nexponents : List[float]\n Exponents for this contracted shell.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for this shell.", + "type": "array", + "items": { + "type": "integer" + } + }, + "harmonic_type": { + "title": "Harmonic Type", + "description": "\n The angular momentum representation of a shell.\n ", + "enum": [ + "spherical", + "cartesian" + ], + "type": "string" + }, + "exponents": { + "title": "Exponents", + "description": "Exponents for this contracted shell.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "angular_momentum", + "harmonic_type", + "exponents", + "coefficients" + ], + "additionalProperties": false + }, + "ECPPotential": { + "title": "ECPPotential", + "description": "Information for a single ECP potential.\n\n\nParameters\n----------\necp_type : {scalar,spinorbit}\n\n The type of the ECP potential.\n \nangular_momentum : List[int]\n Angular momentum for the ECPs.\nr_exponents : List[int]\n Exponents of the 'r' term.\ngaussian_exponents : List[float]\n Exponents of the 'gaussian' term.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "ecp_type": { + "title": "Ecp Type", + "description": "\n The type of the ECP potential.\n ", + "enum": [ + "scalar", + "spinorbit" + ], + "type": "string" + }, + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for the ECPs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "r_exponents": { + "title": "R Exponents", + "description": "Exponents of the 'r' term.", + "type": "array", + "items": { + "type": "integer" + } + }, + "gaussian_exponents": { + "title": "Gaussian Exponents", + "description": "Exponents of the 'gaussian' term.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "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.\n\n\nParameters\n----------\nelectron_shells : :class:`ElectronShell`\n Electronic shells for this center.\necp_electrons : int, Default: 0\n Number of electrons replace by ECP potentials.\necp_potentials : :class:`ECPPotential`, Optional\n ECPs for this center.", + "type": "object", + "properties": { + "electron_shells": { + "title": "Electron Shells", + "description": "Electronic shells for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ElectronShell" + } + }, + "ecp_electrons": { + "title": "Ecp Electrons", + "description": "Number of electrons replace by ECP potentials.", + "default": 0, + "type": "integer" + }, + "ecp_potentials": { + "title": "Ecp Potentials", + "description": "ECPs for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ECPPotential" + } + } + }, + "required": [ + "electron_shells" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/qcschema/ECPPotential.json b/qcschema/ECPPotential.json new file mode 100644 index 0000000..ba2c19f --- /dev/null +++ b/qcschema/ECPPotential.json @@ -0,0 +1,59 @@ +{ + "title": "ECPPotential", + "description": "Information for a single ECP potential.\n\n\nParameters\n----------\necp_type : {scalar,spinorbit}\n\n The type of the ECP potential.\n \nangular_momentum : List[int]\n Angular momentum for the ECPs.\nr_exponents : List[int]\n Exponents of the 'r' term.\ngaussian_exponents : List[float]\n Exponents of the 'gaussian' term.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "ecp_type": { + "title": "Ecp Type", + "description": "\n The type of the ECP potential.\n ", + "enum": [ + "scalar", + "spinorbit" + ], + "type": "string" + }, + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for the ECPs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "r_exponents": { + "title": "R Exponents", + "description": "Exponents of the 'r' term.", + "type": "array", + "items": { + "type": "integer" + } + }, + "gaussian_exponents": { + "title": "Gaussian Exponents", + "description": "Exponents of the 'gaussian' term.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "ecp_type", + "angular_momentum", + "r_exponents", + "gaussian_exponents", + "coefficients" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/qcschema/ElectronShell.json b/qcschema/ElectronShell.json new file mode 100644 index 0000000..aebd02a --- /dev/null +++ b/qcschema/ElectronShell.json @@ -0,0 +1,50 @@ +{ + "title": "ElectronShell", + "description": "Information for a single electronic shell\n\n\nParameters\n----------\nangular_momentum : List[int]\n Angular momentum for this shell.\nharmonic_type : {spherical,cartesian}\n\n The angular momentum representation of a shell.\n \nexponents : List[float]\n Exponents for this contracted shell.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for this shell.", + "type": "array", + "items": { + "type": "integer" + } + }, + "harmonic_type": { + "title": "Harmonic Type", + "description": "\n The angular momentum representation of a shell.\n ", + "enum": [ + "spherical", + "cartesian" + ], + "type": "string" + }, + "exponents": { + "title": "Exponents", + "description": "Exponents for this contracted shell.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "angular_momentum", + "harmonic_type", + "exponents", + "coefficients" + ], + "additionalProperties": false +} \ No newline at end of file diff --git a/qcschema/Model.json b/qcschema/Model.json new file mode 100644 index 0000000..d00df77 --- /dev/null +++ b/qcschema/Model.json @@ -0,0 +1,20 @@ +{ + "title": "Model", + "description": "The quantum chemistry model specification for a given operation to compute against\n\n\nParameters\n----------\nmethod : str\n The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...).\nbasis : str, Optional\n The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, ...). Can be ``None`` for methods without basis sets.", + "type": "object", + "properties": { + "method": { + "title": "Method", + "description": "The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...).", + "type": "string" + }, + "basis": { + "title": "Basis", + "description": "The quantum chemistry basis set to evaluate (e.g., 6-31g, cc-pVDZ, ...). Can be ``None`` for methods without basis sets.", + "type": "string" + } + }, + "required": [ + "method" + ] +} \ No newline at end of file diff --git a/qcschema/Molecule.json b/qcschema/Molecule.json new file mode 100644 index 0000000..0bbaa88 --- /dev/null +++ b/qcschema/Molecule.json @@ -0,0 +1,297 @@ +{ + "title": "Molecule", + "description": "A QCSchema representation of a Molecule. This model contains\ndata for symbols, geometry, connectivity, charges, fragmentation, etc while also supporting a wide array of I/O and manipulation capabilities.\n\nMolecule objects geometry, masses, and charges are truncated to 8, 6, and 4 decimal places respectively to assist with duplicate detection.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_molecule\n The QCSchema specification this model conforms to. Explicitly fixed as qcschema_molecule.\nschema_version : int, Default: 2\n The version number of ``schema_name`` that this Molecule model conforms to.\nvalidated : bool, Default: False\n A boolean indicator (for speed purposes) that the input Molecule data has been previously checked for schema (data layout and type) and physics (e.g., non-overlapping atoms, feasible multiplicity) compliance. This should be False in most cases. A ``True`` setting should only ever be set by the constructor for this class itself or other trusted sources such as a Fractal Server or previously serialized Molecules.\nsymbols : Array\n An ordered (nat,) array-like object of atomic elemental symbols of shape (nat,). The index of this attribute sets atomic order for all other per-atom setting like ``real`` and the first dimension of ``geometry``. Ghost/Virtual atoms must have an entry in this array-like and are indicated by the matching the 0-indexed indices in ``real`` field.\ngeometry : Array\n An ordered (nat,3) array-like for XYZ atomic coordinates [a0]. Atom ordering is fixed; that is, a consumer who shuffles atoms must not reattach the input (pre-shuffling) molecule schema instance to any output (post-shuffling) per-atom results (e.g., gradient). Index of the first dimension matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\n Can also accept array-likes which can be mapped to (nat,3) such as a 1-D list of length 3*nat, or the serialized version of the array in (3*nat,) shape; all forms will be reshaped to (nat,3) for this attribute.\nname : str, Optional\n A common or human-readable name to assign to this molecule. Can be arbitrary.\nidentifiers : :class:`Identifiers`, Optional\n An optional dictionary of additional identifiers by which this Molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:``Identifiers`` model for more details.\ncomment : str, Optional\n Additional comments for this Molecule. Intended for pure human/user consumption and clarity.\nmolecular_charge : float, Default: 0.0\n The net electrostatic charge of this Molecule.\nmolecular_multiplicity : int, Default: 1\n The total multiplicity of this Molecule.\nmasses_ : Array, Optional\n An ordered 1-D array-like object of atomic masses [u] of shape (nat,). Index order matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. If this is not provided, the mass of each atom is inferred from their most common isotope. If this is provided, it must be the same length as ``symbols`` but can accept ``None`` entries for standard masses to infer from the same index in the ``symbols`` field.\nreal_ : Array, Optional\n An ordered 1-D array-like object of shape (nat,) indicating if each atom is real (``True``) or ghost/virtual (``False``). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and the first dimension of ``geometry``. If this is not provided, all atoms are assumed to be real (``True``).If this is provided, the reality or ghostality of every atom must be specified.\natom_labels_ : Array, Optional\n Additional per-atom labels as a 1-D array-like of of strings of shape (nat,). Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the ``comments`` field for general human-consumable text to affix to the Molecule.\natomic_numbers_ : Array, Optional\n An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the ``symbols`` list if not explicitly set.\nmass_numbers_ : Array, Optional\n An optional ordered 1-D array-like object of atomic *mass* numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the most common isotopes of the ``symbols`` list if not explicitly set.\nconnectivity_ : List[Tuple[int, int, float]], Optional\n The connectivity information between each atom in the ``symbols`` array. Each entry in this list is a Tuple of ``(atom_index_A, atom_index_B, bond_order)`` where the ``atom_index`` matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nfragments_ : List[Array], Optional\n An indication of which sets of atoms are fragments within the Molecule. This is a list of shape (nfr) of 1-D array-like objects of arbitrary length. Each entry in the list indicates a new fragment. The index of the list matches the 0-indexed indices of ``fragment_charges`` and ``fragment_multiplicities``. The 1-D array-like objects are sets of atom indices indicating the atoms which compose the fragment. The atom indices match the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nfragment_charges_ : List[float], Optional\n The total charge of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).\nfragment_multiplicities_ : List[int], Optional\n The multiplicity of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).\nfix_com : bool, Default: False\n An indicator which prevents pre-processing the Molecule object to translate the Center-of-Mass to (0,0,0) in euclidean coordinate space. Will result in a different ``geometry`` than the one provided if False.\nfix_orientation : bool, Default: False\n An indicator which prevents pre-processes the Molecule object to orient via the inertia tensor.Will result in a different ``geometry`` than the one provided if False.\nfix_symmetry : str, Optional\n Maximal point group symmetry which ``geometry`` should be treated. Lowercase.\nprovenance : :class:`Provenance`, Default: {'creator': 'QCElemental', 'version': 'v0.13.1+27.g8d1e857.dirty', 'routine': 'qcelemental.models.molecule'}\n The provenance information about how this Molecule (and its attributes) were generated, provided, and manipulated.\nid : Any, Optional\n A unique identifier for this Molecule object. This field exists primarily for Databases (e.g. Fractal's Server) to track and lookup this specific object and should virtually never need to be manually set.\nextras : Dict[str, Any], Optional\n Extra information to associate with this Molecule.", + "type": "object", + "properties": { + "schema_name": { + "title": "Schema Name", + "description": "The QCSchema specification this model conforms to. Explicitly fixed as qcschema_molecule.", + "default": "qcschema_molecule", + "type": "string", + "pattern": "qcschema_molecule" + }, + "schema_version": { + "title": "Schema Version", + "description": "The version number of ``schema_name`` that this Molecule model conforms to.", + "default": 2, + "type": "integer" + }, + "validated": { + "title": "Validated", + "description": "A boolean indicator (for speed purposes) that the input Molecule data has been previously checked for schema (data layout and type) and physics (e.g., non-overlapping atoms, feasible multiplicity) compliance. This should be False in most cases. A ``True`` setting should only ever be set by the constructor for this class itself or other trusted sources such as a Fractal Server or previously serialized Molecules.", + "default": false, + "type": "boolean" + }, + "symbols": { + "title": "Symbols", + "description": "An ordered (nat,) array-like object of atomic elemental symbols of shape (nat,). The index of this attribute sets atomic order for all other per-atom setting like ``real`` and the first dimension of ``geometry``. Ghost/Virtual atoms must have an entry in this array-like and are indicated by the matching the 0-indexed indices in ``real`` field.", + "type": "array", + "items": { + "type": "string" + } + }, + "geometry": { + "title": "Geometry", + "description": "An ordered (nat,3) array-like for XYZ atomic coordinates [a0]. Atom ordering is fixed; that is, a consumer who shuffles atoms must not reattach the input (pre-shuffling) molecule schema instance to any output (post-shuffling) per-atom results (e.g., gradient). Index of the first dimension matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.\nCan also accept array-likes which can be mapped to (nat,3) such as a 1-D list of length 3*nat, or the serialized version of the array in (3*nat,) shape; all forms will be reshaped to (nat,3) for this attribute.", + "type": "array", + "items": { + "type": "number" + } + }, + "name": { + "title": "Name", + "description": "A common or human-readable name to assign to this molecule. Can be arbitrary.", + "type": "string" + }, + "identifiers": { + "title": "Identifiers", + "description": "An optional dictionary of additional identifiers by which this Molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:``Identifiers`` model for more details.", + "allOf": [ + { + "$ref": "#/definitions/Identifiers" + } + ] + }, + "comment": { + "title": "Comment", + "description": "Additional comments for this Molecule. Intended for pure human/user consumption and clarity.", + "type": "string" + }, + "molecular_charge": { + "title": "Molecular Charge", + "description": "The net electrostatic charge of this Molecule.", + "default": 0.0, + "type": "number" + }, + "molecular_multiplicity": { + "title": "Molecular Multiplicity", + "description": "The total multiplicity of this Molecule.", + "default": 1, + "type": "integer" + }, + "masses": { + "title": "Masses", + "description": "An ordered 1-D array-like object of atomic masses [u] of shape (nat,). Index order matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. If this is not provided, the mass of each atom is inferred from their most common isotope. If this is provided, it must be the same length as ``symbols`` but can accept ``None`` entries for standard masses to infer from the same index in the ``symbols`` field.", + "type": "array", + "items": { + "type": "number" + } + }, + "real": { + "title": "Real", + "description": "An ordered 1-D array-like object of shape (nat,) indicating if each atom is real (``True``) or ghost/virtual (``False``). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and the first dimension of ``geometry``. If this is not provided, all atoms are assumed to be real (``True``).If this is provided, the reality or ghostality of every atom must be specified.", + "type": "array", + "items": { + "type": "boolean" + } + }, + "atom_labels": { + "title": "Atom Labels", + "description": "Additional per-atom labels as a 1-D array-like of of strings of shape (nat,). Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the ``comments`` field for general human-consumable text to affix to the Molecule.", + "type": "array", + "items": { + "type": "string" + } + }, + "atomic_numbers": { + "title": "Atomic Numbers", + "description": "An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the ``symbols`` list if not explicitly set.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "mass_numbers": { + "title": "Mass Numbers", + "description": "An optional ordered 1-D array-like object of atomic *mass* numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``. Values are inferred from the most common isotopes of the ``symbols`` list if not explicitly set.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "connectivity": { + "title": "Connectivity", + "description": "The connectivity information between each atom in the ``symbols`` array. Each entry in this list is a Tuple of ``(atom_index_A, atom_index_B, bond_order)`` where the ``atom_index`` matches the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.", + "type": "array", + "items": { + "type": "array", + "items": [ + { + "type": "integer" + }, + { + "type": "integer" + }, + { + "type": "number" + } + ] + } + }, + "fragments": { + "title": "Fragments", + "description": "An indication of which sets of atoms are fragments within the Molecule. This is a list of shape (nfr) of 1-D array-like objects of arbitrary length. Each entry in the list indicates a new fragment. The index of the list matches the 0-indexed indices of ``fragment_charges`` and ``fragment_multiplicities``. The 1-D array-like objects are sets of atom indices indicating the atoms which compose the fragment. The atom indices match the 0-indexed indices of all other per-atom settings like ``symbols`` and ``real``.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + } + }, + "fragment_charges": { + "title": "Fragment Charges", + "description": "The total charge of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).", + "type": "array", + "items": { + "type": "number" + } + }, + "fragment_multiplicities": { + "title": "Fragment Multiplicities", + "description": "The multiplicity of each fragment in the ``fragments`` list of shape (nfr,). The index of this list matches the 0-index indices of ``fragment`` list. Will be filled in based on a set of rules if not provided (and ``fragments`` are specified).", + "type": "array", + "items": { + "type": "integer" + } + }, + "fix_com": { + "title": "Fix Com", + "description": "An indicator which prevents pre-processing the Molecule object to translate the Center-of-Mass to (0,0,0) in euclidean coordinate space. Will result in a different ``geometry`` than the one provided if False.", + "default": false, + "type": "boolean" + }, + "fix_orientation": { + "title": "Fix Orientation", + "description": "An indicator which prevents pre-processes the Molecule object to orient via the inertia tensor.Will result in a different ``geometry`` than the one provided if False.", + "default": false, + "type": "boolean" + }, + "fix_symmetry": { + "title": "Fix Symmetry", + "description": "Maximal point group symmetry which ``geometry`` should be treated. Lowercase.", + "type": "string" + }, + "provenance": { + "title": "Provenance", + "description": "The provenance information about how this Molecule (and its attributes) were generated, provided, and manipulated.", + "default": { + "creator": "QCElemental", + "version": "v0.13.1+27.g8d1e857.dirty", + "routine": "qcelemental.models.molecule" + }, + "allOf": [ + { + "$ref": "#/definitions/Provenance" + } + ] + }, + "id": { + "title": "Id", + "description": "A unique identifier for this Molecule object. This field exists primarily for Databases (e.g. Fractal's Server) to track and lookup this specific object and should virtually never need to be manually set." + }, + "extras": { + "title": "Extras", + "description": "Extra information to associate with this Molecule.", + "type": "object" + } + }, + "required": [ + "symbols", + "geometry" + ], + "additionalProperties": false, + "definitions": { + "Identifiers": { + "title": "Identifiers", + "description": "Canonical chemical identifiers\n\nParameters\n----------\nmolecule_hash : str, Optional\nmolecular_formula : str, Optional\nsmiles : str, Optional\ninchi : str, Optional\ninchikey : str, Optional\ncanonical_explicit_hydrogen_smiles : str, Optional\ncanonical_isomeric_explicit_hydrogen_mapped_smiles : str, Optional\ncanonical_isomeric_explicit_hydrogen_smiles : str, Optional\ncanonical_isomeric_smiles : str, Optional\ncanonical_smiles : str, Optional\npubchem_cid : str, Optional\n PubChem Compound ID\npubchem_sid : str, Optional\n PubChem Substance ID\npubchem_conformerid : str, Optional\n PubChem Conformer ID", + "type": "object", + "properties": { + "molecule_hash": { + "title": "Molecule Hash", + "type": "string" + }, + "molecular_formula": { + "title": "Molecular Formula", + "type": "string" + }, + "smiles": { + "title": "Smiles", + "type": "string" + }, + "inchi": { + "title": "Inchi", + "type": "string" + }, + "inchikey": { + "title": "Inchikey", + "type": "string" + }, + "canonical_explicit_hydrogen_smiles": { + "title": "Canonical Explicit Hydrogen Smiles", + "type": "string" + }, + "canonical_isomeric_explicit_hydrogen_mapped_smiles": { + "title": "Canonical Isomeric Explicit Hydrogen Mapped Smiles", + "type": "string" + }, + "canonical_isomeric_explicit_hydrogen_smiles": { + "title": "Canonical Isomeric Explicit Hydrogen Smiles", + "type": "string" + }, + "canonical_isomeric_smiles": { + "title": "Canonical Isomeric Smiles", + "type": "string" + }, + "canonical_smiles": { + "title": "Canonical Smiles", + "type": "string" + }, + "pubchem_cid": { + "title": "Pubchem Cid", + "description": "PubChem Compound ID", + "type": "string" + }, + "pubchem_sid": { + "title": "Pubchem Sid", + "description": "PubChem Substance ID", + "type": "string" + }, + "pubchem_conformerid": { + "title": "Pubchem Conformerid", + "description": "PubChem Conformer ID", + "type": "string" + } + }, + "additionalProperties": false + }, + "Provenance": { + "title": "Provenance", + "description": "Provenance information.\n\n\nParameters\n----------\ncreator : str\n The creator of the object.\nversion : str, Optional\n The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).\nroutine : str, Optional\n The routine of the creator.", + "type": "object", + "properties": { + "creator": { + "title": "Creator", + "description": "The creator of the object.", + "type": "string" + }, + "version": { + "title": "Version", + "description": "The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).", + "type": "string" + }, + "routine": { + "title": "Routine", + "description": "The routine of the creator.", + "type": "string" + } + }, + "required": [ + "creator" + ] + } + } +} \ No newline at end of file diff --git a/qcschema/Provenance.json b/qcschema/Provenance.json new file mode 100644 index 0000000..3a9372f --- /dev/null +++ b/qcschema/Provenance.json @@ -0,0 +1,25 @@ +{ + "title": "Provenance", + "description": "Provenance information.\n\n\nParameters\n----------\ncreator : str\n The creator of the object.\nversion : str, Optional\n The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).\nroutine : str, Optional\n The routine of the creator.", + "type": "object", + "properties": { + "creator": { + "title": "Creator", + "description": "The creator of the object.", + "type": "string" + }, + "version": { + "title": "Version", + "description": "The version of the creator, which should be sortable by the very broad [PEP 440](https://www.python.org/dev/peps/pep-0440/).", + "type": "string" + }, + "routine": { + "title": "Routine", + "description": "The routine of the creator.", + "type": "string" + } + }, + "required": [ + "creator" + ] +} \ No newline at end of file diff --git a/qcschema/WavefunctionProperties.json b/qcschema/WavefunctionProperties.json new file mode 100644 index 0000000..dd3999c --- /dev/null +++ b/qcschema/WavefunctionProperties.json @@ -0,0 +1,387 @@ +{ + "title": "WavefunctionProperties", + "description": "Parameters\n----------\nbasis : :class:`BasisSet`\n\n A quantum chemistry basis description.\n\n\n Parameters\n ----------\n schema_name : ConstrainedStrValue, Default: qcschema_basis\n schema_version : int, Default: 1\n name : str\n A standard basis name if available (e.g., 'cc-pVDZ').\n description : str, Optional\n A brief description of the basis set.\n center_data : :class:`BasisCenter`\n A mapping of all types of centers available.\n atom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\n nbf : int, Optional\n The number of basis functions.\n\nrestricted : bool\n If the computation was restricted or not (alpha == beta). If True, all beta quantities are skipped.\nh_core_a : Array, Optional\n Alpha-spin core (one-electron) Hamiltonian.\nh_core_b : Array, Optional\n Beta-spin core (one-electron) Hamiltonian.\nh_effective_a : Array, Optional\n Alpha-spin effective core (one-electron) Hamiltonian.\nh_effective_b : Array, Optional\n Beta-spin effective core (one-electron) Hamiltonian \nscf_orbitals_a : Array, Optional\n SCF alpha-spin orbitals.\nscf_orbitals_b : Array, Optional\n SCF beta-spin orbitals.\nscf_density_a : Array, Optional\n SCF alpha-spin density matrix.\nscf_density_b : Array, Optional\n SCF beta-spin density matrix.\nscf_fock_a : Array, Optional\n SCF alpha-spin Fock matrix.\nscf_fock_b : Array, Optional\n SCF beta-spin Fock matrix.\nscf_eigenvalues_a : Array, Optional\n SCF alpha-spin eigenvalues.\nscf_eigenvalues_b : Array, Optional\n SCF beta-spin eigenvalues.\nscf_occupations_a : Array, Optional\n SCF alpha-spin occupations.\nscf_occupations_b : Array, Optional\n SCF beta-spin occupations.\norbitals_a : str, Optional\n Index to the alpha-spin orbitals of the primary return.\norbitals_b : str, Optional\n Index to the beta-spin orbitals of the primary return.\ndensity_a : str, Optional\n Index to the alpha-spin density of the primary return.\ndensity_b : str, Optional\n Index to the beta-spin density of the primary return.\nfock_a : str, Optional\n Index to the alpha-spin Fock matrix of the primary return.\nfock_b : str, Optional\n Index to the beta-spin Fock matrix of the primary return.\neigenvalues_a : str, Optional\n Index to the alpha-spin eigenvalues of the primary return.\neigenvalues_b : str, Optional\n Index to the beta-spin eigenvalues of the primary return.\noccupations_a : str, Optional\n Index to the alpha-spin orbital eigenvalues of the primary return.\noccupations_b : str, Optional\n Index to the beta-spin orbital eigenvalues of the primary return.", + "type": "object", + "properties": { + "basis": { + "title": "Basis", + "description": "\nA quantum chemistry basis description.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_basis\nschema_version : int, Default: 1\nname : str\n A standard basis name if available (e.g., 'cc-pVDZ').\ndescription : str, Optional\n A brief description of the basis set.\ncenter_data : :class:`BasisCenter`\n A mapping of all types of centers available.\natom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\nnbf : int, Optional\n The number of basis functions.\n", + "allOf": [ + { + "$ref": "#/definitions/BasisSet" + } + ] + }, + "restricted": { + "title": "Restricted", + "description": "If the computation was restricted or not (alpha == beta). If True, all beta quantities are skipped.", + "type": "boolean" + }, + "h_core_a": { + "title": "H Core A", + "description": "Alpha-spin core (one-electron) Hamiltonian.", + "type": "array", + "items": { + "type": "number" + } + }, + "h_core_b": { + "title": "H Core B", + "description": "Beta-spin core (one-electron) Hamiltonian.", + "type": "array", + "items": { + "type": "number" + } + }, + "h_effective_a": { + "title": "H Effective A", + "description": "Alpha-spin effective core (one-electron) Hamiltonian.", + "type": "array", + "items": { + "type": "number" + } + }, + "h_effective_b": { + "title": "H Effective B", + "description": "Beta-spin effective core (one-electron) Hamiltonian ", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_orbitals_a": { + "title": "Scf Orbitals A", + "description": "SCF alpha-spin orbitals.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_orbitals_b": { + "title": "Scf Orbitals B", + "description": "SCF beta-spin orbitals.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_density_a": { + "title": "Scf Density A", + "description": "SCF alpha-spin density matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_density_b": { + "title": "Scf Density B", + "description": "SCF beta-spin density matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_fock_a": { + "title": "Scf Fock A", + "description": "SCF alpha-spin Fock matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_fock_b": { + "title": "Scf Fock B", + "description": "SCF beta-spin Fock matrix.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_eigenvalues_a": { + "title": "Scf Eigenvalues A", + "description": "SCF alpha-spin eigenvalues.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_eigenvalues_b": { + "title": "Scf Eigenvalues B", + "description": "SCF beta-spin eigenvalues.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_occupations_a": { + "title": "Scf Occupations A", + "description": "SCF alpha-spin occupations.", + "type": "array", + "items": { + "type": "number" + } + }, + "scf_occupations_b": { + "title": "Scf Occupations B", + "description": "SCF beta-spin occupations.", + "type": "array", + "items": { + "type": "number" + } + }, + "orbitals_a": { + "title": "Orbitals A", + "description": "Index to the alpha-spin orbitals of the primary return.", + "type": "string" + }, + "orbitals_b": { + "title": "Orbitals B", + "description": "Index to the beta-spin orbitals of the primary return.", + "type": "string" + }, + "density_a": { + "title": "Density A", + "description": "Index to the alpha-spin density of the primary return.", + "type": "string" + }, + "density_b": { + "title": "Density B", + "description": "Index to the beta-spin density of the primary return.", + "type": "string" + }, + "fock_a": { + "title": "Fock A", + "description": "Index to the alpha-spin Fock matrix of the primary return.", + "type": "string" + }, + "fock_b": { + "title": "Fock B", + "description": "Index to the beta-spin Fock matrix of the primary return.", + "type": "string" + }, + "eigenvalues_a": { + "title": "Eigenvalues A", + "description": "Index to the alpha-spin eigenvalues of the primary return.", + "type": "string" + }, + "eigenvalues_b": { + "title": "Eigenvalues B", + "description": "Index to the beta-spin eigenvalues of the primary return.", + "type": "string" + }, + "occupations_a": { + "title": "Occupations A", + "description": "Index to the alpha-spin orbital eigenvalues of the primary return.", + "type": "string" + }, + "occupations_b": { + "title": "Occupations B", + "description": "Index to the beta-spin orbital eigenvalues of the primary return.", + "type": "string" + } + }, + "required": [ + "basis", + "restricted" + ], + "additionalProperties": false, + "definitions": { + "ElectronShell": { + "title": "ElectronShell", + "description": "Information for a single electronic shell\n\n\nParameters\n----------\nangular_momentum : List[int]\n Angular momentum for this shell.\nharmonic_type : {spherical,cartesian}\n\n The angular momentum representation of a shell.\n \nexponents : List[float]\n Exponents for this contracted shell.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for this shell.", + "type": "array", + "items": { + "type": "integer" + } + }, + "harmonic_type": { + "title": "Harmonic Type", + "description": "\n The angular momentum representation of a shell.\n ", + "enum": [ + "spherical", + "cartesian" + ], + "type": "string" + }, + "exponents": { + "title": "Exponents", + "description": "Exponents for this contracted shell.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "required": [ + "angular_momentum", + "harmonic_type", + "exponents", + "coefficients" + ], + "additionalProperties": false + }, + "ECPPotential": { + "title": "ECPPotential", + "description": "Information for a single ECP potential.\n\n\nParameters\n----------\necp_type : {scalar,spinorbit}\n\n The type of the ECP potential.\n \nangular_momentum : List[int]\n Angular momentum for the ECPs.\nr_exponents : List[int]\n Exponents of the 'r' term.\ngaussian_exponents : List[float]\n Exponents of the 'gaussian' term.\ncoefficients : List[List[float]]\n General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "object", + "properties": { + "ecp_type": { + "title": "Ecp Type", + "description": "\n The type of the ECP potential.\n ", + "enum": [ + "scalar", + "spinorbit" + ], + "type": "string" + }, + "angular_momentum": { + "title": "Angular Momentum", + "description": "Angular momentum for the ECPs.", + "type": "array", + "items": { + "type": "integer" + } + }, + "r_exponents": { + "title": "R Exponents", + "description": "Exponents of the 'r' term.", + "type": "array", + "items": { + "type": "integer" + } + }, + "gaussian_exponents": { + "title": "Gaussian Exponents", + "description": "Exponents of the 'gaussian' term.", + "type": "array", + "items": { + "type": "number" + } + }, + "coefficients": { + "title": "Coefficients", + "description": "General contraction coefficients for this shell, individual list components will be the individual segment contraction coefficients.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "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.\n\n\nParameters\n----------\nelectron_shells : :class:`ElectronShell`\n Electronic shells for this center.\necp_electrons : int, Default: 0\n Number of electrons replace by ECP potentials.\necp_potentials : :class:`ECPPotential`, Optional\n ECPs for this center.", + "type": "object", + "properties": { + "electron_shells": { + "title": "Electron Shells", + "description": "Electronic shells for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ElectronShell" + } + }, + "ecp_electrons": { + "title": "Ecp Electrons", + "description": "Number of electrons replace by ECP potentials.", + "default": 0, + "type": "integer" + }, + "ecp_potentials": { + "title": "Ecp Potentials", + "description": "ECPs for this center.", + "type": "array", + "items": { + "$ref": "#/definitions/ECPPotential" + } + } + }, + "required": [ + "electron_shells" + ], + "additionalProperties": false + }, + "BasisSet": { + "title": "BasisSet", + "description": "A quantum chemistry basis description.\n\n\nParameters\n----------\nschema_name : ConstrainedStrValue, Default: qcschema_basis\nschema_version : int, Default: 1\nname : str\n A standard basis name if available (e.g., 'cc-pVDZ').\ndescription : str, Optional\n A brief description of the basis set.\ncenter_data : :class:`BasisCenter`\n A mapping of all types of centers available.\natom_map : List[str]\n Mapping of all centers in the parent molecule to centers in `center_data`.\nnbf : int, Optional\n The number of basis functions.", + "type": "object", + "properties": { + "schema_name": { + "title": "Schema Name", + "default": "qcschema_basis", + "type": "string", + "pattern": "qcschema_basis" + }, + "schema_version": { + "title": "Schema Version", + "default": 1, + "type": "integer" + }, + "name": { + "title": "Name", + "description": "A standard basis name if available (e.g., 'cc-pVDZ').", + "type": "string" + }, + "description": { + "title": "Description", + "description": "A brief description of the basis set.", + "type": "string" + }, + "center_data": { + "title": "Center Data", + "description": "A mapping of all types of centers available.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/BasisCenter" + } + }, + "atom_map": { + "title": "Atom Map", + "description": "Mapping of all centers in the parent molecule to centers in `center_data`.", + "type": "array", + "items": { + "type": "string" + } + }, + "nbf": { + "title": "Nbf", + "description": "The number of basis functions.", + "type": "integer" + } + }, + "required": [ + "name", + "center_data", + "atom_map" + ], + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/qcschema/__init__.py b/qcschema/__init__.py deleted file mode 100644 index ca5ffda..0000000 --- a/qcschema/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -""" -The main init functions of the QC Schema project -""" - -from . import dev -from .validate import validate -from .versions import list_versions, get_schema diff --git a/qcschema/data/__init__.py b/qcschema/data/__init__.py deleted file mode 100644 index f2e314d..0000000 --- a/qcschema/data/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -Full versions of the schema will be inserted here. -""" diff --git a/qcschema/data/v1/__init__.py b/qcschema/data/v1/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/qcschema/data/v1/qc_schema_input.schema b/qcschema/data/v1/qc_schema_input.schema deleted file mode 100644 index f5c3db2..0000000 --- a/qcschema/data/v1/qc_schema_input.schema +++ /dev/null @@ -1 +0,0 @@ -{"$schema": "http://json-schema.org/draft-04/schema#", "name": "qc_schema_input", "version": 1, "description": "The MolSSI Quantum Chemistry Schema", "type": "object", "properties": {"molecule": {"$schema": "http://json-schema.org/draft-04/schema#", "name": "qc_schema_molecule", "version": 1, "description": "The physical cartesian representation of the molecular system", "type": "object", "properties": {"symbols": {"description": "(nat, ) atom symbols in title case.", "type": "array", "items": {"type": "string"}}, "geometry": {"description": "(3 * nat, ) vector of XYZ coordinates of the atoms.", "type": "array", "items": {"type": "number"}}, "masses": {"description": "(nat, ) atom masses [u]; canonical weights assumed if not given.", "type": "array", "items": {"type": "number"}}, "name": {"description": "The name of the molecule.", "type": "string"}, "comment": {"description": "Any additional comment one would attach to the molecule.", "type": "string"}, "molecular_charge": {"description": "The overall charge of the molecule.", "type": "number", "default": 0.0}, "molecular_multiplicity": {"description": "The overall multiplicity of the molecule.", "type": "number", "multipleOf": 1.0, "default": 1}, "real": {"description": "(nat, ) list describing if atoms are real (T) or ghost (F).", "type": "array", "items": {"type": "boolean"}}, "connectivity": {"description": "(nat, ) list describing bonds within a molecule. Each element is a (atom1, atom2, order) tuple.", "type": "array", "items": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number", "minimum": 0, "maximum": 5}}}, "fragments": {"description": "(nfr, -1) list of indices (0-indexed) grouping atoms into molecular fragments within the topology.", "type": "array", "items": {"type": "array", "items": {"type": "number", "multipleOf": 1.0}}}, "fragment_charges": {"description": "(nfr, ) list of charges associated with each fragment tuple.", "type": "array", "items": {"type": "number"}}, "fragment_multiplicities": {"description": "(nfr, ) list of multiplicities associated with each fragment tuple.", "type": "array", "items": {"type": "number", "multipleOf": 1.0}}, "fix_com": {"description": "Whether translation of geometry is allowed (fix F) or disallowed (fix T).", "type": "boolean", "default": false}, "fix_orientation": {"description": "Whether rotation of geometry is allowed (fix F) or disallowed (fix T).", "type": "boolean", "default": false}, "provenance": {"type": "object", "$ref": "#/definitions/provenance"}}, "required": ["symbols", "geometry"]}, "schema_name": {"type": "string", "pattern": "\\W*(qc_schema_input)\\W*"}, "schema_version": {"type": "integer"}, "driver": {"definition": "The type of computation requested", "enum": ["energy", "gradient", "hessian"]}, "model": {"definition": "The method and basis specification requested", "properties": {"method": {"type": "string"}, "basis": {"type": "string"}, "basis_spec": {"$ref": "#/definitions/basis_spec"}}, "required": ["method"], "oneOf": [{"required": ["basis"]}, {"required": ["basis_spec"]}], "description": "The quantum chemistry model to be run."}, "keywords": {"type": "object", "description": "Program specific parameters to be used."}, "provenance": {"anyOf": [{"type": "object", "$ref": "#/definitions/provenance"}, {"type": "array", "items": {"type": "object", "$ref": "#/definitions/provenance"}}]}}, "required": ["schema_name", "schema_version", "molecule", "driver", "keywords", "model"], "definitions": {"error": {"properties": {"error_type": {"description": "The type of error raised.", "enum": ["convergence_error", "file_error", "memory_error"]}, "error_message": {"description": "A description of the raised error.", "type": "string"}}, "required": ["error_type", "error_message"], "description": "The type of error message raised.", "additionalProperties": false}, "provenance": {"properties": {"creator": {"description": "The name of the person or program who created this object.", "type": "string"}, "version": {"description": "The version of the program which created this object, blank otherwise.", "type": "string"}, "routine": {"description": "The routine of the program which created this object, blank otherwise.", "type": "string"}}, "required": ["creator"], "description": "A short provenance of the object.", "additionalProperties": true}, "basis_electron_shell": {"description": "Information for a single electronic shell", "additionalProperties": false, "required": ["shell_angular_momentum", "shell_exponents", "shell_coefficients"], "properties": {"shell_region": {"description": "The region this shell describes", "type": "string", "enum": ["valence", "polarization", "core", "tight", "diffuse"]}, "shell_angular_momentum": {"description": "Angular momentum (as an array of integers)", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "integer", "minimum": 0}}, "shell_exponents": {"description": "Exponents for this contracted shell", "type": "array", "minItems": 1, "items": {"type": "string"}}, "shell_coefficients": {"description": "General contraction coefficients for this contracted shell", "type": "array", "minItems": 1, "items": {"description": "Segmented contraction coefficients", "type": "array", "minItems": 1, "items": {"type": "string"}}}}}, "basis_ecp_potential": {"description": "ECP potential", "additionalProperties": false, "required": ["potential_ecp_type", "potential_angular_momentum", "potential_r_exponents", "potential_gaussian_exponents", "potential_coefficients"], "properties": {"potential_ecp_type": {"description": "Type of the ECP Potential", "type": "string", "enum": ["scalar", "spinorbit"]}, "potential_angular_momentum": {"description": "Angular momentum (as an array of integers)", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "integer", "minimum": 0}}, "potential_r_exponents": {"description": "Exponents of the r term", "type": "array", "minItems": 1, "items": {"type": "integer"}}, "potential_gaussian_exponents": {"description": "Exponents of the gaussian term", "type": "array", "minItems": 1, "items": {"type": "string"}}, "potential_coefficients": {"description": "General contraction coefficients for this contracted shell", "type": "array", "minItems": 1, "items": {"description": "Segmented contraction coefficients", "type": "array", "minItems": 1, "items": {"type": "string"}}}}}, "basis_single_data": {"description": "Data for a single atom/center in the basis set", "type": "object", "additionalProperties": false, "properties": {"element_electron_shells": {"description": "(Electronic) shells for this element", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/definitions/basis_electron_shell"}}, "element_ecp_electrons": {"description": "Number of electrons replaced by ECP", "type": "integer", "minimum": 1}, "element_ecp": {"description": "Effective Core Potential for this element", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/definitions/basis_ecp_potential"}}}}, "basis_spec": {"description": "Specification for a basis applied to a molecule", "type": "object", "additionalProperties": false, "properties": {"basis_set_description": {"description": "Brief description of the basis set", "type": "string"}, "basis_function_type": {"description": "Type of function for this basis", "type": "string", "enum": ["gto", "sto"]}, "basis_harmonic_type": {"description": "Harmonic type (spherical, cartesian)", "type": "string", "enum": ["spherical", "cartesian"]}, "basis_set_elements": {"description": "Per-element basis data", "type": "object", "additionalProperties": false, "patternProperties": {"^\\d+$": {"$ref": "#/definitions/basis_single_data"}}}, "basis_set_atoms": {"description": "Basis set overrides for particular atoms or centers", "type": "object", "additionalProperties": false, "patternProperties": {"^\\d+$": {"$ref": "#/definitions/basis_single_data"}}}}}}} \ No newline at end of file diff --git a/qcschema/data/v1/qc_schema_molecule.schema b/qcschema/data/v1/qc_schema_molecule.schema deleted file mode 100644 index ef57893..0000000 --- a/qcschema/data/v1/qc_schema_molecule.schema +++ /dev/null @@ -1 +0,0 @@ -{"$schema": "http://json-schema.org/draft-04/schema#", "name": "qc_schema_molecule", "version": 1, "description": "The physical cartesian representation of the molecular system", "type": "object", "properties": {"symbols": {"description": "(nat, ) atom symbols in title case.", "type": "array", "items": {"type": "string"}}, "geometry": {"description": "(3 * nat, ) vector of XYZ coordinates of the atoms.", "type": "array", "items": {"type": "number"}}, "masses": {"description": "(nat, ) atom masses [u]; canonical weights assumed if not given.", "type": "array", "items": {"type": "number"}}, "name": {"description": "The name of the molecule.", "type": "string"}, "comment": {"description": "Any additional comment one would attach to the molecule.", "type": "string"}, "molecular_charge": {"description": "The overall charge of the molecule.", "type": "number", "default": 0.0}, "molecular_multiplicity": {"description": "The overall multiplicity of the molecule.", "type": "number", "multipleOf": 1.0, "default": 1}, "real": {"description": "(nat, ) list describing if atoms are real (T) or ghost (F).", "type": "array", "items": {"type": "boolean"}}, "connectivity": {"description": "(nat, ) list describing bonds within a molecule. Each element is a (atom1, atom2, order) tuple.", "type": "array", "items": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number", "minimum": 0, "maximum": 5}}}, "fragments": {"description": "(nfr, -1) list of indices (0-indexed) grouping atoms into molecular fragments within the topology.", "type": "array", "items": {"type": "array", "items": {"type": "number", "multipleOf": 1.0}}}, "fragment_charges": {"description": "(nfr, ) list of charges associated with each fragment tuple.", "type": "array", "items": {"type": "number"}}, "fragment_multiplicities": {"description": "(nfr, ) list of multiplicities associated with each fragment tuple.", "type": "array", "items": {"type": "number", "multipleOf": 1.0}}, "fix_com": {"description": "Whether translation of geometry is allowed (fix F) or disallowed (fix T).", "type": "boolean", "default": false}, "fix_orientation": {"description": "Whether rotation of geometry is allowed (fix F) or disallowed (fix T).", "type": "boolean", "default": false}, "provenance": {"type": "object", "$ref": "#/definitions/provenance"}}, "required": ["symbols", "geometry"]} \ No newline at end of file diff --git a/qcschema/data/v1/qc_schema_output.schema b/qcschema/data/v1/qc_schema_output.schema deleted file mode 100644 index d70c3bb..0000000 --- a/qcschema/data/v1/qc_schema_output.schema +++ /dev/null @@ -1 +0,0 @@ -{"$schema": "http://json-schema.org/draft-04/schema#", "name": "qc_schema_output", "version": 1, "description": "The MolSSI Quantum Chemistry Schema", "type": "object", "properties": {"molecule": {"$schema": "http://json-schema.org/draft-04/schema#", "name": "qc_schema_molecule", "version": 1, "description": "The physical cartesian representation of the molecular system", "type": "object", "properties": {"symbols": {"description": "(nat, ) atom symbols in title case.", "type": "array", "items": {"type": "string"}}, "geometry": {"description": "(3 * nat, ) vector of XYZ coordinates of the atoms.", "type": "array", "items": {"type": "number"}}, "masses": {"description": "(nat, ) atom masses [u]; canonical weights assumed if not given.", "type": "array", "items": {"type": "number"}}, "name": {"description": "The name of the molecule.", "type": "string"}, "comment": {"description": "Any additional comment one would attach to the molecule.", "type": "string"}, "molecular_charge": {"description": "The overall charge of the molecule.", "type": "number", "default": 0.0}, "molecular_multiplicity": {"description": "The overall multiplicity of the molecule.", "type": "number", "multipleOf": 1.0, "default": 1}, "real": {"description": "(nat, ) list describing if atoms are real (T) or ghost (F).", "type": "array", "items": {"type": "boolean"}}, "connectivity": {"description": "(nat, ) list describing bonds within a molecule. Each element is a (atom1, atom2, order) tuple.", "type": "array", "items": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number", "minimum": 0, "maximum": 5}}}, "fragments": {"description": "(nfr, -1) list of indices (0-indexed) grouping atoms into molecular fragments within the topology.", "type": "array", "items": {"type": "array", "items": {"type": "number", "multipleOf": 1.0}}}, "fragment_charges": {"description": "(nfr, ) list of charges associated with each fragment tuple.", "type": "array", "items": {"type": "number"}}, "fragment_multiplicities": {"description": "(nfr, ) list of multiplicities associated with each fragment tuple.", "type": "array", "items": {"type": "number", "multipleOf": 1.0}}, "fix_com": {"description": "Whether translation of geometry is allowed (fix F) or disallowed (fix T).", "type": "boolean", "default": false}, "fix_orientation": {"description": "Whether rotation of geometry is allowed (fix F) or disallowed (fix T).", "type": "boolean", "default": false}, "provenance": {"type": "object", "$ref": "#/definitions/provenance"}}, "required": ["symbols", "geometry"]}, "schema_name": {"type": "string", "pattern": "\\W*(qc_schema_output)\\W*"}, "schema_version": {"type": "integer"}, "driver": {"definition": "The type of computation requested", "enum": ["energy", "gradient", "hessian"]}, "model": {"definition": "The method and basis specification requested", "properties": {"method": {"type": "string"}, "basis": {"type": "string"}, "basis_spec": {"$ref": "#/definitions/basis_spec"}}, "required": ["method"], "oneOf": [{"required": ["basis"]}, {"required": ["basis_spec"]}], "description": "The quantum chemistry model to be run."}, "keywords": {"type": "object", "description": "Program specific parameters to be used."}, "provenance": {"anyOf": [{"type": "object", "$ref": "#/definitions/provenance"}, {"type": "array", "items": {"type": "object", "$ref": "#/definitions/provenance"}}]}, "properties": {"type": "object", "properties": {"scf_one_electron_energy": {"description": "The one-electron (core Hamiltonina) energy contribution to the total SCF energy.", "type": "number"}, "scf_two_electron_energy": {"type": "number", "description": "The two-electron energy contribution to the total SCF energy."}, "nuclear_repulsion_energy": {"type": "number", "description": "\nThe nuclear repulsion energy contribution to the total SCF energy.\n"}, "scf_vv10_energy": {"type": "number", "description": "The VV10 functional energy contribution to the total SCF energy."}, "scf_xc_energy": {"type": "number", "description": "The functional energy contribution to the total SCF energy."}, "scf_dispersion_correction_energy": {"type": "number", "description": "\nThe dispersion correction appended to an underlying functional\nwhen a DFT-D method is requested.\n"}, "scf_dipole_moment": {"type": "array", "description": "The X, Y, and Z dipole components.", "items": {"type": "number"}}, "scf_total_energy": {"type": "number", "description": "\nThe total electronic energy of the SCF stage of the calculation.\nThis is represented as the sum of the ... quantities.\n"}, "scf_iterations": {"type": "number", "multipleOf": 1.0, "description": "The number of SCF iterations taken before convergence."}, "mp2_same_spin_correlation_energy": {"type": "number", "description": "The unscaled portion of the MP2 correlation energy from same-spin or triplet doubles correlations."}, "mp2_opposite_spin_correlation_energy": {"type": "number", "description": "The unscaled portion of the MP2 correlation energy from opposite-spin or singlet doubles correlations."}, "mp2_singles_energy": {"type": "number", "description": "The singles portion of the MP2 correlation energy. Zero except in ROHF."}, "mp2_doubles_energy": {"type": "number", "description": "The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations."}, "mp2_total_correlation_energy": {"type": "number", "description": "The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations."}, "mp2_total_energy": {"type": "number", "description": "The total MP2 energy (MP2 correlatin energy + HF energy)."}, "calcinfo_nbasis": {"type": "number", "multipleOf": 1.0, "description": "The number of basis functions for the computation."}, "calcinfo_nmo": {"type": "number", "multipleOf": 1.0, "description": "The number of molecular orbitals for the computation."}, "calcinfo_nalpha": {"type": "number", "multipleOf": 1.0, "description": "The number of alpha electrons in the computation."}, "calcinfo_nbeta": {"type": "number", "multipleOf": 1.0, "description": "The number of beta electrons in the computation."}, "calcinfo_natom": {"type": "number", "multipleOf": 1.0, "description": "The number of atoms in the computation."}, "return_energy": {"type": "number", "description": "The energy of the requested method, idential to `return_value` for energy computations."}}, "description": "The resulting properties of a computation", "additionalProperties": false}, "success": {"type": "boolean"}, "error": {"definition": "The type and description of error raised.", "type": "object", "$ref": "#/definitions/error"}, "return_result": {"definition": "The primary specified return of the requested computation.", "anyOf": [{"type": "number"}, {"type": "array", "items": {"type": "number"}}]}}, "required": ["schema_name", "schema_version", "molecule", "driver", "keywords", "model", "provenance", "properties", "success", "return_result"], "definitions": {"error": {"properties": {"error_type": {"description": "The type of error raised.", "enum": ["convergence_error", "file_error", "memory_error"]}, "error_message": {"description": "A description of the raised error.", "type": "string"}}, "required": ["error_type", "error_message"], "description": "The type of error message raised.", "additionalProperties": false}, "provenance": {"properties": {"creator": {"description": "The name of the person or program who created this object.", "type": "string"}, "version": {"description": "The version of the program which created this object, blank otherwise.", "type": "string"}, "routine": {"description": "The routine of the program which created this object, blank otherwise.", "type": "string"}}, "required": ["creator"], "description": "A short provenance of the object.", "additionalProperties": true}, "basis_electron_shell": {"description": "Information for a single electronic shell", "additionalProperties": false, "required": ["shell_angular_momentum", "shell_exponents", "shell_coefficients"], "properties": {"shell_region": {"description": "The region this shell describes", "type": "string", "enum": ["valence", "polarization", "core", "tight", "diffuse"]}, "shell_angular_momentum": {"description": "Angular momentum (as an array of integers)", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "integer", "minimum": 0}}, "shell_exponents": {"description": "Exponents for this contracted shell", "type": "array", "minItems": 1, "items": {"type": "string"}}, "shell_coefficients": {"description": "General contraction coefficients for this contracted shell", "type": "array", "minItems": 1, "items": {"description": "Segmented contraction coefficients", "type": "array", "minItems": 1, "items": {"type": "string"}}}}}, "basis_ecp_potential": {"description": "ECP potential", "additionalProperties": false, "required": ["potential_ecp_type", "potential_angular_momentum", "potential_r_exponents", "potential_gaussian_exponents", "potential_coefficients"], "properties": {"potential_ecp_type": {"description": "Type of the ECP Potential", "type": "string", "enum": ["scalar", "spinorbit"]}, "potential_angular_momentum": {"description": "Angular momentum (as an array of integers)", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "integer", "minimum": 0}}, "potential_r_exponents": {"description": "Exponents of the r term", "type": "array", "minItems": 1, "items": {"type": "integer"}}, "potential_gaussian_exponents": {"description": "Exponents of the gaussian term", "type": "array", "minItems": 1, "items": {"type": "string"}}, "potential_coefficients": {"description": "General contraction coefficients for this contracted shell", "type": "array", "minItems": 1, "items": {"description": "Segmented contraction coefficients", "type": "array", "minItems": 1, "items": {"type": "string"}}}}}, "basis_single_data": {"description": "Data for a single atom/center in the basis set", "type": "object", "additionalProperties": false, "properties": {"element_electron_shells": {"description": "(Electronic) shells for this element", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/definitions/basis_electron_shell"}}, "element_ecp_electrons": {"description": "Number of electrons replaced by ECP", "type": "integer", "minimum": 1}, "element_ecp": {"description": "Effective Core Potential for this element", "type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/definitions/basis_ecp_potential"}}}}, "basis_spec": {"description": "Specification for a basis applied to a molecule", "type": "object", "additionalProperties": false, "properties": {"basis_set_description": {"description": "Brief description of the basis set", "type": "string"}, "basis_function_type": {"description": "Type of function for this basis", "type": "string", "enum": ["gto", "sto"]}, "basis_harmonic_type": {"description": "Harmonic type (spherical, cartesian)", "type": "string", "enum": ["spherical", "cartesian"]}, "basis_set_elements": {"description": "Per-element basis data", "type": "object", "additionalProperties": false, "patternProperties": {"^\\d+$": {"$ref": "#/definitions/basis_single_data"}}}, "basis_set_atoms": {"description": "Basis set overrides for particular atoms or centers", "type": "object", "additionalProperties": false, "patternProperties": {"^\\d+$": {"$ref": "#/definitions/basis_single_data"}}}}}}} \ No newline at end of file diff --git a/qcschema/dev/properties/__init__.py b/qcschema/dev/properties/__init__.py deleted file mode 100644 index a55f7c3..0000000 --- a/qcschema/dev/properties/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .properties_base import properties diff --git a/qcschema/dev/properties/calcinfo_properties.py b/qcschema/dev/properties/calcinfo_properties.py deleted file mode 100644 index f0fe5ab..0000000 --- a/qcschema/dev/properties/calcinfo_properties.py +++ /dev/null @@ -1,40 +0,0 @@ -""" -The complete list of the general computation properties. -""" - -calcinfo_properties = {} - -calcinfo_properties["calcinfo_nbasis"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of basis functions for the computation." -} - -calcinfo_properties["calcinfo_nmo"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of molecular orbitals for the computation." -} - -calcinfo_properties["calcinfo_nalpha"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of alpha electrons in the computation." -} - -calcinfo_properties["calcinfo_nbeta"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of beta electrons in the computation." -} - -calcinfo_properties["calcinfo_natom"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of atoms in the computation." -} - -calcinfo_properties["return_energy"] = { - "type": "number", - "description": "The energy of the requested method, identical to `return_value` for energy computations." -} diff --git a/qcschema/dev/properties/cc_properties.py b/qcschema/dev/properties/cc_properties.py deleted file mode 100644 index 6adb3c9..0000000 --- a/qcschema/dev/properties/cc_properties.py +++ /dev/null @@ -1,137 +0,0 @@ -""" -The complete list of Coupled-Cluster properties. -""" - -cc_properties = {} - -cc_properties["ccsd_same_spin_correlation_energy"] = { - "type": - "number", - "description": - "The portion of CCSD doubles correlation energy from same-spin (i.e. triplet) correlations, without any user scaling." -} - -cc_properties["ccsd_opposite_spin_correlation_energy"] = { - "type": - "number", - "description": - "The portion of CCSD doubles correlation energy from opposite-spin (i.e. singlet) correlations, without any user scaling." -} - -cc_properties["ccsd_singles_energy"] = { - "type": "number", - "description": "The singles portion of the CCSD correlation energy. Zero except in ROHF." -} - -cc_properties["ccsd_doubles_energy"] = { - "type": - "number", - "description": - "The doubles portion of the CCSD correlation energy including same-spin and opposite-spin correlations." -} - -cc_properties['ccsd_correlation_energy'] = { - "type": - "number", - "description": - "The CCSD correlation energy." -} - -cc_properties['ccsd_total_energy'] = { - "type": - "number", - "description": - "The total CCSD energy (CCSD correlation energy + HF energy)." -} - -cc_properties['ccsd_prt_pr_correlation_energy'] = { - "type": - "number", - "description": - "The CCSD(T) correlation energy." -} - -cc_properties['ccsd_prt_pr_total_energy'] = { - "type": - "number", - "description": - "The total CCSD(T) energy (CCSD(T) correlation energy + HF energy)." -} - -cc_properties['ccsdt_correlation_energy'] = { - "type": - "number", - "description": - "The CCSDT correlation energy." -} - -cc_properties['ccsdt_total_energy'] = { - "type": - "number", - "description": - "The total CCSDT energy (CCSDT correlation energy + HF energy)." -} - -cc_properties['ccsdtq_correlation_energy'] = { - "type": - "number", - "description": - "The CCSDTQ correlation energy." -} - -cc_properties['ccsdtq_total_energy'] = { - "type": - "number", - "description": - "The total CCSDTQ energy (CCSDTQ correlation energy + HF energy)." -} - -cc_properties["ccsd_dipole_moment"] = { - "type": "array", - "description": "The CCSD X, Y, and Z dipole components.", - "items": { - "type": "number" - } -} - -cc_properties["ccsd_prt_pr_dipole_moment"] = { - "type": "array", - "description": "The CCSD(T) X, Y, and Z dipole components.", - "items": { - "type": "number" - } -} - -cc_properties["ccsdt_dipole_moment"] = { - "type": "array", - "description": "The CCSDT X, Y, and Z dipole components.", - "items": { - "type": "number" - } -} - -cc_properties["ccsdtq_dipole_moment"] = { - "type": "array", - "description": "The CCSDTQ X, Y, and Z dipole components.", - "items": { - "type": "number" - } -} - -cc_properties["ccsd_iterations"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of CCSD iterations taken before convergence." -} - -cc_properties["ccsdt_iterations"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of CCSDT iterations taken before convergence." -} - -cc_properties["ccsdtq_iterations"] = { - "type": "number", - "multipleOf": 1.0, - "description": "The number of CCSDTQ iterations taken before convergence." -} \ No newline at end of file diff --git a/qcschema/dev/properties/mp_properties.py b/qcschema/dev/properties/mp_properties.py deleted file mode 100644 index 52abd41..0000000 --- a/qcschema/dev/properties/mp_properties.py +++ /dev/null @@ -1,53 +0,0 @@ -""" -The complete list of Moller-Plesset properties. -""" - -mp_properties = {} - -mp_properties["mp2_same_spin_correlation_energy"] = { - "type": - "number", - "description": - "The portion of MP2 doubles correlation energy from same-spin (i.e. triplet) correlations, without any user scaling." -} - -mp_properties["mp2_opposite_spin_correlation_energy"] = { - "type": - "number", - "description": - "The portion of MP2 doubles correlation energy from opposite-spin (i.e. singlet) correlations, without any user scaling." -} - -mp_properties["mp2_singles_energy"] = { - "type": "number", - "description": "The singles portion of the MP2 correlation energy. Zero except in ROHF." -} - -mp_properties["mp2_doubles_energy"] = { - "type": - "number", - "description": - "The doubles portion of the MP2 correlation energy including same-spin and opposite-spin correlations." -} - -mp_properties['mp2_correlation_energy'] = { - "type": - "number", - "description": - "The MP2 correlation energy." -} - -mp_properties['mp2_total_energy'] = { - "type": - "number", - "description": - "The total MP2 energy (MP2 correlation energy + HF energy)." -} - -mp_properties["mp2_dipole_moment"] = { - "type": "array", - "description": "The MP2 X, Y, and Z dipole components.", - "items": { - "type": "number" - } -} diff --git a/qcschema/dev/properties/properties_base.py b/qcschema/dev/properties/properties_base.py deleted file mode 100644 index 285da8a..0000000 --- a/qcschema/dev/properties/properties_base.py +++ /dev/null @@ -1,21 +0,0 @@ -""" -The base file for QC Schema properties. -""" - -from .scf_properties import scf_properties -from .mp_properties import mp_properties -from .cc_properties import cc_properties -from .calcinfo_properties import calcinfo_properties - -properties = { - "type": "object", - "properties": {}, - "description": "The resulting properties of a computation", - "additionalProperties": False -} - -# Update new keys -properties["properties"].update(scf_properties) -properties["properties"].update(mp_properties) -properties["properties"].update(cc_properties) -properties["properties"].update(calcinfo_properties) diff --git a/qcschema/dev/properties/scf_properties.py b/qcschema/dev/properties/scf_properties.py deleted file mode 100644 index b05891f..0000000 --- a/qcschema/dev/properties/scf_properties.py +++ /dev/null @@ -1,69 +0,0 @@ -""" -The complete list of SCF level properties. -""" - -scf_properties = {} - -scf_properties["scf_one_electron_energy"] = { - "description": "The one-electron (core Hamiltonian) energy contribution to the total SCF energy.", - "type": "number" -} - -scf_properties["scf_two_electron_energy"] = { - "type": "number", - "description": "The two-electron energy contribution to the total SCF energy." -} - -scf_properties["nuclear_repulsion_energy"] = { - "type": - "number", - "description": - r""" -The nuclear repulsion energy contribution to the total SCF energy. -""" -# .. math:: E_{NN} = \sum_{i, j