Skip to content

Types

Value types shared across many workflows — the vocabulary you use for preset, method, and structural inputs regardless of which workflow you're submitting.

Method, Engine & Task

Method

Bases: LowercaseStrEnum

Computational chemistry method.

default_engine

default_engine(*, is_periodic: bool = False) -> Engine

Return the canonical Engine for this quantum-chemistry method.

Parameters:

Name Type Description Default
is_periodic bool

if True and method supports periodic DFT, return "quantum_espresso"; if True and method is in XTB family, return "tblite" (periodic-capable backend) instead of "xtb"

False

Returns:

Type Description
Engine

lower-case engine identifier (e.g. "psi4", "xtb")

Method.GFN2_XTB.default_engine().value 'xtb' Method.GFN2_XTB.default_engine(is_periodic=True).value 'tblite' Method.PBE.default_engine(is_periodic=True).value 'quantum_espresso' Method.PBE.default_engine().value 'gpu4pyscf'

Engine

Bases: LowercaseStrEnum

Computational chemistry engine.

Task

Bases: LowercaseStrEnum

Calculation task type.

Correction

Bases: LowercaseStrEnum

Various post hoc corrections.

Mode

Bases: LowercaseStrEnum

Calculation accuracy mode.

Solvent

Solvent

Bases: LowercaseStrEnum

Implicit solvent.

SolventModel

Bases: LowercaseStrEnum

Implicit solvation model.

SolventSettings pydantic-model

Bases: Base

Implicit solvation settings.

Parameters:

Name Type Description Default
solvent

solvent to use

required
model

solvation model

required
Show JSON schema:
{
  "$defs": {
    "Solvent": {
      "description": "Implicit solvent.",
      "enum": [
        "water",
        "nitromethane",
        "nitrobenzene",
        "toluene",
        "benzene",
        "chlorobenzene",
        "carbontetrachloride",
        "dichloroethane",
        "dichloromethane",
        "chloroform",
        "diethylether",
        "diisopropylether",
        "dimethylsulfoxide",
        "tetrahydrofuran",
        "cyclohexane",
        "aceticacid",
        "hexane",
        "octane",
        "decane",
        "ethylacetate",
        "acetone",
        "acetonitrile",
        "methanol",
        "ethanol",
        "isopropanol",
        "octanol",
        "dimethylacetamide",
        "dimethylformamide",
        "n_methylpyrrolidone",
        "ethylene_glycol"
      ],
      "title": "Solvent",
      "type": "string"
    },
    "SolventModel": {
      "description": "Implicit solvation model.",
      "enum": [
        "pcm",
        "cpcm",
        "alpb",
        "cosmo",
        "cosmo2",
        "cosmors",
        "gbsa",
        "cpcmx",
        "smd"
      ],
      "title": "SolventModel",
      "type": "string"
    }
  },
  "description": "Implicit solvation settings.\n\n:param solvent: solvent to use\n:param model: solvation model",
  "properties": {
    "solvent": {
      "$ref": "#/$defs/Solvent"
    },
    "model": {
      "$ref": "#/$defs/SolventModel"
    }
  },
  "required": [
    "solvent",
    "model"
  ],
  "title": "SolventSettings",
  "type": "object"
}

Fields:

Validators:

cosmo2_requires_water pydantic-validator

cosmo2_requires_water() -> Self

Validate that COSMO2 is only used with water.

Constraints

ConstraintType

Bases: LowercaseStrEnum

Different sorts of constraints.

Constraint pydantic-model

Bases: Base

Represents a single (absolute) constraint.

Parameters:

Name Type Description Default
constraint_type

which type

required
atoms

atoms in question (1-indexed)

required
value

value to constrain to; leaving blank sets current value

required
Show JSON schema:
{
  "$defs": {
    "ConstraintType": {
      "description": "Different sorts of constraints.",
      "enum": [
        "bond",
        "angle",
        "dihedral",
        "freeze_atoms"
      ],
      "title": "ConstraintType",
      "type": "string"
    }
  },
  "description": "Represents a single (absolute) constraint.\n\n:param constraint_type: which type\n:param atoms: atoms in question (1-indexed)\n:param value: value to constrain to; leaving blank sets current value",
  "properties": {
    "constraint_type": {
      "$ref": "#/$defs/ConstraintType"
    },
    "atoms": {
      "items": {
        "exclusiveMinimum": 0,
        "type": "integer"
      },
      "title": "Atoms",
      "type": "array"
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Value"
    }
  },
  "required": [
    "constraint_type",
    "atoms"
  ],
  "title": "Constraint",
  "type": "object"
}

Fields:

  • constraint_type (ConstraintType)
  • atoms (list[PositiveInt])
  • value (float | None)

Validators:

  • check_atom_list_length

PairwiseHarmonicConstraint pydantic-model

Bases: Base

Represents a harmonic constraint, with a characteristic spring constant.

Parameters:

Name Type Description Default
atoms

which atoms to apply to

required
force_constant

strength of attraction, in kcal/mol/Å

required
equilibrium

distance at which force is zero

required
Show JSON schema:
{
  "description": "Represents a harmonic constraint, with a characteristic spring constant.\n\n:param atoms: which atoms to apply to\n:param force_constant: strength of attraction, in kcal/mol/\u00c5\n:param equilibrium: distance at which force is zero",
  "properties": {
    "atoms": {
      "maxItems": 2,
      "minItems": 2,
      "prefixItems": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        }
      ],
      "title": "Atoms",
      "type": "array"
    },
    "force_constant": {
      "exclusiveMinimum": 0,
      "title": "Force Constant",
      "type": "number"
    },
    "equilibrium": {
      "exclusiveMinimum": 0,
      "title": "Equilibrium",
      "type": "number"
    }
  },
  "required": [
    "atoms",
    "force_constant",
    "equilibrium"
  ],
  "title": "PairwiseHarmonicConstraint",
  "type": "object"
}

Fields:

  • atoms (tuple[PositiveInt, PositiveInt])
  • force_constant (PositiveFloat)
  • equilibrium (PositiveFloat)

SphericalHarmonicConstraint pydantic-model

Bases: Base

Represents a spherical harmonic constraint to keep a system near the origin.

Parameters:

Name Type Description Default
confining_radius

confining radius, in Å

required
force_constant

strength of confinement, in kcal/mol/Å

required
Show JSON schema:
{
  "description": "Represents a spherical harmonic constraint to keep a system near the origin.\n\n:param confining_radius: confining radius, in \u00c5\n:param force_constant: strength of confinement, in kcal/mol/\u00c5",
  "properties": {
    "confining_radius": {
      "exclusiveMinimum": 0,
      "title": "Confining Radius",
      "type": "number"
    },
    "force_constant": {
      "default": 10,
      "exclusiveMinimum": 0,
      "title": "Force Constant",
      "type": "number"
    }
  },
  "required": [
    "confining_radius"
  ],
  "title": "SphericalHarmonicConstraint",
  "type": "object"
}

Fields:

  • confining_radius (PositiveFloat)
  • force_constant (PositiveFloat)