class sknano.generators.MWNTBundleGenerator(autogen=True, **kwargs)[source][source]

Class for generating multi-walled nanotube bundles.

New in version 0.2.20.


Ch_list : list, optional

(n, m) for each SWNT wall in MWNT.

Nwalls : int, optional

Number of SWNT walls in MWNT.

Lz : float, optional

MWNT length in nanometers.

min_wall_diameter : float, optional

Minimum MWNT wall diameter, in units of Angstroms.

max_wall_diameter : float, optional

Maximum MWNT wall diameter, in units of Angstroms.

max_walls : int, optional

Maximum number of MWNT walls.

chiral_types : {None, ‘armchair’, ‘zigzag’, ‘achiral’, ‘chiral’}, optional

If None, the chiral_type of each MWNT walls will be random and determined by the set of randomly selected chiral indices (n, m).

wall_spacing : float, optional

Inter-wall spacing in units of Angstroms. Default value is the van der Waals interaction distance of 3.4 Angstroms.

nx, ny : int, optional

Number of repeat unit cells in the \(x, y\) dimensions.

vdw_radius : float, optional

van der Waals radius of nanotube atoms

bundle_packing : {‘hcp’, ‘ccp’}, optional

Packing arrangement of MWNT bundles. If bundle_packing is None, then it will be determined by the bundle_geometry parameter if bundle_geometry is not None. If both bundle_packing and bundle_geometry are None, then bundle_packing defaults to hcp.

bundle_geometry : {‘triangle’, ‘hexagon’, ‘square’, ‘rectangle’}, optional

autogen : bool, optional

if True, automatically call generate.

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.

element1, element2 : {str, int}, optional

Element symbol or atomic number of basis Atom 1 and 2

Deprecated since version 0.3.10: Use basis instead

bond : float, optional

\(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms, in units of Angstroms.

verbose : bool, optional

if True, show verbose output


>>> from sknano.generators import MWNTBundleGenerator
>>> mwntbundle = MWNTBundleGenerator(Nwalls=5, min_wall_diameter=5, Lz=5,
...                                  bundle_geometry='hexagon')


Lz_list MWNT length \(L_z = L_{\mathrm{tube}}\) in nanometers.
Natoms Number of atoms in nanotube bundle.
Natoms_per_tube Alias for Natoms_list.
Natoms_per_wall Alias for MWNT.Natoms_list
Nwalls Number of MWNT walls.
T_list Length of MWNT unit cell \(|\mathbf{T}|\) in Å.
atoms Structure StructureAtoms.
basis NanoStructureBase basis atoms.
chiral_set Set of all chiral types in MWNT.
chiral_types List of chiral types for each MWNT wall.
crystal_cell Structure CrystalCell.
dt MWNT wall diameters \(d_t=\frac{|\mathbf{C}_h|}{\pi}\) in Å.
dt_list List of MWNT SWNT wall diameters dt \(d_t=\frac{|\mathbf{C}_h|}{\pi}\) in Å.
element1 Basis element 1
element2 Basis element 2
fmtstr Format string.
lattice Structure Crystal3DLattice.
nx Number of nanotubes along the \(x\)-axis.
ny Number of nanotubes along the \(y\)-axis.
nz_list Number of nanotube unit cells along the \(z\)-axis.
rt MWNT wall radii \(r_t=\frac{|\mathbf{C}_h|}{2\pi}\) in Å.
rt_list List of MWNT SWNT wall radii rt \(r_t=\frac{|\mathbf{C}_h|}{2\pi}\) in Å.
scaling_matrix CrystalCell.scaling_matrix.
structure Pointer to self.
structure_data Alias for BaseStructureMixin.structure.
tube_mass MWNT mass in grams.
unit_cell Structure UnitCell.
vdw_distance van der Waals distance.
vdw_radius van der Waals radius
wall_diameters Alias for MWNTMixin.dt_list.
wall_radii Alias for MWNTMixin.rt_list.
walls List of MWNT SWNT wall structures.


clear() Clear list of BaseStructureMixin.atoms.
generate([generate_bundle, ...]) Generate structure data.
generate_Ch_list([Nwalls, max_walls, ...])
generate_bundle_coords() Generate coordinates of bundle tubes.
generate_dt_mask(dt[, max_dt_diff]) Generate boolean mask array.
generate_fname([Ch_list, Nwalls, Ntubes, ...])
get_wall(Ch) Return the SWNT structure with chirality Ch.
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.
save([fname, outpath, structure_format, ...]) Save structure data.
transform_lattice(scaling_matrix[, ...])
translate(t[, fix_anchor_points]) Translate crystal cell basis.
update_Ch_list([Nwalls, min_wall_diameter, ...])