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.NanoStructureBaseUnrolled 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 \(\mathbf{C}_h = n\mathbf{a}_1 + m\mathbf{a}_2 = (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 2Deprecated since version 0.3.10: Use
basisinstead - bond (float, optional) – \(\mathrm{a}_{\mathrm{CC}} =\) 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
degreesisTrue(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
degreesisTrue(default), otherwise in radians. Each subsequent layer will be rotated bylayer_rotation_incrementrelative to the layer below it. - Lx (float, optional) –
Length of the unrolled swnt sheet along the chiral vector in units of Angstroms. Overrides the
nxvalue.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 \(L_x\) as possible.
If
True, then non integer \(n_x\) cells are permitted. - Lz (float, optional) –
Length of the unrolled swnt sheet along the translation vector in units of Angstroms. Overrides the
nzvalue.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 \(L_z\) as possible.
If
True, then non integer \(n_z\) 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
ChSWNT circumference \(|\mathbf{C}_h|\) in Å Ch_vecSWNT chiral vector. LxAxis-aligned length along the x-axis in Angstroms.LyAxis-aligned length along the y-axis in Angstroms.LzSWNT length \(L_z = L_{\mathrm{tube}}\) in Angstroms. M\(M = np - nq\) NNumber of graphene hexagons in nanotube unit cell. NatomsNumber of atoms in nanotube. Natoms_per_layerNumber of atoms per layer. Natoms_per_tubeNumber of atoms in nanotube \(N_{\mathrm{atoms/tube}}\). Natoms_per_unit_cellNumber of atoms in nanotube unit cell. RSymmetry vector \(\mathbf{R} = (p, q)\). TLength of nanotube unit cell \(|\mathbf{T}|\) in Å. TvecSWNTtranslation vector.areaTotal area of graphene supercell. atomsStructure Atoms.basisNanoStructureBasebasis objects.chiral_angleChiral angle \(\theta_c\) in degrees. chiral_typeSWNTchiral type.crystal_cellStructure CrystalCell.d\(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. element1Basis element 1 element2Basis element 2 fix_Lxboolindicating whetherUnrolledSWNTMixin.Lxis fixed or calculated.fix_Lzboolindicating whetherSWNTMixin.Lzis fixed or calculated.fmtstrFormat string. latticeStructure Crystal3DLattice.lattice_shiftLattice displacement vector. linear_mass_densityLinear mass density of nanotube in g/Å. mChiral index \(m\). massSWNT mass in grams. nChiral index \(n\). n1Number of unit cells along Crystal3DLattice.a1.n2Number of unit cells along Crystal3DLattice.a2.nlayersNumber of layers. nxNumber of unit cells along the \(x\)-axis. nyAn alias for UnrolledSWNTMixin.nlayers.nzNumber of nanotube unit cells along the \(z\)-axis. r1Vector GrapheneMixin.n1\(\times\)Crystal3DLattice.a1.r2Vector GrapheneMixin.n2\(\times\)Crystal3DLattice.a2.rtNanotube radius \(r_t = \frac{|\mathbf{C}_h|}{2\pi}\) in Å. scaling_matrixCrystalCell.scaling_matrix.structureAn alias to self.t1\(t_{1} = \frac{2m + n}{d_{R}}\) t2\(t_2 = -\frac{2n + m}{d_R}\) tube_lengthAlias for SWNT.Lztube_massAn alias for mass.unit_cellStructure UnitCell.unit_cell_massUnit cell mass in atomic mass units. unit_cell_symmetry_paramsTuple of SWNTunit cell symmetry parameters.vdw_distanceVan der Waals distance. vdw_radiusVan 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 dictof 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.
- *Ch –