AtomicSpecification

pydantic model qcmanybody.models.AtomicSpecification[source]

Specification for a single point QC calculation

Show JSON schema
{
   "title": "AtomicSpecification",
   "description": "Specification for a single point QC calculation",
   "type": "object",
   "properties": {
      "keywords": {
         "title": "Keywords",
         "description": "The program specific keywords to be used.",
         "default": {},
         "type": "object"
      },
      "program": {
         "title": "Program",
         "description": "The program for which the Specification is intended.",
         "type": "string"
      },
      "schema_name": {
         "title": "Schema Name",
         "default": "qcschema_atomicspecification",
         "enum": [
            "qcschema_atomicspecification"
         ],
         "type": "string"
      },
      "schema_version": {
         "title": "Schema Version",
         "description": "The version number of ``schema_name`` to which this model conforms.",
         "default": 1,
         "enum": [
            1
         ],
         "type": "integer"
      },
      "driver": {
         "description": "Allowed computation driver values.",
         "allOf": [
            {
               "$ref": "#/definitions/DriverEnum"
            }
         ]
      },
      "model": {
         "title": "Model",
         "description": "The computational molecular sciences model to run.",
         "allOf": [
            {
               "$ref": "#/definitions/Model"
            }
         ]
      },
      "protocols": {
         "title": "Protocols",
         "description": "Protocols regarding the manipulation of computational result data.",
         "default": {},
         "allOf": [
            {
               "$ref": "#/definitions/AtomicResultProtocols"
            }
         ]
      },
      "extras": {
         "title": "Extras",
         "description": "Additional information to bundle with the computation. Use for schema development and scratch space.",
         "default": {},
         "type": "object"
      }
   },
   "required": [
      "program",
      "driver",
      "model"
   ],
   "additionalProperties": false,
   "definitions": {
      "DriverEnum": {
         "title": "DriverEnum",
         "description": "Allowed computation driver values.",
         "enum": [
            "energy",
            "gradient",
            "hessian",
            "properties"
         ],
         "type": "string"
      },
      "HarmonicType": {
         "title": "HarmonicType",
         "description": "The angular momentum representation of a shell.",
         "enum": [
            "spherical",
            "cartesian"
         ],
         "type": "string"
      },
      "ElectronShell": {
         "title": "ElectronShell",
         "description": "Information for a single electronic shell.",
         "type": "object",
         "properties": {
            "angular_momentum": {
               "title": "Angular Momentum",
               "description": "Angular momentum for the shell as an array of integers.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "type": "integer",
                  "minimum": 0
               },
               "uniqueItems": true
            },
            "harmonic_type": {
               "description": "The angular momentum representation of a shell.",
               "allOf": [
                  {
                     "$ref": "#/definitions/HarmonicType"
                  }
               ]
            },
            "exponents": {
               "title": "Exponents",
               "description": "Exponents for the contracted shell.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               }
            },
            "coefficients": {
               "title": "Coefficients",
               "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "type": "array",
                  "items": {
                     "anyOf": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "string"
                        }
                     ]
                  },
                  "minItems": 1
               }
            }
         },
         "required": [
            "angular_momentum",
            "harmonic_type",
            "exponents",
            "coefficients"
         ],
         "additionalProperties": false
      },
      "ECPType": {
         "title": "ECPType",
         "description": "The type of the ECP potential.",
         "enum": [
            "scalar",
            "spinorbit"
         ],
         "type": "string"
      },
      "ECPPotential": {
         "title": "ECPPotential",
         "description": "Information for a single ECP potential.",
         "type": "object",
         "properties": {
            "ecp_type": {
               "description": "The type of the ECP potential.",
               "allOf": [
                  {
                     "$ref": "#/definitions/ECPType"
                  }
               ]
            },
            "angular_momentum": {
               "title": "Angular Momentum",
               "description": "Angular momentum for the potential as an array of integers.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "type": "integer",
                  "minimum": 0
               },
               "uniqueItems": true
            },
            "r_exponents": {
               "title": "R Exponents",
               "description": "Exponents of the 'r' term.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "type": "integer"
               }
            },
            "gaussian_exponents": {
               "title": "Gaussian Exponents",
               "description": "Exponents of the 'gaussian' term.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "anyOf": [
                     {
                        "type": "number"
                     },
                     {
                        "type": "string"
                     }
                  ]
               }
            },
            "coefficients": {
               "title": "Coefficients",
               "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "type": "array",
                  "items": {
                     "anyOf": [
                        {
                           "type": "number"
                        },
                        {
                           "type": "string"
                        }
                     ]
                  },
                  "minItems": 1
               }
            }
         },
         "required": [
            "ecp_type",
            "angular_momentum",
            "r_exponents",
            "gaussian_exponents",
            "coefficients"
         ],
         "additionalProperties": false
      },
      "BasisCenter": {
         "title": "BasisCenter",
         "description": "Data for a single atom/center in a basis set.",
         "type": "object",
         "properties": {
            "electron_shells": {
               "title": "Electron Shells",
               "description": "Electronic shells for this center.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "$ref": "#/definitions/ElectronShell"
               },
               "uniqueItems": true
            },
            "ecp_electrons": {
               "title": "Ecp Electrons",
               "description": "Number of electrons replaced by ECP, MCP, or other field potentials.",
               "default": 0,
               "type": "integer"
            },
            "ecp_potentials": {
               "title": "Ecp Potentials",
               "description": "ECPs, MCPs, or other field potentials for this center.",
               "minItems": 1,
               "type": "array",
               "items": {
                  "$ref": "#/definitions/ECPPotential"
               },
               "uniqueItems": true
            }
         },
         "required": [
            "electron_shells"
         ],
         "additionalProperties": false
      },
      "BasisSet": {
         "title": "BasisSet",
         "description": "A quantum chemistry basis description.",
         "type": "object",
         "properties": {
            "schema_name": {
               "title": "Schema Name",
               "description": "The QCSchema specification to which this model conforms. Explicitly fixed as qcschema_basis.",
               "default": "qcschema_basis",
               "pattern": "^(qcschema_basis)$",
               "type": "string"
            },
            "schema_version": {
               "title": "Schema Version",
               "description": "The version number of :attr:`~qcelemental.models.BasisSet.schema_name` to which this model conforms.",
               "default": 1,
               "type": "integer"
            },
            "name": {
               "title": "Name",
               "description": "The standard basis name if available (e.g., 'cc-pVDZ').",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Brief description of the basis set.",
               "type": "string"
            },
            "center_data": {
               "title": "Center Data",
               "description": "Shared basis data for all atoms/centers in the parent molecule",
               "type": "object",
               "additionalProperties": {
                  "$ref": "#/definitions/BasisCenter"
               }
            },
            "atom_map": {
               "title": "Atom Map",
               "description": "Mapping of all atoms/centers in the parent molecule to centers in ``center_data``.",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "nbf": {
               "title": "Nbf",
               "description": "The number of basis functions. Use for convenience or as checksum",
               "type": "integer"
            }
         },
         "required": [
            "name",
            "center_data",
            "atom_map"
         ],
         "additionalProperties": false,
         "$schema": "http://json-schema.org/draft-04/schema#"
      },
      "Model": {
         "title": "Model",
         "description": "The computational molecular sciences model to run.",
         "type": "object",
         "properties": {
            "method": {
               "title": "Method",
               "description": "The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...). For MM, name of the force field.",
               "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. For molecular mechanics, name of the atom-typer.",
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "$ref": "#/definitions/BasisSet"
                  }
               ]
            }
         },
         "required": [
            "method"
         ]
      },
      "WavefunctionProtocolEnum": {
         "title": "WavefunctionProtocolEnum",
         "description": "Wavefunction to keep from a computation.",
         "enum": [
            "all",
            "orbitals_and_eigenvalues",
            "occupations_and_eigenvalues",
            "return_results",
            "none"
         ],
         "type": "string"
      },
      "ErrorCorrectionProtocol": {
         "title": "ErrorCorrectionProtocol",
         "description": "Configuration for how QCEngine handles error correction\n\nWARNING: These protocols are currently experimental and only supported by NWChem tasks",
         "type": "object",
         "properties": {
            "default_policy": {
               "title": "Default Policy",
               "description": "Whether to allow error corrections to be used if not directly specified in `policies`",
               "default": true,
               "type": "boolean"
            },
            "policies": {
               "title": "Policies",
               "description": "Settings that define whether specific error corrections are allowed. Keys are the name of a known error and values are whether it is allowed to be used.",
               "type": "object",
               "additionalProperties": {
                  "type": "boolean"
               }
            }
         },
         "additionalProperties": false
      },
      "NativeFilesProtocolEnum": {
         "title": "NativeFilesProtocolEnum",
         "description": "CMS program files to keep from a computation.",
         "enum": [
            "all",
            "input",
            "none"
         ],
         "type": "string"
      },
      "AtomicResultProtocols": {
         "title": "AtomicResultProtocols",
         "description": "Protocols regarding the manipulation of computational result data.",
         "type": "object",
         "properties": {
            "wavefunction": {
               "description": "Wavefunction to keep from a computation.",
               "default": "none",
               "allOf": [
                  {
                     "$ref": "#/definitions/WavefunctionProtocolEnum"
                  }
               ]
            },
            "stdout": {
               "title": "Stdout",
               "description": "Primary output file to keep from the computation",
               "default": true,
               "type": "boolean"
            },
            "error_correction": {
               "title": "Error Correction",
               "description": "Policies for error correction",
               "allOf": [
                  {
                     "$ref": "#/definitions/ErrorCorrectionProtocol"
                  }
               ]
            },
            "native_files": {
               "description": "Policies for keeping processed files from the computation",
               "default": "none",
               "allOf": [
                  {
                     "$ref": "#/definitions/NativeFilesProtocolEnum"
                  }
               ]
            }
         },
         "additionalProperties": false
      }
   }
}

Fields:
field driver: DriverEnum [Required]

Allowed computation driver values.

field extras: Dict[str, Any] = {}

Additional information to bundle with the computation. Use for schema development and scratch space.

field keywords: Dict[str, Any] = {}

The program specific keywords to be used.

field model: Model [Required]

The computational molecular sciences model to run.

field program: str [Required]

The program for which the Specification is intended.

field protocols: AtomicResultProtocols = AtomicResultProtocols(wavefunction=<WavefunctionProtocolEnum.none: 'none'>, stdout=True, error_correction=ErrorCorrectionProtocol(default_policy=True, policies=None), native_files=<NativeFilesProtocolEnum.none: 'none'>)

Protocols regarding the manipulation of computational result data.

field schema_name: Literal['qcschema_atomicspecification'] = 'qcschema_atomicspecification'
field schema_version: Literal[1] = 1

The version number of schema_name to which this model conforms.