sknano.generators.MWNTBundleGenerator¶
-
class
sknano.generators.MWNTBundleGenerator(autogen=True, **kwargs)[source][source]¶ Class for generating multi-walled nanotube bundles.
New in version 0.2.20.
Parameters: n, m : int
Chiral indices defining the nanotube chiral vector \(\mathbf{C}_{h} = n\mathbf{a}_{1} + m\mathbf{a}_{2} = (n, m)\).
nx, ny, nz : int, optional
Number of repeat unit cells in the \(x, y, z\) dimensions.
element1, element2 : {str, int}, optional
Element symbol or atomic number of basis
Atom1 and 2bond : float, optional
\(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms. Must be in units of Angstroms.
Lx, Ly, Lz : float, optional
length of bundle in \(x, y, z\) dimensions in nanometers. Overrides the \(n_x, n_y, n_z\) cell values.
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.
add_outer_shells : bool, optional
Build the MWNT by adding outer shells
New in version 0.2.23.
add_inner_shells : bool, optional
Build the MWNT by adding inner shells
New in version 0.2.23.
max_shells : int, optional
Maximum number of shells per MWNT.
max_shell_diameter : float, optional
Maximum shell diameter, in units of Angstroms.
min_shells : int, optional
Minimum number of shells per MWNT.
min_shell_diameter : float, optional
Minimum shell diameter, in units of Angstroms.
new_shell_type : {None, ‘AC’, ‘ZZ’, ‘achiral’, ‘chiral’}, optional
If None, the chiralities of the new shells are constrained only by their diameter and will be chosen randomly if more than one candidate chirality exists. If not None, then the new_shell_type will be added as a constraint.
shell_spacing : float, optional
Shell spacing in units of Angstroms. Default value is the van der Waals interaction distance of 3.4 Angstroms.
vdw_spacing : float, optional
van der Waals distance between nearest neighbor tubes
bundle_packing : {‘hcp’, ‘ccp’}, optional
Packing arrangement of MWNT bundles. If
bundle_packingis None, then it will be determined by the bundle_geometry parameter if bundle_geometry is not None. If bothbundle_packingand bundle_geometry are None, thenbundle_packingdefaults to hcp.bundle_geometry : {‘triangle’, ‘hexagon’, ‘square’, ‘rectangle’}, optional
autogen : bool, optional
if True, automatically call
generate_unit_cell, followed bygenerate_structure_data.verbose : bool, optional
if True, show verbose output
Examples
>>> from sknano.generators import MWNTBundleGenerator >>> mwntbundle = MWNTBundleGenerator(max_shells=5, Lz=1.0, fix_Lz=True, ... bundle_geometry='hexagon') >>> mwntbundle.save_data()
Attributes
LxLyLzMWNT length \(L_z = L_{\mathrm{tube}}\) in nanometers. NatomsNumber of atoms in nanotube. Natoms_per_bundleNatoms_per_tubeNumber of atoms in nanotube \(N_{\mathrm{atoms/tube}}\). Natoms_per_unit_cellNumber of atoms in nanotube unit cell. NshellsNtubesNwallsTLength of MWNT unit cell \(|\mathbf{T}|\) in Å. atomsReturn structure Atoms.bondBond length in Å. bundle_massbundle_packingchiral_setchiral_typesdtMWNT diameter \(d_t=\frac{|\mathbf{C}_h|}{\pi}\) in Å. element1Element symbol of Atom1.element2Element symbol of Atom2.fix_LznxNumber of nanotubes along the \(x\)-axis. nyNumber of nanotubes along the \(y\)-axis. nzNumber of nanotube unit cells along the \(z\)-axis. rtMWNT radius \(r_t=\frac{|\mathbf{C}_h|}{2\pi}\) in Å. structureAlias to structure_data.structure_dataReturn StructureDatainstance.tube_massMWNT mass in grams. unit_cell_massUnit cell mass in atomic mass units. Methods
compute_bundle_params()Compute/update nanotube bundle parameters. generate_bundle()generate_structure_data()Generate structure data. generate_unit_cell()Generate the MWNT unit cell. save_data([fname, outpath, ...])Save structure data. todict()