ccu.adsorption.orientation¶
Interfaces for orienting adsorbates on adsorption sites.
- class ccu.adsorption.orientation.AdsorptionCenter(position: NDArray[np.floating], description: str)[source]¶
Bases:
NamedTupleA tuple representing a point in space used to center an adsorbate.
- Variables:
position (NDArray[np.floating]) – A length 3, 1D
numpy.ndarrayof floats representing the position of the adsorption center in space.description (str) – A description of the adsorption center (e.g.,
"on C1").
Create new instance of AdsorptionCenter(position, description)
- _asdict()¶
Return a new dict which maps field names to their values.
- _field_defaults = {}¶
- _fields = ('position', 'description')¶
- classmethod _make(iterable)¶
Make a new AdsorptionCenter object from a sequence or iterable
- _replace(**kwds)¶
Return a new AdsorptionCenter object replacing specified fields with new values
- position: NDArray[np.floating]¶
Alias for field number 0
- class ccu.adsorption.orientation.CenterFactory(*args, **kwargs)[source]¶
Bases:
ProtocolA Callable that generates
AdsorptionCenters.The
numpy.ndarraysreturned when calling implementers of this protocol should identify different points used to center an adsorbate.- _abc_impl = <_abc._abc_data object>¶
- _is_protocol = True¶
- class ccu.adsorption.orientation.OctahedralFactory(transformations: Iterable[Transformation] | None = None, check_symmetry: bool = False)[source]¶
Bases:
TransformerA
Transformercomposed of the O:sub:hsymmetry group.Instantiate a
OctahedralFactory.- Parameters:
transformations – A list of
Transformationinstances. This argument will be ignored.check_symmetry – Whether or not to exlude symmetric images.
- _abc_impl = <_abc._abc_data object>¶
- _is_protocol = False¶
- class ccu.adsorption.orientation.OrientationFactory(*args, **kwargs)[source]¶
Bases:
ProtocolA Callable that generates
MolecularOrientations.- _abc_impl = <_abc._abc_data object>¶
- _is_protocol = True¶
- class ccu.adsorption.orientation.Transformer(transformations: Iterable[Transformation] | None = None, check_symmetry: bool = False)[source]¶
Bases:
OrientationFactoryA
Transformation-basedOrientationFactory.Instances of this class generate
MolecularOrientationsby transforming eachSiteAlignmentTransformation.- Variables:
transformations – A list of
Transformationinstances.check_symmetry – Whether or not to exlude symmetric images.
Note
In order for
MolecularOrientationsrepresenting the originalSiteAlignment.directionsto be returned by theTransformer, at least oneTransformationinTransformer.transformationsshould be equivalent to the identity transformation.Instantiate a
Transformer.- Parameters:
transformations – A list of
Transformationinstances. Defaults to a list containing a singleTransformationthat returns a copy of the input :class:~ase.Atoms` object.check_symmetry – Whether or not to exlude symmetric images.
- _abc_impl = <_abc._abc_data object>¶
- _is_protocol = False¶
- ccu.adsorption.orientation.atomic_centerer(adsorbate: Atoms) list[AdsorptionCenter][source]¶
A
CenterFactorythat returns atomic centers.- Parameters:
adsorbate – An
Atomsobject.- Returns:
A list of
AdsorptionCentersrepresenting the atomic positions ofadsorbatewith descriptions in the formSYMBOL_INDEX, whereSYMBOLandINDEXare the atom’s chemical symbol and index, respectively.
- ccu.adsorption.orientation.com_centerer(adsorbate: Atoms) list[AdsorptionCenter][source]¶
A
CenterFactoryfor centering adsorbates with their COM.- Parameters:
adsorbate – An
Atomsobject.- Returns:
- A list containing a single
AdsorptionCenterscorresponding to the centre-of-mass ofadsorbate.
- ccu.adsorption.orientation.special_centerer(adsorbate: Atoms) list[AdsorptionCenter][source]¶
A
CenterFactorythat returns special centers.Special centers must be identified by the key
"special_centers"inadsorbate.info.- Parameters:
adsorbate – An
Atomsobject.- Returns:
A list of special centers–relative to the adsorbate center of mass.