UnrolledSWNTGenerator¶
-
class
sknano.generators.
UnrolledSWNTGenerator
(*args, autogen=True, finalize=True, **kwargs)[source] [edit on github][source]¶ Bases:
sknano.generators.NanoStructureGenerator
,sknano.core.structures.UnrolledSWNT
Class for generating unrolled nanotube structures.
New in version 0.2.23.
Parameters: - m (n,) – Chiral indices defining the nanotube chiral vector \(\mathbf{C}_{h} = n\mathbf{a}_{1} + m\mathbf{a}_{2} = (n, m)\).
- ny, nz (nx,) – Number of repeat unit cells in the \(x, y, z\) dimensions
- 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
1 and 2Deprecated since version 0.3.10: Use
basis
instead - bond (float, optional) – \(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms. Must be in units of Angstroms.
- Ly, Lz (Lx,) –
Length of bundle in \(x, y, z\) dimensions in Angstroms. Overrides the \(n_x, n_y, n_z\) cell values.
Changed in version 0.4.0: Changed units from nanometers to Angstroms
- 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 callgenerate
. - verbose (bool, optional) – if
True
, show verbose output
Notes
The
UnrolledSWNTGenerator
class 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 usinglength
andwidth
parameters, see theGrapheneGenerator
class.See also
Examples
First, load the
UnrolledSWNTGenerator
class.>>> from sknano.generators import UnrolledSWNTGenerator
Now let’s generate an unrolled \(\mathbf{C}_{\mathrm{h}} = (10, 5)\) SWCNT unit cell.
>>> unrolled_swnt = UnrolledSWNTGenerator(10, 5) >>> unrolled_swnt.save()
The rendered structure looks like:
Attributes
Ch
SWNT circumference \(|\mathbf{C}_h|\) 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 \(L_z = L_{\mathrm{tube}}\) in Angstroms. M
\(M = np - nq\) N
Number of graphene hexagons in nanotube unit cell. Natoms
N atoms. Natoms_per_layer
Number of atoms per layer. Natoms_per_tube
Number of atoms in nanotube \(N_{\mathrm{atoms/tube}}\). Natoms_per_unit_cell
Number of atoms in nanotube unit cell. R
Symmetry vector \(\mathbf{R} = (p, q)\). T
Length of nanotube unit cell \(|\mathbf{T}|\) in Å. Tvec
SWNT
translation vector.area
Total area of graphene supercell. atoms
Structure Atoms
.basis
NanoStructureBase
basis objects.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_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
Total mass of atoms. 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
.finalize
()Finalize structure data by assigning unique ids and types to structure atoms. generate
([finalize])Generate structure data. generate_fname
([n, m, nx, nz, fix_Lx, fix_Lz])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. save
([fname, outpath, structure_format, ...])Save structure data. 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. write
(*args, **kwargs)Write structure data to file. write_data
(**kwargs)Write LAMMPS data file. write_dump
(**kwargs)Write LAMMPS dump file. write_pdb
(**kwargs)Write pdb file. write_xyz
(**kwargs)Write xyz file. Methods Summary
generate
([finalize])Generate structure data. generate_fname
([n, m, nx, nz, fix_Lx, fix_Lz])save
([fname, outpath, structure_format, ...])Save structure data. Methods Documentation
-
generate
(finalize=True)[source] [edit on github][source]¶ Generate structure data.
-
classmethod
generate_fname
(n=None, m=None, nx=None, nz=None, fix_Lx=False, fix_Lz=False, **kwargs)[source] [edit on github][source]¶
-
save
(fname=None, outpath=None, structure_format=None, center_centroid=True, **kwargs)[source] [edit on github][source]¶ Save structure data.
See
save
method for documentation.