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
str
s 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
Atom
s 1 and 2Deprecated 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
isTrue
(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
isTrue
(default), otherwise in radians. Each subsequent layer will be rotated bylayer_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=np−nq 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 whetherUnrolledSWNTMixin.Lx
is fixed or calculated.fix_Lz
bool
indicating whetherSWNTMixin.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
\timesCrystal3DLattice.a1
.r2
Vector GrapheneMixin.n2
\timesCrystal3DLattice.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.
- *Ch –