sknano.core.atoms.XAtoms¶
-
class
sknano.core.atoms.XAtoms(atoms=None, copylist=True, deepcopy=False)[source][source]¶ An eXtended
Atomsclass.Sub-class of
Atomsclass, and a container class for lists ofXAtominstances.Parameters: atoms : {None, sequence,
XAtoms}, optionalcopylist : bool, optional
perform shallow copy of atoms list
deepcopy : bool, optional
perform deepcopy of atoms list
Attributes
CMCenter-of-Mass coordinates of Atoms.MTotal mass of Atoms.NatomsNumber of atoms in Atoms.NtypesNumber of atomtypes.atom_idsReturn array of XAtomIDs.atomtypesatomtypesdict.boundsBounds of Atoms.centroidCentroid of Atoms.chargesReturn array of XAtomcharges.coordsnumpy.ndarrayofAtoms \(x, y, z\) coordinates.inertia_tensorReturn the inertia tensor. massesReturn list of Atommasses.qReturn the total net charge of XAtoms.symbolsReturn list of Atomsymbols.velocitiesReturn array of XAtomvelocities.xnumpy.ndarrayofAtoms \(x\) coordinates.ynumpy.ndarrayofAtoms \(y\) coordinates.znumpy.ndarrayofAtoms \(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 XAtominXAtoms.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 Atomsby condition.filter_ids(atom_ids[, invert])Return AtomsbyXAtoms.atom_idsinatom_ids.get_atom(atomID)Get XAtomwithXatom.atomID== atomID.get_atoms([asarray])Return list of Atoms.get_coords([asdict])Return atom coords. getatomattr(attr)Get numpy.ndarrayof 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 Atomposition vectors.select(cmd)select_within(volume)sort([key, reverse])translate(t[, fix_anchor_points])Translate Atomposition vectors byVectort.