sknano.structures.SWNT¶
-
class
sknano.structures.
SWNT
(*Ch, *, nz=None, basis=['C', 'C'], bond=1.42, gutter=None, Lz=None, fix_Lz=False, wrap_coords=False, **kwargs)[source][source]¶ SWNT structure class.
Parameters: nz :
int
, optionalNumber of repeat unit cells in the \(z\) direction, along the length of the nanotube.
basis : {
list
}, optionalList of
str
s of element symbols or atomic number of the two atom basis (default: [‘C’, ‘C’])New in version 0.3.10.
element1, element2 : {str, int}, optional
Element symbol or atomic number of basis
Atom
1 and 2Deprecated since version 0.3.10: Use
basis
insteadbond : float, optional
\(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms. Must be in units of Angstroms.
Lz : float, optional
Length of nanotube in units of nanometers. Overrides the
nz
value.New in version 0.2.5.
tube_length : float, optional
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.
New in version 0.2.6.
verbose : bool, optional
if True, show verbose output
Examples
>>> from sknano.structures import SWNT
Create a SWNT with \(\mathbf{C}_{h} = (10, 10)\) chirality.
>>> swnt = SWNT((10, 10), verbose=True) >>> print(swnt) SWNT((10, 10), nz=1) n: 10 m: 10 t₁: 1 t₂: -1 d: 10 dR: 30 N: 20 R: (1, 0) θc: 30.00° Ch: 42.60 Å T: 2.46 Å dt: 13.56 Å rt: 6.78 Å electronic_type: metallic
Change the chirality to \(\mathbf{C}_{h} = (20, 10)\).
>>> swnt.n = 20 >>> print(swnt) SWNT((20, 10), nz=1) n: 20 m: 10 t₁: 4 t₂: -5 d: 10 dR: 10 N: 140 R: (1, -1) θc: 19.11° Ch: 65.07 Å T: 11.27 Å dt: 20.71 Å rt: 10.36 Å electronic_type: semiconducting, type 2
Change the chirality to \(\mathbf{C}_{h} = (20, 0)\).
>>> swnt.m = 0 >>> print(swnt) SWNT((20, 0), nz=1) n: 20 m: 0 t₁: 1 t₂: -2 d: 20 dR: 20 N: 40 R: (1, -1) θc: 0.00° Ch: 49.19 Å T: 4.26 Å dt: 15.66 Å rt: 7.83 Å electronic_type: semiconducting, type 1
Attributes
Ch
SWNT circumference \(|\mathbf{C}_h|\) in Å Ch_vec
SWNT chiral vector. Lz
SWNT length \(L_z = L_{\mathrm{tube}}\) in nanometers. M
\(M = np - nq\) N
Number of graphene hexagons in nanotube unit cell. Natoms
Number of atoms in nanotube. Natoms_per_tube
Number of atoms in nanotube \(N_{\mathrm{atoms/tube}}\). Natoms_per_unit_cell
Number of atoms in nanotube unit cell. Ntubes
Number of nanotubes. R
Symmetry vector \(\mathbf{R} = (p, q)\). T
Length of nanotube unit cell \(|\mathbf{T}|\) in Å. Tvec
SWNT
translation vector.atoms
Structure StructureAtoms
.basis
NanoStructureBase
basis atoms.chiral_angle
Chiral angle \(\theta_c\) in degrees. chiral_type
SWNT
chiral type.crystal_cell
Structure CrystalCell
.d
\(d=\gcd{(n, m)}\) 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_Lz
fmtstr
Format string. lattice
Structure Crystal3DLattice
.linear_mass_density
Linear mass density of nanotube in g/nm. m
Chiral index \(m\). n
Chiral index \(n\). nz
Number of nanotube unit cells along the \(z\)-axis. rt
Nanotube radius \(r_t = \frac{|\mathbf{C}_h|}{2\pi}\) in Å. scaling_matrix
CrystalCell.scaling_matrix
.structure
Pointer to self. structure_data
Alias for BaseStructureMixin.structure
.t1
\(t_{1} = \frac{2m + n}{d_{R}}\) t2
\(t_2 = -\frac{2n + m}{d_R}\) tube_length
Alias for SWNT.Lz
tube_mass
SWNT mass in grams. 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 BaseStructureMixin.atoms
.generate_unit_cell
()Generate the nanotube unit cell. make_supercell
(scaling_matrix[, wrap_coords])Make supercell. read_data
(*args, **kwargs)read_dump
(*args, **kwargs)read_xyz
(*args, **kwargs)rotate
(**kwargs)Rotate crystal cell lattice, basis, and unit cell. todict
()Return dict
ofSWNT
attributes.transform_lattice
(scaling_matrix[, ...])translate
(t[, fix_anchor_points])Translate crystal cell basis. write_data
(**kwargs)write_dump
(**kwargs)write_xyz
(**kwargs)