TorsionDriveSpecification
- pydantic model qcelemental.models.v2.TorsionDriveSpecification[source]
Specification for how to run a torsion drive scan.
Show JSON schema
{ "title": "TorsionDriveSpecification", "description": "Specification for how to run a torsion drive scan.", "type": "object", "properties": { "schema_name": { "const": "qcschema_torsion_drive_specification", "default": "qcschema_torsion_drive_specification", "title": "Schema Name", "type": "string" }, "program": { "default": "", "description": "Torsion Drive CMS code / QCEngine procedure with which to run the torsion scan.", "title": "Program", "type": "string" }, "keywords": { "$ref": "#/$defs/TorsionDriveKeywords", "description": "The torsion drive specific keywords to be used." }, "protocols": { "$ref": "#/$defs/TorsionDriveProtocols", "default": {}, "description": "\n Protocols regarding the manipulation of a Torsion Drive subcalculation history.\n " }, "extras": { "additionalProperties": true, "default": {}, "description": "Additional information to bundle with the computation. Use for schema development and scratch space.", "title": "Extras", "type": "object" }, "specification": { "$ref": "#/$defs/OptimizationSpecification", "description": "The specification for how to run optimizations for the torsion scan (within this is spec for gradients for the optimization." } }, "$defs": { "AtomicProtocols": { "additionalProperties": false, "description": "Protocols regarding the manipulation of computational result data.", "properties": { "schema_name": { "const": "qcschema_atomic_protocols", "default": "qcschema_atomic_protocols", "title": "Schema Name", "type": "string" }, "wavefunction": { "$ref": "#/$defs/WavefunctionProtocolEnum", "default": "none" }, "stdout": { "default": true, "description": "Primary output file to keep from the computation", "title": "Stdout", "type": "boolean" }, "error_correction": { "$ref": "#/$defs/ErrorCorrectionProtocol", "description": "Policies for error correction" }, "native_files": { "$ref": "#/$defs/NativeFilesProtocolEnum", "default": "none", "description": "Policies for keeping processed files from the computation" } }, "title": "AtomicProtocols", "type": "object" }, "AtomicSpecification": { "additionalProperties": false, "description": "Specification for a single point QC calculation", "properties": { "schema_name": { "const": "qcschema_atomic_specification", "default": "qcschema_atomic_specification", "title": "Schema Name", "type": "string" }, "keywords": { "additionalProperties": true, "default": {}, "description": "The program specific keywords to be used.", "title": "Keywords", "type": "object" }, "program": { "default": "", "description": "The program for which the Specification is intended.", "title": "Program", "type": "string" }, "driver": { "$ref": "#/$defs/DriverEnum" }, "model": { "$ref": "#/$defs/Model" }, "protocols": { "$ref": "#/$defs/AtomicProtocols", "default": {} }, "extras": { "additionalProperties": true, "default": {}, "description": "Additional information to bundle with the computation. Use for schema development and scratch space.", "title": "Extras", "type": "object" } }, "required": [ "driver", "model" ], "title": "AtomicSpecification", "type": "object" }, "BasisCenter": { "additionalProperties": false, "description": "Data for a single atom/center in a basis set.", "properties": { "electron_shells": { "description": "Electronic shells for this center.", "items": { "$ref": "#/$defs/ElectronShell" }, "minItems": 1, "title": "Electron Shells", "type": "array", "uniqueItems": true }, "ecp_electrons": { "default": 0, "description": "Number of electrons replaced by ECP, MCP, or other field potentials.", "title": "Ecp Electrons", "type": "integer" }, "ecp_potentials": { "anyOf": [ { "items": { "$ref": "#/$defs/ECPPotential" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "ECPs, MCPs, or other field potentials for this center.", "title": "Ecp Potentials", "uniqueItems": true } }, "required": [ "electron_shells" ], "title": "BasisCenter", "type": "object" }, "BasisSet": { "$schema": "http://json-schema.org/draft-04/schema#", "additionalProperties": false, "description": "A quantum chemistry basis description.", "properties": { "schema_name": { "const": "qcschema_basis_set", "default": "qcschema_basis_set", "description": "The QCSchema specification to which this model conforms.", "title": "Schema Name", "type": "string" }, "schema_version": { "const": 2, "default": 2, "description": "The version number of :attr:`~qcelemental.models.BasisSet.schema_name` to which this model conforms.", "title": "Schema Version", "type": "integer" }, "name": { "description": "The standard basis name if available (e.g., 'cc-pVDZ').", "title": "Name", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Brief description of the basis set.", "title": "Description" }, "center_data": { "additionalProperties": { "$ref": "#/$defs/BasisCenter" }, "description": "Shared basis data for all atoms/centers in the parent molecule", "title": "Center Data", "type": "object" }, "atom_map": { "description": "Mapping of all atoms/centers in the parent molecule to centers in ``center_data``.", "items": { "type": "string" }, "title": "Atom Map", "type": "array" }, "nbf": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "The number of basis functions. Use for convenience or as checksum", "title": "Nbf" } }, "required": [ "name", "center_data", "atom_map" ], "title": "BasisSet", "type": "object" }, "DriverEnum": { "description": "Allowed computation driver values.", "enum": [ "energy", "gradient", "hessian", "properties" ], "title": "DriverEnum", "type": "string" }, "ECPPotential": { "additionalProperties": false, "description": "Information for a single ECP potential.", "properties": { "ecp_type": { "$ref": "#/$defs/ECPType" }, "angular_momentum": { "description": "Angular momentum for the potential as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "r_exponents": { "description": "Exponents of the 'r' term.", "items": { "type": "integer" }, "minItems": 1, "title": "R Exponents", "type": "array" }, "gaussian_exponents": { "description": "Exponents of the 'gaussian' term.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Gaussian Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the potential; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "required": [ "ecp_type", "angular_momentum", "r_exponents", "gaussian_exponents", "coefficients" ], "title": "ECPPotential", "type": "object" }, "ECPType": { "description": "The type of the ECP potential.", "enum": [ "scalar", "spinorbit" ], "title": "ECPType", "type": "string" }, "ElectronShell": { "additionalProperties": false, "description": "Information for a single electronic shell.", "properties": { "angular_momentum": { "description": "Angular momentum for the shell as an array of integers.", "items": { "minimum": 0, "type": "integer" }, "minItems": 1, "title": "Angular Momentum", "type": "array", "uniqueItems": true }, "harmonic_type": { "$ref": "#/$defs/HarmonicType" }, "exponents": { "description": "Exponents for the contracted shell.", "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "minItems": 1, "title": "Exponents", "type": "array" }, "coefficients": { "description": "General contraction coefficients for the shell; individual list components will be the individual segment contraction coefficients.", "items": { "items": { "anyOf": [ { "type": "number" }, { "type": "string" } ] }, "type": "array" }, "minItems": 1, "title": "Coefficients", "type": "array" } }, "required": [ "angular_momentum", "harmonic_type", "exponents", "coefficients" ], "title": "ElectronShell", "type": "object" }, "ErrorCorrectionProtocol": { "additionalProperties": false, "description": "Configuration for how QCEngine handles error correction\n\nWARNING: These protocols are currently experimental and only supported by NWChem tasks", "properties": { "default_policy": { "default": true, "description": "Whether to allow error corrections to be used if not directly specified in `policies`", "title": "Default Policy", "type": "boolean" }, "policies": { "anyOf": [ { "additionalProperties": { "type": "boolean" }, "type": "object" }, { "type": "null" } ], "default": null, "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.", "title": "Policies" } }, "title": "ErrorCorrectionProtocol", "type": "object" }, "HarmonicType": { "description": "The angular momentum representation of a shell.", "enum": [ "spherical", "cartesian" ], "title": "HarmonicType", "type": "string" }, "Model": { "additionalProperties": true, "description": "The computational molecular sciences model to run.", "properties": { "method": { "description": "The quantum chemistry method to evaluate (e.g., B3LYP, PBE, ...). For MM, name of the force field.", "title": "Method", "type": "string" }, "basis": { "anyOf": [ { "type": "string" }, { "$ref": "#/$defs/BasisSet" }, { "type": "null" } ], "default": null, "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.", "title": "Basis" } }, "required": [ "method" ], "title": "Model", "type": "object" }, "NativeFilesProtocolEnum": { "description": "CMS program files to keep from a computation.", "enum": [ "all", "input", "none" ], "title": "NativeFilesProtocolEnum", "type": "string" }, "OptimizationProtocols": { "additionalProperties": false, "description": "Protocols regarding the manipulation of a Optimization output data.", "properties": { "schema_name": { "const": "qcschema_optimization_protocols", "default": "qcschema_optimization_protocols", "title": "Schema Name", "type": "string" }, "trajectory_results": { "$ref": "#/$defs/TrajectoryProtocolEnum", "default": "none", "description": "\n Which gradient evaluations to keep in an optimization trajectory.\n " } }, "title": "OptimizationProtocols", "type": "object" }, "OptimizationSpecification": { "additionalProperties": false, "description": "Specification for how to run a geometry optimization.", "properties": { "schema_name": { "const": "qcschema_optimization_specification", "default": "qcschema_optimization_specification", "title": "Schema Name", "type": "string" }, "program": { "default": "", "description": "Optimizer CMS code / QCEngine procedure to run the geometry optimization with.", "title": "Program", "type": "string" }, "keywords": { "additionalProperties": true, "default": {}, "description": "The optimization specific keywords to be used.", "title": "Keywords", "type": "object" }, "protocols": { "$ref": "#/$defs/OptimizationProtocols", "default": {}, "description": "\n Protocols regarding the manipulation of a Optimization output data.\n " }, "extras": { "additionalProperties": true, "default": {}, "description": "Additional information to bundle with the computation. Use for schema development and scratch space.", "title": "Extras", "type": "object" }, "specification": { "$ref": "#/$defs/AtomicSpecification", "description": "A directive for how to compute a gradient for the optimization. Either an ordinary atomic/single-point or a many-body spec." } }, "required": [ "specification" ], "title": "OptimizationSpecification", "type": "object" }, "ScanResultsProtocolEnum": { "description": "Which gradient evaluations to keep in an optimization trajectory.", "enum": [ "all", "lowest", "none" ], "title": "ScanResultsProtocolEnum", "type": "string" }, "TorsionDriveKeywords": { "additionalProperties": false, "description": "TorsionDriveRecord options\n\nNotes\n-----\n* This class is still provisional and may be subject to removal and re-design.", "properties": { "schema_name": { "const": "qcschema_torsion_drive_keywords", "default": "qcschema_torsion_drive_keywords", "description": "The QCSchema specification to which this model conforms.", "title": "Schema Name", "type": "string" }, "dihedrals": { "description": "The list of dihedrals to select for the TorsionDrive operation. Each entry is a tuple of integers of for particle indices.", "items": { "maxItems": 4, "minItems": 4, "prefixItems": [ { "type": "integer" }, { "type": "integer" }, { "type": "integer" }, { "type": "integer" } ], "type": "array" }, "title": "Dihedrals", "type": "array" }, "grid_spacing": { "description": "List of grid spacing for dihedral scan in degrees. Multiple values will be mapped to each dihedral angle.", "items": { "type": "integer" }, "title": "Grid Spacing", "type": "array" }, "dihedral_ranges": { "anyOf": [ { "items": { "maxItems": 2, "minItems": 2, "prefixItems": [ { "type": "integer" }, { "type": "integer" } ], "type": "array" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "A list of dihedral range limits as a pair (lower, upper). Each range corresponds to the dihedrals in input.", "title": "Dihedral Ranges" }, "energy_decrease_thresh": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The threshold of the smallest energy decrease amount to trigger activating optimizations from grid point.", "title": "Energy Decrease Thresh" }, "energy_upper_limit": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "The threshold if the energy of a grid point that is higher than the current global minimum, to start new optimizations, in unit of a.u. I.e. if energy_upper_limit = 0.05, current global minimum energy is -9.9 , then a new task starting with energy -9.8 will be skipped.", "title": "Energy Upper Limit" } }, "required": [ "dihedrals", "grid_spacing" ], "title": "TorsionDriveKeywords", "type": "object" }, "TorsionDriveProtocols": { "additionalProperties": false, "description": "Protocols regarding the manipulation of a Torsion Drive subcalculation history.", "properties": { "schema_name": { "const": "qcschema_torsion_drive_protocols", "default": "qcschema_torsion_drive_protocols", "title": "Schema Name", "type": "string" }, "scan_results": { "$ref": "#/$defs/ScanResultsProtocolEnum", "default": "none", "description": "\n Which gradient evaluations to keep in an optimization trajectory.\n " } }, "title": "TorsionDriveProtocols", "type": "object" }, "TrajectoryProtocolEnum": { "description": "Which gradient evaluations to keep in an optimization trajectory.", "enum": [ "all", "initial_and_final", "final", "none" ], "title": "TrajectoryProtocolEnum", "type": "string" }, "WavefunctionProtocolEnum": { "description": "Wavefunction to keep from a computation.", "enum": [ "all", "orbitals_and_eigenvalues", "occupations_and_eigenvalues", "return_results", "none" ], "title": "WavefunctionProtocolEnum", "type": "string" } }, "additionalProperties": false, "required": [ "keywords", "specification" ] }
- Fields:
- Validators:
_check_procedure»program
- field extras: Dict[str, Any] = {}
Additional information to bundle with the computation. Use for schema development and scratch space.
- field keywords: TorsionDriveKeywords [Required]
The torsion drive specific keywords to be used.
- field program: str = ''
Torsion Drive CMS code / QCEngine procedure with which to run the torsion scan.
- Validated by:
_check_procedure
- field protocols: TorsionDriveProtocols = TorsionDriveProtocols(schema_name='qcschema_torsion_drive_protocols', scan_results=<ScanResultsProtocolEnum.none: 'none'>)
Protocols regarding the manipulation of a Torsion Drive subcalculation history.
- field schema_name: Literal['qcschema_torsion_drive_specification'] = 'qcschema_torsion_drive_specification'
- field specification: OptimizationSpecification [Required]
The specification for how to run optimizations for the torsion scan (within this is spec for gradients for the optimization.