AlignmentMill

pydantic model qcelemental.models.AlignmentMill[source]

Facilitates the application of the simple transformation operations defined by shift, rotation, atommap arrays and mirror boolean as recipe to the data structures describing Cartesian molecular coordinates. Attaches functions to transform the geometry, element list, gradient, etc. to the AlignmentRecipe. When mirror attribute (defaults to False) active, then molecular system can be substantively changed by procedure.

Show JSON schema
{
   "title": "AlignmentMill",
   "description": "Facilitates the application of the simple transformation operations\ndefined by ``shift``, ``rotation``, ``atommap`` arrays and ``mirror``\nboolean as recipe to the data structures\ndescribing Cartesian molecular coordinates. Attaches functions to\ntransform the geometry, element list, gradient, etc. to the\nAlignmentRecipe. When `mirror` attribute (defaults to False) active,\nthen molecular system can be substantively changed by procedure.",
   "type": "object",
   "properties": {
      "shift": {
         "title": "Shift",
         "description": "Translation array (3,) for coordinates.",
         "type": "array",
         "items": {
            "type": "number"
         }
      },
      "rotation": {
         "title": "Rotation",
         "description": "Rotation array (3, 3) for coordinates.",
         "type": "array",
         "items": {
            "type": "number"
         }
      },
      "atommap": {
         "title": "Atommap",
         "description": "Atom exchange map (nat,) for coordinates.",
         "type": "array",
         "items": {
            "type": "number",
            "multipleOf": 1.0
         }
      },
      "mirror": {
         "title": "Mirror",
         "description": "Do mirror invert coordinates?",
         "default": false,
         "type": "boolean"
      }
   },
   "additionalProperties": false
}

Fields:
Validators:
field atommap: Optional[Array] = None

Atom exchange map (nat,) for coordinates.

Constraints:
  • type = array

  • items = {‘type’: ‘number’, ‘multipleOf’: 1.0}

field mirror: bool = False

Do mirror invert coordinates?

field rotation: Optional[Array] = None

Rotation array (3, 3) for coordinates.

Constraints:
  • type = array

  • items = {‘type’: ‘number’}

Validated by:
  • _must_be_33

field shift: Optional[Array] = None

Translation array (3,) for coordinates.

Constraints:
  • type = array

  • items = {‘type’: ‘number’}

Validated by:
  • _must_be_3

align_atoms(ats)[source]

suitable for masses, symbols, Zs, etc.

align_coordinates(geom, *, reverse=False)[source]

suitable for geometry or displaced geometry

Return type:

Array

align_gradient(grad)[source]

suitable for vector system attached to atoms

Return type:

Array

align_hessian(hess)[source]
Return type:

Array

align_mini_system(geom, uniq, *, reverse=False)[source]

For AlignmentRecipe ar, apply its translation, rotation, and atom map.

Parameters:

reverse (bool) –

align_system(geom, mass, elem, elez, uniq, *, reverse=False)[source]

For AlignmentRecipe ar, apply its translation, rotation, and atom map.

Parameters:

reverse (bool) –

align_vector(vec)[source]

suitable for vector attached to molecule

align_vector_gradient(mu_derivatives)[source]

Align the nuclear gradients of vector components (e.g. dipole derivatives).

pretty_print(label='')[source]
Return type:

str

Parameters:

label (str) –