HTMACat.catkit package

Subpackages

Submodules

HTMACat.catkit.build module

HTMACat.catkit.build.bulk(name, crystalstructure=None, primitive=False, **kwargs)[source]

Return the standard conventional cell of a bulk structure created using ASE. Accepts all keyword arguments for the ase bulk generator.

Parameters:
nameAtoms object | str

Chemical symbol or symbols as in ‘MgO’ or ‘NaCl’.

crystalstructurestr

Must be one of sc, fcc, bcc, hcp, diamond, zincblende, rocksalt, cesiumchloride, fluorite or wurtzite.

primitivebool

Return the primitive unit cell instead of the conventional standard cell.

Returns:
standardized_bulkGratoms object

The conventional standard or primitive bulk structure.

HTMACat.catkit.build.molecule(species, bond_index=None, vacuum=0)[source]

Return list of enumerated gas-phase molecule structures based on species and topology.

Parameters:
speciesstr

The chemical symbols to construct a molecule from.

bond_indexint

Construct the molecule as though it were adsorbed to a surface parallel to the z-axis. Will bond by the atom index given.

vacuumfloat

Angstroms of vacuum to pad the molecules with.

Returns:
imageslist of Gratoms objects

3D structures of the requested chemical species and topologies.

HTMACat.catkit.build.surface(elements, size, miller=(1, 1, 1), termination=0, fixed=0, vacuum=10, orthogonal=False, **kwargs)[source]

A helper function to return the surface associated with a given set of input parameters to the general surface generator.

Parameters:
elementsstr or object

The atomic symbol to be passed to the as bulk builder function or an atoms object representing the bulk structure to use.

sizelist (3,)

Number of time to expand the x, y, and z primitive cell.

millerlist (3,) or (4,)

The miller index to cleave the surface structure from. If 4 values are used, assume Miller-Bravis convention.

terminationint

The index associated with a specific slab termination.

fixedint

Number of layers to constrain.

vacuumfloat

Angstroms of vacuum to add to the unit cell.

orthogonalbool

Force the slab generator to produce the most orthogonal slab.

Returns:
slabGratoms object

Return a slab generated from the specified bulk structure.

HTMACat.catkit.gratoms module

class HTMACat.catkit.gratoms.Gratoms(symbols=None, positions=None, numbers=None, tags=None, momenta=None, masses=None, magmoms=None, charges=None, scaled_positions=None, cell=None, pbc=None, celldisp=None, constraint=None, calculator=None, info=None, edges=None)[source]

Bases: Atoms

Graph based atoms object.

An Integrated class for an ASE atoms object with a corresponding Networkx Graph.

Attributes:
adj
calc

Calculator object.

cell

The ase.cell.Cell for direct manipulation.

connectivity
constraints

Constraints of the atoms.

degree
edges
graph
nodes
number_of_lattice_vectors

Number of (non-zero) lattice vectors.

numbers

Attribute for direct manipulation of the atomic numbers.

pbc

Reference to pbc-flags for in-place manipulations.

positions

Attribute for direct manipulation of the positions.

symbols

Get chemical symbols as a ase.symbols.Symbols object.

Methods

append(atom)

Append atom to end.

center([vacuum, axis, about])

Center atoms in unit cell.

copy()

Return a copy.

edit()

Modify atoms interactively through ASE's GUI viewer.

euler_rotate([phi, theta, psi, center])

Rotate atoms via Euler angles (in degrees).

extend(other)

Extend atoms object by appending atoms from other.

fromdict(dct)

Rebuild atoms object from dictionary representation (todict).

get_all_distances([mic, vector])

Return distances of all of the atoms with all of the atoms.

get_angle(a1, a2, a3[, mic])

Get angle formed by three atoms.

get_angles(indices[, mic])

Get angle formed by three atoms for multiple groupings.

get_angular_momentum()

Get total angular momentum with respect to the center of mass.

get_array(name[, copy])

Get an array.

get_atomic_numbers()

Get integer array of atomic numbers.

get_calculator()

Get currently attached calculator object.

get_cell([complete])

Get the three unit cell vectors as a class:ase.cell.Cell` object.

get_cell_lengths_and_angles()

Get unit cell parameters.

get_celldisp()

Get the unit cell displacement vectors.

get_center_of_mass([scaled])

Get the center of mass.

get_charges()

Get calculated charges.

get_chemical_formula([mode, empirical])

Get the chemical formula as a string based on the chemical symbols.

get_chemical_symbols()

Get list of chemical symbol strings.

get_chemical_tags([rank])

Generate a hash descriptive of the chemical formula (rank 0) or include bonding (rank 1).

get_dihedral(a0, a1, a2, a3[, mic])

Calculate dihedral angle.

get_dihedrals(indices[, mic])

Calculate dihedral angles.

get_dipole_moment()

Calculate the electric dipole moment for the atoms object.

get_distance(a0, a1[, mic, vector])

Return distance between two atoms.

get_distances(a, indices[, mic, vector])

Return distances of atom No.i with a list of atoms.

get_forces([apply_constraint, md])

Calculate atomic forces.

get_global_number_of_atoms()

Returns the global number of atoms in a distributed-atoms parallel simulation.

get_initial_charges()

Get array of initial charges.

get_initial_magnetic_moments()

Get array of initial magnetic moments.

get_kinetic_energy()

Get the kinetic energy.

get_magnetic_moment()

Get calculated total magnetic moment.

get_magnetic_moments()

Get calculated local magnetic moments.

get_masses()

Get array of masses in atomic mass units.

get_momenta()

Get array of momenta.

get_moments_of_inertia([vectors])

Get the moments of inertia along the principal axes.

get_neighbor_symbols(u)

Get chemical symbols for neighboring atoms of u.

get_number_of_atoms()

Deprecated, please do not use.

get_pbc()

Get periodic boundary condition flags.

get_positions([wrap])

Get array of positions.

get_potential_energies()

Calculate the potential energies of all the atoms.

get_potential_energy([force_consistent, ...])

Calculate potential energy.

get_properties(properties)

This method is experimental; currently for internal use.

get_reciprocal_cell()

Get the three reciprocal lattice vectors as a 3x3 ndarray.

get_scaled_positions([wrap])

Get positions relative to unit cell.

get_stress([voigt, apply_constraint, ...])

Calculate stress tensor.

get_stresses([include_ideal_gas, voigt])

Calculate the stress-tensor of all the atoms.

get_surface_atoms()

Return surface atoms.

get_tags()

Get integer array of tags.

get_temperature()

Get the temperature in Kelvin.

get_total_energy()

Get the total energy - potential plus kinetic energy.

get_velocities()

Get array of velocities.

get_volume()

Get volume of unit cell.

has(name)

Check for existence of array.

is_isomorph(other)

Check if isomorphic by bond count and atomic number.

new_array(name, a[, dtype, shape])

Add new array.

pop([i])

Remove and return atom at index i (default last).

rattle([stdev, seed, rng])

Randomly displace atoms.

repeat(rep)

Create new repeated atoms object.

rotate(a, v[, center, rotate_cell])

Rotate atoms based on a vector and an angle, or two vectors.

rotate_dihedral(a1, a2, a3, a4[, angle, ...])

Rotate dihedral angle.

set_angle(a1[, a2, a3, angle, mask, ...])

Set angle (in degrees) formed by three atoms.

set_array(name, a[, dtype, shape])

Update array.

set_atomic_numbers(numbers)

Set atomic numbers.

set_calculator([calc])

Attach calculator object.

set_cell(cell[, scale_atoms, apply_constraint])

Set unit cell vectors.

set_celldisp(celldisp)

Set the unit cell displacement vectors.

set_center_of_mass(com[, scaled])

Set the center of mass.

set_chemical_symbols(symbols)

Set chemical symbols.

set_constraint([constraint])

Apply one or more constrains.

set_dihedral(a1, a2, a3, a4, angle[, mask, ...])

Set the dihedral angle (degrees) between vectors a1->a2 and a3->a4 by changing the atom indexed by a4.

set_distance(a0, a1, distance[, fix, mic, ...])

Set the distance between two atoms.

set_initial_charges([charges])

Set the initial charges.

set_initial_magnetic_moments([magmoms])

Set the initial magnetic moments.

set_masses([masses])

Set atomic masses in atomic mass units.

set_momenta(momenta[, apply_constraint])

Set momenta.

set_pbc(pbc)

Set periodic boundary condition flags.

set_positions(newpositions[, apply_constraint])

Set positions, honoring any constraints.

set_scaled_positions(scaled)

Set positions relative to unit cell.

set_surface_atoms(top[, bottom])

Assign surface atoms.

set_tags(tags)

Set tags for all atoms.

set_velocities(velocities)

Set the momenta by specifying the velocities.

todict()

For basic JSON (non-database) support.

translate(displacement)

Translate atomic positions.

wrap(**wrap_kw)

Wrap positions to unit cell.

write(filename[, format])

Write atoms object to a file.

get_unsaturated_nodes

iterimages

property adj
property connectivity
copy()[source]

Return a copy.

property degree
property edges
get_chemical_tags(rank=2)[source]

Generate a hash descriptive of the chemical formula (rank 0) or include bonding (rank 1).

get_neighbor_symbols(u)[source]

Get chemical symbols for neighboring atoms of u.

get_surface_atoms()[source]

Return surface atoms.

get_unsaturated_nodes(screen=None)[source]
property graph
is_isomorph(other)[source]

Check if isomorphic by bond count and atomic number.

property nodes
set_surface_atoms(top, bottom=None)[source]

Assign surface atoms.

Module contents

Catalysis Kit.

class HTMACat.catkit.Gratoms(symbols=None, positions=None, numbers=None, tags=None, momenta=None, masses=None, magmoms=None, charges=None, scaled_positions=None, cell=None, pbc=None, celldisp=None, constraint=None, calculator=None, info=None, edges=None)[source]

Bases: Atoms

Graph based atoms object.

An Integrated class for an ASE atoms object with a corresponding Networkx Graph.

Attributes:
adj
calc

Calculator object.

cell

The ase.cell.Cell for direct manipulation.

connectivity
constraints

Constraints of the atoms.

degree
edges
graph
nodes
number_of_lattice_vectors

Number of (non-zero) lattice vectors.

numbers

Attribute for direct manipulation of the atomic numbers.

pbc

Reference to pbc-flags for in-place manipulations.

positions

Attribute for direct manipulation of the positions.

symbols

Get chemical symbols as a ase.symbols.Symbols object.

Methods

append(atom)

Append atom to end.

center([vacuum, axis, about])

Center atoms in unit cell.

copy()

Return a copy.

edit()

Modify atoms interactively through ASE's GUI viewer.

euler_rotate([phi, theta, psi, center])

Rotate atoms via Euler angles (in degrees).

extend(other)

Extend atoms object by appending atoms from other.

fromdict(dct)

Rebuild atoms object from dictionary representation (todict).

get_all_distances([mic, vector])

Return distances of all of the atoms with all of the atoms.

get_angle(a1, a2, a3[, mic])

Get angle formed by three atoms.

get_angles(indices[, mic])

Get angle formed by three atoms for multiple groupings.

get_angular_momentum()

Get total angular momentum with respect to the center of mass.

get_array(name[, copy])

Get an array.

get_atomic_numbers()

Get integer array of atomic numbers.

get_calculator()

Get currently attached calculator object.

get_cell([complete])

Get the three unit cell vectors as a class:ase.cell.Cell` object.

get_cell_lengths_and_angles()

Get unit cell parameters.

get_celldisp()

Get the unit cell displacement vectors.

get_center_of_mass([scaled])

Get the center of mass.

get_charges()

Get calculated charges.

get_chemical_formula([mode, empirical])

Get the chemical formula as a string based on the chemical symbols.

get_chemical_symbols()

Get list of chemical symbol strings.

get_chemical_tags([rank])

Generate a hash descriptive of the chemical formula (rank 0) or include bonding (rank 1).

get_dihedral(a0, a1, a2, a3[, mic])

Calculate dihedral angle.

get_dihedrals(indices[, mic])

Calculate dihedral angles.

get_dipole_moment()

Calculate the electric dipole moment for the atoms object.

get_distance(a0, a1[, mic, vector])

Return distance between two atoms.

get_distances(a, indices[, mic, vector])

Return distances of atom No.i with a list of atoms.

get_forces([apply_constraint, md])

Calculate atomic forces.

get_global_number_of_atoms()

Returns the global number of atoms in a distributed-atoms parallel simulation.

get_initial_charges()

Get array of initial charges.

get_initial_magnetic_moments()

Get array of initial magnetic moments.

get_kinetic_energy()

Get the kinetic energy.

get_magnetic_moment()

Get calculated total magnetic moment.

get_magnetic_moments()

Get calculated local magnetic moments.

get_masses()

Get array of masses in atomic mass units.

get_momenta()

Get array of momenta.

get_moments_of_inertia([vectors])

Get the moments of inertia along the principal axes.

get_neighbor_symbols(u)

Get chemical symbols for neighboring atoms of u.

get_number_of_atoms()

Deprecated, please do not use.

get_pbc()

Get periodic boundary condition flags.

get_positions([wrap])

Get array of positions.

get_potential_energies()

Calculate the potential energies of all the atoms.

get_potential_energy([force_consistent, ...])

Calculate potential energy.

get_properties(properties)

This method is experimental; currently for internal use.

get_reciprocal_cell()

Get the three reciprocal lattice vectors as a 3x3 ndarray.

get_scaled_positions([wrap])

Get positions relative to unit cell.

get_stress([voigt, apply_constraint, ...])

Calculate stress tensor.

get_stresses([include_ideal_gas, voigt])

Calculate the stress-tensor of all the atoms.

get_surface_atoms()

Return surface atoms.

get_tags()

Get integer array of tags.

get_temperature()

Get the temperature in Kelvin.

get_total_energy()

Get the total energy - potential plus kinetic energy.

get_velocities()

Get array of velocities.

get_volume()

Get volume of unit cell.

has(name)

Check for existence of array.

is_isomorph(other)

Check if isomorphic by bond count and atomic number.

new_array(name, a[, dtype, shape])

Add new array.

pop([i])

Remove and return atom at index i (default last).

rattle([stdev, seed, rng])

Randomly displace atoms.

repeat(rep)

Create new repeated atoms object.

rotate(a, v[, center, rotate_cell])

Rotate atoms based on a vector and an angle, or two vectors.

rotate_dihedral(a1, a2, a3, a4[, angle, ...])

Rotate dihedral angle.

set_angle(a1[, a2, a3, angle, mask, ...])

Set angle (in degrees) formed by three atoms.

set_array(name, a[, dtype, shape])

Update array.

set_atomic_numbers(numbers)

Set atomic numbers.

set_calculator([calc])

Attach calculator object.

set_cell(cell[, scale_atoms, apply_constraint])

Set unit cell vectors.

set_celldisp(celldisp)

Set the unit cell displacement vectors.

set_center_of_mass(com[, scaled])

Set the center of mass.

set_chemical_symbols(symbols)

Set chemical symbols.

set_constraint([constraint])

Apply one or more constrains.

set_dihedral(a1, a2, a3, a4, angle[, mask, ...])

Set the dihedral angle (degrees) between vectors a1->a2 and a3->a4 by changing the atom indexed by a4.

set_distance(a0, a1, distance[, fix, mic, ...])

Set the distance between two atoms.

set_initial_charges([charges])

Set the initial charges.

set_initial_magnetic_moments([magmoms])

Set the initial magnetic moments.

set_masses([masses])

Set atomic masses in atomic mass units.

set_momenta(momenta[, apply_constraint])

Set momenta.

set_pbc(pbc)

Set periodic boundary condition flags.

set_positions(newpositions[, apply_constraint])

Set positions, honoring any constraints.

set_scaled_positions(scaled)

Set positions relative to unit cell.

set_surface_atoms(top[, bottom])

Assign surface atoms.

set_tags(tags)

Set tags for all atoms.

set_velocities(velocities)

Set the momenta by specifying the velocities.

todict()

For basic JSON (non-database) support.

translate(displacement)

Translate atomic positions.

wrap(**wrap_kw)

Wrap positions to unit cell.

write(filename[, format])

Write atoms object to a file.

get_unsaturated_nodes

iterimages

property adj
property connectivity
copy()[source]

Return a copy.

property degree
property edges
get_chemical_tags(rank=2)[source]

Generate a hash descriptive of the chemical formula (rank 0) or include bonding (rank 1).

get_neighbor_symbols(u)[source]

Get chemical symbols for neighboring atoms of u.

get_surface_atoms()[source]

Return surface atoms.

get_unsaturated_nodes(screen=None)[source]
property graph
is_isomorph(other)[source]

Check if isomorphic by bond count and atomic number.

property nodes
set_surface_atoms(top, bottom=None)[source]

Assign surface atoms.