GrapheneGeneratorBase

class sknano.generators.GrapheneGeneratorBase(*args, autogen=True, finalize=True, **kwargs)[source] [edit on github][source]

Bases: sknano.generators.NanoStructureGenerator

N-layer graphene generator class.

Parameters:
  • basis ({list}, optional) – List of strs of element symbols or atomic number of the two atom basis (default: [‘C’, ‘C’])
  • bond (float, optional) – bond length between nearest-neighbor atoms in Angstroms.
  • nlayers (int, optional) – Number of graphene layers.
  • layer_spacing (float, optional) – Distance between layers in Angstroms.
  • stacking_order ({'AB', 'AA'}, optional) – Stacking order of graphene layers
  • layer_rotation_angles (list, optional) – list of rotation angles for each layer in degrees if degrees is True (default), otherwise in radians. The list length must equal the number of layers.
  • layer_rotation_increment (float, optional) – incremental layer rotation angle in degrees if degrees is True (default), otherwise in radians. Each subsequent layer will be rotated by layer_rotation_increment relative to the layer below it.
  • autogen (bool, optional) – automatically generate unit cell and full structure
  • verbose (bool, optional) – verbose output

Attributes

Natoms N atoms.
atoms Structure Atoms.
basis Structure BasisAtoms.
crystal_cell Structure CrystalCell.
lattice Structure Crystal3DLattice.
lattice_shift Lattice displacement vector.
mass Total mass of atoms.
scaling_matrix CrystalCell.scaling_matrix.
structure An alias to self.
unit_cell Structure UnitCell.

Methods

clear() Clear list of StructureMixin.atoms.
finalize() Finalize structure data by assigning unique ids and types to structure atoms.
generate([finalize]) Generate the full structure coordinates.
generate_fname([nlayers, basis]) Generate a filename string.
make_supercell(scaling_matrix[, wrap_coords]) Make supercell.
rotate(**kwargs) Rotate crystal cell lattice, basis, and unit cell.
save([fname, outpath, structure_format, ...]) Save structure data.
transform_lattice(scaling_matrix[, ...]) Transform structure lattice.
translate(t[, fix_anchor_points]) Translate crystal cell lattice, basis, and unit cell.
write(*args, **kwargs) Write structure data to file.
write_data(**kwargs) Write LAMMPS data file.
write_dump(**kwargs) Write LAMMPS dump file.
write_pdb(**kwargs) Write pdb file.
write_xyz(**kwargs) Write xyz file.

Methods Summary

generate([finalize]) Generate the full structure coordinates.
generate_fname([nlayers, basis]) Generate a filename string.
save([fname, outpath, structure_format, ...]) Save structure data.

Methods Documentation

generate(finalize=True)[source] [edit on github][source]

Generate the full structure coordinates.

classmethod generate_fname(nlayers=None, basis=None, **kwargs)[source] [edit on github][source]

Generate a filename string.

save(fname=None, outpath=None, structure_format=None, center_centroid=True, rotation_angle=1.5707963267948966, rotation_axis='x', **kwargs)[source] [edit on github][source]

Save structure data.

See save method for documentation.