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: 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 thebundle_geometry
parameter ifbundle_geometry
is not None. If bothbundle_packing
andbundle_geometry
are None, thenbundle_packing
defaults to hcp.bundle_geometry : {‘triangle’, ‘hexagon’, ‘square’, ‘rectangle’}, optional
autogen : bool, optional
if True, automatically call
generate
.basis : {
list
}, optionalList of
str
s 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 2Deprecated since version 0.3.10: Use
basis
insteadbond : float, optional
\(\mathrm{a}_{\mathrm{CC}} =\) distance between nearest neighbor atoms, in units of Angstroms.
verbose : bool, optional
if True, show verbose output
Examples
>>> from sknano.generators import MWNTBundleGenerator >>> mwntbundle = MWNTBundleGenerator(Nwalls=5, min_wall_diameter=5, Lz=5, ... bundle_geometry='hexagon') >>> mwntbundle.save()
Attributes
Ch_list
Lx
Ly
Lz_list
MWNT length \(L_z = L_{\mathrm{tube}}\) in nanometers. Natoms
Number of atoms in nanotube bundle. Natoms_list
Natoms_per_bundle
Natoms_per_tube
Alias for Natoms_list
.Natoms_per_wall
Alias for MWNT.Natoms_list
Ntubes
Nwalls
Number of MWNT walls. T_list
Length of MWNT unit cell \(|\mathbf{T}|\) in Å. atoms
Structure StructureAtoms
.basis
NanoStructureBase
basis atoms.bundle_geometry
bundle_mass
bundle_packing
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
.max_wall_diameter
max_walls
min_wall_diameter
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
.wall_spacing
walls
List of MWNT SWNT wall structures. Methods
clear
()Clear list of BaseStructureMixin.atoms
.generate
([generate_bundle, ...])Generate structure data. generate_Ch_list
([Nwalls, max_walls, ...])generate_bundle
()generate_bundle_coords
()Generate coordinates of bundle tubes. generate_bundle_from_bundle_coords
()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. todict
()transform_lattice
(scaling_matrix[, ...])translate
(t[, fix_anchor_points])Translate crystal cell basis. update_Ch_list
([Nwalls, min_wall_diameter, ...])write_data
(**kwargs)write_dump
(**kwargs)write_xyz
(**kwargs)