sknano.generators.UnrolledSWNTGenerator¶
-
class
sknano.generators.UnrolledSWNTGenerator(autogen=True, **kwargs)[source][source]¶ Class for generating unrolled nanotube structures.
New in version 0.2.23.
Parameters: n, m : int
Chiral indices defining the nanotube chiral vector \(\mathbf{C}_{h} = n\mathbf{a}_{1} + m\mathbf{a}_{2} = (n, m)\).
nx, ny, nz : int, optional
Number of repeat unit cells in the \(x, y, z\) dimensions
element1, element2 : {str, int}, optional
Element symbol or atomic number of basis
Atom1 and 2bond : float, optional
\(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms. Must be in units of Angstroms.
Lx, Ly, Lz : float, optional
Length of bundle in \(x, y, z\) dimensions in nanometers. Overrides the \(n_x, n_y, n_z\) cell values.
fix_Lz : bool, optional
Generate the nanotube with length as close to the specified \(L_z\) as possible. If True, then non integer \(n_z\) cells are permitted.
autogen : bool, optional
if True, automatically call
generate_unit_cell, followed bygenerate_structure_data.verbose : bool, optional
if True, show verbose output
Notes
The
UnrolledSWNTGeneratorclass generates graphene using the nanotube unit cell defined by the chiral vector \(\mathbf{C}_{h} = n\mathbf{a}_{1} + m\mathbf{a}_{2} = (n, m)\). If you want to generate graphene with an armchair or zigzag edge using length and width parameters, see theGrapheneGeneratorclass.See also
Examples
First, load the
UnrolledSWNTGeneratorclass.>>> from sknano.generators import UnrolledSWNTGenerator
Now let’s generate an unrolled \(\mathbf{C}_{\mathrm{h}} = (10, 5)\) SWCNT unit cell.
>>> flatswcnt = UnrolledSWNTGenerator(n=10, m=5) >>> flatswcnt.save_data()
The rendered structure looks like:
Attributes
ChSWNT circumference \(|\mathbf{C}_h|\) in Å LxLyLzSWNT length \(L_z = L_{\mathrm{tube}}\) in nanometers. M\(M = np - nq\) NNumber of graphene hexagons in nanotube unit cell. NatomsNumber of atoms in nanotube. Natoms_per_unit_cellNumber of atoms in nanotube unit cell. NlayersNumber of layers. RSymmetry vector \(\mathbf{R} = (p, q)\). TLength of nanotube unit cell \(|\mathbf{T}|\) in Å. atomsReturn structure Atoms.bondBond length in Å. chiral_angleChiral angle \(\theta_c\) in degrees. chiral_typed\(d=\gcd{(n, m)}\) dR\(d_R=\gcd{(2n + m, 2m + n)}\) dtNanotube diameter \(d_t = \frac{|\mathbf{C}_h|}{\pi}\) in Å. electronic_typeSWNT electronic type. element1Element symbol of Atom1.element2Element symbol of Atom2.fix_Lxfix_LzmChiral index \(m\). nChiral index \(n\). nxNumber of unit cells along the \(x\)-axis. nzNumber of nanotube unit cells along the \(z\)-axis. rtNanotube radius \(r_t = \frac{|\mathbf{C}_h|}{2\pi}\) in Å. structureAlias to structure_data.structure_dataReturn StructureDatainstance.t1\(t_{1} = \frac{2m + n}{d_{R}}\) t2\(t_2 = -\frac{2n + m}{d_R}\) unit_cell_massUnit cell mass in atomic mass units. unit_cell_symmetry_paramsMethods
generate_structure_data()Generate structure data. generate_unit_cell()Generate the nanotube unit cell. save_data([fname, outpath, ...])Save structure data.