Structure classes (sknano.structures)


This package defines classes for creating abstract object representations of nanostructures including fullerenes, graphene, and nanotubes.

See the specific class doc pages below for detailed documentation on its use.

Nanostructure Classes

Fullerene([N, PG, Ni]) Fullerene structure class.
Graphene([armchair_edge_length, ...]) Graphene structure class.
PrimitiveCellGraphene([edge_length]) Graphene structure class built from a primitive unit cell.
HexagonalGraphene alias of PrimitiveCellGraphene
ConventionalCellGraphene([...]) Graphene structure class built from a conventional unit cell.
RectangularGraphene alias of ConventionalCellGraphene
BilayerGraphene(**kwargs) Bilayer Graphene structure class.
SWNT(*Ch, *[, nz, basis, bond, gutter, Lz, ...]) SWNT structure class.
SWNTBundle(*args, **kwargs) SWNT bundle structure class.
MWNT([Ch_list, Nwalls, Lz, ...]) MWNT structure class.
MWNTBundle(*args, *[, nx, ny, ...]) MWNT bundle structure class.

Base/Mixin Classes

NanoStructureBase(*args, *[, basis, bond]) Base class for creating abstract representations of nanostructure.
GrapheneBase([basis, bond, nlayers, ...]) Graphene base structure class.
NanotubeBundleBase(*args, *[, nx, ny, ...]) Nanotube bundle structure base class.
GrapheneMixin Mixin class for graphene structure classes.
SWNTMixin Mixin class for nanotube classes.
MWNTMixin Mixin class for MWNTs.
NanotubeBundleMixin Mixin class for nanotube bundles.
UnrolledSWNTMixin Mixin class for unrolled nanotubes.

Compute Functions

Nanotube compute functions:

compute_d(*Ch) Compute \(d=\gcd{(n, m)}\)
compute_dR(*Ch) Compute \(d_R=\gcd{(2n + m, 2m + n)}\)
compute_N(*Ch) Compute \(N = \frac{2(n^2+m^2+nm)}{d_R}\).
compute_t1(*Ch) Compute \(t_1 = \frac{2m + n}{d_R}\)
compute_t2(*Ch) Compute \(t_2 = -\frac{2n + m}{d_R}\)
compute_Ch(*Ch, *[, bond]) Compute nanotube circumference \(|\mathbf{C}_{h}|\) in .
compute_chiral_angle(*Ch, *[, degrees]) Compute chiral angle \(\theta_c\).
compute_T(*Ch, *[, bond, length]) Compute length of nanotube unit cell \(|\mathbf{T}|\) in Å.
compute_dt(*Ch, *[, bond]) Compute nanotube diameter \(d_t\) in Å.
compute_rt(*Ch, *[, bond]) Compute nanotube radius \(r_t\) in Å.
compute_M(*Ch) Compute \(M = mp - nq\)
compute_R(*Ch, *[, bond, length]) Compute symmetry vector \(\mathbf{R} = (p, q)\).
compute_R_chiral_angle(*Ch, *[, degrees]) Compute “chiral angle” of symmetry vector \(\theta_R\).
compute_symmetry_operation(*Ch, *[, bond]) Compute symmetry operation \((\psi|\tau)\).
compute_psi(*Ch) Compute rotation component of symmetry operation \(\psi\) in radians.
compute_tau(*Ch, *[, bond]) Compute translation component of symmetry operation \(\tau\) in .
compute_Lz(*Ch, *[, nz, bond]) Compute \(L_z = L_{\mathrm{tube}}\) in nanometers.
compute_electronic_type(*Ch) Compute nanotube electronic type.
compute_Natoms_per_unit_cell(*Ch) Compute \(N_{\mathrm{atoms/cell}} = 2N\).
compute_Natoms_per_tube(*Ch, *[, nz]) Compute \(N_{\mathrm{atoms/tube}}\)
compute_Natoms(*Ch, *[, nz]) Compute \(N_{\mathrm{atoms/tube}}\)
compute_unit_cell_mass(*Ch, *[, element1, ...]) Compute nanotube unit cell mass in Daltons/atomic mass units (amu) units.
compute_linear_mass_density(*Ch, *[, bond, ...]) Compute nanotube linear mass density (mass per unit length) in grams/nm.
compute_tube_mass(*Ch, *[, nz, element1, ...]) Compute nanotube mass in grams.
compute_bundle_density(*Ch, *[, r_vdw, ...]) Compute nanotube bundle mass density \(\rho_{\mathrm{bundle}}(n, m)\) in \(\mathrm{g/cm^3}\).

Helper functions for working with \((n, m)\) chirality data

cmp_Ch(Ch1, Ch2) Custom comparator function for sorting chirality lists.
filter_Ch(Ch[, even_only, odd_only, ...]) Filter for testing if chirality satisfies given constraint parameters.
filter_Ch_list(Ch_list[, property_filters]) Filter list of chiralities.
generate_Ch_list([ns, ni, nf, dn, ms, mi, ...]) Generate a list of \((n, m)\) chiralities.
generate_Ch_property_grid([compute, imax]) Generate a 2-dimensional, \(i_{\mathrm{max}}\times i_{\mathrm{max}}\) grid of nanotube properties.
get_Ch_indices(*args, *[, check_type]) Parse the chiral indices n and m from a vararg *args, which may be a tuple or 2 ints or from varkwargs **kwargs.
get_Ch_type(Ch) Identify the type of nanotube based on its chirality
map_Ch(Ch[, compute]) Map compute function using Ch as input.