UnrolledSWNT

class sknano.core.structures.UnrolledSWNT(*args, nx=1, Lx=None, fix_Lx=False, **kwargs)[source] [edit on github][source]

Bases: sknano.core.structures.UnrolledSWNTBase, sknano.core.structures.NanoStructureBase

Unrolled SWNT structure class.

Parameters:
  • *Ch

    Either a 2-tuple of integers (i.e., *Ch = ((n, m)) or 2 integers (i.e., *Ch = (n, m) specifying the chiral indices of the nanotube chiral vector Ch=na1+ma2=(n,m).

  • nx (int, optional) – Number of repeat unit cells in the x direction, along the unrolled chiral vector.
  • nz (int, optional) – Number of repeat unit cells in the z direction, along the length of the nanotube.
  • basis ({list}, optional) –

    List of strs of element symbols or atomic number of the two atom basis (default: [‘C’, ‘C’])

    New in version 0.3.10.

  • element2 (element1,) –

    Element symbol or atomic number of basis Atoms 1 and 2

    Deprecated since version 0.3.10: Use basis instead

  • bond (float, optional) – aCC= distance between nearest neighbor atoms. Must be in units of Angstroms.
  • nlayers (int, optional) – Number of layers (default: 1)
  • layer_spacing (float, optional) – Distance between layers in Angstroms (default: 3.4).
  • stacking_order ({'AA', 'AB'}, optional) – Stacking order of 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.
  • Lx (float, optional) –

    Length of the unrolled swnt sheet along the chiral vector in units of Angstroms. Overrides the nx value.

    Changed in version 0.4.0: Changed units from nanometers to Angstroms

  • fix_Lx (bool, optional) – Generate the unrolled swnt sheet with the length along the chiral vector as close to the specified Lx as possible. If True, then non integer nx cells are permitted.
  • Lz (float, optional) –

    Length of the unrolled swnt sheet along the translation vector in units of Angstroms. Overrides the nz value.

    Changed in version 0.4.0: Changed units from nanometers to Angstroms

  • fix_Lz (bool, optional) – Generate the unrolled swnt sheet with the length along the translation vector as close to the specified Lz as possible. If True, then non integer nz cells are permitted.
  • verbose (bool, optional) – if True, show verbose output

Examples

>>>
>>> from sknano.core.structures import UnrolledSWNT
>>> unrolled_swnt = UnrolledSWNT(10, 5)
>>> unrolled_swnt
UnrolledSWNT((10, 5), nx=1, nz=1, bond=1.42, basis=['C', 'C'], nlayers=1,
layer_spacing=3.4, stacking_order='AB')

Attributes

Ch SWNT circumference |Ch| in
Ch_vec SWNT chiral vector.
Lx Axis-aligned length along the x-axis in Angstroms.
Ly Axis-aligned length along the y-axis in Angstroms.
Lz SWNT length Lz=Ltube in Angstroms.
M M=npnq
N Number of graphene hexagons in nanotube unit cell.
Natoms Number of atoms in nanotube.
Natoms_per_layer Number of atoms per layer.
Natoms_per_tube Number of atoms in nanotube Natoms/tube.
Natoms_per_unit_cell Number of atoms in nanotube unit cell.
R Symmetry vector R=(p,q).
T Length of nanotube unit cell |T| in Å.
Tvec SWNT translation vector.
area Total area of graphene supercell.
atoms Structure Atoms.
basis NanoStructureBase basis objects.
chiral_angle Chiral angle θc in degrees.
chiral_type SWNT chiral type.
crystal_cell Structure CrystalCell.
d d=gcd
dR d_R=\gcd{(2n + m, 2m + n)}
dt Nanotube diameter d_t = \frac{|\mathbf{C}_h|}{\pi} in Å.
electronic_type SWNT electronic type.
element1 Basis element 1
element2 Basis element 2
fix_Lx bool indicating whether UnrolledSWNTMixin.Lx is fixed or calculated.
fix_Lz bool indicating whether SWNTMixin.Lz is fixed or calculated.
fmtstr Format string.
lattice Structure Crystal3DLattice.
lattice_shift Lattice displacement vector.
linear_mass_density Linear mass density of nanotube in g/Å.
m Chiral index m.
mass SWNT mass in grams.
n Chiral index n.
n1 Number of unit cells along Crystal3DLattice.a1.
n2 Number of unit cells along Crystal3DLattice.a2.
nlayers Number of layers.
nx Number of unit cells along the x-axis.
ny An alias for UnrolledSWNTMixin.nlayers.
nz Number of nanotube unit cells along the z-axis.
r1 Vector GrapheneMixin.n1 \times Crystal3DLattice.a1.
r2 Vector GrapheneMixin.n2 \times Crystal3DLattice.a2.
rt Nanotube radius r_t = \frac{|\mathbf{C}_h|}{2\pi} in Å.
scaling_matrix CrystalCell.scaling_matrix.
structure An alias to self.
t1 t_{1} = \frac{2m + n}{d_{R}}
t2 t_2 = -\frac{2n + m}{d_R}
tube_length Alias for SWNT.Lz
tube_mass An alias for mass.
unit_cell Structure UnitCell.
unit_cell_mass Unit cell mass in atomic mass units.
unit_cell_symmetry_params Tuple of SWNT unit cell symmetry parameters.
vdw_distance Van der Waals distance.
vdw_radius Van der Waals radius

Methods

clear() Clear list of StructureMixin.atoms.
generate_unit_cell() Generate the nanotube unit cell.
make_supercell(scaling_matrix[, wrap_coords]) Make supercell.
rotate(**kwargs) Rotate crystal cell lattice, basis, and unit cell.
todict() Return dict of constructor parameters.
transform_lattice(scaling_matrix[, ...]) Transform structure lattice.
translate(t[, fix_anchor_points]) Translate crystal cell lattice, basis, and unit cell.

Methods Summary

generate_unit_cell() Generate the nanotube unit cell.

Methods Documentation

generate_unit_cell()[source] [edit on github][source]

Generate the nanotube unit cell.