sknano.core.atoms.XAtoms

class sknano.core.atoms.XAtoms(atoms=None, copylist=True, deepcopy=False)[source][source]

An eXtended Atoms class.

Sub-class of Atoms class, and a container class for lists of XAtom instances.

Parameters:

atoms : {None, sequence, XAtoms}, optional

if not None, then a list of XAtom instance objects or an existing XAtoms instance object.

copylist : bool, optional

perform shallow copy of atoms list

deepcopy : bool, optional

perform deepcopy of atoms list

Attributes

CM Center-of-Mass coordinates of Atoms.
M Total mass of Atoms.
Natoms Number of atoms in Atoms.
Ntypes Number of atomtypes.
atom_ids Return array of XAtom IDs.
atomtypes atomtypes dict.
bounds Bounds of Atoms.
centroid Centroid of Atoms.
charges Return array of XAtom charges.
coords numpy.ndarray of Atoms \(x, y, z\) coordinates.
inertia_tensor Return the inertia tensor.
masses Return list of Atom masses.
q Return the total net charge of XAtoms.
symbols Return list of Atom symbols.
velocities Return array of XAtom velocities.
x numpy.ndarray of Atoms \(x\) coordinates.
y numpy.ndarray of Atoms \(y\) coordinates.
z numpy.ndarray of Atoms \(z\) coordinates.

Methods

add_atomtype(atom) Add atom type to atomtypes.
add_atomtypes([atoms]) Add atomtype for each atom in atoms to atomtypes dictionary.
append(item)
assign_unique_ids([starting_id]) Assign unique ID to each XAtom in XAtoms.
center_CM([axes]) Center atoms on CM coordinates.
clear()
clip_bounds(region[, center_before_clipping]) Remove atoms outside the given limits along given dimension.
copy()
count(item)
extend(other)
filter(condition[, invert]) Filter Atoms by condition.
filter_ids(atom_ids[, invert]) Return Atoms by XAtoms.atom_ids in atom_ids.
get_atom(atomID) Get XAtom with Xatom.atomID == atomID.
get_atoms([asarray]) Return list of Atoms.
get_coords([asdict]) Return atom coords.
getatomattr(attr) Get numpy.ndarray of atom attributes attr.
index(item, *args)
insert(i, item)
mapatomattr(attr, from_attr, attrmap) Set/update atom attribute from another atom attribute with dict.
pop([i])
remove(item)
reverse()
rezero([epsilon]) Set really really small coordinates to zero.
rezero_coords([epsilon]) Alias for Atoms.rezero.
rezero_xyz([epsilon]) Alias for Atoms.rezero.
rotate([angle, rot_axis, anchor_point, ...]) Rotate Atom position vectors.
select(cmd)
select_within(volume)
sort([key, reverse])
translate(t[, fix_anchor_points]) Translate Atom position vectors by Vector t.